教程:WordPress免插件实时推送文章到百度收录的方法

Wordpress 天白 5个月前 (03-19) 168次浏览 0个评论

百度提供三个文章网址链接推送方案,分别是主动推送、自动推送和sitemap 。

对于WordPress程序源码本身来讲

主动推送可实现发布文章的同时提交并推送到百度收录接口,第一时间提醒百度蜘蛛本站点有新链接,可使最新发布的页面在第一时间被百度收录。

自动推送是指页面在可访问的情况下被动推送到百度收录接口,通过javascript脚本来实现,相对部署简单。

sitemap是最较早的常规型网站地图模式,百度会定时来抓取。

对比下来,无疑主动推送效果最好,自动推送次之,sitemap效果较差。

在三种方法的部署上主动推送最方便。下面介绍WordPress博客3种方式的新连接提交方法。

一、主动推送

打开WordPress主题文件中的functions.php模板函数文件,在末尾(?>标记前)增加如下代码。

if(!function_exists('Baidu_Submit')){
    function Baidu_Submit($post_ID) {
        $WEB_TOKEN  = 'xxxxxxxx';  //这里请换成你的网站的百度主动推送的token值
        $WEB_DOMAIN = get_option('home');
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
        $url = get_permalink($post_ID);
        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
        $request = new WP_Http;
        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
        $result = json_decode($result['body'],true);
        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'Baidusubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_Submit', 0);
}
上面代码中的web_token修改成自己的,这个可以通过百度站长后台链接提交页获取。代码中baidusubmit主要防止文章在发布后因为更新造成的重复推送。

二、自动推送

打开WordPress主题文件中footer.php底部文件,在当中添加如下javascript代码。

<script>
(function(){
    var bp = document.createElement('script');
    bp.src = '//push.zhanzhang.baidu.com/push.js';
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

三、sitemap推送

使用google(Google XML Sitemaps)或者百度(Baidu Sitemap )的sitemap插件生成一个sitemap.xml页面,提交到百度站长后台中。

以上三种把文章的新链接推送到百度,实现网站新页面快速收录的方法介绍就完成了,过几天后就可以在后台看到每天推送给百度的链接数量。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址