SEO优化基础:URL重写优化,标准化

2016/11/11 15:35:53来源:互联网热度:4800

1、URL标准化是什么意思?  

URL标准化,英文:urlcanonicalization来自mattcutts的博客文章:SEOadvice:urlcanonicalization中文翻译:SEO的建议:URL标准化“URL标准化”是一个动名词,不好直接解释,我把它反过来一下:  

什么是一个标准化的URL?  

很多情况下,我们认为以下这几个链接都指向同一个页面(首页):  

www.example.com  

example.com/ 

www.example.com/index.html  

example.com/index.php  

但是从URL发送请求并返回网页内容的过程来看,这些URL都是互不相同的。对于上述URLs,Web服务器完全可以返回完全不同的内容。当这些URL所对应的内容都一样时(一般情况下都一样的),谷歌需要从上述URLs中选一个具有代表性的,而忽略其余的。那么这个被谷歌选择了的URL,就是一个标准化的URL。谷歌选择的这个过程称为“标准化”。  

谷歌是怎么URL标准化的?  

一般情况下,谷歌根据被外链的数量来判断。采用多的,则是标准化URL。  

我想告诉谷歌我想要的标准化URL,怎么办?  

采用301重定向进行URL标准化。  

简明:  

网站中同一网页,只对应一个url,规范、简单的url,利于搜索抓取用户记忆拒绝多种路径,指向同一个面页,防止网页获取的权重分散。

多路径的危害?  

搜索引擎会选其一个路径标准这个路径也许并不你要被抓搜索收录的路径  不同的URL指个同一个内容页面。结果分散页面的权重。  

例如:  

1.做过伪静态的路径,动态路径没有用ROBOTS.TXT屏蔽造成路径的重复  

2.这四个路径都可以访问网站的首页

wood365.cn,www.wood365.cn  

wood365.cn/index.htmlwww.fwood365.cn/220.html  

这里我们要做路径标准化,选择唯一的链接入口  

wood365.cn301到www.wood365.cn  

/index.html/thread.html程序禁调并不给链接入口  

所有链接采用标准的:www.wood365.cn  

2、如何把动态链接静态化?  

这是SEO过程中最经常碰到的问题,也是必须解决的问题。因为搜索引擎喜欢静态页面。从Web服务器的角度,这个问题转变为:如何将静态化的文件名称转化成参数。  

需要两步来处理:  

1、把网页上带链接的地方,都换上新的静态化链接。搜索引擎和浏览器将通过该链接来发生请求。(有些人做修改不是在网页上,而是进行动态链接向静态链接的转向,这是严重错误的)  

2、在httpd.conf或.htaccess中使用RewriteRule:  

RewriteRule“^/dir/([^./]*)\.html”“/dir/script.cgi?doc=$1”[PT]  

[PT]标记告诉Apache执行后续的所有操作。  

通过这个功能,使动态页面以静态链接的形式展示给搜索引擎,从而达到URL优化的目的。  

3、如何将无效的URL重定向到其他页面?  

很多时候,我们考虑把无效的URL比如:用户拼错的URL、不存在的URL重定向到别的网页,例如网站的首页、404页面等。 

在httpd.conf或.htaccess文件中使用ErrorDocument来捕获404(找不到文件)错误:  

ErrorDocument404/index.html  

DirectoryIndexindex.html/path/to/notfound.html  

本功能会让所有的404错误——每次当某人请求无效的URL时,都返回URL/index.html提供的网站首页。  

这里需要注意两点:  

1、直接指向首页是否是合适的?或者让它指向到一个404页面会更好些?如果在404页面用javasctrip做一个跳转到首页,也是SEO允许的做法。  

2、即使返回有效的文件,仍然会将404状态码返回给客户端和搜索引擎。这表示搜索引擎机器人来确认网站上的链接时,仍然会得到正确的结果(404状态码)。  

4、改版时,如何保留原链接,创建新的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,如wood365.cn/newurl/id34.html的/newurl/id34.html部分,而无法改变URL的主机名称部分(如:http://www.wood365.cn/部分)。若要更改URL的主机名称部分,请使用Redirect或RewriteRule指令。  

菜鸟指南:本功能的Alias指令在httpd.conf中是这一句:#Alias/webpath/full/filesystem/path去掉前面的#,并做下相应的修改即可。  

SEO过程中一般在这些情况下需要用到该功能:  

1、当文件移动或文件目录名称发现改变,出于SEO需要,你需要保持旧的URL;  

2、网站改版了,网站导航和链接发生变化,为了继续持有原链接带来的流量,你需要保持旧的URL;  

3、你希望不同的人用不同URL来链接同一个的内容。(SEO一般不建议这样做)  

5、如何替换请求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来进行接下来的处理工作。

我们都知道,关键字是否在URL中对于网站SEO至关重要。对于建站初期不注重SEO的站点,特别是大型站点,本功能真是雪中送炭。  

注意:使用本功能时,有时会把非目标字符也做了修改,假如例子中的“abcstring1”不是目标字符,但这个功能也会替换了它。

免责声明:凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿和图片涉及版权问题,请作者联系我们删除,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性。

广告招租
相关推荐
热门文章
  • 借鉴聪明人的知识,可以获得双倍智慧

    借鉴聪明人的知识,可以获得双倍智慧
  • 只有低头才能有勇气抬头

    只有低头才能有勇气抬头
  • 管理遇到人情,该如何处理?
  • 如何把控“骑驴找马”的心态
  • 数据运营的有什么乐趣?
  • 流程管理的概念就是为客户创造价值
  • 2017企业品牌营销,掌握这四大趋势就够了
  • 珍藏4个成功励志故事
  • 老板电器打破常规营销
  • 特斯拉的直销模式