我正在运行Apache2.0,我想知道是否可以使用JavaScript或jQuery进行301重定向。
我有一个指向指定位置的带有href的<a></a>标记,当我单击该链接时,系统要求我进行301重定向。
这是搜索引擎优化,我试图找到一种方法,以301重定向到链接中的同一页,而不必创建一个新的页面或创建一个表单/提交。
发布于 2012-12-13 03:02:27
简而言之,No。
JavaScript完全在客户端运行。301重定向应该是来自服务器的响应。这意味着在没有服务器支持的情况下您无法做到这一点。
发布于 2016-09-10 03:46:24
我知道这是一个老问题,但答案并没有真正解决问题中提出的主要问题,这是一个301重定向的SEO目的(今天的答案很可能与最初提出和回答这个问题时不同)。
不,你不能从客户端301重定向的答案在技术上是正确的,然而(更重要的是)你不一定需要这样做。虽然真正的301是首选,但在这种情况下(例如,从hashbang URL转换回传统URL)是不可能的,但问题是是否真的有可行的替代方案来实现目标。
关于JavaScript的谷歌功能的Search Engine Land did a detailed test,这是这篇文章的相关摘录:
我们首先测试了常见的JavaScript重定向,以不同的方式表示不同的URL。我们选择的方法是window.location函数。执行了两个测试:测试A包含window.location函数中属性的绝对网址。测试B使用了相对URL。
结果: Google紧随其后的是重定向。从索引的角度来看,它们被解释为301s --在Google的索引中,结束状态URL替换了重定向的URL。
在随后的测试中,我们利用了一个权威页面,并实现了一个JavaScript重定向,指向站点上具有完全相同内容的新页面。最初的URL在谷歌热门查询的第一页上排名第一。
结果:正如预期的那样,Google紧跟着重定向,原始页面从索引中删除。新的URL被编入索引,并且对于相同的查询立即排在相同的位置。这让我们大吃一惊,似乎表明从排名的角度来看,JavaScript重定向可以(有时)表现出与永久301重定向完全相同的行为。
下次您的客户想要为他们的站点移动实现JavaScript重定向时,您的回答可能不需要是“请不要”。在这种关系中似乎存在排名信号的转移。支持这一发现的是Google’s guidelines的一句话。
“使用JavaScript重定向用户可能是一种合法的做法。例如,如果您在用户登录后将用户重定向到内部页面,则可以使用JavaScript执行此操作。在检查JavaScript或其他重定向方法以确保您的站点符合我们的指导原则时,请考虑其意图。请记住,在移动站点时,301重定向是最佳选择,但如果您无权访问您网站的服务器,则可以使用JavaScript重定向来实现此目的。”
发布于 2012-12-13 03:03:03
301是一个服务器响应码。您将无法从jQuery创建301重定向。
您必须在PHP中执行301。
https://stackoverflow.com/questions/13846738
复制相似问题