查看: 73|回复: 9

[教程] 轻松搞定Discuz!建站的sitemap.xml网站地图-完全免费

[复制链接]

1

主题

4

回帖

0

积分

积极分子

金币
4
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-28
发表于 2024-12-13 11:35:22 | 显示全部楼层 |阅读模式


Discuz! X3.5是个好用稳定的建站系统,但是唯一美中不足就是没有生产sitemap地图的功能,对于各大搜索引擎的收录有很大影响。。
目前虽然DZ插件有此功能,但是基本都是收费的,而且费用还不低。
这么简单的功能也成了割韭菜的渠道,今天分享个借助DZ后台计划任务轻松实现sitemap.xml网站地图的生成方法。

方法一(只针对论坛版块生成sitemap.xml):
建立一个名为“cron_sitemap.php”的文件;
复制以下代码区的内容到“cron_sitemap.php”中,并保存文件;
PS:注意编码,选择自己DZ对应的编码,我自己用的是UTF-8版本DZ

  1. <?php
  2. if(!defined('IN_DISCUZ')) {
  3. exit('Access Denied');
  4. }

  5. $filename='sitemap.xml';
  6. //以下五项根据具体情况修改即可
  7. $cfg_updateperi='60';//协议文件更新周期的上限,单位为分钟
  8. $web_root=$_G['siteurl'];//根网址
  9. $CHARSET='utf-8';// or gbk //选择编码方式
  10. /***********************************************************************************************/
  11. //网站地图sitemap.xml
  12. $sitemap="<?xml version="1.0" encoding="UTF-8"?>\n";
  13. $sitemap.="<urlset\n";
  14. $sitemap.="xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"\n";
  15. $sitemap.="xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n";
  16. $sitemap.="xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9\n";
  17. $sitemap.="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">\n";
  18. $querys = DB::query("SELECT a.tid FROM ".DB::table('forum_thread')." a inner join ".DB::table('forum_forum')." b on a.fid=b.fid ORDER BY a.tid DESC LIMIT 0,10000");
  19. while($threadfid = DB::fetch($querys))
  20. {
  21. $turl=$web_root.'thread-'.$threadfid['tid'].'-1-1.html';//注意静态规则
  22. $link = $turl;
  23. $t=time();
  24. $riqi=date("Y-m-d",$t);
  25. $priority=rand(1,10)/10;
  26. //date("D F d Y",$t);
  27. $sitemap.="<url>\n";
  28. $sitemap.="<loc>$link</loc>\n";
  29. $sitemap.="<priority>$priority</priority>\n";
  30. $sitemap.="<lastmod>$riqi</lastmod>\n";
  31. $sitemap.="<changefreq>weekly</changefreq>\n";
  32. $sitemap.="</url>\n";
  33. }
  34. $sitemap .= "</urlset>\n";
  35. $fp = fopen(DISCUZ_ROOT.'/'.$filename,'w');
  36. fwrite($fp,$sitemap);
  37. fclose($fp);
  38. ?>
●上传“cron_sitemap.php”到source\include\cron目录;
●到discuz后台添加定时任务:后台→工具→计划任务→新增→提交;
●接下来编辑任务,任务脚本填“cron_sitemap.php”


dx3.4、discuz建站系统sitemap生成-新增计划任务





dx3.4、discuz建站系统sitemap生成-编辑计划任务

●首次先手动执行一次该计划任务,在站点根目录会生成名为"sitemap.xml"的文件,这样就完成了网站地图的生成,一劳永逸,就这么简单,不用花一分钱。本篇只是针对论坛部分的sitemap.xml网站地图生成,下一篇为大家介绍如何生成全站(包括门户文章部分)的sitemap.xml网站地图生成。
本帖内容来源:知乎博主

以上已亲测成功,已可正常使用了:  https://www.footballclub.cc/sitemap.xml但是好像不能实现分页功能,看看有没有大神在此基础上再改进实现分卷生成多个地图满足搜索引擎xml地图10m的要求!!!
-apple-system, BlinkMacSystemFont
回复

使用道具 举报

15

主题

33

回帖

0

积分

积极分子

金币
33
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-5-2
发表于 2025-1-3 22:13:15 | 显示全部楼层
很新的教程啊,如果真能用,可以抛弃插件了!
回复

使用道具 举报

1

主题

4

回帖

0

积分

积极分子

金币
4
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-28
 楼主| 发表于 2025-1-6 16:49:41 | 显示全部楼层

当然能用,我就一直在用啊。
https://www.footballclub.cc/sitemap.xml
回复

使用道具 举报

5

主题

61

回帖

0

积分

积极分子

金币
61
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-12-24
发表于 2025-1-6 17:07:45 | 显示全部楼层

你这个貌似只针对论坛的帖子,没有文章的!

这是我的,仅供参考------https://www.boonkiong.com/thread-4473-1-1.html
回复

使用道具 举报

1

主题

2

回帖

0

积分

积极分子

金币
2
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-8-3
发表于 2025-1-6 17:16:47 | 显示全部楼层
代码有问题的地方:

  1. $sitemap = "<?xml version='1.0' encoding='UTF-8'?>\n";
  2. $sitemap .= "<urlset\n";
  3. $sitemap .= "xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'\n";
  4. $sitemap .= "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'\n";
  5. $sitemap .= "xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd'>\n";


回复

使用道具 举报

1

主题

4

回帖

0

积分

积极分子

金币
4
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-28
 楼主| 发表于 2025-1-7 14:51:55 | 显示全部楼层

什么问题?
回复

使用道具 举报

1

主题

2

回帖

0

积分

积极分子

金币
2
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-8-3
发表于 2025-1-7 19:03:22 | 显示全部楼层

已经改了
回复

使用道具 举报

0

主题

18

回帖

0

积分

积极分子

金币
18
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-9-11
发表于 2025-1-7 19:41:14 | 显示全部楼层
这玩意作用是啥??~~小白表示不太懂
回复

使用道具 举报

1

主题

4

回帖

0

积分

积极分子

金币
4
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-28
 楼主| 发表于 2025-1-10 17:24:49 | 显示全部楼层

改了什么?
回复

使用道具 举报

1

主题

4

回帖

0

积分

积极分子

金币
4
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-28
 楼主| 发表于 2025-1-10 17:26:07 | 显示全部楼层

在此基础上,如何自定义分卷生成多个地图满足搜索引擎xml地图10m的要求呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部