介绍
有看过一些SEO的东西,了解到网站需要有sitemap(站点地图)页面,方便搜索引擎了解网站的链接地址、网页更新频率、页面在网站中的分量等。本站的站点地图在寒假期间早弄出来了,只是现在才更新到网上,主要原因一是没太多时间,二是有点懒。
站点地图内容
各搜索引擎支持的站点地图格式为文本格式、xml格式、sitemap索引格式,不同的搜索引擎可能会默认侧重某种格式。博主现在使用的是xml格式。
下面是一个完整的站点地图内容:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
</url>
……
</urlset>
1.第一二行指明文件类型、版本信息;
2.<url></url>指明每条网页url的内容,有多少对这样的标签,就证明要告诉搜索引擎多少条url;
3.<loc></loc>指明网页链接地址;
4.<lastmod></lastmod>指明链接的最后更新时间;
5.<changefreq></changefreq>指明链接更新频率,可以为"always", "hourly", "daily", "weekly", "monthly", "yearly";
6.<priority></priority>指明该链接相对于其他链接的优先权比值,取值为0.0-1.0间。
asp.net mvc生成站点地图
站点地图无非就是向页面呈现一些字符串,对于xml格式的站点地图,asp.net mvc网站难点在于如何在页面显示xml,那么显示xml的站点地图可以参考下面action:
public ActionResult Sitemap()
{
StringBuilder sb = new StringBuilder();
//拼接站点地图字符串到sb中
//……
byte[] byteArray = System.Text.Encoding.Default.GetBytes(sb.ToString());
HttpContext.Response.ContentType = "text/xml";
HttpContext.Response.Write(System.Text.Encoding.UTF8.GetString(byteArray));
return null;
}
有待改进
本站现在生成站点地图是动态的,每次连接站点地图的链接时,都由服务器通过分析网站内所有内容生成一次页面,从性能角度考虑这是不可取的,当网站的链接多的时候产生的负面压力巨大啊~所以该功能是需要改进的,一般的解决方法是生成静态的站点地图,在网站中有页面更新或有新页面时自动修改该静态站点地图页面。解决这个又要花点时间,等有空了再说了~
本站站点地图链接
本站的站点地图链接已放在网站脚注位置,链接为:http://www.vandend.pw/sitemap.xml
本站站点地图以及提交到谷歌站长工具中,效果明显。但百度的站点地图提交功能目前好像只对部分网站开放,这也太不给力了吧。
另外,找到一个网站站点地图生成的工具页面,有兴趣的朋友可以看看:
http://free-sitemap-generator.whyandhow.org/