欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

给dedecms加上动态的sitemap

shiping1 的头像

给dedecms加上动态的sitemap

根据sitemap.org上的规范,我们可以知道sitemap是一个xml文件,包含链接,更新时间,优先级
在php中,我们可以输出一个xml文件提交给google等搜索引擎,目前百度还不支持sitemap。
方法也很简单,代码不多
文件:path/to/data/sitemap.php
 
  1. <?php
    header('Content-Type: text/xml');
    require_once(dirname(__FILE__).'/../include/common.inc.php');
    require_once(dirname(__FILE__).'/../include/channelunit.func.php');
    echo '<?xml version="1.0" encoding="UTF-8"?>';
    ?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    <loc>http://www.mlyfk.com/index.html</loc>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
    </url>
    <?php
    $query = "Select tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
    from `dede_arctype` tp order by tp.id desc limit 0,100";
    $dsql->Execute("me",$query);
    $list="";
    while ($row=$dsql->GetArray('me'))
    {
    $row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],
    $row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);
    $list.="<url><loc>".$row['typeurl']."</loc>\r\n";
    $list.="<changefreq>weekly</changefreq>";
    $list.="<priority>0.6</priority></url>";
    }
    $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,
    tp.moresite,tp.siteurl,tp.sitepath
    from `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id
    order by arc.id ";
    $dsql->Execute("sd",$query);
    while ($row=$dsql->GetArray('sd'))
    {
    $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
    $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
    $list.="<url><loc>".$row['arcurl']."</loc>\r\n";
    $list.="<changefreq>weekly</changefreq>";
    $list.="<priority>0.6</priority></url>";
    }
    echo "$list";
    ?>
    </urlset>
 
这样,提交给google,它会自动的定时下载这个文件,而且每次都会有更新,其实文章页更新不多,可以把<changefreq>改成never,从不更新

yuanlianghh2011-01-20 10:39
个一股一股一股ugy

jpswx12342011-01-20 11:24
学习了,真是好知识!

zhangxiang2011-01-31 20:54
为何是动态的?文章不跟新,为何是动态的,我没看懂代码,解释下把。

zhangxiang2011-01-31 21:01
  <?xml version="1.0" encoding="UTF-8" ?>
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- <url>
  <loc>http://www.mlyfk.com/index.html</loc>
  <changefreq>weekly</changefreq>
  <priority>0.6</priority>
  </url>
- <url>
  <loc>http://127.0.0.1/k/list__1.html</loc>
  <changefreq>weekly</changefreq>
  <priority>0.6</priority>
  </url>
- <url>
  <loc>http://127.0.0.1/k/list__1.html</loc>
  <changefreq>weekly</changefreq>
  <priority>0.6</priority>
  </url>
都是这样的东西,怎么用呀???

liujin8342011-02-02 13:00
提交到googlesitemap

loved20032011-02-04 13:00
学习了,好

duoxiai2011-02-04 13:01
好东东哦,顶您

QQ网名 QQ情侣头像 繁体字转换 QQ分组 周公解梦 QQ头像 QQ头像 男生 QQ头像 女生

may1572011-02-04 14:19
  好东西!

shimin2011-02-04 16:02
认真学习,天天向上

funyaya2011-02-16 18:16
感谢,正需要这个

funyaya2011-02-16 18:17
这个程序放在哪个目录里面呢?

funyaya2011-02-16 18:18
推荐大家使用

liujin8342011-02-16 21:09
/data/sitemap.php

sowahkhoo2011-02-23 19:23
用户被禁言,该主题自动屏蔽!

shengk2011-02-25 14:35
谢谢分享!

来自 http://bbs.dedecms.com/simple/?t312665.html


动态获取织梦CMS最新更新 利于收录的SiteMap.php文件

      之前有通过单页的形式,制作了一个SiteMap.html地图文件,也就是将一些最新更新的内容列出来,方便搜索引擎访问,利于收录,但还需要用户手动去更新单页文件才能获得最新更新,相对来说比较麻烦。

      所以现在干脆直接用PHP+SQL语句直接在数据库里面调用最新更新的内容,这样比较方便快捷,而且不需要人工来更新,也没有什么明显 缺点。有些同学会认为动态页面不利于收录,但这个动态页面也仅是一个地图文件而已,主要是发挥桥梁纽带作用,可以让蜘蛛比较方便的到达最新更新的页面,便 于收录。对于每天大量更新的站点来说,作用还是很大的,比如用织梦采集侠每天大量采集的用户来说还是挺有帮助的。只需要在footer.htm模板里面加入个指向这个sitemap.php文件就行。

      将这个文件上传至你网站的根目录下,访问 http://你的域名/sitemap.php ,就能看到效果了。

下载:sitemap_for_php.rar

转载原创文章请注明:文章转载自:织梦(Dedecms)管理员之家 [http://www.dedeadmin.com]
博主: 本文标题:动态获取织梦CMS最新更新 利于收录的SiteMap.php文件
本文地址:http://www.dedeadmin.com/?p=2250

来自 http://www.dedeadmin.com/?p=2250
普通分类: