SEO技术重定向指南

发布于:2019-12-30

网站会更改结构,删除页面,并且经常从一个域移动到另一个域。为了避免失去排名并帮助搜索引擎了解你所做的更改,正确处理重定向至关重要。

重定向的状态码从第三个数字开始(即3XX)。有100种不同的可能状态代码,但只有 少数几种实现用于携带某些信息。

在本指南中,我们将介绍与SEO相关的3XX重定向。

 

301:永久移动

此众所周知的重定向向客户端指示资源已更改到另一个位置,并且它应将新的URL用于以后的请求。当搜索引擎看到301重定向时,它们会将旧页面的排名传递给新页面。

进行更改之前,在决定使用301重定向时需要小心。这是因为如果你以后改变主意并决定删除301重定向,则旧的URL可能不再排名。

即使你交换了重定向,也无法帮助你将旧页面恢复到之前的排名位置。因此,主要要记住的是,无法撤消301重定向。

(* 对于可能与通用名称混淆的初学者,使用客户端而不是浏览器,因为不仅浏览器能够浏览URL,而且浏览器机器人不是浏览器。)

 

307:临时重定向

在HTTP 1.1中,301重定向表示资源已临时移动,客户端应将原始资源的URL用于以后的请求。对于SEO,这意味着客户端应遵循重定向,但搜索引擎不应将其SERP中的链接更新到新的临时页面。在307重定向中,PageRank 不会从原始资源传递到新资源,与301重定向相反。

302:发现这意味着客户端正在寻找的资源是在HTTP 1.1版本的另一个URL上找到的,但已在HTTP 1.0中临时移动了。

 

302和307

在几乎所有情况下,302和307重定向将被  视为相同。但是302状态代码并不一定意味着客户端必须遵循重定向,并且如果它决定留在该客户端,则它不被视为错误。

现代客户很可能会跟随新的目的地,但是一些老客户可能会错误地停留在相同的URL上。

与302状态代码相反,307状态代码保证不会更改请求方法。例如,GET请求必须继续执行GET并从POST到POST。

使用302状态代码,一些旧的或有漏洞的客户端可能会更改方法,这可能会导致意外行为。

对于临时重定向,你可以使用302或307-但我更喜欢307。

对于例行重定向任务,应使用301(永久重定向)和307(临时重定向)状态码,具体取决于你在网站上实施的更改类型。在两种情况下,重定向的语法都不会改变。

你可以通过Apache上的服务器配置文件.htaccess,Nginx上的example.conf文件或通过插件(如果使用WordPress)来处理重定向。

 

重定向单个URL

删除页面或更改页面URL时使用的最常见且使用最广泛的重定向类型。例如,假设你将URL从/ old-page /更改为/ new-page /。重定向规则为:RewriteRule ^ old-page(/?| /.*)$ / new-page / [R = 301,L]

要么,重定向匹配301 ^ / old-page(/?| /.*)$ / new-page /

两种方法之间的唯一区别是,第一种使用Apache mod_rewrite模块,第二种使用mod_alias。可以使用两种方法来完成。

正则表达式“ ^”表示URL必须以“ / old-page”开头,而(/?|/.*)$表示必须重定向“ / old-page /”后跟斜杠“ /”或不完全匹配的任何内容。到/ new-page /。

我们也可以使用(。*),即^ / old-page(。*),但是问题是,如果你有另一个具有类似URL的页面,例如/ old-page-other /,则当我们只想重定向/ old-page /。

 

目录变更

如果你进行了类别重组,并且想要将旧目录下的所有内容都移动到新目录中,则可以使用以下规则。

RewriteRule ^旧目录$ /新目录/ [R = 301,NC,L]

RewriteRule ^旧目录/(.*)$ /新目录/ $ 1 [R = 301,NC,L]

 

规范化

拥有规范的URL是SEO最重要的部分,如果丢失,你可能会因为重复的内容问题而危及你的网站,因为搜索引擎会将带有“ www”和“非www”版本的URL视为具有相同内容的不同页面。因此,必须确保仅使用所选的一个版本来运行网站。

 

HTTP到HTTPS重定向

在Google鼓励网站所有者使用SSL的倡议之后,  迁移到HTTPS是几乎每个网站都拥有的常用重定向之一。

下面的重写规则可用于在每个网站上强制使用HTTPS。

