久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

Discuz! 官方交流社區

標題: 輕松搞定Discuz!建站的sitemap.xml網站地圖-完全免費 [打印本頁]

作者: 木易    時間: 2024-12-13 11:35
標題: 輕松搞定Discuz!建站的sitemap.xml網站地圖-完全免費
本帖最后由 木易 于 2024-12-13 11:37 編輯

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的要求!!!


作者: IsaacZ    時間: 2025-1-3 22:13
很新的教程啊,如果真能用,可以拋棄插件了!
作者: 木易    時間: 2025-1-6 16:49
IsaacZ 發表于 2025-1-3 22:13
很新的教程啊,如果真能用,可以拋棄插件了!

當然能用,我就一直在用啊。
https://www.footballclub.cc/sitemap.xml
作者: 文強    時間: 2025-1-6 17:07
木易 發表于 2025-1-6 16:49
當然能用,我就一直在用啊。
https://www.footballclub.cc/sitemap.xml

你這個貌似只針對論壇的帖子,沒有文章的!

這是我的,僅供參考------https://www.boonkiong.com/thread-4473-1-1.html
作者: xxc_00126    時間: 2025-1-6 17:16
代碼有問題的地方:

  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";
復制代碼



作者: 木易    時間: 2025-1-7 14:51
xxc_00126 發表于 2025-1-6 17:16
代碼有問題的地方:

什么問題?
作者: xxc_00126    時間: 2025-1-7 19:03
木易 發表于 2025-1-7 14:51
什么問題?

已經改了
作者: 碉堡了    時間: 2025-1-7 19:41
這玩意作用是啥??~~小白表示不太懂
作者: 木易    時間: 2025-1-10 17:24
xxc_00126 發表于 2025-1-7 19:03
已經改了

改了什么?
作者: 木易    時間: 2025-1-10 17:26
文強 發表于 2025-1-6 17:07
你這個貌似只針對論壇的帖子,沒有文章的!

這是我的,僅供參考------https://www.boonkiong.com/thread ...

在此基礎上,如何自定義分卷生成多個地圖滿足搜索引擎xml地圖10m的要求呢?
作者: lzixu    時間: 2025-1-25 14:39
3.5的報錯。。

(, 下載次數: 13)


作者: 小巔峰    時間: 2025-1-26 17:39
免費的插件 大家可以試試 https://addon.dismall.com/plugins/nimba_sitemap.2996.html
作者: 文強    時間: 2025-1-29 16:40
木易 發表于 2025-1-7 14:51
什么問題?

你注意看,很多符號被吞掉了。
例如:
$sitemap="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
你的代碼是:
$sitemap="<?xml version="1.0" encoding="UTF-8"?>\n";
第15行的:
$sitemap.="xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n";
你的:
$sitemap.="xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"\n";
第16行和第17行也是錯誤。
作者: 木易    時間: 2025-2-7 08:03
小巔峰 發表于 2025-1-26 17:39
免費的插件 大家可以試試 https://addon.dismall.com/plugins/nimba_sitemap.2996.html

插件還是算了吧,全是套路,免費只是一個噱頭,安裝后各種限制。。。然后誘導你買收費版。。。
作者: 木易    時間: 2025-2-7 08:04
文強 發表于 2025-1-29 16:40
你注意看,很多符號被吞掉了。
例如:
$sitemap="\n";

但是貌似能正常用呀,問題在哪?
作者: lzixu    時間: 2025-2-7 10:20
小巔峰 發表于 2025-1-26 17:39
免費的插件 大家可以試試 https://addon.dismall.com/plugins/nimba_sitemap.2996.html

免費版,好像只能生成10000條
作者: 小巔峰    時間: 2025-2-11 20:41
lzixu 發表于 2025-2-7 10:20
免費版,好像只能生成10000條

嗯   是的
作者: 尤金    時間: 2025-3-14 21:22
文強 發表于 2025-1-6 17:07
你這個貌似只針對論壇的帖子,沒有文章的!

這是我的,僅供參考------https://www.boonkiong.com/thread ...

https://boonkiong.com/sitemap.html
你好請教你這個sitemap.html是如何生成的?用的插件嗎?
作者: 文強    時間: 2025-3-14 21:38
本帖最后由 文強 于 2025-3-14 21:59 編輯
尤金 發表于 2025-3-14 21:22
https://boonkiong.com/sitemap.html
你好請教你這個sitemap.html是如何生成的?用的插件嗎? ...

我用的是php文件,放在根目錄,然后做了.php跳轉到.html


(, 下載次數: 46)

作者: 尤金    時間: 2025-3-14 22:04
文強 發表于 2025-3-14 21:38
我用的是php文件,放在根目錄,然后做了.php跳轉到.html

謝謝老哥,你這個代碼包括論壇帖子?門戶文章,還是只包括論壇帖子?
作者: 尤金    時間: 2025-3-14 22:10
文強 發表于 2025-3-14 21:38
我用的是php文件,放在根目錄,然后做了.php跳轉到.html

另外請問.php跳轉到.html如何操作
作者: 文強    時間: 2025-3-14 22:16
尤金 發表于 2025-3-14 22:10
另外請問.php跳轉到.html如何操作

其實我之前寫錯了,不是跳轉,是可以把 .php 后綴換成 .html,這個要在 .htaccess 偽靜態文件里添加代碼,代碼如下:

  1. RewriteRule ^(\w*)\.html$  $1.php [L]
  2. RewriteRule ^([a-z]+)-(.+)\.html$  $1.php?rewrite=$2
  3. RewriteCond %{QUERY_STRING} ^(.*)$
  4. RewriteRule ^([^.]*)/([a-z]+)-(.+).html$ $1/$2.php?rewrite=$3
復制代碼

作者: 尤金    時間: 2025-3-15 11:39
文強 發表于 2025-3-14 22:16
其實我之前寫錯了,不是跳轉,是可以把 .php 后綴換成 .html,這個要在 .htaccess 偽靜態文件里添加代碼 ...

好的老哥,你是寶塔面板嗎,這段代碼是不是也可以加在這里?

(, 下載次數: 11)

或者發下你放代碼位置的截圖



作者: 文強    時間: 2025-3-15 11:46
尤金 發表于 2025-3-15 11:39
好的老哥,你是寶塔面板嗎,這段代碼是不是也可以加在這里?

我用的是 LiteSpeed 的服務器,偽靜態文件就在網站的根目錄



(, 下載次數: 12)

作者: 尤金    時間: 2025-3-15 22:55
文強 發表于 2025-3-15 11:46
我用的是 LiteSpeed 的服務器,偽靜態文件就在網站的根目錄

我之前用的老鷹主機也是這個cPanel面板,文件管理器跟你這個截圖一模一樣。你說的LiteSpeed 是服務器商嗎?






歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) Powered by Discuz! W1.0