[SEO]让你的Asp.Net网站自动生成Sitemap——XmlSitemap

news/2024/5/13 22:48:44/文章来源:https://blog.csdn.net/cuibinmo3519/article/details/100435074

首先我要说明:Asp.Net内置的Sitemap与这里讲的Sitemap是完全不同的,Asp.Net中的Sitemap主要用于给用户导航,而这里说的Sitemap是用来给搜索引擎爬虫指路。

还是直接来看看官方解释吧:

什么是Sitemap?

Sitemap 可方便管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitepmap 形式,就是 XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

网络抓取工具通常会通过网站内部和其他网站上的链接查找网页。Sitemap 会提供此数据以便允许支持 Sitemap 的抓取工具抓取 Sitemap 提供的所有网址,并了解使用相关元数据的网址。使用 Sitemap 协议并不能保证网页会包含在搜索引擎中,但可向网络抓取工具提供一些提示以便它们更有效地抓取网站。

Sitemap 0.90 是依据创意公用授权-相同方式共享 (Attribution-ShareAlike Creative Commons License) 的条款提供的,并被广泛采用,受 Google、Yahoo! 和 Microsoft 在内的众多厂商的支持。

引自Sitemaps.org:http://www.sitemaps.org/zh_CN/

综上所述,提供Sitemap是辅助搜索引擎爬虫收录网站的一种手段,没有Sitemap你的网站一样会被收录,而有了Sitemap则会被收录的更全面、准确。

它除了提供网址外,最重要的就是提供了页面的更新时间戳,以及网站侧重点和更新回访频率建议,使得搜索引擎能更精确地把握你的网站。

如何实现自动生成Sitemap?

现成的生成器已有不少:

http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

http://www.google.com/support/webmasters/bin/answer.py?answer=34634

不过在Asp.Net中,没有官方的生成工具,搜索“Asp.Net Sitemap”找到的也都是大把的Asp.Net内置的Sitemap功能介绍网页。

故此,我希望自己来实现一个Asp.Net的Sitemap生成工具。并且我希望这个工具是可以和Asp.Net同步交互进行数据更新的,以保障数据的时效性;而其他大多数生成器都像是一个私人爬虫,你需要手动放出它来爬遍你的网站,以生成整站的Sitemap,我不喜欢这样。

XmlSitemap

这就是我实现的Sitemap生成工具,简单讲一下实现方式:

  1. 通过数据库存储站点、页面集合、页面数据:
    image
  2. 在Asp.Net网站中,增删改数据时,调用站点地图公开的方法更新数据库数据。
  3. 通过Ashx输出XML格式的Sitemap供搜索引擎爬虫读取。

在文章末尾处我将共享此项目的下载链接,接下来将讲一下此项目的使用方法。

如何部署?

我将提供以下文件用于在现有Asp.Net网站中部署此功能:

image

首先要引用XmlSitemap.dll。

然后通过“添加现有项”将XMLSiteMap.ashx.cs及XMLSiteMap.ashx添加到项目中。

再通过“添加现有项”将SiteMap.mdf添加到项目的App_Data目录中。

在Web.Config中指定SiteMap.mdf的数据库连接字串:

<connectionStrings>

    <add name="MySitemapDataConnstr" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Users\SkyD\Documents\Visual Studio 2008\Projects\实验室\WebApplication10\WebApplication10\App_Data\SiteMap.mdf';Integrated Security=True;User Instance=True"/>

connectionStrings>

在项目中新增一个Global.asax文件(如果之前没创建此文件的话),在其Application_Start中进行初始化:

image

其中蓝色高亮部分是上文中在Web.Config中指定的SiteMap.mdf的数据库连接字串;

黄色高亮部分是你的网站名称,在每次提交数据时都将用到此字符串;

绿色高亮部分是你的这个站点的网址,每次新增的网址数据都必须位于此网址域名下。

如何使用?

我们将通过一个按钮来模拟添加数据的操作:

protected void Button1_Click(object sender, EventArgs e)

{

    var id=Guid.NewGuid();

    站点地图.添加页面("MySite", id, Path.Combine("http://www.MySite.com/""Page.aspx?ID=" + id), 0.5更新频率.每天);

}

注意:这里仅仅是用来测试,所以临时生成了一个Guid传入站点地图,而在实际使用时,应当以你的原数据条目的Guid传入,因为你在之后很可能还会对其进行更新、删除操作,如果同时要反映到站点地图中的话,你就必须还以它的Guid作为标识,才能找到它。

