当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > SEO搜索引擎优化给程序留下什么?

建站经验
放置php博客程序的国内主机推荐
知名网站域名被停 草根站长损失严重
CNNIC 规定所有CN域名须在公司名下
建站经验感悟 是不是该悄悄的走开了
支付宝购买godaddy域名图文说明
建站经验:国外主机的速度测试方法
经验谈:如何挑选合适的国外域名和空间
淘宝客运营:如何做好淘宝客网站
规划和畅想2010年 重新树立目标的个人网站站长
菜鸟教程:新手注册域名注意的知识
基于php博客程序的国内主机推荐
CNNIC公布:规定所有CN域名须在公司名下
建站经验感悟:是不是该悄悄的走开了
2009年互联网行业的10大雷人雷事
创意网站实例:鲜为人知的实用网站
帮助你找到和自己网站内容相似的站点
根据网站收入对比国内站长和国外站长
部分机房禁止接入个人站点和交互网站
个人观点:淘宝客是一种退步的错误商业模式
网页文章的内容如何吸引足够多的眼球

建站经验 中的 SEO搜索引擎优化给程序留下什么?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 80 ::
收藏到网摘: n/a

  SEO搜索引擎优化,我平时经常花去8个小时以上的时间在写代码,在最近的一个项目中,客户明确要求要对SEO初级作掉,对于有站内用户的的问题(.NET的MemberShip我本来就有些抵触,认为只是画蛇添足,对于我,还是会写几行代码的,那些本本功能我还是比较容易写出的).把用户的功能写完了以后,我把Begin_Request处理了一下,输出了一个模板头,定义了一写变量,主要是Meta属性.

  原计划在Global中配置,后来想到了Webs,恐怕不太好,就把这个功能都算在用户信任头除了.说其中的一个例子:
  某个文件:http://www.baidu.com/my/list_1.html这个文件其实是调用了list.aspx?id=1,然后输出标题,关键字等.如果用else,if判断,就太得不偿失了.我就自定义了一个配置模板,格式如下:
  
<?xml version="1.0" encoding="GB2312"?>
<Configs>
<Config style="default">
<BaseUrl>http://s:81/shoeer/</BaseUrl>
<PingRule>
    <Path>index.aspx</Path>
    <FormatType>None</FormatType>
    <Title>Blog--Manage</Title>
    <Description><![CDATA[描述部分]]></Description>
    <Keywords><![CDATA[关键词]]></Keywords>
</PingRule>
</Configs>


  其中的Config/@style主要是加载的模板,后台设置,用xpath定位,//BaseUrl就是传输的主URL,在//PingRule(就是每个文件的匹配项下面):

其中的Path就是当前的路径减去BaseUrl余下的.
FormatType是查询的方式,后台当作Enum格式处理:
  None 是静态类型
  DB   是数据库
  strings  字符串
Query是执行的语句.
Get 是需要Get的字段.
余下的就是需要替换的模板变量了


例如:
    <Path>resumes.aspx</Path>
    <FormatType>strings</FormatType>
    <Query>all=鞋业应聘;student=在校学生;designer=设计师</Query>
    <Get>type</Get>
<Title>{0}-个人简历</Title>


这个根据get的type变量,如果type是all,title就是鞋业应聘-个人简历.

    <Path>citys.aspx</Path>
    <FormatType>DB</FormatType>
    <Query>select top 1 [name] from [s_classplace] where [id]={0}</Query>
    <Get>id</Get>
    <Title>{0}-鞋业招聘信息</Title>

这个,根据id,输出数据库的信息,Query是一条sql语句,其中可以吧sql语句执行结果的每列用-风格,连起来.组成:
 高级人才-鞋业招聘信息

等等.


  以上技术,在PHP,ASP,ASP.NET,JSP等可以广泛使用.

  MS开源的那个Url重写的有bug:

  当系统变得不稳定的时候,cache容易丢失,而BaseModuleRewriter_AuthorizeRequest依赖的匹配正则来自cache,在BaseModuleRewriter_AuthorizeRequest的时候,没有结果null判断,所以会导致空引用.

  在15行可以加上try或者null判断,或者重建cache.

  .net的cache保存在进程里面很容易蒸发.注意些.

评论 (0) All

登陆 还没注册?