diff --git a/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst b/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst new file mode 100644 index 0000000000000000000000000000000000000000..8b0afadfc8a971f68787bedb5a3771a9a0c90cef --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst @@ -0,0 +1,25 @@ +.. include:: /Includes.rst.txt + +.. _important-101621-1718125029: + +================================================================= +Important: #101621 - Changed default value for twitter_card field +================================================================= + +See :issue:`101621` + +Description +=========== + +The default value of the field `twitter_card` of a page is now an empty string instead of `summary`. + +Only if one of the following fields is filled, the meta tag :html:`<meta name="twitter:card">` is rendered. + +- `twitter_title` +- `twitter_description` +- `twitter_image` +- `twitter_card` + +If no twitter card is selected, the fallback value is `summary`. + +.. index:: Frontend, ext:seo diff --git a/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php b/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php index 3db1110ae1ca2f9ca76a03fd7fab864230a3ff56..f191639e4c46d83bb474ce60dabdf055e528319a 100644 --- a/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php +++ b/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php @@ -88,15 +88,15 @@ readonly class MetaTagGenerator } } - $manager = $this->metaTagManagerRegistry->getManagerForProperty('twitter:card'); - $manager->addProperty('twitter:card', $pageRecord['twitter_card'] ?: 'summary'); - + $twitterCardTagRequired = false; if (!empty($pageRecord['twitter_title'])) { + $twitterCardTagRequired = true; $manager = $this->metaTagManagerRegistry->getManagerForProperty('twitter:title'); $manager->addProperty('twitter:title', $pageRecord['twitter_title']); } if (!empty($pageRecord['twitter_description'])) { + $twitterCardTagRequired = true; $manager = $this->metaTagManagerRegistry->getManagerForProperty('twitter:description'); $manager->addProperty('twitter:description', $pageRecord['twitter_description']); } @@ -108,6 +108,7 @@ readonly class MetaTagGenerator $twitterImages = $this->generateSocialImages($fileCollector->getFiles()); foreach ($twitterImages as $twitterImage) { + $twitterCardTagRequired = true; $subProperties = []; if (!empty($twitterImage['alternative'])) { @@ -122,6 +123,12 @@ readonly class MetaTagGenerator } } + $twitterCard = $pageRecord['twitter_card'] ?: ($twitterCardTagRequired ? 'summary' : ''); + if (!empty($twitterCard)) { + $manager = $this->metaTagManagerRegistry->getManagerForProperty('twitter:card'); + $manager->addProperty('twitter:card', $twitterCard); + } + $noIndex = ($pageRecord['no_index']) ? 'noindex' : 'index'; $noFollow = ($pageRecord['no_follow']) ? 'nofollow' : 'follow'; diff --git a/typo3/sysext/seo/Configuration/TCA/Overrides/pages.php b/typo3/sysext/seo/Configuration/TCA/Overrides/pages.php index 7d2fca73eab5fb796cbd6397f819a60dca73165f..7aa47f77a6c1179bfcd762595c076955493902b2 100644 --- a/typo3/sysext/seo/Configuration/TCA/Overrides/pages.php +++ b/typo3/sysext/seo/Configuration/TCA/Overrides/pages.php @@ -265,8 +265,9 @@ $tca = [ 'config' => [ 'type' => 'select', 'renderType' => 'selectSingle', - 'default' => 'summary', + 'default' => '', 'items' => [ + ['label' => '', 'value' => ''], ['label' => 'LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.twitter_card.summary', 'value' => 'summary'], ['label' => 'LLL:EXT:seo/Resources/Private/Language/locallang_tca.xlf:pages.twitter_card.summary_large_image', 'value' => 'summary_large_image'], ],