这里说的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
搜索引擎往往会把www.thinksnet.com和thinksnet.com作为两个不同的网站。
由于这样,按通常的网站经验来说,把这两个网址的连接合并在一起被认为是一项还不错的S搜索引擎优化措施,它可能可以使你的网页排名得到更高的权重。我之前如果一直是使用Permalink Redirect这个插件来实现把www.thinksnet.com的链接全部转向thinksnet.com。
这是一个优秀的插件,它是容易使用的。但如果你的网站支持Apace的Mod-rewrite这一模块功能,那你可以用.htaccess这个文件来轻松实现301的重定向,我只需要在.htaccess文件里面写入下面的代码:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^thinksnet.com [nc]
rewriterule ^(.*)$ http://www.thinksnet.com/$1 [r=301,nc]
就可以实现把把有的链接转向到www.thinksnet.com,这样,举个例子来说,如果你的thinksnet.com有2000个链接,www.thinksnet.com有5000个链接,那转向后,你的www.thinksnet.com就有了7000个链接(这一说法是在你国内博客上看到的,但我是不太理解!)
- 注意: htaccess文件需要放置在需要跳转的网站的根目录下。
- 你的服务器必器支持Apace的Mod-rewrite。
电脑故障 | ps教程 | 设计 |
创业 | seo | discuz |
word | 配置 | c# |
数据库 | mysql | asp |
ShopEx | html | JavaScript |
模板 | Joomla | PhotoShop |
CSS | PHP | WordPress |
ECShop | jQuery | 用户体验 |
新闻 | 读书 |