diff --git a/prerender/seo.cjs b/prerender/seo.cjs
index 33e2225..92e0682 100644
--- a/prerender/seo.cjs
+++ b/prerender/seo.cjs
@@ -232,27 +232,35 @@ const generateHomepageJsonLd = (baseUrl, config, categories = []) => {
],
};
- // Generate BreadcrumbList for all categories
- const breadcrumbJsonLd = {
+ // Generate ItemList for all categories (more appropriate for homepage)
+ const categoriesListJsonLd = {
"@context": "https://schema.org",
- "@type": "BreadcrumbList",
+ "@type": "ItemList",
+ "name": "Produktkategorien",
+ "description": "Alle verfügbaren Produktkategorien in unserem Online-Shop",
+ "numberOfItems": categories.filter(category => category.seoName).length,
"itemListElement": categories
.filter(category => category.seoName) // Only include categories with seoName
.map((category, index) => ({
"@type": "ListItem",
"position": index + 1,
"name": category.name,
- "item": `${baseUrl}/Kategorie/${category.seoName}`
+ "url": `${baseUrl}/Kategorie/${category.seoName}`,
+ "item": {
+ "@type": "Thing",
+ "name": category.name,
+ "url": `${baseUrl}/Kategorie/${category.seoName}`
+ }
}))
};
// Return both JSON-LD scripts
const websiteScript = ``;
- const breadcrumbScript = categories.length > 0
- ? ``
+ const categoriesScript = categories.length > 0
+ ? ``
: '';
- return websiteScript + (breadcrumbScript ? '\n' + breadcrumbScript : '');
+ return websiteScript + (categoriesScript ? '\n' + categoriesScript : '');
};
const generateSitemapJsonLd = (allCategories = [], baseUrl, config) => {