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>
73 lines
2.8 KiB
Text
73 lines
2.8 KiB
Text
---
|
|
import Nav from '../components/Nav.astro';
|
|
import Footer from '../components/Footer.astro';
|
|
import '../styles/global.css';
|
|
import { site, theme, themeCss, fontFacesCss } from '../lib/content';
|
|
|
|
interface Props {
|
|
title: string;
|
|
description?: string;
|
|
}
|
|
|
|
const { title, description = site.meta.description } = Astro.props;
|
|
const canonical = new URL(Astro.url.pathname, 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>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<link rel="icon" href="/favicon.ico" sizes="48x48" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<link rel="icon" type="image/png" sizes="96x96" href="/icon-96.png" />
|
|
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
|
<meta name="theme-color" content="#FCFAF6" />
|
|
<meta name="description" content={description} />
|
|
<title>{title} · Larpaso</title>
|
|
<link rel="canonical" href={canonical} />
|
|
|
|
<!-- Vorschau beim Teilen (WhatsApp, Signal, Facebook, LinkedIn, Mail) -->
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:site_name" content="Larpaso" />
|
|
<meta property="og:locale" content="de_DE" />
|
|
<meta property="og:title" content={`${title} · Larpaso`} />
|
|
<meta property="og:description" content={description} />
|
|
<meta property="og:url" content={canonical} />
|
|
<meta property="og:image" content={ogImage} />
|
|
<meta property="og:image:width" content="1200" />
|
|
<meta property="og:image:height" content="630" />
|
|
<meta property="og:image:alt" content="larpaso Webdesign" />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
|
|
<style set:html={fontFacesCss(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>
|
|
<body>
|
|
<a href="#main-content" class="skip-link">Zum Inhalt springen</a>
|
|
<Nav />
|
|
<main id="main-content">
|
|
<slot />
|
|
</main>
|
|
<Footer />
|
|
</body>
|
|
</html>
|