概述
织梦CMS(DedeCMS)是一款广泛使用的开源内容管理系统,但默认情况下并不支持自动将新生成的sitemap地址推送给搜索引擎,为了提高网站内容的收录速度和原创保护,可以通过手动或自动的方式实现实时推送sitemap地址给百度。
方法一:手动创建文件推送
1、创建PHP文件:在织梦CMS根目录下创建一个名为tuisong.php的文件,并在其中添加以下代码:
<?php require_once ("include/common.inc.php"); require_once "include/arc.partview.class.php"; require_once('include/charset.func.php'); $year = date("Y"); $month = date("m"); $day = date("d"); $dayBegin = mktime(0,0,0,$month,$day,$year); //当天开始时间戳 $dayEnd = mktime(23,59,59,$month,$day,$year); //当天结束时间戳 $query = "SELECT arch.id, types.typedir FROM dede_arctype AS types INNER JOIN dede_archives AS arch ON types.id = arch.typeid WHERE pubdate <= $dayEnd AND pubdate >= $dayBegin"; $urls = ""; $dsql>Execute('arch.id, types.typedir', $query); while ($row = $dsql>GetArray('arch.id, types.typedir')) { $urls .= "http://www.yourdomain.com".str_replace("{cmspath}", "", $row['typedir'])."/".$row[id].".html".","; } $urls = substr($urls, 0, 1); $urls = explode(",", $urls); $api = 'http://data.zz.baidu.com/urls?site=yourdomain&token=yourtoken'; //前边的site换成自己的site,xxx换成自己的密钥 $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode(" ", $urls), CURLOPT_HTTPHEADER => array('ContentType: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); echo $result.'<br>'.count($urls); ?>
2、访问文件:每天访问tuisong.php文件,即可将当天的全部文章链接推送到百度搜索引擎。
方法二:发布文章时自动推送
1、修改article_add.php文件:找到并打开织梦CMS后台的article_add.php文件,找到第262行左右的位置,加入以下代码:
// 百度主动推送 if ($artUrl != '') { $urls[] = 'http://www.yourdomain.com'.$artUrl; //前面域名换成你自己的域名 $api = 'http://data.zz.baidu.com/urls?site=yourdomain&token=yourtoken'; //前边site换成自己的site,xxx换成自己的密钥 $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode(" ", $urls), CURLOPT_HTTPHEADER => array('ContentType: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); echo $result; }
2、保存并测试:保存文件后,每次发布新文章时,系统会自动将新文章的链接推送给百度。
FAQs
问题1:如何获取百度站长平台的准入密钥?
答:要获取百度站长平台的准入密钥,首先需要登录百度站长平台(https://ziyuan.baidu.com/),然后按照以下步骤操作:
1、添加并验证网站:点击“我的网站” > “添加网站”,输入您的网站域名并完成验证。
2、获取准入密钥:验证通过后,进入“链接提交” > “主动推送”页面,您将看到站点的准入密钥,记下这个密钥,用于配置织梦CMS的推送功能。
问题2:推送失败怎么办?
答:如果推送失败,可以按照以下步骤进行排查和解决:
1、检查密钥:确保您在推送代码中使用的准入密钥是正确的,并且没有拼写错误。
2、查看返回码:根据百度接口的返回码,判断具体的错误原因,状态码401表示token无效,需要重新获取并替换。
3、日志记录:在推送代码中添加日志记录功能,记录每次推送的详细信息,便于后续分析问题。
4、联系百度支持:如果以上方法都无法解决问题,可以尝试联系百度站长平台的支持团队,寻求帮助。
参数 | 说明 | 示例 |
sitemap_url | 百度推送的 Sitemap 地址 | http://www.example.com/sitemap.xml |
sitemap_lastmod | Sitemap 最后一次修改时间 | 20230101T00:00:00Z |
sitemap_changefreq | Sitemap 更新频率 | daily |
sitemap_priority | Sitemap 中某个页面的优先级 | 0.8 |
sitemap_news | 是否为新闻 Sitemap | false |
sitemap_news_pubdate | 新闻发布时间 | 20230101T00:00:00Z |
sitemap_news_source | 新闻来源 | Example News Source |
sitemap_news_category | 新闻分类 | Technology |
示例仅为参考,实际推送时需要根据您的网站结构和需求进行调整。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1192766.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复