Мультисайт TYPO3 v9, отдельный файл robots.txt для нескольких доменов на одной корневой странице - PullRequest
0 голосов
/ 26 января 2020

В маркетинговых целях я поддерживаю один идентичный веб-сайт с двумя разными доменами, в TYPO3 v8 я просто добавил бы запись домена на странице root и создал бы персонализированный файл robots.txt с опечаткой для каждого сайта через realurl) .. .

В версии 9 я не могу найти способ сделать это, я пытался вручную вводить различные аннотации в config.yaml, но ничего не работает (т.е. я пытался реплицировать аннотацию для URL) ...

routes:
  -
    route: robots.txt
    type: staticText
    content: "User-agent: *\r\nDisallow: /"
    contentVariants:
      -
        content: "User-agent: *\r\nAllow: /"
        condition: 'getenv("HTTP_HOST") == "2dn-domain.com"'

кто-нибудь знает рабочую аннотацию или другой подход ...

Ответы [ 2 ]

1 голос
/ 26 января 2020

По моему мнению, нет необходимости загружать robots.txt со всеми издержками TYPO3, за исключением того, что вы хотите динамически добавлять к нему контент.

Вы можете обрабатывать несколько robots.txt с помощью правил перезаписи Webserver Например, с Apache:

RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]

Это правило загружает файл robots.txt в зависимости от HTTP_HOST из подкаталога:

  • robots / domain-a.xy
  • robots / domain-b.xy
0 голосов
/ 01 февраля 2020

Мне нравится оставаться в рамках «обычных» решений, поэтому я нашел середину:

в бэкэнде вы вводите Route Type = Page, File or URL [uri]

со значением t3://page?type=201, чтобы обратиться к тип страницы для роботов

и с помощью Typoscript вы определяете свой файл условных роботов:

# Theme robots.txt

robots = PAGE
robots {
    typeNum = 201
    config {
        disableAllHeaderCode = 1
        additionalHeaders.10.header = Content-Type:text/plain;charset=utf-8
        xhtml_cleaning = 0
        admPanel = 0
        debug = 0
        index_enable = 0
        removeDefaultJS = 1
        removeDefaultCss = 1
        removePageCss = 1
        INTincScript_ext.pagerender = 1
        sourceopt.enabled = 0
    }

    10 = TEXT
    10.value (
User-Agent: *
Allow: /

# indexed search
User-agent: googlebot
Disallow: /*?tx_indexedsearch

# folders
Disallow: /typo3/
Disallow: /typo3conf/
Allow: /typo3conf/ext/
Allow: /typo3temp/

# parameters
Disallow: /*?id=*                    # non speaking URLs
Disallow: /*&id=*                    # non speaking URLs
Disallow: /*cHash                    # no cHash
Disallow: /*tx_powermail_pi1         # no powermail thanks pages
Disallow: /*tx_form_formframework    # no forms

# sitemap
Sitemap: {$theme.configuration.sitemap}
    )
}

# Adwords Site closed
[globalString = ENV:HTTP_HOST=adw-domain.com]
    robots.10.value (
User-Agent: *
Disallow: /
    )
[global]

Я также устанавливаю константу в constants.typoscript для сайта seo:

theme.configuration {
    sitemap = /?eID=dd_googlesitemap
    sitemap = http://seo-domain.com/sitemap/seo-domain.xml
}
...