使用javascript或jQuery可以重定向301吗?

时间:2012-12-12 19:00:17

标签: javascript jquery seo http-status-code-301

我正在运行Apache 2.0,我只是想知道是否可以使用JavaScript或jQuery进行301重定向。

我有一个<a></a>标记href到指定位置,当我点击该链接时,我被要求进行301重定向。

这是针对搜索引擎优化,我正在尝试找到一种方法将301重定向到链接中的同一页面,而无需创建新页面或创建表单/提交。

5 个答案:

答案 0 :(得分:23)

简而言之

JavaScript完全在客户端运行。 301重定向应该来自服务器的响应。这意味着没有服务器支持就无法做到这一点。

答案 1 :(得分:17)

我知道这是一个古老的问题,但答案并没有真正解决问题中提出的主要问题,这是针对搜索引擎优化目的的301重定向(今天的答案很可能与它不同)当问题最初被问及并回答时)。

答案是,不能,您不能从客户端重定向在技术上是正确的,但是(更重要的是)您不一定需要。虽然真正的301会是首选,但在这种情况下,如果不可能(或者从hashbang URL转换回传统的URL),问题实际上是否是可行的替代方案实现目标。

Search Engine Land did a detailed test Google关于JavaScript的功能,这是该文章的相关摘录:

  
      
  1. JavaScript重定向
  2.         

    我们首先测试了常见的JavaScript重定向,改变了URL的方式   用不同的方式表示。我们选择的方法是   window.location函数。进行了两项测试:包括测试A.   window.location函数中的绝对URL。测试B.   使用了相对URL。

         

    结果:Google很快就重定向了重定向。从一个   索引的立场,他们被解释为301s - 最终状态   网址替换了Google索引中的重定向网址。

         

    在随后的测试中,我们使用了权威页面和   实现了JavaScript重定向到网站上的新页面   完全相同的内容。原始网址排在第一页   谷歌的热门查询。

         

    结果:正如预期的那样,重定向后面是Google和   原始页面从索引中删除。新网址已编入索引   立即为相同的查询排在相同的位置。这个   让我们感到惊讶,似乎表明JavaScript重定向可以(在   时间)行为与排名中的永久301重定向完全相同   观点出发

         

    您的客户下次要实施JavaScript重定向时   他们的网站移动,你的答案可能不需要,“请不要。”它   看来在这种关系中存在排名信号的转移。   支持这一发现是Google’s guidelines的引用:

         

    &#34;使用JavaScript重定向用户可能是合法的做法。对于   例如,如果您在记录后将用户重定向到内部页面   在,你可以使用JavaScript这样做。检查JavaScript或   其他重定向方法,以确保您的网站符合我们的准则,   考虑意图。请记住,301重定向最好   移动您的网站,但您可以使用JavaScript重定向   目的,如果您无法访问您网站的服务器。&#34;

答案 2 :(得分:7)

301是服务器响应代码。您将无法从jQuery创建301重定向。

您必须从PHP执行301。

答案 3 :(得分:2)

301 redirects是永久重定向,基本上是HTTP服务器响应。 JavaScript / jQuery是在客户端上执行的东西。两个不同的世界。

相反,如果您无法在服务器上执行此操作,则可以实际输入最终URL。

或者,如果您询问是否可以重定向当前页面,是的,可以使用META重定向或更改window.location。

如果您使用的是Apache,则可以使用mod_rewrite进行301重定向。

答案 4 :(得分:0)

如果这仅用于SEO,那么它将起作用
<meta http-equiv="refresh" content="0;url=YOUR_URL">
Google认为这不是301重定向