|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可以先看看这篇文章(软微学院生涯-三朝元老经验谈),打不开再跟我说。(我的意思是想让她自己先稍微了解一下到底现在各个方向学的工具以及以后要做的工具大概是什么,因为喜欢做什么样的事其实自己最清楚的)</p>网站舆图的感化是让搜刮引擎尽快的,更多的收录网站的各个网页。
这里我们起首要分明一个基础的道理,搜刮引擎的匍匐体例。全部互联网就像一张犬牙交错的“网”:网的各个节点就是各个网页,而各个网页之间经由过程url互相毗连。蜘蛛能够从一个网页动身,经由过程该网页上的url,爬到另外一个网页;再经由过程另外一个网页上的url,再爬到更多的网页……,以此类推。但假如是一个新公布的网站,大概就没有其他url指向它,那末它就永久不会被“爬到”(收录)。为懂得决这个成绩,新站能够本人自动向搜刮引擎提交url,请求蜘蛛前来抓取(Google请求网址:),但请求时一样平常只会提交一个主页的url。
为了让一切的url(特别是静态天生的)都能被蜘蛛快速便当的检索到,我们就必要供应一个周全完全、架构明晰和更新实时的网站舆图。
和处置反复内容的robots.txt文件,我们经由过程.ashx文件来天生一个基于sitemaps.org的xml格局的网站舆图。网站舆图天生以后,我们就能够向Google等搜刮引擎提交。大批的文章证明,提交网站舆图将极年夜的进步网站的收录速率和深度。其他几近一切的SEO办法,都有大概效果难以证明、生效乃至带来反作用,但提交网站舆图除外!
LinqtoXML为我们带来了近乎完善的操纵体验。
<%@WebHandlerLanguage="C#"Class="website"%>
usingSystem;
usingSystem.Web;
usingSystem.Xml;
usingSystem.Xml.Linq;
usingSystem.Linq;
publicclasswebsite:IHttpHandler{
publicvoidProcessRequest(HttpContextcontext){
context.Response.ContentType="text/xml";
//文件的声明信息,第第三个参数standalone的值yes暗示这个XML文档是自包括的(self-contained)而不依附于内部所界说的一个DTD.
XDeclarationdeclaration=newXDeclaration("1.0","UTF-8","yes");
context.Response.Write(declaration);
//XML文件的定名空间
XNamespacens="http://www.google.com/schemas/sitemap/0.84";
XElementsiteMap=newXElement(ns+"urlset");
stringfixedUrl="http://www.freeflying.com/article";
stringwholeUrl=string.Empty;
//轮回掏出数据,转换成XML节点
foreach(variteminArticles.GetArticles())
{
XElementurl=newXElement("url");
wholeUrl=string.Format("{0}?id={1}&catelog={2}",fixedUrl,item.ID,item.Catelog);
XElementloc=newXElement("loc",wholeUrl);
XElementlastmod=newXElement("lastmod",item.LastMod.AddDays(-23).ToShortDateString());
XElementchangefreq=newXElement("changefreq",item.Frequency);
XElementpriority=newXElement("priority",item.Weight);
url.Add(loc,lastmod,changefreq,priority);
siteMap.Add(url);
}
//最初输入全部xml文件
context.Response.Write(siteMap);
}
publicboolIsReusable{
get{
returnfalse;
}
}
}
一样还将利用到xml手艺的另有RSS
<%@WebHandlerLanguage="C#"Class="rss"%>
usingSystem;
usingSystem.Web;
usingSystem.Xml;
usingSystem.Xml.Linq;
publicclassrss:IHttpHandler{
publicvoidProcessRequest(HttpContextcontext){
context.Response.ContentType="text/xml";
context.Response.Write("<?xmlversion="1.0"encoding="UTF-8"?>");
XElementrssFeed=newXElement("rss",newXAttribute("version","2.0"));
stringfixedUrl="http://www.freeflying.com/article";
stringwholeUrl=string.Empty;
XElementchannel=newXElement("channel",
newXElement("title","freeflying"),
newXElement("link",fixedUrl),
newXElement("description","thewebsitefordreamflyingfreely"),
newXElement("pubDate",DateTime.Now.ToString())
);
foreach(vararticleinArticles.GetArticles())
{
XElementitem=newXElement("item");
XElementtitle=newXElement("title",article.Title);
wholeUrl=string.Format("{0}?id={1}&catelog={2}",fixedUrl,article.ID,article.Catelog);
XElementlink=newXElement("link",wholeUrl);
XElementdescription=newXElement("description",article.Description);
XElementpubDate=newXElement("pubDate",article.LastMod.ToString());
item.Add(title,link,description,pubDate);
channel.Add(item);
}
rssFeed.Add(channel);
context.Response.Write(rssFeed);
}
publicboolIsReusable{
get{
returnfalse;
}
}
}
摹拟数据
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Xml.Linq;
usingSystem.Web.UI.MobileControls;
usingSystem.Collections.Generic;
///<summary>
///SummarydescriptionforArticles
///</summary>
publicclassArticles
{
publicArticles()
{
//
//TODO:Addconstructorlogichere
//
}
publicstaticList<Article>GetArticles()
{
returnnewList<Article>(){
newArticle(234,"blog",DateTime.Now.AddDays(-23),Freq.none,0.8,"asp.net搜索引擎优化","articlesaboutSEOinasp.net"),
newArticle(267,"blog",DateTime.Now.AddDays(-245),Freq.daily,0.6,"ado.netpro","aboutthedatasetusage"),
newArticle(653,"news",DateTime.Now.AddDays(-45),Freq.daily,1,"CLRviaC#","notebookaboutthisbook")
};
}
}
publicclassArticle
{
publicintID;
publicstringCatelog;
publicDateTimeLastMod;
publicdoubleWeight;
publicFreqFrequency;
publicstringTitle;
publicstringDescription;
publicArticle(intid,stringcatelog,DateTimelastMod,Freqfrequency,doubleweight,stringtitle,stringdescription)
{
ID=id;
Catelog=catelog;
LastMod=lastMod;
Weight=weight;
Frequency=frequency;
Title=title;
Description=description;
}
}
publicenumFreq
{
none=1,
daily=2,
weekly=3,
}
自在飞原文链接
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。 |
|