标签归档:网站地图

织梦dedecms自由列表生成google网站地图sitemap.xml的方法

好多使用织梦dedecms的站长朋友都在找谷歌网站地图的生成工具,比如:google sitemap插件。其中不少还要求网站地图是分页的。其实织梦dedecms作为一款强大的内容管理系统,自身就带有生成网站地图sitemap的功能,其中也包含网站地图分页功能。下面小编来教给你们通过织梦程序的自由列表生成谷歌网站地图的方法。

1、织梦后台首页–核心–自由列表管理–增加列表:( 如下图)

2、设置相关参数:(参考上图)

自由列表标题: 
Google SiteMap 生成器 
 
目录默认页名称: 不使用目录默认主页(勾选上) 
 
命名规则: 
Sitemap_{page}.xml (如果只想把网站地图生成一页,不分页的话也可以写成Sitemap.xml。)
 
列表模板: 
google_sitemap.htm (此处根据自己情况填写列表模板路径。列表模板织梦程序本身就带的有,位置在template/default/googlemap.htm,但由于"<"出错的原因不好用,下面小编把自己编写的列表模板共享给大家。)
小编写的列表模板代码:

<?xml version="1.0" encoding="{dede:global.cfg_soft_lang/}"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.kgfanr.com</loc>
<lastmod>2013-11-08</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
{dede:freelist/}
</urlset>
把红色代码改为自己的网址。然后保存以上代码,命名为google_sitemap.htm,放到你的模板文件夹,列表模板处填写好路径。
 
列表描述: 
Google SiteMap文件生成 
 
每页记录数:500(可根据自身情况而定)
 
循环内的单行记录样式(InnerText):[底层变量field参考] 
<url> 
  <loc>[field:arcurl function="Gmapurl(@me)"/]</loc> 
  <lastmod>[field:senddate function="strftime('%Y-%m-%d',@me)"/]</lastmod> 
  <changefreq>weekly</changefreq> 
  <priority>0.5</priority> 
</url>
 
最后点击“保存一个列表”返回 。
 

3、生成sitemap:

返回到“更新自由列表”,看到了吧: 

直接点“更新”!

4、点击开始生成html

5、大功告成。

还有问题可以关注科技范儿网站微博并私信。谢谢!

 

附:谷歌网站地图(Google SiteMap)格式

Google SiteMap Protocol是Google自己推出的一种站点地图协议,此协议文件基于早期的robots.txt文件协议,并有所升级。在Google官方指南中指出加入了Google SiteMap文件的网站将更有利于Google网页爬行机器人的爬行索引,这样将提高索引网站内容的效率和准确度。文件协议应用了简单的XML格式,一共用到6个标签,其中关键标签包括链接地址、更新时间、更新频率和索引优先权。

<urlset xmlns=“网页列表地址”>
<url>
<loc>网址</loc>
<lastmod>2005-06-03T04:20-08:00</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>网址</loc>
<lastmod>2005-06-02T20:20:36Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>

XML标签详解

changefreq:页面内容更新频率。
lastmod:页面最后修改时间
loc:页面永久链接地址
priority:相对于其他页面的优先权
url:相对于前4个标签的父标签
urlset:相对于前5个标签的父标签
我将一句一句分解讲解这个xml文件的每一个标签:
<urlset xmlns="
这一行定义了此xml文件的命名空间,相当于网页文件中的<html>标签一样的作用。
<url>
这是具体某一个链接的定义入口,你所希望展示在SiteMap文件中的每一个链接都要用<url>和</url>包含在里面,这是必须的。
<loc></loc>
用<loc>描述出具体的链接地址,这里需要注意的是链接地址中的一些特殊字符必须转换为XML(HTML)定义的转义字符,如下表: 字符 转义后的字符
HTML字符 字符编码
& 符号 & &amp;
单引号 ' &apos;
双引号 " "
大于 > &gt;
小于 < &lt;
<lastmod>2005-06-03T04:20:32-08:00</lastmod>
<lastmod>是用来指定该链接的最后更新时间,这个很重要。Google的机器人会在索引此链接前先和上次索引记录的最后更新时间进行比较,如果时间一样就会跳过不再索引。所以如果你的链接内容基于上次Google索引时的内容有所改变,应该更新该时间,让Google下次索引时会重新对该链接内容进行分析和提取关键字。这里必须用ISO 8601中指定的时间格式进行描述,格式化的时间格式如下:
年:YYYY(2005)
年和月:YYYY-MM(2005-06)
年月日:YYYY-MM-DD(2005-06-04)
年月日小时分钟:YYYY-MM-DDThh:mmTZD(2005-06-04T10:37+08:00)
年月日小时分钟秒:YYYY-MM-DDThh:mmTZD(2005-06-04T10:37:30+08:00)
这里需注意的是TZD,TZD指定就是本地时间区域标记,像中国就是+08:00了
<changefreq>always</changefreq>
用这个标签告诉Google此链接可能会出现的更新频率,比如首页肯定就要用always(经常),而对于很久前的链接或者不再更新内容的链接就可以用yearly(每年)。这里可以用来描述的单词共这几个:"always", "hourly", "daily", "weekly", "monthly", "yearly",具体含义我就不用解释了吧,光看单词的意思就明白了。
<priority>1.0</priority>
<priority>是用来指定此链接相对于其他链接的优先权比值,此值定于0.0 – 1.0之间
还有</url>和</urlset>,这两个就是来关闭xml标签的,这和HTML中的</body>和</html>是一个道理
另外需要注意的是,这个xml文件必须是utf-8的编码格式,不管你是手动生成还是通过代码生成,建议最好检查一下xml文件是否是utf-8编码,最简单的方法就是用记事本打开xml然后另存为时选择编码(或转换器)为UTF-8。
登陆Google提交你的SiteMap文件,链接,如果还没有注册或者登陆Google,就先用自己的帐号登陆Google,登陆后转到Your Sitemaps状态页面,可以点击那个Add a Sitemap + 跳转到提交页面进行Sitemap文件的提交。建议文件放在你的站点根目录下。给Google提交你的Sitemap URL后可以看见在列表里已存在,不过这时候还没有生效,必须过几个小时后Status栏变成OK表示正式生效,如果不是OK,可以查看Google给出的状态标示解释看看是什么原因。