BlogSpot模板中META Robot标签条件语句编写求助
问题排查与修复方案
原代码存在的问题
- 重复三次相同的URL判断逻辑,完全冗余无意义
- 输出的
content值不符合需求:你要的是index,follow,但代码里写的是index,nofollow - 逻辑漏洞:外层仅判断静态页面,若当前是其他静态页面(非指定URL),不会输出任何robots标签;同时非静态页面的逻辑覆盖不完整,无法满足「除指定页面外所有页面都用
noindex,follow」的需求 - URL匹配可能失效:如果博客使用HTTPS或自定义域名,原HTTP的固定URL会匹配失败
修复后的代码
<!-- 匹配指定页面,输出index,follow --> <b:if cond='data:blog.url == "https://yourblog.blogspot.com/p/privacy-policy.html"'> <meta name="robots" content="index,follow"/> <b:else/> <!-- 所有其他页面,输出noindex,follow --> <meta name="robots" content="noindex,follow"/> </b:if>
补充说明
- 替换代码中的
https://yourblog.blogspot.com/p/privacy-policy.html为你实际的指定页面URL,确保协议(HTTP/HTTPS)和域名完全匹配 - 若需要同时匹配多个指定页面,可用
or连接多个URL判断:
<b:if cond='data:blog.url == "URL1" or data:blog.url == "URL2"'> <meta name="robots" content="index,follow"/> <b:else/> <meta name="robots" content="noindex,follow"/> </b:if>
- 如果担心URL后缀或协议变化,也可以用
contains判断页面路径(比如匹配隐私政策页的路径/p/privacy-policy.html):
<b:if cond='data:blog.url contains "/p/privacy-policy.html"'> <meta name="robots" content="index,follow"/> <b:else/> <meta name="robots" content="noindex,follow"/> </b:if>
内容的提问来源于stack exchange,提问作者Satish
相关产品推荐
相关产品推荐

