如何删除影响我的 SEO 的重复网址
Posted
技术标签:
【中文标题】如何删除影响我的 SEO 的重复网址【英文标题】:How to remove duplicate urls that are affecting my SEO 【发布时间】:2021-10-16 11:32:43 【问题描述】:希望有人可以帮助我。我已经尝试了所有我能想到的方法,现在已经花了将近 2 周的时间来解决这个问题。我正在使用 SERanking 进行网站审核,这表明我需要修复重复的 url 问题。
有问题的页面: https://www.droneworxphotography.com/ 0(参考页面) https://www.droneworxphotography.com/index.html 10(参考页面) https://www.droneworxphotography.com 10(参考页面)
我的 htaccess:
RewriteEngine On
RewriteCond %SERVER_PORT 80
RewriteRule ^(.*)$ https://www.droneworxphotography.com/$1 [R,L]
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)/$ /$1 [L,R] # <- for test, for prod use [L,R=301]
我已尝试添加 301 重定向,但无法解决我的问题。
Redirect 301 /droneworxphotography.com/index.html /droneworxphotography.com
我希望有人可以帮助我解决这个问题。 谢谢
【问题讨论】:
在实施 301 重定向之前,您需要实际修复内部链接,以便始终链接到规范 URL。 感谢您的意见。我对此有点陌生,并且花了一个小时又一个小时研究规范。据我所知,我的内部链接是一致的。也许这会引导我走向正确的方向。谢谢。 【参考方案1】:如 cmets 中所述,您需要实际修复内部链接,以便在尝试实施重定向之前始终链接到整个网站的规范 URL。
您看到的“报告的问题”大概是通过抓取您的网站发现的。
据我所知,我的内部链接是一致的。
很遗憾没有……
<!--begin footer_details --> <ul class="footer_details"> <li> <li> <a href="index.html">Redacted Photography</a>
(忽略不正确嵌套的 li
元素 - 这不是有效的 HTML。)
您在每一页的页脚都有一个指向index.html
的相对链接。这应该是相对于根的 URL(单斜杠):
<a href="/">Redacted Photopgraphy</a>
或者,一个绝对 URL(包括方案 + 规范主机名)。例如:
<a href="https://www.example.com/">Redacted Photopgraphy</a>
注意主机名后面的斜杠。
这两个是一样的。 (如果主机名在到达您的站点之前被正确规范化。它似乎是 - 您有 HTTP 到 HTTPS 和非 www 到 www 的重定向。)
<!--begin logo --> <a href="https://www.example.com" id="logo"><img src="lib/images/cropped-DroneworxLogo_small.png" ></a> <!--end logo --> <!--begin nav --> <ul id="nav"> <li> <a href="https://www.example.com"><i class="icon-home"></i><br>Home</a>
您在每个页面上都有 3 个链接(上面的两个和页脚中的一个 - 版权链接)链接到方案 + 主机名,但 没有尾部斜杠。
严格来说,“正确”的 URL 包括主机名后面的斜杠。
用户代理(即浏览器)将更正此问题并始终附加尾部斜杠,但您应该保持一致并链接到 href="https://www.example.com/"
- 带有尾部斜杠。 (或者如上所述使用href="/"
。)
您的 XML 站点地图已经正确链接到规范的绝对 URL(带有尾部斜杠):<loc>https://www.example.com/</loc>
正是这种不一致导致SEO工具同时报告https://www.example.com/
(斜线)和https://www.example.com
(否削减)。尽管这不是真正的 SEO 问题,因为用户代理将始终附加尾部斜杠以形成有效的 URL,如上所述。请参阅 my answer 到 Webmasters Stack 上的以下问题,以获取有关主机名后面的斜杠的更多信息:Is trailing slash automagically added on click of home page URL in browser?
请注意,紧跟在主机名后面的斜杠(位于 URL 路径的开头)与位于 URL 路径末尾的斜杠不同。
重定向到规范
一旦您更正了上述内容,您就可以实施重定向以更正任何已编入索引的 URL(或来自外部第三方的反向链接)。
您可以在此处实现的唯一重定向是从/index.html
到/
(删除index.html
)。您不能重定向以在主机名后附加斜杠(这是 相同的 URL)。
(您的 mod_rewrite 指令 删除 URL 路径末尾的斜杠 - 这完全不同。您的网站对此没有问题,但此重定向不会造成任何伤害。 )
要删除index.html
,您可以在.htaccess
文件的顶部添加以下规则,在您现有的重定向之前(以及在RewriteEngine
指令之后):
RewriteRule ^index\.html$ https://www.example.com/ [R=301,L]
注意:首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。
这确实假设您没有使用前端控制器模式(并将请求重写为/index.html
)。看起来不像 - 您的网站看起来像一个完全静态的 HTML 网站?
使用 site:
搜索在 Google 中快速检查不会显示 index.html
已被编入索引。因此,目前这不太可能导致您出现 SEO 问题。
【讨论】:
以上是关于如何删除影响我的 SEO 的重复网址的主要内容,如果未能解决你的问题,请参考以下文章