|
|
这里说的404错误不是网站内部产生的404,而是由于外链中存在指向本站的错误URL从而到了蜘蛛爬取错误,生成了404相应代码。我们要采取的就是将这些404页面301转向正常可访问的页面,使权重可以得到正常的传递。- Q5 Z% j* R" f6 J& O
4 ` A5 R' E! z" a在我们创作高质量内容时,总会遇到采集或者转载却不留版权信息的情况。更可恶的是,有些采集或转载的网站,为了防止自身网站的权重外流,在正常URL中随机假如了一些字母和数字,导致蜘蛛在网站中顺着链接进行爬取时,生成了404相应。) q$ J" c; G% T5 z, k/ a
2 R y$ [4 G* H2 e8 F这个404错误,就是由“链接到您网站网页的域”中URL的错误导致的。再查看了Webmaster Tool中一系列404提示后,我们可以确定这个URL不是由于书写错误导致,而是由对方站点故意生成干扰字母或数字造成的。# R' p* s: Y; J1 I! x3 O7 Y
- L- m& V3 M9 f- G9 M
遇到这样的状况,我们可以采取的措施有:1 y# j2 ^6 ?5 ^( r- ^
2 H$ z) S$ e( P) w# ?/ R1,像百度和谷歌举报(效果不好,同时有损RP)
3 g: m8 W+ A( E+ p. X3 _2,装作没看见,什么事情都没有发生(心情会受影响)
3 K* f, y \( r9 A+ y( U3,合理运用技术,拿回属于自己的东西(也是本文撰写的内容)
* ^/ g. i" v! T* i. L- h( O
" z$ l5 `( L" f这里我们需要用到的就是301重定向了。做SEO的人都知道,301是永久重定向的意思,同时可以将旧URL中的权重传递给新的URL。
$ \" K/ j7 `# a. j- r
* e6 T' n$ C" L" B这里,我们可以将出现404错误的页面看作旧URL,而将网站上存在的页面看作新URL。拿上图中的URL为例,就是:2 w. Q% P$ G1 b
( _# a2 @+ i' F将恶意指向不存在页面的URL(产生了404错误):% x/ t) [0 B6 P6 j0 F- S
( O" j" A1 [. L; s" Z/ xhttp://www.seoyangs .com/rich-snippets.htmlGFQ" D$ B H9 c$ I! \1 }3 }
9 V$ z( S5 k4 W6 F3 M通过301的方式,指向网站上原本存在的URL:
9 h& d8 ~! ~3 Z8 I R8 W
' w! v8 ]' a( \5 _: w1 `http://www.seoyangs .com/rich-snippets.html
+ V a' l1 R5 p2 ]; X9 Y& z
& f- m' V# ~) a2 I+ H! b" w- i这样,蜘蛛在访问对方网站错误的URL(上例中后缀GFQ的URL)后,会被重定向到正确的URL页面。从而达到帮助我们回复权重传递的作用。6 B. G( e; s) {$ K( \
: Z. H* U" Q% r$ [这里我们以采用Apache服务器的网站为例,通过mod_rewrite来做URL的重写与转向。, S9 |: ~' Z2 b7 x& q8 I9 M+ G
$ K8 P$ V# w" [) l1 n1,首先我们查看网站根目录下是否存在.htaccess文件,如果做过伪静态,那么这个文件已经存在(也不排除通过httpd.conf实现伪静态,那么则需要新建一个.htaccess)。在文件中写入以下代码:# R% X* X. X' P* ] ~
- T& U8 b1 K( {) a: e! h
RewriteEngine on' }. s/ x- r9 H4 @6 i- _: V! {
RewriteBase /
9 z" V; ~2 ~6 j6 _
5 a( H: ]1 @% J/ q" [0 M如果你的博客或网站采用的是一级目录的形式,则需要注意RewriteBase的路径。大家可以在网上查找相关教程。这里不再多述。! i& x4 H8 r6 _# g- C) A
$ r u# C) y0 t( r( R2,如果网站中的来自外部的404错误不多,只有个别几个,那么可以通过使用以下字符来实现(以上文中的错误为例):" r0 J- U( P8 I: ?8 I
RewriteRule ^rich-snippets.htmlGFQ$ rich-snippets.html [R=301,L]2 ~2 v* T1 j! c, p9 W
V' W5 x8 g: h$ w
3,但往往这些404错误都是大批量出现的,且还会新增。那么我们就要观察404错误的规律,然后通过通配的方式来实现重定向。; n) U: ]6 v' r" ~5 }& Q
: Z5 w \5 ?# c- Q3 f
还是以本文URL为例,我们看到图中错误产生404页面的URL一般都为加入了3位数字和字母的后缀:5 ~/ i; N4 S' t0 Q" T
+ J* @& W: K0 { [3 V& q
防范于未然,我们将所有.html后的所有有可能出现的字符的URL,都跳转到.html以前的URL,使用的代码是:6 t+ g+ h9 U$ y# @9 y9 s
# |1 R0 |* r" y" ~2 R
RewriteRule ^([\w-]+)\.html.+$ $1.html [R=301,L]& C, V- G0 S" c" Y* |) @7 v
6 n* ] J) W6 J2 f需要注意的是,我个人博客文章页面的URL是以 http://www.best-ideas.cn/404-to-links.htm 形式出现的。原因可以参考我之前的一篇文章《WordPresss SEO-新博客网站的优化》。但其他很多博主或者网站,在文章页上面还有一个或多个目录层级。那么就可以用
1 Z% U* c9 L& U- t& }
0 T+ a( D, h3 I/ A1 N2 jRewriteRule ^你的目录名称/([\w-]+)\.html.+$ $1.html [R=301,L]' p7 D' ^. W: w6 N
! b. a1 G. w5 F0 r. I
这样的方式进行重定向。
, M) ~: [0 ]5 b3 k' i2 Q! }& P9 d- P2 \. I3 s% Z
现在我们尝试访问之前报404错误的URL链接:http://www.yinshua188.com/rich-snippets.htmlGFQ. m' Y. w) ?) s9 ?! D. @1 p
' T' X( x4 Q( P' M" C+ `# \" D/ S
即可正常访问正确的URL,同时应该属于我们的权重也通过链接的传递到达了我们的页面。
6 A9 c/ f' A; t& }. o: _8 ]! U- X, A
本文主要介绍的是一种SEO的思路,实施办法还需要根据网站的特殊情况具体对待。 |
|