Files
VITEC-website/packages/vitec/Configuration/Sets/Vitecset/settings.definitions.yaml
T
orascheandClaude Fable 5 2c0da281bd SSR switch: site setting vitec.ssr.enabled gates .htaccess proxy to SSR node
- Site set Vitecset: new bool setting vitec.ssr.enabled (default off,
  backend switch under Site Management > Settings > VITEC Settings)
- SsrFlagService derives var/vitec-ssr-on.flag from the setting;
  SyncSsrFlag middleware (frontend + backend) re-syncs per request
  because TYPO3 v14 fires no event on site settings save;
  vitec:ssr-flag CLI command for status/--sync
- public/.htaccess: flag-gated block proxies page requests [P] to
  https://vitec-ssr.evomedien.de (mod_proxy incl. https target verified
  on this host 2026-11-09), same exclusions as the SPA fallback block;
  completely inert while the flag file is absent
- Emergency off without TYPO3: delete var/vitec-ssr-on.flag
- Tested end to end: flag on -> pages proxied to VPS Caddy (502 while
  the SSR node is not deployed yet), /_json untouched; flag off ->
  SPA shell exactly as before

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-11-09 13:35:27 +01:00

142 lines
4.3 KiB
YAML

categories:
VITEC:
label: 'VITEC Settings'
description: 'Settings for VITEC Stuff'
seo:
label: 'SEO Settings'
description: 'SEO related settings'
menu:
label: 'Menu / Navigation'
description: 'Footer & meta menu page selection'
settings:
my.vitec.setting:
label: 'My example setting'
category: VITEC
type: string
default: ''
my.seoRelevantSetting:
label: 'My SEO relevant setting'
category: seo
type: int
default: 5
vitec.debugMode:
label: 'Enable Debug Mode'
description: 'Enable debug mode for VITEC extensions'
category: VITEC
type: bool
default: false
vitec.storyDetailPid:
label: 'Success story detail page'
description: 'The page that renders a single success story. Used to build story links where no page is configured on the element itself - the story URL is that page''s parent path plus the story slug, which is what SuccessStoryPathRewrite expects. 0 = no fallback.'
category: VITEC
type: int
default: 0
menu.footer.pageUids:
label: 'Footer menu — page UIDs'
description: 'Comma-separated list of page UIDs to display in the footer menu (in order).'
category: menu
type: string
default: ''
menu.meta.pageUids:
label: 'Meta menu — page UIDs'
description: 'Comma-separated list of page UIDs to display in the meta menu (e.g. Imprint, Privacy).'
category: menu
type: string
default: ''
# ---------------------------------------------------------------------------
# Structured data / schema.org (consumed by StructuredDataService)
# ---------------------------------------------------------------------------
seo.site.canonicalBase:
label: 'Canonical base URL'
description: 'Absolute public base URL of the live site WITHOUT trailing slash, e.g. https://www.vitec.com. Used to build absolute URLs in JSON-LD. Falls back to the request host if empty.'
category: seo
type: string
default: ''
seo.site.name:
label: 'Website name (schema.org WebSite)'
description: 'Display name for the schema.org WebSite node on the home page. Falls back to the organization name if empty.'
category: seo
type: string
default: ''
seo.organization.name:
label: 'Organization name'
description: 'Public organization name for schema.org/Organization. Leave empty to disable Organization output entirely.'
category: seo
type: string
default: ''
seo.organization.legalName:
label: 'Organization legal name'
description: 'Full legal entity name, e.g. "VITEC GmbH".'
category: seo
type: string
default: ''
seo.organization.logoUrl:
label: 'Organization logo URL'
description: 'URL of the organization logo (absolute, or root-relative — will be made absolute). Recommended for Google.'
category: seo
type: string
default: ''
seo.organization.sameAs:
label: 'Social / sameAs URLs'
description: 'Comma- or newline-separated list of official profile URLs (LinkedIn, YouTube, X, …) for schema.org sameAs.'
category: seo
type: string
default: ''
seo.organization.email:
label: 'Contact email'
category: seo
type: string
default: ''
seo.organization.phone:
label: 'Contact phone'
description: 'International format, e.g. +49 89 1234567.'
category: seo
type: string
default: ''
seo.organization.street:
label: 'Address — street'
category: seo
type: string
default: ''
seo.organization.postalCode:
label: 'Address — postal code'
category: seo
type: string
default: ''
seo.organization.locality:
label: 'Address — city'
category: seo
type: string
default: ''
seo.organization.country:
label: 'Address — country (ISO 3166-1 alpha-2)'
description: 'Two-letter country code, e.g. DE.'
category: seo
type: string
default: ''
vitec.ssr.enabled:
label: 'SSR delivery (serve pages from the SSR node)'
description: 'ON: page requests are proxied by .htaccess to the SSR server (React Router SSR on the Solr VPS) - the flag file var/vitec-ssr-on.flag is kept in sync automatically within seconds. OFF: pages are served as today (SPA shell from _frontend/). JSON under /_json, /typo3, /api etc. are never affected. Safe rollback switch.'
category: VITEC
type: bool
default: false