织梦如何实现百度站长主动推送?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 织梦建站 正文

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

织梦 百度站长推送
(图片来源网络,侵删)

我们将分步进行,从准备工作到具体配置,再到验证和排错。


第一步:准备工作(在百度站长平台操作)

在配置织梦之前,你必须在百度站长平台完成以下两步:

  1. 验证网站所有权

    • 登录 百度站长平台
    • 添加你的网站(www.yourdomain.com)。
    • 按照平台提示完成网站验证,你可以选择 文件验证CNAME验证,推荐使用文件验证,因为对织梦来说最简单。
    • 文件验证:下载一个验证文件(如 baidu_verify_xxxxxx.html),通过FTP上传到你网站的根目录()下即可。
  2. 获取推送接口的 Token

    织梦 百度站长推送
    (图片来源网络,侵删)
    • 验证成功后,在百度站长平台的左侧菜单栏找到 链接提交 -> 普通收录
    • 在页面顶部,你会看到一个 接口调用地址,格式如下: http://data.zz.baidu.com/urls?site=你的域名&token=你的密钥
    • 请务必复制并保存好这个完整的URL,后面的配置会用到。你的域名你的密钥 都是你自己的。

第二步:修改织梦DedeCMS文件

我们将通过修改织梦的核心文件,来实现发布文章和更新文章时自动调用百度推送接口。

自动推送(推荐)

这是最简单、最常用的方法,它会在页面被用户访问时,通过JS代码向百度推送该页面,这相当于告诉百度:“这个页面有人在看,很重要,快来看看吧!”

优点

  • 配置简单,只需修改一个模板文件。
  • 只推送有用户访问的页面,避免推送无价值的页面(如草稿、测试文章)。
  • 符合百度官方的“自动推送”规范。

操作步骤

织梦 百度站长推送
(图片来源网络,侵删)
  1. 找到模板文件 打开你的FTP或文件管理器,进入织梦的模板目录 /templets/,然后找到你当前使用的默认模板文件夹(/default/),在里面找到 article_article.htm 文件,这是文章内容页的模板。

    注意:如果你的文章页使用的是其他模板(比如自定义的),请找到对应的模板文件。

  2. 修改模板文件 用文本编辑器(如Notepad++, VS Code, Sublime Text)打开 article_article.htm 文件。

  3. 添加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>
  4. 保存并上传 保存修改后的 article_article.htm 文件,并通过FTP上传回服务器,覆盖原文件。

完成! 现在每当有用户访问你的文章页面时,这个页面就会被自动推送给百度。


主动推送(更高效)

主动推送是在你发布或更新文章的瞬间,直接将文章的URL列表通过API发送给百度,这比自动推送更主动,理论上能带来更快的收录速度。

优点

  • 收录速度可能更快。
  • 可以确保所有新内容都“通知”到百度。

缺点

  • 配置稍复杂,需要修改PHP文件。
  • 如果文章发布后长时间无人访问,也可能被推送,但百度蜘蛛不一定马上抓取。

操作步骤

  1. 找到核心文件 打开FTP,进入织梦的核心文件目录 /dede/

  2. 修改文章发布/编辑文件 我们需要修改两个文件,一个用于发布文章时推送,一个用于更新文章时推送。

    • 发布文章时推送: 找到并打开文件:/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代码。

  3. 替换占位符 在你刚刚添加的代码中,请务必将以下内容替换成你自己的信息:

    • 你的域名:替换成你的网站域名,www.yourdomain.com
    • 你的密钥:替换成你在百度站长平台获取的 token
    • http://你的域名:同样替换成你的网站域名。
  4. 保存并上传 保存这两个修改过的文件,并上传回服务器。

完成! 现在你每发布一篇新文章或更新一篇文章,系统都会自动尝试主动推送给百度。


第三步:验证和测试

配置完成后,你需要验证它是否正常工作。

验证自动推送(方案一)

  1. 清除浏览器缓存。
  2. 访问你网站的一篇旧文章
  3. 访问你网站的一篇新文章(刚发布的)。
  4. 登录 百度站长平台,进入 链接提交 -> 普通收录
  5. 点击 推送状态 标签页,查看“自动推送”的数据,通常几分钟到几小时内,你应该能看到推送成功的记录。

验证主动推送(方案二)

  1. 登录你的织梦后台。
  2. 发布一篇全新的文章,或者编辑一篇已有的文章并点击“保存”。
  3. 登录 百度站长平台,进入 链接提交 -> 普通收录
  4. 点击 推送状态 标签页,查看“主动推送”的数据,你应该能在几分钟内看到这篇文章的推送记录。

如果推送成功,会显示类似这样的信息: 成功推送1个链接,剩余配额XXXXX


常见问题与排错

  • Q: 推送失败,提示“site or token is invalid”?

    • A: 这是最常见的错误,请检查你在代码中填写的 site(域名)和 token 是否与百度站长平台上的完全一致,包括协议(http/https)和大小写,一个字符都不能错。
  • Q: 推送失败,提示“连接超时”?

    • A: 这通常是由于服务器网络问题或百度接口暂时不可用,可以稍等片刻再试,如果持续出现,可能是你的服务器防火墙阻止了对外请求。
  • Q: 我用的是主动推送,但文章更新后百度站长平台没反应?

    • A: 请检查你是否修改对了文件(archives_add.phparchives_edit.php),确认代码是否成功添加到了 ?> 之前,如果代码没问题,可以尝试在代码前后加上 echo '推送执行完毕'; 来看看后台是否真的执行了这段代码(通过在页面源码中查找)。
  • Q: 我应该用自动推送还是主动推送?

    • A: 对于绝大多数网站,强烈推荐使用方案一(自动推送),它最简单、最稳定,且符合百度官方的推荐逻辑,主动推送可以作为补充,如果你对收录速度有极致要求,可以两个方案同时使用。
  • Q: 除了文章页,首页和栏目页需要推送吗?

    • A: 自动推送方案会自动推送所有被用户访问的页面,包括首页、栏目页、文章页等,所以无需额外操作,主动推送方案目前只配置了文章页,如果你也想主动推送首页和栏目页,需要修改对应的首页生成文件(index_make.php)和栏目页生成文件,但这会增加复杂性,通常自动推送已经足够覆盖。

希望这份详细的教程能帮助你成功配置织梦的百度推送功能!

-- 展开阅读全文 --
头像
C语言strtok函数如何正确使用?
« 上一篇 今天
C语言中如何使用vardump输出变量信息?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]