From 33bdb8d8561eee896586dbf12668412bd32fd2e4 Mon Sep 17 00:00:00 2001 From: Oliver Rasche Date: Tue, 10 Nov 2026 17:49:52 +0100 Subject: [PATCH] Titel-Kontext auch bei kopiertem SEO-Titel; Description /solutions Der Import hatte bei fast allen Seiten den Seitentitel 1:1 als seo_title gespeichert, dadurch griff die Kontext-Vorlage fuer kurze Titel nie. Ein seo_title, der dem Seitentitel entspricht, gilt jetzt als nicht gepflegt ('Aligo | AV over IP & KVM | VITEC'). Dazu die Meta-Description der Solutions-Uebersicht (war bis heute der TCA-Platzhaltertext). Co-Authored-By: Claude Fable 5.1 --- migrations/set_solutions_description_20261110.php | 11 +++++++++++ packages/vitec/Classes/Seo/VitecMetaHandler.php | 7 ++++++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 migrations/set_solutions_description_20261110.php diff --git a/migrations/set_solutions_description_20261110.php b/migrations/set_solutions_description_20261110.php new file mode 100644 index 0000000..02bb815 --- /dev/null +++ b/migrations/set_solutions_description_20261110.php @@ -0,0 +1,11 @@ +PDO::ERRMODE_EXCEPTION]); +$desc='Explore VITEC video solutions for control rooms and command centres, real-time monitoring, video distribution and streaming, capture and encoding, video walls, digital signage, enterprise communications and security.'; +$st=$pdo->prepare("UPDATE pages SET description=?, tstamp=UNIX_TIMESTAMP() WHERE uid=2 AND (description IS NULL OR description='')"); +$st->execute([$desc]); +echo "Seite 2 (/solutions): ".$st->rowCount()." Zeile(n) aktualisiert\n"; diff --git a/packages/vitec/Classes/Seo/VitecMetaHandler.php b/packages/vitec/Classes/Seo/VitecMetaHandler.php index dd4ffe0..c087a85 100644 --- a/packages/vitec/Classes/Seo/VitecMetaHandler.php +++ b/packages/vitec/Classes/Seo/VitecMetaHandler.php @@ -145,9 +145,14 @@ class VitecMetaHandler extends MetaHandler // "Aligo | VITEC" (Seobility: 456 titles "zu kurz") becomes // "Aligo | AV over IP & KVM | VITEC"; only for plain pages without an // editor-set SEO title, never for record detail pages. + // An SEO title that merely repeats the page title (the import copied + // title -> seo_title) counts as "not maintained". + $seoTitle = trim((string)($page['seo_title'] ?? '')); + $pageTitle = trim((string)($page['title'] ?? '')); + $seoTitleMaintained = $seoTitle !== '' && mb_strtolower($seoTitle) !== mb_strtolower($pageTitle); if ($newsUid === 0 && $productArg === '' && $usecaseUid === 0 && $title !== '' && mb_strlen($title) < 30 - && trim((string)($page['seo_title'] ?? '')) === '' + && !$seoTitleMaintained ) { $parentTitle = $this->parentTitle($pageInfo); if ($parentTitle !== '' && mb_stripos($title, $parentTitle) === false) {