快速业务通道

ASP.NET做SEO:制作架构清晰和更新及时的网站地图

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-14

网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页。

这里我们首先要明白一个基本的原理,搜索引擎的爬行方式。整个互联网就像一张纵横交错的“网”:网的各个节点就是各个网页,而各个网页之间通过url相互连接。蜘蛛可以从一个网页出发,通过该网页上的url,爬到另一个网页;再通过另一个网页上的url,再爬到更多的网页……,以此类推。但如果是一个新发布的网站,可能就没有其他url指向它,那么它就永远不会被“爬到”(收录)。为了解决这个问题,新站可以自己主动向搜索引擎提交url,申请蜘蛛前来抓取(Google申请网址:),但申请时一般只会提交一个主页的url。

为了让所有的url(尤其是动态生成的)都能被蜘蛛快捷便利的检索到,我们就需要提供一个全面完整、架构清晰和更新及时的网站地图。

和处理重复内容的robots.txt文件,我们通过.ashx文件来生成一个基于sitemaps.org的xml格式的网站地图。网站地图生成之后,我们就可以向Google等搜索引擎提交。大量的文章证实,提交网站地图将极大的提高网站的收录速度和深度。其他几乎所有的SEO方法,都有可能效果难以证实、失效甚至带来副作用,但提交网站地图除外!

Linq to XML为我们带来了近乎完美的操作体验。

<%@ WebHandler Language="C#" Class="website" %>

using System;
using System.Web;
using System.Xml;
using System.Xml.Linq;
using System.Linq;

public class website : IHttpHandler {
    
    
public void ProcessRequest (HttpContext context) {

        context.Response.ContentType = "text/xml";

        
//文件的声明信息,第第三个参数standalone的值yes 表示这个 XML 文档是自包含的(self-contained)而不依赖于外部所定义的一个 DTD. 
        XDeclaration declaration = new XDeclaration("1.0""UTF-8""yes");
        context.Response.Write(declaration);
        
        
//XML文件的命名空间
        XNamespace ns = "http://www.google.com/schemas/sitemap/0.84";
        XElement siteMap = new XElement(ns + "urlset");

        
string fixedUrl = "http://www.freeflying.com/article";
        
string wholeUrl = string.Empty;
        
        
//循环取出数据,转换成XML节点
        foreach (var item in Articles.GetArticles())
        {
            XElement url = new XElement("url");

            wholeUrl = string.Format("{0}?id={1}&catelog={2}",fixedUrl,item.ID,item.Catelog); 
            XElement loc = new XElement("loc", wholeUrl);
            XElement lastmod = new XElement("lastmod", item.LastMod.AddDays(-23).ToShortDateString());
            XElement changefreq = new XElement("changefreq", item.Frequency);
            XElement priority = new XElement("priority", item.Weight);

            url.Add(loc, lastmod, changefreq, priority);

            siteMap.Add(url);
        }

        
        
        
//最后输出整个xml文件
        context.Response.Write(siteMap);
    }
 
    
public bool IsReusable {
        
get {
            
return false;
        }
    }

}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号