ASP.NET的SEO:Linq to XML---网站地图和RSS Feed

news/2024/5/13 15:32:13/文章来源:https://blog.csdn.net/weixin_34208283/article/details/85446816
本系列目录

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

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

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


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

ExpandedBlockStart.gifWebSite
<%@ 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;
        }
    }

}

 

同样还将使用到xml技术的还有RSS

ExpandedBlockStart.gifRSS
<%@ WebHandler Language="C#" Class="rss" %>

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


public class rss : IHttpHandler {
    
    
public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/xml";

        context.Response.Write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");

        XElement rssFeed = new XElement("rss"new XAttribute("version","2.0"));

        
string fixedUrl = "http://www.freeflying.com/article";
        
string wholeUrl = string.Empty;

        XElement channel = new XElement("channel",
            
new XElement("title""freeflying"),
            
new XElement("link", fixedUrl),
            
new XElement("description","the website for dream flying freely"),
            
new XElement("pubDate",DateTime.Now.ToString())
            );
        
        
        
foreach (var article in Articles.GetArticles())
        {
            XElement item = new XElement("item");

            XElement title = new XElement("title", article.Title);

            wholeUrl = string.Format("{0}?id={1}&catelog={2}", fixedUrl, article.ID, article.Catelog);
            XElement link = new XElement("link", wholeUrl);

            XElement description = new XElement("description", article.Description);

            XElement pubDate = new XElement("pubDate", article.LastMod.ToString());

            item.Add(title,link,description,pubDate);

            channel.Add(item);
        }

        rssFeed.Add(channel);

        context.Response.Write(rssFeed);

    }
 
    
public bool IsReusable {
        
get {
            
return false;
        }
    }
    

}

   

ExpandedBlockStart.gif模拟数据
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.UI.MobileControls;
using System.Collections.Generic;

/// <summary>
/// Summary description for Articles
/// </summary>
public class Articles
{
    
public Articles()
    {
        
//
        
// TODO: Add constructor logic here
        
//
    }

    
public static List<Article> GetArticles()
    {
        
return new List<Article>(){
            
new Article(234"blog", DateTime.Now.AddDays(-23), Freq.none, 0.8"asp.net seo""articles about SEO in asp.net"),
            
new Article(267"blog", DateTime.Now.AddDays(-245), Freq.daily, 0.6"ado.net pro","about the dataset usage"),
            
new Article(653"news", DateTime.Now.AddDays(-45), Freq.daily, 1,"CLR via C#","notebook about this book")
        };
    }


}

public class Article
{
    
public int ID;
    
public string Catelog;
    
public DateTime LastMod;
    
public double Weight;
    
public Freq Frequency;
    
public string Title;
    
public string Description;

    
public Article(int id, string catelog, DateTime lastMod, Freq frequency, double weight, string title, string description)
    {
        ID = id;
        Catelog = catelog;
        LastMod = lastMod;
        Weight = weight;
        Frequency = frequency;
        Title = title;
        Description = description;
    }
}

