首页 > 往事回忆 > Blog或BBS转换程序后,外部链接怎么办

Blog或BBS转换程序后,外部链接怎么办

2007年12月7日 发表评论 阅读评论 查看 5,295 次

相信大家都会遇到网站程序转换的时候。
有时用着一种不爽,很像换换第二种来用。或者原来的不更新了,又有N多bug存在,只能换了。
转换过程通常不会复杂,大多数都会提供现成的转换程序供选择。但是外部外部链接的处理却是很麻烦的事情,弄得不好会造成流量下降和甚至搜索引擎排名下降等等。

这里解释一下各种链接类型:

外部链接:External Links。本网站外部的链接,一般是指其他网站连到本网站的链接。
内部链接:Internal Links。本网站内部网页之间的链接。
反向/导入链接:Backward Links或Incoming/Inbound Links。意义与“外部链接”接近,指其他网站连到本网站的链接。
导出链接:Outgoing/Outbound Links。指从本网站连到其他网站的链接。

通俗地说,外部链接就是别人网站上指向你网站的链接。

当你的网站转换成别的程序的时候,原来的外部链接大多会失效。比如我当时用lblog的时候,链接是http://www.black-xstar.com/blog/blogview.asp?logID=1,而现在的链接是http://www.black-xstar.com/blog/?p=1。又比如从dvbbs转换到discuz,不说别的,asp和php扩展名就不一样了。

记得当时我在总结blog升级的时候,曾经想了一个办法,就是加blogview.asp这个文件,里面的内容只有一行:
<% Response.Redirect("article.asp?id=" & Request.QueryString("logID")) %>
当别人访问原来地址的时候,自动转向到新的地址,这样就基本的解决了外部链接的问题。
后来我才知道,这样的做虽然达到了目的,但这却不是最理想的办法。

当页面转移的时候,一般要使用301永久重定向。在w3.org中是这样解释的:

301 Moved Permanently
The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs. Clients with link editing capabilities ought to automatically re-link references to the Request-URI to one or more of the new references returned by the server, where possible. This response is cacheable unless indicated otherwise.

The new permanent URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).

If the 301 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.

使用301永久重定向好处是对搜索引擎友好,会告诉搜索引擎删除原来的地址,收录新的地址。
这里有两篇文章详细介绍了301永久重定向:
http://www.williamlong.info/archives/484.html
http://seo.highdiy.com/index.php/seo/how-to-301-redirect/

所以现在我将blogview.asp文件换成了这样的:
<%
id = request("logID")
Response.Status="301 Moved Permanently"
If id <> "" Then
    Response.AddHeader "Location", "article.asp?id="&id
Else
    Response.AddHeader "Location", "default.asp"
End If
Response.End
%>

这里还有一个用于dvbbs转discuz后,对原来所有的地址进行301永久重定向。
点击下载此文件
解压到bbs相应的目录即可。

分类: 往事回忆 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.