溪山居-月色随笔 锦瑟无端,相思为弦,清风相去甚远。人生若只如初见,可记得,青衣白衫。凭栏远望,流年轻叹,奈何情深缘浅。此情缱绻月半弯,再回眸,梦中红颜。

IWMS的URL结构优化

来源:谷百优 作者:曾志伟 日期:2010-05-29
摘要:

谷百优www.gubaiyou-seo.com使用网奇IWMS V5.0,共支持三种运行模式。

分别是:动态运行、伪静态及静态。与其他CMS相比,IWMS的SEO还是比较不错的。

志伟在谷百优网上使用了“伪静态”模式,共做了以下几点URL结构优化。

1、优化栏目页URL,将原来的: cN.aspx 更改为 gubaiyouN.aspx。 

如:c5.aspx ->gubaiyou5.aspx

2、优化内容页URL,将原来的:nNNNNcN.aspx更改为gubaiyouseoNNNNcN.aspx

如:n1234c5.aspx -> gubaiyouseo1234c5.aspx

3、优化整站链接结构,所有的主页地址均指向:http://www.gubaiyou-seo.com ,IWMS默认主页为/index.aspx,解决可能会分散主页权重的问题。

下面将详细介绍如何通过修改程序实再IWMS的SEO优化:

第一步:

修改IWMS的URL Rewrite配置文件:

/rewriter.xml

将原有的代码改为:

<?xml version="1.0" encoding="utf-8"?>
<RewriterConfig xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Rules>
    <RewriterRule>
      <LookFor>~/gubaiyouseo(\d{1,8})c(\d{1,8})(p(\d{1,8}))?\.aspx</LookFor>
      <SendTo>~/show.aspx?id=$1&amp;cid=$2&amp;page=$4</SendTo>
    </RewriterRule>
    <RewriterRule>
      <LookFor>~/n(\d{1,8})c(\d{1,8})(p(\d{1,8}))?\.aspx</LookFor>
      <SendTo>~/show.aspx?id=$1&amp;cid=$2&amp;page=$4</SendTo>
    </RewriterRule>
    <RewriterRule>
      <LookFor>~/gubaiyou(\d{1,8})(p(\d{1,6}))?\.aspx</LookFor>
      <SendTo>~/list.aspx?cid=$1&amp;page=$3</SendTo>
    </RewriterRule>
    <RewriterRule>
      <LookFor>~/ps(\d{1,8})?(p(\d{1,8}))?\.aspx</LookFor>
      <SendTo>~/posts.aspx?sid=$1&amp;page=$3</SendTo>
    </RewriterRule>
    <RewriterRule>
      <LookFor>~/td(\d{1,8})(p(\d{1,8}))?\.aspx</LookFor>
      <SendTo>~/thread.aspx?id=$1&amp;page=$3</SendTo>
    </RewriterRule>
    <RewriterRule>
      <LookFor>~/(([\w-_]+/){0,4})(.+)_gzip\.aspx</LookFor>
      <SendTo>~/gzip.aspx?f=$1$3</SendTo>
    </RewriterRule>
  </Rules>
</RewriterConfig>

第二步,修改导航条:

/inc/navClass.aspx

<%=SortBar().ToString().Replace("href=\"c","href=\"gubaiyou")%>

第三步,修改主页模板:

/template/index1.aspx

头条新闻:

<%=Headline(10,50,false,false,false,1,true).ToString().Replace("href=\"n","href=\"gubaiyouseo")%>

图片新闻:

<%=ImgTopList(0,6,6,"normal",20,false,false,false).ToString().Replace("href=\"n","href=\"gubaiyouseo")%>

所有分类内容框:

<%#(bool)DataBinder.Eval(Container.DataItem,"isPost") ? TopPosts((int)DataBinder.Eval(Container.DataItem,"classid"),"new",true,config.BindNum,0,33,true,true,true).ToString().Replace("href=\"n","href=\"gubaiyouseo") : TopList((int)DataBinder.Eval(Container.DataItem,"classid"),"sort","new",config.BindNum,33,false,false,true,config.ShowNew,false).ToString().Replace("href=\"n","href=\"gubaiyouseo")%>

热点新闻:

<%=TopList("weekhot",10,28,false,false,false,false,false).ToString().Replace("href=\"n","href=\"gubaiyouseo")%>

Digg排行:

<%=TopList("digg",10,26,false,false,false,false,false).ToString().Replace("href=\"n","href=\"gubaiyouseo")%>

第四步,修改内容模板

/template/show1.aspx

参照:附件中的show1.aspx

第五步,修改列表模板

/template/list1.aspx

参照:附件中的list1.aspx

第六步,修改sitemap.aspx

/sitemap.aspx

 <%myLiteral.Text = myLiteral.Text.Replace("=\"c","=\"gubaiyou");%>
 <asp:Literal id="myLiteral" runat="server"/>

总结:由于IWMS系统不开源,修改起来困难重重,总的来说效果还不错。

如果是直接输出的,就用.ToString().Replace("要查找的","要替换的")

如果是<asp:Literal 标签,则用: nameLiteral.Text = nameLiteral.Text.Replace("要查找的","要替换的") 语句修改。

另外,要提一下,某些调用函数不可以直接用.ToString()函数输出成为字符串,则你需要使用正式表达式语句去匹配,如:Regex.Replace(某些函数,"要查询的","要替换的")

至此,志伟是这样优化www.gubaiyou-seo.com 的,很有趣吧。这可以首发呵,木鸟别骂我啊。谁叫你不开源呢?是吧!

 

 

附件:(注意,右键另存为,直接打开是乱码)


temp_10052923216421.rar

0 | | admin |
相关新闻