这对于网站SEO至关重要,可以让你新发布或更新的页面更快地被百度蜘蛛发现和抓取,从而加快收录速度。

我们将分步进行,从准备工作到具体配置,再到验证和排错。
第一步:准备工作(在百度站长平台操作)
在配置织梦之前,你必须在百度站长平台完成以下两步:
-
验证网站所有权
- 登录 百度站长平台。
- 添加你的网站(
www.yourdomain.com)。 - 按照平台提示完成网站验证,你可以选择 文件验证 或 CNAME验证,推荐使用文件验证,因为对织梦来说最简单。
- 文件验证:下载一个验证文件(如
baidu_verify_xxxxxx.html),通过FTP上传到你网站的根目录()下即可。
-
获取推送接口的
Token
(图片来源网络,侵删)- 验证成功后,在百度站长平台的左侧菜单栏找到 链接提交 -> 普通收录。
- 在页面顶部,你会看到一个 接口调用地址,格式如下:
http://data.zz.baidu.com/urls?site=你的域名&token=你的密钥 - 请务必复制并保存好这个完整的URL,后面的配置会用到。
你的域名和你的密钥都是你自己的。
第二步:修改织梦DedeCMS文件
我们将通过修改织梦的核心文件,来实现发布文章和更新文章时自动调用百度推送接口。
自动推送(推荐)
这是最简单、最常用的方法,它会在页面被用户访问时,通过JS代码向百度推送该页面,这相当于告诉百度:“这个页面有人在看,很重要,快来看看吧!”
优点:
- 配置简单,只需修改一个模板文件。
- 只推送有用户访问的页面,避免推送无价值的页面(如草稿、测试文章)。
- 符合百度官方的“自动推送”规范。
操作步骤:

-
找到模板文件 打开你的FTP或文件管理器,进入织梦的模板目录
/templets/,然后找到你当前使用的默认模板文件夹(/default/),在里面找到article_article.htm文件,这是文章内容页的模板。注意:如果你的文章页使用的是其他模板(比如自定义的),请找到对应的模板文件。
-
修改模板文件 用文本编辑器(如Notepad++, VS Code, Sublime Text)打开
article_article.htm文件。 -
添加JS代码 在
<head>和</head>标签之间,任意位置,添加以下百度官方提供的自动推送JS代码。<script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> -
保存并上传 保存修改后的
article_article.htm文件,并通过FTP上传回服务器,覆盖原文件。
完成! 现在每当有用户访问你的文章页面时,这个页面就会被自动推送给百度。
主动推送(更高效)
主动推送是在你发布或更新文章的瞬间,直接将文章的URL列表通过API发送给百度,这比自动推送更主动,理论上能带来更快的收录速度。
优点:
- 收录速度可能更快。
- 可以确保所有新内容都“通知”到百度。
缺点:
- 配置稍复杂,需要修改PHP文件。
- 如果文章发布后长时间无人访问,也可能被推送,但百度蜘蛛不一定马上抓取。
操作步骤:
-
找到核心文件 打开FTP,进入织梦的核心文件目录
/dede/。 -
修改文章发布/编辑文件 我们需要修改两个文件,一个用于发布文章时推送,一个用于更新文章时推送。
-
发布文章时推送: 找到并打开文件:
/dede/archives_add.php在文件的最后?>之前,添加以下PHP代码:// 百度主动推送开始 $baiduPushApiUrl = 'http://data.zz.baidu.com/urls?site=你的域名&token=你的密钥'; // 请替换成你自己的API地址 $arcurl = 'http://你的域名'.$arcurl; // 请替换成你自己的域名 $ch = curl_init(); $options = array( CURLOPT_URL => $baiduPushApiUrl, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $arcurl, CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); curl_close($ch); // 百度主动推送结束 -
更新文章时推送: 找到并打开文件:
/dede/archives_edit.php同样,在文件的最后?>之前,添加上面那段完全相同的PHP代码。
-
-
替换占位符 在你刚刚添加的代码中,请务必将以下内容替换成你自己的信息:
你的域名:替换成你的网站域名,www.yourdomain.com。你的密钥:替换成你在百度站长平台获取的token。http://你的域名:同样替换成你的网站域名。
-
保存并上传 保存这两个修改过的文件,并上传回服务器。
完成! 现在你每发布一篇新文章或更新一篇文章,系统都会自动尝试主动推送给百度。
第三步:验证和测试
配置完成后,你需要验证它是否正常工作。
验证自动推送(方案一)
- 清除浏览器缓存。
- 访问你网站的一篇旧文章。
- 访问你网站的一篇新文章(刚发布的)。
- 登录 百度站长平台,进入 链接提交 -> 普通收录。
- 点击 推送状态 标签页,查看“自动推送”的数据,通常几分钟到几小时内,你应该能看到推送成功的记录。
验证主动推送(方案二)
- 登录你的织梦后台。
- 发布一篇全新的文章,或者编辑一篇已有的文章并点击“保存”。
- 登录 百度站长平台,进入 链接提交 -> 普通收录。
- 点击 推送状态 标签页,查看“主动推送”的数据,你应该能在几分钟内看到这篇文章的推送记录。
如果推送成功,会显示类似这样的信息:
成功推送1个链接,剩余配额XXXXX
常见问题与排错
-
Q: 推送失败,提示“site or token is invalid”?
- A: 这是最常见的错误,请检查你在代码中填写的
site(域名)和token是否与百度站长平台上的完全一致,包括协议(http/https)和大小写,一个字符都不能错。
- A: 这是最常见的错误,请检查你在代码中填写的
-
Q: 推送失败,提示“连接超时”?
- A: 这通常是由于服务器网络问题或百度接口暂时不可用,可以稍等片刻再试,如果持续出现,可能是你的服务器防火墙阻止了对外请求。
-
Q: 我用的是主动推送,但文章更新后百度站长平台没反应?
- A: 请检查你是否修改对了文件(
archives_add.php和archives_edit.php),确认代码是否成功添加到了?>之前,如果代码没问题,可以尝试在代码前后加上echo '推送执行完毕';来看看后台是否真的执行了这段代码(通过在页面源码中查找)。
- A: 请检查你是否修改对了文件(
-
Q: 我应该用自动推送还是主动推送?
- A: 对于绝大多数网站,强烈推荐使用方案一(自动推送),它最简单、最稳定,且符合百度官方的推荐逻辑,主动推送可以作为补充,如果你对收录速度有极致要求,可以两个方案同时使用。
-
Q: 除了文章页,首页和栏目页需要推送吗?
- A: 自动推送方案会自动推送所有被用户访问的页面,包括首页、栏目页、文章页等,所以无需额外操作,主动推送方案目前只配置了文章页,如果你也想主动推送首页和栏目页,需要修改对应的首页生成文件(
index_make.php)和栏目页生成文件,但这会增加复杂性,通常自动推送已经足够覆盖。
- A: 自动推送方案会自动推送所有被用户访问的页面,包括首页、栏目页、文章页等,所以无需额外操作,主动推送方案目前只配置了文章页,如果你也想主动推送首页和栏目页,需要修改对应的首页生成文件(
希望这份详细的教程能帮助你成功配置织梦的百度推送功能!
