小李飞帖 2006-11-11 18:08
SEO:301转向专题讨论
如何使用301转向
当你的网站链接或者某个网页的链接发生了改变,如何让原来在搜索引擎中收录的链接(URL)能够继续地有效,将用户导向当前的URL地址?
最有效和安全的方法是利用301 redirect,301转向能够保持你的网页的PageRank不变,从而使你过去的工作得到保证。“301”代码解释为永久性的转移。下面是几种方法进行301转向:
[wiki]IIS[/wiki] Redirect
在IIS[wiki]服务器[/wiki]管理器中,选择要做转向的文件或目录,按右键选择“a redirection to a URL”的按钮,输入你要指向的页面地址,选择”The exact url entered above”和”A permanent redirection for this resource”,然后选择“应用”。
Redirect in ColdFusion
< .cfheader statuscode="301" statustext="Moved permanently">
< .cfheader name="Location" value=" [url=http://www.new-url.com/]http://www.new-url.com[/url] ">
Redirect in [wiki]PHP[/wiki]
< ?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: [url=http://www.new-url.com/]http://www.new-url.com[/url]” );
?>
Redirect in A[wiki]SP[/wiki]
< %@ Language=VBScript %>
< %
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” [url=http://www.new-url.com]http://www.new-url.com[/url]”
>
Redirect in [wiki]ASP[/wiki] .NET
用 .ht[wiki]access[/wiki] 文件转向
创建一个.htaccess文件,在.htaccess文件中加入:
Redirect permanent / [url=http://www.new-url.com]http://www.new-url.com[/url]
或 Redirect 301 / [url=http://www.new-url.com]http://www.new-url.com[/url]
[[i] 本帖最后由 小李飞帖 于 2006-11-11 18:11 编辑 [/i]]
小李飞帖 2006-11-11 18:21
301重定向的实现方法
页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。
301重定向可促进[wiki]搜索引擎优化[/wiki]效果
从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的[WIKI]域名[/wiki]发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。
302重定向可影响搜索引擎优化效果
迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。
综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。
对于正确实施301重定向,有这样几个方法可供大家参考:
1.在.htaccess文件中增加301重定向指令
采用“mod_rewrITe”技术,形如:
RewriteEngine on
RewriteRule ^(.*)$ [URL]http://www.williamlong.info/[/url]$1 [R=301,L]
2.适用于使用[wiki]Unix[/wiki]网络[wiki]服务器[/wiki]的用户
通过此指令通知搜索引擎的SPider你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / [url]http://www.williamlong.info/[/url]
3.在服务器软件的系统管理员配置区完成301重定向
适用于使用Window网络服务器的用户
4.绑定/本地[wiki]DNS[/wiki]
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将[wiki]blog[/wiki].williamlong.info指向[url]www.williamlong.info[/url],则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME [url]www.williamlong.info[/url]。
如需配置大量的虚拟域名,则可写成:* IN CNAME [url]www.williamlong.info.[/url]
这样就可将所有未设置的以williamlong.info结尾的记录全部重定向到[url]www.williamlong.info[/url]上。
5.用ASP/PHP实现301重定向:
ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.williamlong.info/ "
Response.End
PHP:
header("HTTP/1.1 301 Moved Permanently";
header("Location:[url]http://www.williamlong.info/[/url] ";
exit();
小李飞帖 2006-11-11 18:28
301永久重定向的实现
在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.[wiki]HTML[/wiki]或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎[wiki]数据库[/wiki]中旧地址只能让访问客户还会得到一个404页面错误信息,访问[wiki]流量[/wiki]白白丧失;再如某些注册了多个[wiki]域名[/wiki]的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat [wiki]SEO[/wiki]曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之内),会被判断为spam。
这里我们主要谈谈如何通过301 Redirect实现网页重定向
[wiki]IIS[/wiki]服务器实现301重定向
* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键,见下图
* 选中“重定向到URL”
* 在对话框中输入目标页面的地址
* 切记,记得选中“资源的永久重定向”
* 当然,最后要点击“应用”
Apache服务器实现301重定向
相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
Redirect permanent / [url]http://seo.highdiy.com/[/url] ;将目录下内容重定向到[url]http://seo.highdiy.com/[/url]
redirect permanent /old.html [url]http://seo.highdiy.com/new-url/[/url] ;将网页old.html内容重定向到[url]http://seo.highdiy.com/new-url/[/url]
通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。
其他方法还有:
PHP下的301重定向
<? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: [url]http://seo.highdiy.com[/url]" );?>
ASP下的301重定向
<%@ Language=VBScript %>
<% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” [url]http://seo.highdiy.com[/url]”>
ASP .NET下的301重定向
<script runat=”server”>
[wiki]PR[/wiki]ivate void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”[url]http://seo.highdiy.com[/url]”);
}
</script>
配置完成后,要认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker或本站提供的这个网页重定向检查工具。
小李飞帖 2006-11-11 18:40
怎样知道我的URL转发是不是301重定向?
在这个页面可以检查一下:
[url]http://www.seochat.com/?go=1&option=com_seotools&tool=19[/url]