public enum Freq
{
    none = 1,
    daily = 2,
    weekly = 3,
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_735069.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IE无法打开internet网站已终止操作的解决的方法

用IE内核浏览器的朋友&#xff0c;或许不经意间会碰到这样滴问题&#xff1a;打开某个网页时&#xff0c;浏览器“嘣”跳出一个提示框“Internet Explorer无法打开Internet 站点...已终止操作”。而大多数情况下该页面甚至非常可能看起来已经载入完成&#xff0c;内容能够全然显…

南通seo:竞争对手的SEO分析策略

我们不管做什么事情&#xff0c;都要讲究一个策略。当然了SEO也如此。一、SEO为什么要对竞争对手进行分析实施SEO项目时&#xff0c;正确地分析竞争对手是非常重要的 一个环节。首先&#xff0c;分析和研究竞争对手站点的链接策略和内容策略&#xff0c;有利于提升自己的SEO技术…

仿360搜索界面html,仿360网站卫士拦截页面黑页源码

黑页源码下载&#xff0c;最新黑页复制以下内容保存为index.html您好&#xff0c;由于360过于垃圾保护不了你的网站你的网站被人黑了。很抱歉&#xff0c;由于360太垃圾了&#xff0c;没有抵挡住渗透攻击拦截URL&#xff1a;如果您是站长&#xff0c;请关闭网站&#xff0c;交出…

网站页面左右_在专业网站制作中网站首页制作时应遵循哪些原则?

我们在做一个网站时&#xff0c;都会把主要的精力放在首页的设计上&#xff0c;首页是用户打开网站最先看到的页面&#xff0c;决定着用户的去留。所以&#xff0c;打造一个好的首页是非常有必要的。之前我们济南网站建设​的小编就有分享过网站内页有哪些可遵循的原则的文章&a…

广告***盗杀毒厂商数字签名 视频网站流量惨遭劫持

金山毒霸安全实验室本周截获一广告***&#xff0c;该病毒运行后会在用户电脑释放被修改的flash插件。当用户访问优酷youku、toudu土豆、qiyi奇艺、56我 乐、QQ农场等视频网站时&#xff0c;病毒会强行插入视频广告。并且&#xff0c;据金山毒霸安全实验室分析&#xff0c;病毒释…

推荐30个非常聪明的网站介绍案例

当访问一个网站的时候&#xff0c;首页是最有可能让人印象深刻并由此记住这个网站的。因此首页的设计非常重要&#xff0c;既要美观又要清晰的告诉别人你这个网站是做什么的。下面与大家分享30个设计得非常好的案例&#xff0c;这些网站通过图形和文字信息两方面来准确表达出网…

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

开篇语&#xff1a;最近在弄ocx控件发布到asp.net网站上使用&#xff0c;就是用户在使用过程中&#xff0c;自动下载安装ocx控件。&#xff08;此文章也是总结了网上好多人写的文章&#xff0c;我只是汇总一下&#xff0c;加上部分自己的东西&#xff0c;在这里感谢所有在网上发…

推荐几个新的有趣网站

点名时间 – 预购一个梦想&#xff1a;点名时间是一个让你发起和支持创意项目的平台。你可以在这里发起项目&#xff0c;向公众推广&#xff0c;并得到资金的支持去完成你的梦想。你也可以在这里浏览各种有趣的项目&#xff0c;一起支持创意&#xff0c;预购别人的梦想。 链接&…

OPENCART高级搜索引擎优化(SEO PACK PRO)

OPENCART高级搜索引擎优化(SEO PACK PRO)是时候将您的网站进行高级搜索引擎优化了&#xff01;Opencart高级搜索引擎优化( SEO PACK PRO)扩充功能包含所所有有关 Opencart SEO 搜索引擎的相关扩充功能&#xff1a;1. Keywords Generator for all products2. Meta Description G…

网站优化:测试网站速度的8款免费工具推荐

网站的加载速度是决定网站成败的重要因素&#xff0c;值得站长特别关注。原因很简单&#xff0c;没有人愿意为了打开一个网页而等老半天&#xff0c;换句话说&#xff0c;如果你的网站打开速度很慢&#xff0c;将流失大量的访客&#xff0c;甚至出现多米诺效应的不良影响&#…

分享45套2011年和2012年的高质量免费网站模板

为什么80%的码农都做不了架构师&#xff1f;>>> 日期&#xff1a;2012-11-11 来源&#xff1a;GBin1.com 前端时间我们分享了12套超酷的后台管理员界面网站模板&#xff0c;相信看过的朋友肯定已收入囊中了&#xff0c;今天呢&#xff0c;我们继续推荐45套高质量…

MOSS2007的网站和工作区

11.7 网站和工作区 在Microsoft Office Server 2007站点中&#xff0c;可使用顶级网站和子网站将网站内容划分为明确的、单独的可管理网站。顶级网站可以拥有多个子网站&#xff0c;而这些子网站自己也可以拥有多个子网站&#xff0c;可根据用户需要向下建设无限层次的子网站。…

一步一步SharePoint 2007之八:允许所有域用户访问网站

一步一步SharePoint 2007之八&#xff1a;允许所有域用户访问网站2007/04/09 21:31摘要  上一篇文章让我在同事们面前丢尽了脸&#xff0c;真是郁闷啊&#xff0c;到现在还是红红的:)没办法啊&#xff0c;咱脸皮儿薄呀&#xff01;&#xff08;呵呵&#xff0c;没人扔臭鸡蛋过…

云服务器可不可以放网站内容,什么可以放置网站内容

什么可以放置网站内容 内容精选换一换CDN(Content Delivery Network&#xff0c;内容分发网络)是构建在现有互联网基础之上的一层智能虚拟网络&#xff0c;通过在网络各处部署节点服务器&#xff0c;实现将源站内容分发至所有CDN节点&#xff0c;使用户可以就近获得所需的内容。…

如何给页面加上loding_如何提升百度SEO排名靠前的方法?

大部分人的SEO理念中&#xff0c;或多或少SEO从业者都会遇到一些在优化中很纠结的问题&#xff0c;而这些纠结的问题中&#xff0c;‘收录’是很多SEO从业者比较频繁遇见的的。我今天不讲外链和内链&#xff0c;只讲收录与排名。揭秘内页实战快速收录并且做到页面参与排名的方法…

网站服务器视频无法播放视频文件,网站服务器上传视频无法播放如何解决?

互联网时代&#xff0c;企业搭建网站推广业务&#xff0c;有时候需要在网站服务器上传宣传视频&#xff0c;有些新手站长会遇到视频不能显示和播放的题&#xff0c;那么&#xff0c;网站服务器上传的视频播放不了如何解决呢&#xff1f;操作详细步骤&#xff1a;对IIS全局进行设…

开源网站建设工具Drupal 7发布

导读&#xff1a;Drupal是一套采用GPL授权的开放源码软件&#xff0c;是由数以千计的使用者和开发人员所共同维护和开发的。它是一个强大的软件&#xff0c;它可以让个人或社区使用者很容易地发表、管理并组织一个网站里大量且多样的内容。已经有许多个人和组织采用Drupal来建立…

构建搞性能可扩展asp.net网站文摘

第1章 原则与方法 网页加载的过程&#xff1a; 关注感知性能&#xff0c;减少阻塞调用&#xff0c;减少往返&#xff0c;在所有架构层次采用缓存&#xff0c;优化硬盘I/O 了解浏览器的工作方式&#xff0c;使用ajax,silverlight和纯javascript避免加载整个页面&#xff0c;避免…

Haproxy负载均衡平滑上线,下线后端网站服务器方案

#智能判断&#xff0c;网站web02服务器是否在线上&#xff0c;如果在haproxy线上&#xff0c;就无需要在挂到haproxy上。#现在3台web网站服务器还在线上.#现在下线web02网站服务器.#在haproxy监控页面&#xff0c;看到web02网站服务器已经不在线上&#xff0c;不对用户提供请求…

IE8 浏览器访问网站时提示“您的 Java 版本不安全”附解决办法

2019独角兽企业重金招聘Python工程师标准>>> 昨天遇到了壹個问题&#xff0c;通过 IE8 浏览器访问单位壹個内网应用 http://10.30.100.40:7001/&#xff0c;首页加载完之后页面老是弹出壹個提示框“您的 Java 版本不安全”&#xff0c;然后下方给出三個选项&#xf…