创建Google网站地图Sitemap.xml
Sitemap.xml是google搞出来的,也就是网站地图,不过这个网站地图是用xml写的,而且要按google的标准来写,并且要将写出来的这个文件sitemap.xml上传到自己的服务器空间中去。目前,Google, Yahoo, MSN都已经声明支持这种格式,Baidu还没有声明支持,但估计走这一步也是大势所趋。这将是向众多搜索引擎提供你网站信息的一种很好的方法。
提交sitemap一是有利于搜索抓取一些正常抓取过程中无法抓取的网址,比如动态网页,包含大量AJAX的网页或者flash的页面。二是为搜索蜘蛛指明“工作方向”。Sitemap就是你网站上页面的列表,googlebot就按照这个去一个个的抓取收录页面,显然比它自己去找会效率高,而且要全。Google网站上有完整的关于sitemap.xml的详细说明:
http://www.google.com/support/webmasters/bin/answer.py?answer=40318&hl=zh_CN
1. Sitemap.XML 的格式
完整格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" >
<url>
<loc>http://keleyi.com</loc>
<lastmod>2013-07-17</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc> http://www.cnblogs.com/roucheng/search2.asp?id=32003044&sq=1</loc>
<lastmod>2013-07-17</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
…
…
</urlset>
下面,对以上标签分别加以解释
a) <?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" >
这两行就相当于网页文件中的<html>标签一样的作用。不必管这两行什么意思,照抄即可。
切记:一个字符也不能错,即使多一个空格,google网站采集时也会报错。另外,千万别忘了在文件的末尾加上</urlset>标签。
b) url:每个标签包含一个网页地址,是以下标签的父标签。
c) http://keleyi.com/a/bjad/nf86w2dv.htm
这里是页面链接地址,也就是你希望蜘蛛访问的地址。
切记:在地址中出现的某些特殊字符需要使用转义字符,否则,google也会报错。最典型的就是 & 号,经常在动态网址中出现,在提交地址中必须写成 & 如:提交http://www.cnblogs.com/roucheng/search2.asp?id=32003044&sq=1,google管理员工具就会报错,而改为 http://www.cnblogs.com/roucheng/search2.asp?id=32003044&sq=1提交后就没有问题了。我看到网上有人说sitemap.xml只能提交一个参数的网页的说法,其实多半是因为没有使用转义字符而导致出错的。其他的转义字符就不一一列出了,大家可以在网上查。
d) lastmod:页面最后修改时间
这个很重要。Google的机器人会在索引此链接前先和上次索引记录的最后更新时间进行 比较,如果时间一样就会跳过不再索引。所以如果你的链接内容基于上次Google索引时的内容有所改变,应该更新该时间,让Google下次索引时会重新 对该链接内容进行分析和提取关键字。这里必须用ISO 8601中指定的时间格式进行描述,格式化的时间格式如下:
年:YYYY(2008)
年和月:YYYY-MM(2008-06)
年月日:YYYY-MM-DD(2008-06-04)
年月日小时分钟:YYYY-MM-DDThh:mmTZD(2008-06-04T10:37+08:00)
年月日小时分钟秒:YYYY-MM-DDThh:mmTZD(2008-06-04T10:37:30+08:00)
这里需注意的是TZD,TZD指定就是本地时间区域标记,像中国就是+08:00了
切记:其他格式可能引起出错,比如将2008-08-08 写成2008-8-8就会出问题。
e) changefreq:页面内容更新频率。
这里可以用来描述的单词共这几个:"always", "hourly", "daily", "weekly", "monthly", "yearly",具体含义我就不用解释了吧,光看单词的意思就明白了。
f) priority:相对于其他页面的优先权
定于0.0 - 1.0之间 。
切记:建议将各类网页根据重要性给出不同的数值,以方便蜘蛛的采集,不要耍小聪明全部写1.0,google管理工具会报错的。
2. Sitemap.xml制作方式
制作方式无非两种,自动方式和手动方式。
自动方式一般使用生成工具自动生成,只需输入自己的网址,就可以得到完整的xml文件。这种方式一般适用于静态网站,在此不再赘述。但需要提醒的是,网上的工具良莠不齐,生成的文件经常有错误,不一定能通过google的校验,使用者需认真辨别。
手工方式则是由站长手工填写或写程序完成均可,代码很简单,大家可以到网上查找。
3. 提交
Sitemap.xml制作完成后,就需要将xml文件提交到相关搜索引擎。
Google提交网址:http://www.google.com/webmasters/sitemaps/?hl=zh-CN
Yahoo提交网址:http://sitemap.cn.yahoo.com/
提交后,一般在几个小时之内,系统就开始下载处理了。
4. Sitemap.xml的校验
至于你的网站地图是否符合标准,最方便的手段就是使用google的管理员工具了。
在他下载你的sitemap.xml后几天内,这个工具就会将详细的分析结果反馈回来,包括:sitemap.xml中包含了多少地址,google已将多少地址加入索引,sitemap.xml中出现了哪些错误,甚至蜘蛛采集过程中遇到的各种问题,比如哪些网页有404,500错误都会详细的罗列出来,非常方便。
如果你提交的xml文件一切无误,那么接下来,你就是等着让它的搜索蜘蛛来爬了,sitemap的文件告知了文件更新的频率,这样搜索蜘蛛来得更勤快,页面被收录当然也就更快。
5分半钟:Google网站地图 Sitemap.xml
创建Google网站地图Sitemap.xml的更多相关文章
- 网站地图sitemap.xml的格式
URL列表—XML格式及规范说明: 标签名称 属性 标签说明 标签类型 标签限制 可选/必选 urlset / urlset用来标记整个文档的开头 / / 必选 url / u ...
- php生成百度站点地图sitemap.xml
<?php header("Content-type:text/html;charset=utf-8"); //php生成百度站点地图sitemap.xml //http:/ ...
- 织梦dedecms中html和xml格式的网站地图sitemap制作方法
sitemap是网站上各网页的列表.创建并提交sitemap有助于百度(Google)发现并了解您网站上的所有网页,包括百度通过传统抓取方式可能找不到的网页.还可以使用sitemap提供有关你网站的其 ...
- django网站地图sitemap
网站地图是根据网站的结构.框架.内容,生成的导航网页,是一个网站所有链接的容器.很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指 ...
- 第六章:Django 综合篇 - 7:网站地图sitemap
网站地图是根据网站的结构.框架.内容,生成的导航网页,是一个网站所有链接的容器.很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指 ...
- 织梦后台如何生成站点地图sitemap.xml
第一步在网站根目录建立sitemap.php文件 内容如下: 写一个计划任务文件命名为generate_sitemap.php,放在/plus/task目录里,文件内容如下: <?php//定时 ...
- 织梦dedecms默认网站地图sitemap.html优化
网站地图对于网站优化很重要,搜索引擎就是靠网站地图去收录网站页面,本文主要讲解优化织梦自带的网站地图功能. 织梦自带的网站地图使用方法:织梦后台--生成--HTML更新--更新网站地图,可以在 ...
- WordPress免插件生成完整站点地图(sitemap.xml)的php代码
让这个代码更加完善,可以同时生成首页.文章.单页面.分类和标签的 sitemap! 一.PHP 代码 <?php require('./wp-blog-header.php'); header( ...
- Python3分析sitemap.xml抓取导出全站链接
最近网站从HTTPS转为HTTP,更换了网址,旧网址做了301重定向,折腾有点大,于是在百度站长平台提交网址,不管是主动推送还是手动提交,前提都是要整理网站的链接,手动添加太麻烦,效率低,于是就想写个 ...
随机推荐
- Android开发(三十二)——延时
模拟延时 private class GetDataTask extends AsyncTask<Void, Void, String[]> { @Override protected S ...
- H5长按事件
let timeOutEvent = 0 $(function () { $('#debug').on({ touchstart: function (e) { setTimeout(function ...
- jQuery 通配符
通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']");//id属 ...
- BTrace入门教程
bin版:https://kenai.com/projects/btrace/downloads/directory/releases 源码:https://github.com/btraceio/b ...
- 実行時にMicrosoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていませんが出てしまう
環境 Windows8 64bit Visual Studio 2010 Access 2010 32bit 接続プロバイダは「Microsoft.ACE.OLEDB.12.0」 対応 Downloa ...
- 1. 初探MongoDB —— 介绍、安装和配置
一.写在前面 之前一直以来,都是使用关系型数据库.也很早就听闻,当数据量大的时候,关系型数据库使用起来会有很多问题.诸如查询数据慢,加载花费时间长等等. 也早就耳闻NOSQL(NoSQL = Not ...
- spring中@param和mybatis中@param使用差别
spring中@param /** * 查询指定用户和企业关联有没有配置角色 * @param businessId memberId * @return */ int selectRoleCount ...
- GitHub 操作流程示例
最新文章:Virson's Blog 参考文章: 博客园-Web前端开发,博客园-喻头快跑,GotGitHub 首先.通过github网站新建一个仓库,得到仓库地址 https://github.co ...
- saiku 元数据存储分析
一.介绍 使用saiku的人一定对他的元数据存储都特别感兴趣,特别是有分布式管理需求的项目,更是迫切需要了解.其实它是使用Apache的开源项目Jackrabbit管理文件的! 二.代码跟踪 我也是使 ...
- UNIX环境高级编程笔记之高级I/O
本章说明了很多高级I/O功能: 非阻塞I/O——发一个I/O操作,不使其阻塞,记录锁,STREAMS机制 I/O多路转接——select和poll函数 readv和writev函数,以及存储映射I/O ...