.htaccess 使用X机器人标记,htaccess文件去索引查询字符串URL从谷歌

kg7wmglp  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(106)

我正在寻找一个解决方案,以deindex所有的URL与查询字符串?te=从谷歌。从例子中,我想从谷歌的所有网址https://example.com/?te=的反索引。
谷歌目前已经用相同的查询字符串索引了21k个URL,我希望它们都被解索引。我应该使用X机器人文件来这样做吗?
有什么可能的解决办法呢?
我尝试使用robot.txt阻止它们,使用命令

Disallow: /*?te=

但这对我没什么帮助。

wvt8vs2t

wvt8vs2t1#

你的机器人。txt解决方案将主要工作,如果你给它足够的时间。Google通常会停止索引无法抓取的URL。但是,Google偶尔会根据外部链接对此类URL进行索引,而不会对页面内容进行索引。
使用X-Robots-Tag是一个更好的主意。它将阻止谷歌索引页面。您需要从robots.txt中删除disallow规则,否则Googlebot将无法抓取您的URL并查看X-Robots-Tag。您还需要给予Googlebot时间来抓取所有页面。一些页面将在几天内开始被取消索引,但Googlebot可能需要几个月的时间才能完成所有这些页面。
如果你使用Apache 2。4或更高版本,您可以在.htaccess中使用Apache的内置表达式来完成此操作:

<If "%{QUERY_STRING} =~ /te=/">
    Header set X-Robots-Tag noindex
</If>

如果你还在使用Apache 2。2或更早的版本中,您必须使用重写规则和环境变量来实现相同的效果:

RewriteCond %{QUERY_STRING} te=
RewriteRule ^(.*)$ $1 [E=teinquery:1]
Header set X-Robots-Tag noindex env=teinquery

我建议在命令行上使用curl进行测试,看看它是否正常工作。

curl --head "https://example.com/"

不应显示X-Robots-Tag: noindex行,但以下命令应显示该行:

curl --head "https://example.com/?te=foo"

相关问题