在.htaccess - Wordpress中使用X-Robot-Tag对查询字符串不建立索引

z4bn682m  于 2023-02-07  发布在  WordPress
关注(0)|答案(3)|浏览(112)

我已经在这里研究了关于使用X-Robot-Tag在. htaccess上对特定页面进行noindex的其他问题。
我的问题是类似的,虽然我想noindex一组网页,并不确定如何做到这一点。
我正在使用wordpress和woocommerce自带的layered-nav过滤插件。
我已经设法noindex的大部分网页与Yoast插件,但每个选项的分层导航过滤器创建一个页面显示过滤选项。这些页面的形式
https://www.mysite.co.uk/brand/brand1/?filter_cats1=cat1
每个过滤器具有以类似方式结束的类似URL ?filter_cats1=cat1
有没有办法可以用X-robot-Tag过滤掉这些URL呢?正如前面提到的,我只看到过不索引特定页面的方法,我还没有找到不索引具有相似URL的页面组的方法

alen0pnh

alen0pnh1#

See this answer
您应该在user/uploaded/目录中放置一个新的.htaccess。在此文件中,您将能够指定您的.htaccess规则
顶盖套件X-机器人-标签:“无索引”
除非您要针对特定文件,否则无需使用FilesMatch。##

093gszye

093gszye2#

如果你想使用相同的参数filter_cats1noindex, follow添加到所有的url,那么使用以下规则:

<IfModule mod_headers.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} .
RewriteCond %{QUERY_STRING} (^|&)filter_cats1= [NC]
RewriteRule .* : [E=DO_SEO_HEADER:1]

Header set X-Robots-Tag "noindex, nofollow" env=DO_SEO_HEADER
</IfModule>
h9vpoimq

h9vpoimq3#

我也遇到了同样的问题。不过,我只是将这些查询字符串重定向到相关页面。例如:

RewriteEngine on
<if "%{QUERY_STRING} =~ /^filter_cats1=/">
RewriteRule  .  %{REQUEST_URI}?   [R=301,L]
</if>

这会剥离查询字符串或删除所有内容,包括?和后面的剩余字符串,并将其重定向到相关的url。这会将包含查询字符串或https://www.mysite.co.uk/brand/brand1/?filter_cats1=cat1的url重定向到不包含查询字符串的url:https://www.mysite.co.uk/brand/brand1/您也不需要在重写规则中列出整个查询字符串。只有?to =之后的字符串的第一部分就足以创建重定向。在这种情况下,你不需要索引查询字符串。2一个简单的301重定向就可以了。3你可以在实现重定向后测试它,也可以将它应用到任何查询字符串。处理查询字符串的方法还有很多,包括:

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^/specific/url/
RewriteCond %{QUERY_STRING} key=value
RewriteRule (.*) /path/ [R=301,L]

您可以在此处阅读有关重定向或删除查询字符串的详细信息:https://perishablepress.com/redirect-query-string-htaccess/

相关问题