Skip to content

Commit 303c2fb

Browse files
MaxDatenclaude
andcommitted
feat(seo): add ProfessionalService schema with Hamburg address
Boost local SEO for Hamburg/DACH market by adding structured data with PostalAddress, areaServed (DE/AT/CH), and consulting metadata. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 896c7aa commit 303c2fb

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

src/lib/data/meta.ts

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import type {
99
BlogPosting,
1010
Organization,
1111
Person,
12+
ProfessionalService,
1213
ProfilePage,
1314
WebSite,
1415
WithContext,
@@ -36,7 +37,7 @@ const descriptions: Record<Locale, { person: string; organization: string }> = {
3637

3738
export function getBaseSchema(
3839
locale: Locale
39-
): [WebSite, Person, ProfilePage, Organization] {
40+
): [WebSite, Person, ProfilePage, Organization, ProfessionalService] {
4041
const localeBaseUrl = getSiteBaseUrl(locale);
4142
const inLanguage = locale === 'de' ? 'de-DE' : 'en-US';
4243
const siteName = locale === 'de' ? 'maxdaten.de' : 'maxdaten.io';
@@ -88,6 +89,35 @@ export function getBaseSchema(
8889
},
8990
description: desc.organization,
9091
},
92+
<WithContext<ProfessionalService>>{
93+
'@context': 'https://schema.org',
94+
'@type': 'ProfessionalService',
95+
'@id': 'https://maxdaten.io/#business',
96+
name: siteName,
97+
description: desc.organization,
98+
url: localeBaseUrl,
99+
founder: {
100+
'@id': 'https://maxdaten.io/#jloos',
101+
},
102+
employee: {
103+
'@id': 'https://maxdaten.io/#jloos',
104+
},
105+
address: {
106+
'@type': 'PostalAddress',
107+
addressLocality: 'Hamburg',
108+
addressRegion: 'Hamburg',
109+
addressCountry: 'DE',
110+
postalCode: '22043',
111+
},
112+
areaServed: [
113+
{ '@type': 'Country', name: 'Germany' },
114+
{ '@type': 'Country', name: 'Austria' },
115+
{ '@type': 'Country', name: 'Switzerland' },
116+
],
117+
priceRange: '$$$$',
118+
currenciesAccepted: 'EUR',
119+
knowsLanguage: ['de', 'en'],
120+
},
91121
];
92122
}
93123

0 commit comments

Comments
 (0)