我正在运行Apache 2.0,我只是想知道是否有可能使用JavaScript或jQuery进行301重定向。
我有一个带有<a></a>
的href
标记到指定的位置,当我单击该链接时,我被要求进行301重定向。
这是针对SEO的,我正在尝试找到一种方法,以使301重定向到链接中的同一页面,而不必创建新页面或创建表单/提交。
简而言之否。
JavaScript完全在客户端上运行。 301重定向应该是来自服务器的响应。这意味着没有服务器支持就无法执行此操作。
我知道这是一个古老的问题,但是答案并未真正解决问题中提出的主要问题,该问题是出于SEO目的的301重定向(而且今天的答案可能与问题出现时的答案大不相同。最初是被询问和回答的。)>
不,您不能301从客户端重定向的答案在技术上是正确的,但是(更重要的是)您不一定需要这样做。虽然首选真正的301,但在这种情况下(例如,从hashbang URL过渡回传统URL)是不可能的,但问题的实质是是否存在可行的替代方案来实现目标。
Search Engine Land did a detailed test Google关于JavaScript的功能,这是该文章的相关摘录:
- JavaScript重定向
[我们首先测试了常见的JavaScript重定向,改变了URL的使用方式以不同的方式表示。我们选择的方法是window.location函数。进行了两项测试:包括测试A在window.location函数中赋予属性的绝对URL。测试B使用了相对网址。
结果:重定向很快被Google跟踪。从一个索引的观点,它们被解释为301s-最终状态网址替换了Google索引中的重定向网址。
[在随后的测试中,我们使用了权威页面,实现了JavaScript重定向到网站上的新页面内容完全相同。原始网址排名在Google查询热门查询。
结果:按预期,重定向由Google执行,原始页面已从索引中删除。新网址已编入索引,立即针对相同查询排名在相同位置。这个让我们感到惊讶,并且似乎表明JavaScript重定向可以(在次)的行为完全类似于排名中的301永久重定向观点来看。
下一次您的客户想要为他们的网站移动了,您的答案可能不必是“请不要。”它在这种关系中似乎出现了排名信号的转移。Google’s guidelines:
引用了这一发现。“使用JavaScript重定向用户可能是合法的做法。例如,如果您在用户登录后将其重定向到内部页面在其中,您可以使用JavaScript来实现。检查JavaScript或其他重定向方法以确保您的网站遵守我们的准则,考虑意图。请记住,在以下情况下,301重定向是最佳选择移动您的网站,但是您可以为此使用JavaScript重定向如果您无权访问网站的服务器,则可以使用。”
301是服务器响应代码。您将无法从jQuery创建301重定向。
301 redirects是永久重定向,基本上是HTTP服务器响应。 JavaScript / jQuery是在客户端上执行的东西。两个不同的世界。
如果仅用于SEO,则可以使用<meta http-equiv="refresh" content="0;url=YOUR_URL">
Google认为这不是301重定向,但不是