SEO: multilingual homepage (homeSlug per locale in path/sitemap), Article + llms.txt generators, siteDescription fallback, composeTitle dedup

This commit is contained in:
2026-09-15 15:31:08 +02:00
parent 87d575f335
commit 33ae035adc
25 changed files with 398 additions and 61 deletions
+11 -4
View File
@@ -1,7 +1,7 @@
import { validateFaviconField } from '../../../modules/seo/index.js';
/**
* General site identity fields.
* Consumed by SEO/OG (siteName, defaultShareImage) and frontend (logo, favicon).
* Consumed by SEO/OG (siteName, defaultShareImage) and frontend (logo).
*/ export const generalFields = [
{
name: 'siteName',
@@ -12,6 +12,14 @@ import { validateFaviconField } from '../../../modules/seo/index.js';
localized: true,
required: true
},
{
name: 'siteDescription',
type: 'textarea',
admin: {
description: 'Fallback meta description when a page has none. Also used for llms.txt and Open Graph.'
},
localized: true
},
{
name: 'titleOrder',
type: 'select',
@@ -64,7 +72,7 @@ import { validateFaviconField } from '../../../modules/seo/index.js';
name: 'logo',
type: 'upload',
admin: {
description: 'Primary site logo. Also used for Organization structured data (buildOrganizationJsonLd).'
description: 'Primary site logo.'
},
relationTo: 'media'
},
@@ -83,8 +91,7 @@ import { validateFaviconField } from '../../../modules/seo/index.js';
description: 'Square icon, PNG or SVG, min. 48×48px (Google requires this to show it in search). Rendered via buildIconsMetadata.'
},
hooks: {
// Warns the editor at save time if the favicon is too small (<48×48) or
// not square — Google won't display such favicons in search results.
// Warn the editor if the favicon is too small / not square for Google.
beforeValidate: [
validateFaviconField
]