如何在TYPO3 tx_news分页列表添加robots元标签?非首页设noindex可行吗?
在TYPO3 tx_news分页列表中设置robots元标签(TYPO3 8.7 + tx_news 6.3.0)
针对你的两个问题,直接给你可行的解决方案——完全可以为分页列表除首页外的所有页面设置noindex标签,下面分两种常用方法实现:
方法1:用TypoScript快速实现(无需修改模板)
这是最简便的方式,通过TypoScript的条件判断来动态添加meta标签:
- 进入TYPO3后台的模板模块,找到对应根模板或新闻列表页的模板,编辑TypoScript代码
- 添加以下代码:
# 判断当前是tx_news列表页的分页非第一页 [request.getQueryParams()['tx_news_pi1']['action'] == 'list' && request.getQueryParams()['tx_news_pi1']['page'] > 1] # 设置robots标签为noindex, follow page.meta.robots = noindex, follow [global]
如果只想针对特定的新闻列表页生效,可以加上页面UID的判断(比如列表页UID是100):
[page["uid"] == 100 && request.getQueryParams()['tx_news_pi1']['page'] > 1] page.meta.robots = noindex, follow [global]
方法2:修改tx_news模板(更灵活的控制)
如果你需要在模板层面做更定制化的处理,可以修改tx_news的列表模板:
- 首先,在你的站点扩展中创建tx_news的模板覆盖路径:
typo3conf/ext/your_extension/Resources/Private/Templates/News/ - 从tx_news扩展中复制原始的
List.html模板到上述路径 - 在模板的
<head>区域(如果你的主模板允许插件输出head内容,或者通过模板继承的方式)添加以下Fluid代码:
<f:if condition="{pagination.currentPage} > 1"> <meta name="robots" content="noindex, follow" /> </f:if>
注意:如果你的主模板已经统一管理head部分,可能需要通过
<f:cObject>调用TypoScript来设置meta,或者确保插件的模板能正确输出到页面head中。
注意事项
- 修改完成后,务必清除TYPO3的全部缓存,否则新设置不会生效
- 测试时打开分页页面(比如
?tx_news_pi1[page]=2),查看页面源代码,确认<meta name="robots" content="noindex, follow">是否正确输出 - 建议设置
noindex, follow,这样搜索引擎不会索引分页页,但会继续抓取页面内的链接
内容的提问来源于stack exchange,提问作者Pavenstaedter
相关产品推荐
相关产品推荐

