这里说的404错误不是网站内部产生的404,而是由于外链中存在指向本站的错误URL从而到了蜘蛛爬取错误,生成了404相应代码。我们要采取的就是将这些404页面301转向正常可访问的页面,使权重可以得到正常的传递。
在我们创作高质量内容时,总会遇到采集或者转载却不留版权信息的情况。更可恶的是,有些采集或转载的网站,为了防止自身网站的权重外流,在正常URL中随机假如了一些字母和数字,导致蜘蛛在网站中顺着链接进行爬取时,生成了404相应。通过下图我们可以看到:
这个404错误,就是由“链接到您网站网页的域”中URL的错误导致的。再查看了Webmaster Tool中一系列404提示后,我们可以确定这个URL不是由于书写错误导致,而是由对方站点故意生成干扰字母或数字造成的。
遇到这样的状况,我们可以采取的措施有:
1,像百度和谷歌举报(效果不好,同时有损RP)
2,装作没看见,什么事情都没有发生(心情会受影响)
3,合理运用技术,拿回属于自己的东西(也是本文撰写的内容)
301重定向404为外链的原理解释
这里我们需要用到的就是301重定向了。做SEO的人都知道,301是永久重定向的意思,同时可以将旧URL中的权重传递给新的URL。
这里,我们可以将出现404错误的页面看作旧URL,而将网站上存在的页面看作新URL。拿上图中的URL为例,就是:
将恶意指向不存在页面的URL(产生了404错误):
http://www.***.com/rich-snippets.htmlGFQ
通过301的方式,指向网站上原本存在的URL:
http://www.***.com/rich-snippets.html
这样,蜘蛛在访问对方网站错误的URL(上例中后缀GFQ的URL)后,会被重定向到正确的URL页面。从而达到帮助我们回复权重传递的作用。
301重定向404为外链的具体操作
这里我们以采用Apache服务器的网站为例,通过mod_rewrite来做URL的重写与转向。
1,首先我们查看网站根目录下是否存在.htaccess文件,如果做过伪静态,那么这个文件已经存在(也不排除通过httpd.conf实现伪静态,那么则需要新建一个.htaccess)。在文件中写入以下代码:
RewriteEngine on
RewriteBase /
如果你的博客或网站采用的是一级目录的形式,则需要注意RewriteBase的路径。大家可以在网上查找相关教程。这里不再多述。
2,如果网站中的来自外部的404错误不多,只有个别几个,那么可以通过使用以下字符来实现(以上文中的错误为例):
RewriteRule ^rich-snippets.htmlGFQ$ rich-snippets.html [R=301,L]
3,但往往这些404错误都是大批量出现的,且还会新增。那么我们就要观察404错误的规律,然后通过通配的方式来实现重定向。
还是以本文URL为例,我们看到图中错误产生404页面的URL一般都为加入了3位数字和字母的后缀:
防范于未然,我们将所有.html后的所有有可能出现的字符的URL,都跳转到.html以前的URL,使用的代码是:
RewriteRule ^([\w-]+)\.html.+$ $1.html [R=301,L]
需要注意的是,我个人博客文章页面的URL是以 http://www.seoyangs.com/404-to-links.htm 形式出现的。原因可以参考我之前的一篇文章《WordPresss SEO-新博客网站的优化》。但其他很多博主或者网站,在文章页上面还有一个或多个目录层级。那么就可以用
RewriteRule ^你的目录名称/([\w-]+)\.html.+$ $1.html [R=301,L]
这样的方式进行重定向。
现在我们尝试访问之前报404错误的URL链接:http://www.***.com/rich-snippets.htmlGFQ
即可正常访问正确的URL,同时应该属于我们的权重也通过链接的传递到达了我们的页面。
本文主要介绍的是一种SEO的思路,实施办法还需要根据网站的特殊情况具体对待。
本文由杨帆原创于杨氏SEO,转载请保留链接:http://www.seoyangs.com/404-to-links.html