当你频繁点击这个按钮后,站点地图中就会新增了多条数据,你可以通过访问XmlSiteMap.ashx?Site=MySite查看当前的页面集合列表:

image

其中的Url地址是页面集合的网址,由于页面数据量没有达到页面集合所容纳的上限,所以目前就只有一个页面集合。

访问页面集合的网址:

image

 

这里就是每个页面的详细地址及相关信息列表。

除了添加数据之外,还有更新、删除等方法,由于都是中文写的代码,易于理解,就不在此一一演示了:

image


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-612294/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-612294/

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

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

相关文章

c# 模拟网站登陆

我们在写灌水机器人、抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录。那么怎么用C#来模拟一个用户的登录拉要实现用户的登录&#xff0c;那么首先就必须要了解一般网站中是怎么判断用户是否登录的。 HTTP协议是一个无连接的协议&#xff0c;也就是说这次对话…

Joomla 3.9.4 发布,免费建站系统

Joomla 3.9.4现已推出。这是针对3.x系列Joomla的安全修复程序版本&#xff0c;它解决了4个安全漏洞&#xff0c;包含28个错误修复和改进。 什么是3.9.4&#xff1f; Joomla 3.9.4包含4个安全漏洞修复程序以及一些错误和改进&#xff0c;包括&#xff1a; 安全问题已修复 高优先…

C# 代码生成器 网站架构设计

自己写的一个 web 版简易 C# Code Generator&#xff0c;可快速产生某个数据库中&#xff0c;所有表 Mapping 的 C# 3.0 类。可当作网站分层开发、表单大量传递用户输入值、在内存里持久化保存值之用&#xff0c;亦可当作 NHibernate 等 O/R Mapping 框架套用时的 C# 代码生成器…

网站秒杀那点破事(转)

2010年光荣的劳动者节日过后某上午&#xff0c;经过一番所谓的唇枪舌剑、唾沫星子狂喷之后&#xff0c;宣布&#xff0c;此次活动相当的烂&#xff0c;一干策划、设计、推广在会议上低下高贵的头&#xff0c;咱&#xff0c;技术部 &#xff0c;某小B就开始了反省了——多好的员…

ASP.NET WebForm开发WAP网站 (转)

随着手机上网的兴起&#xff0c;我们实际项目中可能会遇到专门针对手机开发的网站&#xff0c;虽然ASP.NET 也有专门的WAP控件库&#xff0c;但在某些时候&#xff0c;这也不是完美的解决方案。ASP.NET WebFrom具有高效开发网站的优势&#xff0c;但对于手机上网来说&#xff0…

iis 7根据pid查看对应的网站 对应的应用网站程序池

原文&#xff1a;https://www.cnblogs.com/yzb-bky/p/6408795.html 哎 今天一登服务器&#xff0c;看见cpu100%头疼。。 一看 居然还有个网站占了 2 30%的cpu 很奇怪。于是想查到底是哪个网站&#xff0c;找了一会资料&#xff0c;记录下来 最终找到是某个后台导致的&#…

网站架构模式:前后端分离与前后端不分离

前后端不分离 在前后端不分离的应用模式中&#xff0c;前端页面看到的效果都是由后端控制&#xff0c;由后端渲染页面或重定向&#xff0c;也就是后端需要控制前端的展示&#xff0c;前端与后端的耦合度很高。 这种模式比较适合纯网页应用&#xff0c;但是当后端对接App时&am…

.net 网站 播放flv格式视频

将返回的字符串打印在页面。 /// <summary>/// 适用flv文件/// </summary>/// <param name"videoUrl">视频url</param>/// <param name"height">播放器高度</param>/// <param name"width">播放器宽度…

php支付宝手机网站支付功能,Laravel5.5 支付宝手机网站支付的教程

1、安装使用Laravel扩展库yansongda/laravel-pay通过composer进行安装$ composer require yansongda/laravel-pay生成配置文件$ php artisan vendor:publish --provider"Yansongda\\LaravelPay\\PayServiceProvider" --taglaravel-pay2、配置支付信息&#xff0c;填写…

如何下载bilibili类似网站里面的视屏,之后转音频

现在想要免费完整听一首自己喜欢的歌实属不易&#xff0c;以下就是我们这些穷b党层层破关的步骤&#xff01;要是有帮助的话&#xff0c;还望大侠记得双击&#xff0c;么么哒&#xff01; 1 首先到达你所要下载视屏的网页&#xff0c;复制该网站的url 2 登录解析第一大网硕鼠网…

