【Taoke-cn.CN - 淘客家】做Discuz论坛的朋友都知道,今天我在discuz官方论坛搜索了一下DZX网站地图xml制作,也在百度搜索了一下,发现对于DZX的地图制作都是通过修改文件的方式来获得sitemap网站地图。
sitemap原理是:
1、修改portal.php文件
2、修改source/module/portal/portal_rss.php,复制一份重命名为portal_sitemap.php,然后进行修改
3、访问地址为:portal?mod=sitemap
我按照上述方法对我的论坛进行了修改配置,在我提交的到头条搜索站长平台时,提示文件格式不对。头条搜索站长平台Sitemap文件支持xml或txt格式。
当准备放弃,直接在discuz应用后台购买,进去之后发现价格不低,都将近200元。功夫不负有心人,淘客家就有这样的淘客能力,不断折腾,想到了一个好的方法,用后台计划任务的方式来做。
DZX sitemap新方法:
新建一个txt文档,输入以下代码:
/*
* $ cron_sitemap.php 2020-3-7 网站地图 计划任务版http://www.taoke-cn.cn
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$filename='sitemap.xml';
//以下五项根据具体情况修改即可
$cfg_updateperi='60';//协议文件更新周期的上限,单位为分钟
$web_root=$_G['siteurl'];//根网址
$CHARSET='gbk';// or utf-8 //选择编码方式
/***********************************************************************************************/
//网站地图sitemap.xml
$sitemap="\n";
$sitemap.="
$sitemap.="xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n";
$sitemap.="xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n";
$sitemap.="xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9\n";
$sitemap.="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\">\n";
$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");
while($threadfid = DB::fetch($querys))
{
$turl=$web_root.'thread-'.$threadfid['tid'].'-1-1.html';//注意静态规则
$link = $turl;
$t=time();
$riqi=date("Y-m-d",$t);
$priority=rand(1,10)/10;
//date("D F d Y",$t);
$sitemap.="\n";
$sitemap.="$link\n";
$sitemap.="$priority\n";
$sitemap.="$riqi\n";
$sitemap.="weekly\n";
$sitemap.="\n";
}
$sitemap .= "\n";
$fp = fopen(DISCUZ_ROOT.'/'.$filename,'w');
fwrite($fp,$sitemap);
fclose($fp);
?>
保存txt文档为:cron_sitemap.php,然后将文件上传至网站 /source/include/cron/目录,然后进入网站后台,在计划任务处添加一个网站地图的计划任务 如图所示:
这样添加 每个小时的第50分钟会去执行一次计划任务 保证每小时的文章都可以生成到sitemap,然后打开robots.txt,在里面加入xml的地址,格式
Sitemap: http://www.taoke-cn.cn/sitemap.xml,如图:
设置好之后去百度站长 360站长、头条搜索站长提交一下sitemap即可。(如果担心自己设置错误的,可以到论坛搜索下载 cron_sitemap.zip 懒人包)