Как правильно установить TYPO3 og, twitter: и fb: в TYPO3 8 - PullRequest
0 голосов
/ 15 января 2019

Я недавно обновил экземпляр TYPO3 с 7 до 8 (сейчас 8.7.22, PHP 7.2) (очевидно, это было до выпуска 9.5), и я столкнулся с проблемой с ранее работающим самостоятельным набором og: и twitter: метатеги.

Клиенту это необходимо для оптимизации SEO, а в Твиттере улучшено поведение при обмене твиттерами.

Мы построили это:

page.meta {
    description.data = levelfield:-1, description, slide
    keywords.data = levelfield:-1, keywords, slide
    bitly-verification = 
    og:site_name =
    og:description.data = levelfield:-1, description, slide
    og:description.attribute = property
    og:type = website
    og:type.attribute = property
    og:locale.attribute = property
    og:site_name.attribute = property
    X-UA-Compatible = IE=edge
    twitter:card.data = levelfield:-1, tx_metadata_twitter_card, slide
    twitter:card.attribute = property
    twitter:site.data = levelfield:-1, tx_metadata_twitter_site, slide
    twitter:site.attribute = property
    twitter:creator.data = levelfield:-1, tx_metadata_twitter_creator, slide
    twitter:creator.attribute = property
    twitter:account_id.data = levelfield:-1, tx_metadata_twitter_account_id, slide
    twitter:account_id.attribute = property
    fb:admins.data = levelfield:-1, tx_metadata_facebook_admin, slide
    fb:admins.attribute = property
    viewport = width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no
    author >
}

И добавил поля к $TYPO3_CONF_VARS['FE']['addRootlineFields'] (который в соответствии с модулем конфигурации все еще работает отлично).

Проблема в том, что, по-видимому, работают только метаинформация og:description, og:site_name и og:type, но twitter: и fb: не работают вообще.

Данные доступны в базе данных.

Мне было интересно, может ли что-нибудь испортить мой опечаток, но разобранный опечатка полностью отображается в браузере объектов Typoscript.

Я подозреваю, что что-то не так в разборе при оценке ключей twitter: и fb:, но я не могу точно определить, где эта оценка выполняется в коде. Документация тоже мало что дает.

[EDIT]: Я забыл упомянуть, что метаданные отображаются не в том порядке, в котором они находятся в опечатке, а как-то зашифрованы, поэтому я также подозревал расширение, чтобы это испортить.

[ОБНОВЛЕНИЕ]: В локальной среде разработки с докером (та же настройка, что и на рабочем веб-сервере) теги работают нормально.

[ОБНОВЛЕНИЕ 2]: Похоже, виновник находится где-то в EXT:frontend/Classes/Page/PageGenerator.php:PageGenerator::generateMetaTagHtml при разрешении значений из Typoscript с использованием stdWrap. Я продолжу копать там.

1 Ответ

0 голосов
/ 15 января 2019

Итак, получается, что TYPO3 действительно хорош в кэшировании корневой информации, но не в очистке данных ...

Усечение всех таблиц cf_ * решило проблему. Очевидно, что даже при очистке всего кэша в инструменте установки этот кэш не очищается должным образом.

...