我需要禁止索引 2 个页面,其中一个是动态的:
site.com/news.php
site.com/news.php?id=__
site.com/news-all.php
我应该在 robots.txt 中写什么:
User-agent: *
Disallow: /news
或者
Disallow: /news*
或者
Disallow: /news.php*
Disallow: /news-all.php
最后是否应该使用通配符?
我需要禁止索引 2 个页面,其中一个是动态的:
site.com/news.php
site.com/news.php?id=__
site.com/news-all.php
我应该在 robots.txt 中写什么:
User-agent: *
Disallow: /news
或者
Disallow: /news*
或者
Disallow: /news.php*
Disallow: /news-all.php
最后是否应该使用通配符?
User-agent: *
Disallow: /news.php?id=*
User-agent: *
Disallow: /news-all.php
更多信息在这里
编辑:
第一条规则将允许 news.php 带参数但允许 news.php 不带 ?id=__。如果你不想抓取 news.php 那你必须使用 /news.php*
当然
Disallow: /news.php
Disallow: /news-all.php
是正确的。如果您有完整的文件名,则不需要星号。虽然对我来说很有趣
Disallow: /news*
方法可以工作。
robots.txt 中的 Allow 和 Disallow 行表示“允许(或禁止)任何以开头的内容”。
所以:
Disallow: /news.php
是相同的
Disallow: /news.php*
当然,前提是读取 robots.txt 的机器人理解通配符。如果机器人不理解通配符,那么它会将星号视为实际文件名的一部分。
行尾的星号是多余的,并且有潜在危险。