【问题标题】:Multisite TYPO3 v9, distinct robots.txt for multiple domains on one rootpage多站点 TYPO3 v9,一个根页面上的多个域的不同 robots.txt
【发布时间】:2020-01-26 12:43:29
【问题描述】:

出于营销目的,我是否维护一个具有两个不同域的相同网站,在 TYPO3 v8 中,我只需在根页面上添加一个域记录,并通过 realurl 为每个站点创建一个带有排版的个性化 robots.txt)...

在 v9 中我找不到解决方法,我尝试在 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"'

有谁知道有效的注释或不同的方法...

【问题讨论】:

    标签: yaml typo3 robots.txt typo3-9.x


    【解决方案1】:

    在我看来,没有必要将所有 TYPO3 开销都加载到 robots.txt 中,除非您想向其中动态添加内容。

    您可以使用 Web 服务器重写规则处理多个 robots.txt,例如使用 Apache:

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

    此规则根据子目录中的 HTTP_HOST 加载 robots.txt:

    • 机器人/domain-a.xy
    • 机器人/域-b.xy

    【讨论】:

    • 这确实是一个后备解决方案,使用重定向到 robots.php 以便在不可见的情况下编译和交付不同的 .txt
    【解决方案2】:

    我喜欢停留在“常规”解决方案中,所以我找到了一个中间地带:

    在后台输入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]
    

    我还在 seo 网站的 constants.typoscript 中设置了一个常量:

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

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 2021-01-28
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2013-06-06
      相关资源
      最近更新 更多