RewriteCond%{HTTP_HOST} ^ yourwebsite \ .com [NC,OR]

RewriteCond%{HTTP_HOST} ^ www \ .yourwebsite \ .com [NC]

RewriteRule ^(。*)$ https://www.yourwebsite.com/$1 [L,R = 301,NC]

基本上,你可以使用此方法将www或非www版本重定向合并到一个HTTPS重定向规则中。

 

从旧域重定向到新域

当你决定进行品牌重塑并且需要更改域时,这也是最常用的重定向之一。以下规则将old-domain.com重定向到new-domain.com。

RewriteCond%{HTTP_HOST} ^ old-domain.com $ [OR]

RewriteCond%{HTTP_HOST} ^ www.old-domain.com $

RewriteRule(。*)$ http://www.new-domain.com/$1 [R = 301,L]

它使用两种情况:一种是URL的“ www”版本,另一种是“非www”,因为出于历史原因,任何页面都可能具有指向这两种版本的传入链接。

大多数网站所有者使用WordPress,并且可能无需使用.htaccess文件进行重定向,而可以使用插件。

使用插件处理重定向可能与我们上面讨论的稍有不同,并且你可能需要阅读它们的文档才能正确处理特定插件的RegExp。

 

重定向不良做法

(1)将所有404损坏的URL重定向到主页

当你懒于调查所有404 URL并将它们映射到适当的登录页面时,通常会发生这种情况。

根据Google的说法,它们仍然都被视为404。

如果你有太多这样的页面,则应考虑创建漂亮的404页面,并通过显示搜索选项来吸引用户进一步浏览或查找除他们正在寻找的内容之外的其他内容。

Google强烈建议重定向的页面内容应与旧页面相同。否则,这种重定向可能会被视为软404,你将失去该页面的排名。

 

(2)错误的移动页面特定重定向

如果你为台式机和移动网站使用不同的URL(即,台式机为“ yoursite.com”,移动电话为“ m.yoursite.com”),则应确保将用户重定向到移动版本的相应页面。

正确:将“ yoursite.com/sport/”更改为“ m.yoursite.com/sport/” 
错误:将“ yoursite.com/sport/”更改为“ m.yoursite.com”

另外,你还必须确保,如果桌面上的一个页面是404,则移动设备上的页面也应该是404。

如果页面没有移动版本,则可以避免重定向到移动版本并将其保留在桌面页面上。

 

(3)使用元刷新

可以使用meta refresh标签进行重定向,如下例所示:

<meta http-equiv =“刷新” content =“ 0; url = http://yoursite.com/new-page/” />

如果在/ old-page /中插入此标签,它将立即将用户重定向到/ new-page /。Google并未禁止此重定向,但他们显然不建议使用它。

根据约翰·穆勒(John Mueller)的说法,搜索引擎可能无法正确识别这种重定向类型。JavaScript重定向也是如此。

 

(4)重定向过多

当你使用错误的正则表达式设置时,将显示此消息,并最终导致无限循环。通常,当你具有重定向链时,会发生这种情况,假设你很久以前已将page1重定向到page2。现在你可能已经忘记了将page1重定向,并决定再次将page2重定向到page1。

结果,你将得到如下规则:

RewriteRule ^ page1 / page2 [R = 301,NC,L]

RewriteRule ^ page2 / page1 [R = 301,NC,L]

这将创建一个无限循环并产生上面显示的错误。

 

当你启动永久重定向时,无法通过移除重定向轻松地将其更改回(“永久”一词表示“硬永久”)。

这是因为Google一旦检测到这样的重定向,就会将PageRank传递到新页面,并更改SERP中的URL以使用新页面。

如果你要将一个拥有数万个页面的大型网站从一个旧域迁移到一个新网站,甚至从HTTP迁移到HTTPS,建议你先执行302临时重定向,并确保所有重定向规则均正常运行,然后查找Google分析数据以确保没有意外结果(即,导致大量404页的某些语法错误),然后将开关302重定向到301永久。

如果你对301永久重定向的目标输入有误,并希望切换到另一个URL,建议避免链接链接,并将所有链接更改为新URL。

 

评论展示

参与评论
  • click

660

shares

 

在线客服

服务热线:400-8817-968

QQ客服:425827996

周一至周五:8:30-18:00

扫码加微信咨询

业务微信

15815846676
长按号码加微信

在线留言

top