Drop opening hours, say we are reachable by email; name Hannover
The contact block and the card in section 02 no longer list opening hours; both now say we can be reached by email at any time. Hannover appears in the hero line, the page title, the meta description, the contact text and a ProfessionalService JSON-LD block for search engines. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
58fc72b283
commit
7cb3cf4b69
4 changed files with 32 additions and 17 deletions
|
|
@ -241,7 +241,7 @@ module.exports = [
|
||||||
{ key: 'title', label: 'Überschrift', type: 'text' },
|
{ key: 'title', label: 'Überschrift', type: 'text' },
|
||||||
{ key: 'lead', label: 'Einleitungstext', type: 'richtext' },
|
{ key: 'lead', label: 'Einleitungstext', type: 'richtext' },
|
||||||
{ key: 'phone', label: 'Telefonnummer (leer = Platzhalter)', type: 'text' },
|
{ key: 'phone', label: 'Telefonnummer (leer = Platzhalter)', type: 'text' },
|
||||||
{ key: 'hours', label: 'Erreichbarkeit (leer = Platzhalter)', type: 'text' },
|
{ key: 'hours', label: 'Telefonische Erreichbarkeit unter der Nummer (leer = ausgeblendet)', type: 'text' },
|
||||||
{ key: 'email', label: 'E-Mail-Adresse', type: 'email' },
|
{ key: 'email', label: 'E-Mail-Adresse', type: 'email' },
|
||||||
{ key: 'howWeWork', label: '"Wie wir arbeiten" (leer = Platzhalter)', type: 'textarea' },
|
{ key: 'howWeWork', label: '"Wie wir arbeiten" (leer = Platzhalter)', type: 'textarea' },
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"meta": {
|
"meta": {
|
||||||
"description": "Larpaso entwickelt individuelle Websites für Betriebe und Unternehmen: sorgfältig gestaltet, technisch solide, zu planbaren Kosten."
|
"description": "Larpaso baut Websites für Betriebe in Hannover: Angebot, Preise, Zeiten und Anfahrt auf einen Blick, gut bedienbar auf dem Handy, zum Festpreis."
|
||||||
},
|
},
|
||||||
"nav": {
|
"nav": {
|
||||||
"logo": "/logo.svg",
|
"logo": "/logo.svg",
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
"ctaLabel": "Projekt besprechen"
|
"ctaLabel": "Projekt besprechen"
|
||||||
},
|
},
|
||||||
"hero": {
|
"hero": {
|
||||||
"eyebrow": "Webdesign für Betriebe vor Ort",
|
"eyebrow": "Webdesign für Betriebe in Hannover",
|
||||||
"titleBefore": "Websites, auf denen Ihre Kunden ",
|
"titleBefore": "Websites, auf denen Ihre Kunden ",
|
||||||
"titleEmphasis": "sofort",
|
"titleEmphasis": "sofort",
|
||||||
"titleAfter": " finden, was sie suchen.",
|
"titleAfter": " finden, was sie suchen.",
|
||||||
|
|
@ -51,19 +51,19 @@
|
||||||
"customImage": "",
|
"customImage": "",
|
||||||
"title": "Was Kunden suchen, steht auf der Seite.",
|
"title": "Was Kunden suchen, steht auf der Seite.",
|
||||||
"lead": "Wer abends wissen will, ob Sie morgen offen haben, schaut auf dem Handy nach. Findet er die Zeiten sofort, ruft er nicht an. Findet er sie nicht, ruft er woanders an.",
|
"lead": "Wer abends wissen will, ob Sie morgen offen haben, schaut auf dem Handy nach. Findet er die Zeiten sofort, ruft er nicht an. Findet er sie nicht, ruft er woanders an.",
|
||||||
"hoursTitle": "Öffnungszeiten",
|
"hoursTitle": "So erreichen Sie uns",
|
||||||
"hoursRows": [
|
"hoursRows": [
|
||||||
{
|
{
|
||||||
"day": "Montag – Donnerstag",
|
"day": "Per E-Mail",
|
||||||
"time": "9:00–18:00"
|
"time": "jederzeit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"day": "Freitag",
|
"day": "Antwort",
|
||||||
"time": "9:00–14:00"
|
"time": "meist am selben Tag"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"day": "Samstag",
|
"day": "Sitz",
|
||||||
"time": "nach Absprache"
|
"time": "Hannover"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -293,9 +293,9 @@
|
||||||
"kontakt": {
|
"kontakt": {
|
||||||
"eyebrow": "08 · Kontakt",
|
"eyebrow": "08 · Kontakt",
|
||||||
"title": "Lassen Sie uns sprechen.",
|
"title": "Lassen Sie uns sprechen.",
|
||||||
"lead": "Erzählen Sie uns kurz von Ihrem Projekt, wir melden uns zeitnah bei Ihnen zurück. Ein Erstgespräch ist unverbindlich und kostet Sie nichts.",
|
"lead": "Erzählen Sie uns kurz von Ihrem Projekt, wir melden uns zeitnah bei Ihnen zurück. Wir sitzen in Hannover. Ein Erstgespräch ist unverbindlich und kostet Sie nichts.",
|
||||||
"phone": "",
|
"phone": "",
|
||||||
"hours": "Mo–Do 9–18 Uhr · Fr 9–14 Uhr · Sa nach Absprache",
|
"hours": "",
|
||||||
"email": "kontakt@larpaso.de",
|
"email": "kontakt@larpaso.de",
|
||||||
"howWeWork": ""
|
"howWeWork": ""
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,20 @@ interface Props {
|
||||||
const { title, description = site.meta.description } = Astro.props;
|
const { title, description = site.meta.description } = Astro.props;
|
||||||
const canonical = new URL(Astro.url.pathname, Astro.site).href;
|
const canonical = new URL(Astro.url.pathname, Astro.site).href;
|
||||||
const ogImage = new URL('/og-larpaso.jpg', Astro.site).href;
|
const ogImage = new URL('/og-larpaso.jpg', Astro.site).href;
|
||||||
|
const orgData = {
|
||||||
|
'@context': 'https://schema.org',
|
||||||
|
'@type': 'ProfessionalService',
|
||||||
|
name: 'Larpaso',
|
||||||
|
description: site.meta.description,
|
||||||
|
url: Astro.site?.href,
|
||||||
|
logo: new URL('/icon-512.png', Astro.site).href,
|
||||||
|
image: ogImage,
|
||||||
|
email: site.kontakt.email,
|
||||||
|
...(site.kontakt.phone ? { telephone: site.kontakt.phone } : {}),
|
||||||
|
address: { '@type': 'PostalAddress', addressLocality: 'Hannover', addressRegion: 'Niedersachsen', addressCountry: 'DE' },
|
||||||
|
areaServed: { '@type': 'City', name: 'Hannover' },
|
||||||
|
priceRange: 'ab 500 €',
|
||||||
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
|
|
@ -44,6 +58,9 @@ const ogImage = new URL('/og-larpaso.jpg', Astro.site).href;
|
||||||
|
|
||||||
<style set:html={fontFacesCss(theme)} />
|
<style set:html={fontFacesCss(theme)} />
|
||||||
<style set:html={themeCss(theme)} />
|
<style set:html={themeCss(theme)} />
|
||||||
|
|
||||||
|
<!-- Für Suchmaschinen: wer, was, wo (Hannover). Adresse bewusst ohne Straße. -->
|
||||||
|
<script type="application/ld+json" set:html={JSON.stringify(orgData)} />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<a href="#main-content" class="skip-link">Zum Inhalt springen</a>
|
<a href="#main-content" class="skip-link">Zum Inhalt springen</a>
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ const findItem = (src: string) =>
|
||||||
mappe.items.find((i) => src && (i.image === src || i.mobileImage === src));
|
mappe.items.find((i) => src && (i.image === src || i.mobileImage === src));
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Startseite">
|
<Layout title="Webdesign in Hannover">
|
||||||
<!-- Hero -->
|
<!-- Hero -->
|
||||||
<section class="section hero">
|
<section class="section hero">
|
||||||
<div class="container hero-grid">
|
<div class="container hero-grid">
|
||||||
|
|
@ -276,15 +276,13 @@ const findItem = (src: string) =>
|
||||||
<p class={kontakt.phone ? 'contact-phone' : 'placeholder contact-phone'}>
|
<p class={kontakt.phone ? 'contact-phone' : 'placeholder contact-phone'}>
|
||||||
{kontakt.phone || '[Telefonnummer eintragen]'}
|
{kontakt.phone || '[Telefonnummer eintragen]'}
|
||||||
</p>
|
</p>
|
||||||
<p class={kontakt.hours ? 'contact-hours' : 'placeholder contact-hours'}>
|
{kontakt.hours && <p class="contact-hours">{kontakt.hours}</p>}
|
||||||
{kontakt.hours || '[Erreichbarkeit eintragen, z. B. Mo–Fr 9–18 Uhr]'}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="contact-detail">
|
<div class="contact-detail">
|
||||||
<p class="contact-label">Oder direkt schreiben</p>
|
<p class="contact-label">Oder direkt schreiben</p>
|
||||||
<p class="contact-email"><a href={`mailto:${kontakt.email}`}>{kontakt.email}</a></p>
|
<p class="contact-email"><a href={`mailto:${kontakt.email}`}>{kontakt.email}</a></p>
|
||||||
<p class="contact-hint">Antwort in der Regel am selben Tag.</p>
|
<p class="contact-hint">Jederzeit per E-Mail erreichbar, Antwort in der Regel am selben Tag.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="contact-detail">
|
<div class="contact-detail">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue