SEO: multilingual homepage (homeSlug per locale in path/sitemap), Article + llms.txt generators, siteDescription fallback, composeTitle dedup
This commit is contained in:
+11
-4
@@ -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
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user