Google谷歌官方是如何进行URL标准化:
首先我们要确定URL标准化设计的方面,主要是带www与不带www的地址,以及伪静态造成的重复收录等问题,我们可以采用不同的方式来解决这个问题。常见的设置url是将不带www的网址转跳到带www,一定做的是301(记住只能做301 !302不可做)。在我们做外链的时候一定要将网址写成301跳转之后的网址。例如:www.ld-y.com 转跳到 ld-y.com 以后在做外链或者锚文本时候,就不要带www了,还有一些程序生成首页会出现后边带index.html或index.php,我们可以利用技术手段将其去掉。
1、301重定向
301重定向的意思是告诉搜索引擎我们的网址已经永久性的变更了,当我们的网站在进行改版或者更换域名的时候,我们则可以使用这样的一个301重定向的方式来告诉搜索引擎我们的网址已经永久性的变更了,这样做可以把以前域名的权重全部集中到新的URL上,当然在这个传递权重的过程中可能会需要一定的时间,这个时候我们则需要慢慢的等待即可。经常会碰到这样的情况,其他网站链接你的站点时,会用下面的链接:
www.ld-y.com
ld-y.com/
www.ld-y.com/index.html
ld-y.com/index.php
而这样导致:你站点主域名的pr值分散到其他几个URLs了。
如果你用301重定向把其他三个URL转到
www.ld-y.com
PR也就集中在主域名:www.ld-y.com 了。
如果,我们决定采用带www的地址为唯一的地址,那么,我们可以使用301永久重定向代码,301重定向具体办法:
设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。)
使访问 ld-y.com/ 的时候就会自动转到 www.ld-y.com
在.htaccess文件里写上以下代码即可。
RewriteEngine on
RewriteCond %{http_host} ^ld-y.com [NC]
RewriteRule ^(.*)$ http://www.ld-y.com/ $1 [L,R=301]
将所有不带www的地址进行重定向!
2、采用Canonical标签
Canonical标签经常会被用在伪静态地址上。您可以查看本站所有页面的源代码,在Head部分都有一个“link rel=’canonical’”的标签,来标明这个页面的标准化地址,以便让Google进行确认,防止重复页面的收录。百度目前不支持该标签!
3、采用Robot.txt文件
由于百度不支持Canonical标签,我们可以结合使用robot文件来禁止搜索引擎收录部分格式的页面,以防止伪静态情况下的重复收录!比如我们用wordpress搭建博客时,采用了伪静态技术,另外也不希望一些管理文件被收录,则常见的wordpress博客Robots.txt文件写法为:
User-agent: * –所有搜索引擎蜘蛛
Disallow: /wp-*/ –不收录以WP-开头的文件夹
Disallow: */feed –不收录feed(包括单页,整站,评论的feed)
Disallow: */trackback –不收录引用
Disallow: /*?* –不收录动态页
4、如何将无效的URL重定向到其他页面?
很多时候,我们考虑把无效的URL比如:用户拼错的URL、不存在的URL重定向到别的网页,例如网站的首页、404页面等。
在httpd.conf或.htaccess文件中使用ErrorDocument来捕获404 (找不到文件)错误:
ErrorDocument 404 /index.html
DirectoryIndex index.html /path/to/notfound.html
本功能会让所有的404错误——每次当某人请求无效的URL 时,都返回URL / index.html 提供的网站首页。
这里需要注意两点:
4.1、直接指向首页是否是合适的?或者让它指向到一个404页面会更好些?如果在404页面用javasctrip做一个跳转到首页,也是SEO允许的做法。
4.2、即使返回有效的文件,仍然会将404 状态码返回给客户端和搜索引擎。这表示搜索引擎机器人来确认网站上的链接时,仍然会得到正确的结果(404状态码)。
5、改版时,如何保留原链接,创建新的URL?
具体操作办法(仅适用于apache网络服务器):
文件位置:apache->conf->httpd.conf
请在httpd.conf中使用Alias指令:
Alias /newurl/www/htdocs/oldurl
如:用户访问新的地址 example.com/newurl/id34.html 服务器将提供的内容原地址是 example.com/www/htdocs/oldurl/id34.html。
注意:Alias只会改变本地URL,如 ld-y.com/newurl/id34.html 的 /newurl/id34.html 部分,而无法改变URL的主机名称部分(如:
http://www.fjseoer.com/ 部分)。若要更改URL的主机名称部分,请使用Redirect或RewriteRule指令。
亮点云指南:本功能的Alias指令在 httpd.conf中是这一句: #Alias/webpath/full/filesystem/path 去掉前面的#,并做下相应的修改即可。
SEO过程中一般在这些情况下需要用到该功能:
5.1、当文件移动或文件目录名称发现改变,出于SEO需要,你需要保持旧的URL;
5.2、网站改版了,网站导航和链接发生变化,为了继续持有原链接带来的流量,你需要保持旧的URL;
5.3、你希望不同的人用不同URL来链接同一个的内容。(SEO一般不建议这样做)
6、如何替换请求URL中的文字
以下解决方案,仅适用于Apache服务器。
在.htaccess文件中添加以下语句:
RewriteCond %{REQUEST_URL} “string1”
RewriteRule “(.*)”string1(.*)” “$1string2$2” [N,PT]
例如当客户端发出请求URL:example.com/string1/abcstring1.html,则转换为目标URL:example.com/string2/abcstring2.html。其中[N]标记告诉Apache重新执行重写规则,直到RewriteCond失效为止。只要请求URL中包含需要替换的字符串,它就会一直重复地执行。当所有的string1都被替换完毕,则RewriteCond失效。本例子中,RewriteCond执行了2次。[PT]告诉mod_rewrite把重写的URL传送到Apache来进行接下来的处理工作。