如何移除影响SEO的重复URL
问题根因
- 你之前写的
Redirect 301规则完全错误:Redirect指令匹配的是站点根路径下的相对路径,你把域名写进路径里永远匹配不到请求 - 现有配置只处理了HTTP跳转HTTPS,没有处理HTTPS下不带www的域名跳转,也没有处理index.html默认文档跳转至根路径的逻辑,三个URL返回相同内容才触发重复URL告警
正确的.htaccess配置
RewriteEngine On # 1. 所有不带www的请求(不管HTTP还是HTTPS)统一跳转到带www的HTTPS地址 RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.droneworxphotography.com/$1 [L,R=302] # 2. 所有HTTP请求跳转到HTTPS RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.droneworxphotography.com/$1 [L,R=302] # 3. 根路径的index.html跳转到根域名,避免重复内容 RewriteRule ^index\.html$ https://www.droneworxphotography.com/ [L,R=302] # 4. 原有去除末尾斜杠的规则,非目录路径自动去掉斜杠 RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=302]
操作步骤
- 替换原有.htaccess全部内容为上面的配置
- 清空浏览器缓存或者用无痕模式测试以下四个跳转是否都最终落到
https://www.droneworxphotography.com:- http://droneworxphotography.com
- http://www.droneworxphotography.com
- https://droneworxphotography.com
- https://www.droneworxphotography.com/index.html
- 确认所有跳转逻辑正常后,把配置里所有的
R=302改成R=301,301是永久重定向,会被搜索引擎认可权重传递 - 额外加一层保险:在首页HTML的
<head>标签内添加canonical标签,明确告知搜索引擎首页的首选地址:<link rel="canonical" href="https://www.droneworxphotography.com/" />
配置完成后等待SERanking下次重新审计,重复URL告警就会消失。
内容的提问来源于stack exchange,提问作者Ron Clevenger
相关产品推荐
相关产品推荐