python网站开发实例 flask_【9】Python接口开发:flask Demo实例

举例1&#xff0c;返回当前时间接口 初始化&#xff1a;所有的Flask都必须创建程序实例&#xff0c; web服务器使用wsgi协议&#xff0c;把客户端所有的请求都转发给这个程序实例 程序实例是Flask的对象&#xff0c;一般情况下用如下方法实例化 Flask类只有一个必须指定的参数&…

seo按天扣费系统_企业为什么要做SEO优化?杭州志卓云搜宝为您解答!

信息化时代&#xff0c;企业要想持续稳定发展&#xff0c;自身实力固然重要&#xff0c;不过企业对外形象的展示作用也不容小觑。企业网站作为门面担当&#xff0c;好的网站会获得更多的展现机会&#xff0c;吸引更多的目标客户点击访问&#xff0c;从而达到品牌建设及流量变现…

Linux运行脚本忽略警告,Linux用shell脚本监控网站运行状态并发告警邮件

#!/bin/bash#DATEdate "%Y.%m.%d-%H:%M:%S"ACCESS_DIR/root/curl/accessERRO_DIR/root/curl/erroSUCCESS_DIR/root/curl/successFILEdate "%Y.%m.%d-%H"WRONG(){cat $ERRO_DIR/$FILE | awk -F {print $2$3"\n"}#有错误状态码的域名}CURL(){for…

java linux 操作_新I/O(nio) - Java I/O操作入门教程_Linux编程_Linux公社-Linux系统门户网站...

JDK1.4开始&#xff0c;加入了Java.nio.*包&#xff0c;在这个包中加入了新的JAVA I/O类库&#xff0c;以便加快I/O操作的速度。在nio中读写之所以提高&#xff0c;只要是采用了更接近操作系统执行I/O操作的结构——通道和缓冲区。在《Thinking in Java》中有举了一个例子来说明…

使用Teleport Ultra批量克隆网站,使用Easy CHM合并生成chm文件

1.要下载的页面 http://www.howsoftworks.net/javaapi/ 2. 下载Teleport Ultra 3.使用Teleport Ultra批量克隆网站4.下载Easy CHM 5.使用Easy CHM合并生成chm文件

大型网站技术架构:摘要与读书笔记

转载 http://www.cnblogs.com/xybaby/目录 一个网站的进化史 初始阶段的网站架构应用服务和数据服务分离使用缓存改善网站性能使用应用服务器集群改善网站的并发处理能力数据库读写分离使用反向代理和CDN 加速网站晌应使用分布式文件系统和分布式数据库系统使用NoSQL 和搜索…

加速下载必知必会-国内的镜像网站备忘

1 国内的知名镜像网站备忘 大的综合镜像站仓库&#xff0c;为各中需求&#xff0c;包括下载软件、jar包、依赖等都提供了特别多的方便&#xff0c;下面是个人收藏的一些镜像站&#xff1a; #### 1 ali云 https://developer.aliyun.com/mirror/ #### 2 清华大学开源镜像站 htt…

跟随阿里架构师的脚步,探析阿里大型网站架构设计模式

设计和规划一个网站的总体架构涉及方方面面的东西&#xff0c;备选的方案也很多&#xff0c;如何在五花八门&#xff0c;纷繁复杂的技术中构建最适合用户的网站架构&#xff0c;变成了一件极具争议和挑战性的工作。一个好的架构可以以最低的成本&#xff0c;在满足用户需求的同…

10分钟内拥有一个网站后台管理系统

本文不是标题党&#xff0c;如果你已经学会了使用cakephp3 1.看效果 wpadmin.gif2.功能介绍 完整的后台系统&#xff0c;登录、用户管理、菜单管理、权限管理一个基于zui 模版的bake 模板&#xff0c;根据数据表生成管理列表、添加、修改页管理列表(jqgrid插件制作&#xff0c;…

基于SSM实现的宠物销售网站

《基于SSM实现的宠物销售网站》该项目采用的技术实现如下&#xff1a; 后台框架&#xff1a;Spring、SpringMVC、MyBatis UI界面&#xff1a;JSP、jQuery 数据库&#xff1a;MySQL 该系统主要分为前台和后台两大功能模块&#xff0c;共包含两个角色&#xff1a;用户、管理员…