我正在运行 Apache 2.0,我只是想知道是否可以使用 JavaScript 或 jQuery 进行 301 重定向。
我有一个 <a></a>
带有 href
的标签到指定位置,当我单击该链接时,我被要求进行 301 重定向。
这是针对 SEO 的,我正在尝试找到一种方法来将 301 重定向到链接中的同一页面,而无需创建新页面或创建表单/提交。
原文由 Caleb Doucet 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在运行 Apache 2.0,我只是想知道是否可以使用 JavaScript 或 jQuery 进行 301 重定向。
我有一个 <a></a>
带有 href
的标签到指定位置,当我单击该链接时,我被要求进行 301 重定向。
这是针对 SEO 的,我正在尝试找到一种方法来将 301 重定向到链接中的同一页面,而无需创建新页面或创建表单/提交。
原文由 Caleb Doucet 发布,翻译遵循 CC BY-SA 4.0 许可协议
我知道这是一个老问题,但答案并没有真正解决问题中提出的主要问题,即用于 SEO 目的的 301 重定向(今天的答案很可能与最初提出问题时的答案不同)问和回答)。
不,您不能从客户端进行 301 重定向的答案在技术上是正确的,但是(更重要的是)您不一定需要这样做。虽然真正的 301 是首选,但在这种不可能的情况下(或者例如从 hashbang URL 转换回传统 URL),问题实际上是是否有实现目标的可行替代方案。
Search Engine Land 对 Google 在 JavaScript 方面的能力进行了详细测试,这是该文章的相关摘录:
- JavaScript 重定向
我们首先测试了常见的 JavaScript 重定向,改变了 URL 以不同方式表示的方式。我们选择的方法是 window.location 函数。执行了两个测试:测试 A 包括 window.location 函数中的绝对 URL。测试 B 使用了相对 URL。
结果:重定向很快被谷歌跟踪。从索引的角度来看,它们被解释为 301——最终状态 URL 取代了 Google 索引中的重定向 URL。
在随后的测试中,我们使用了一个权威页面并实现了 JavaScript 重定向到站点上具有完全相同内容的新页面。原始 URL 排名在 Google 热门查询的第一页。
结果:正如预期的那样,重定向被谷歌跟踪并且原始页面从索引中删除。新 URL 被编入索引,并立即针对相同的查询排名在相同的位置。这让我们感到惊讶,并且似乎表明从排名的角度来看,JavaScript 重定向可以(有时)表现得与永久 301 重定向完全一样。
下次您的客户想要为他们的网站移动实施 JavaScript 重定向时,您的回答可能不需要是“请不要”。似乎在这种关系中存在排名信号的转移。支持这一发现的是来自 谷歌指南 的引述:
“使用 JavaScript 重定向用户可能是一种合法的做法。例如,如果您在用户登录后将用户重定向到内部页面,您可以使用 JavaScript 来执行此操作。在检查 JavaScript 或其他重定向方法以确保您的网站符合要求时根据我们的指南,考虑其意图。请记住,301 重定向最适合移动您的网站,但如果您无法访问您网站的服务器,则可以为此目的使用 JavaScript 重定向。”
原文由 Chris Searles 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
简而言之, 没有。
JavaScript 完全在客户端运行。 301 重定向应该是来自服务器的响应。这意味着如果没有服务器支持,您将无法执行此操作。