WordPress发布文章即时推送到百度,加快百度收录

一、主动推送

先来看下百度对于主动推送的一些说明:

    主动推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。

    主动推送支持多种途径:比如curl 、post、php以及ruby等。而且支持一次性提交多条网站页面地址,不过每个站点每天可推送的次数暂时限制在50次。
    使用主动推送功能会达到怎样效果?
    ①、及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
    ②、保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现

    ——摘自百度官方:原文地址

二、PHP代码

WordPress发布文章主动推送到百度的代码非常简单,只要稍微修改一下张戈博客之前分享的《WordPress发布文章自动同步到新浪微博(带特色图片)》中的代码即可搞定:
/**
* WordPress发布文章主动推送到百度,加快收录保护原创
* 文章地址:http://zhangge.net/5041.html
*/
if(!function_exists('Baidu_Submit') && function_exists('curl_init')) {
    function Baidu_Submit($post_ID) {
        $WEB_SITE='zhangge.net'; //这里换成你的首选域名
        $WEB_TOKEN='xxxxxxxxx';  //这里换成你的网站的百度主动推送的token值
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
        $url = get_permalink($post_ID);
        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_SITE.'&token='.$WEB_TOKEN;
        $ch  = curl_init();
        $options =  array(
            CURLOPT_URL => $api,
            CURLOPT_POST => true,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POSTFIELDS => $url,
            CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
        );
        curl_setopt_array($ch, $options);
        $result = json_decode(curl_exec($ch),true);
        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'Baidusubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_Submit', 0);
}

/**
* WordPress发布文章主动推送到百度,加快收录保护原创
* 文章地址:http://zhangge.net/5041.html
*/
if(!function_exists('Baidu_Submit') && function_exists('curl_init')) {
    function Baidu_Submit($post_ID) {
        $WEB_SITE='zhangge.net'; //这里换成你的首选域名
        $WEB_TOKEN='xxxxxxxxx';  //这里换成你的网站的百度主动推送的token值
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
        $url = get_permalink($post_ID);
        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_SITE.'&token='.$WEB_TOKEN;
        $ch  = curl_init();
        $options =  array(
            CURLOPT_URL => $api,
            CURLOPT_POST => true,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POSTFIELDS => $url,
            CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
        );
        curl_setopt_array($ch, $options);
        $result = json_decode(curl_exec($ch),true);
        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'Baidusubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_Submit', 0);
}

先将代码中的 “zhangge.net”替换为你网站首选域名,然后打开百度官方页面:http://zhanzhang.baidu.com/linksubmit/index,获取你网站的专属的token值,替换到代码中的 "xxxxxxxxx"。

 

最后将修改后的代码添加到主题目录下的 functions.php 函数模板并保存。

现在发布新文章,文章地址将会被主动推送到百度。被成功推送的文章,将自动出现如下自定义栏目:

 

从而避免代码重复推送的尴尬,如果你需要更新文章再次推送数据,那么删除或修改这个自定义栏目即可再次被推送。

Ps:虽然,主动推送的各种方法都支持一次推送多条数据,从我个人的经验来看,对于老文章没必要再次推送,频繁推送容易导致百度“翻脸”!

三、其他说明

用心思考的童鞋,应该可以看出百度的目的应该是为了获取文章准确的发布时间,这一项改进很明显就是为了配合之前百度取消快照之后,新增的“文章发布时间"的改动:

我个人认为,之前百度应该是通过分析文章中的时间戳来确认原创文章的发布时间。但是时间戳是可以作弊的,而百度蜘蛛的抓取也不是及时的,这样就带来了文章是否真实原创的争议!比如张戈博客发布一篇文章,蜘蛛还没来得及抓取,就被大站转走而且还不带来源链接,就会出现一种情况:大站的蜘蛛抓取频繁,第一时间就抓到了转载的文章,认为是原创,而真正的原创却由于后抓取被蜘蛛认为是伪原创!是个人都要吐血了吧?

现在有了主动推送就好多了,高质量原创文章发布,第一时间就会推送到百度,从而告知了最准确的原创来源,从而杜绝了抄袭者和原创者出现角色互换的尴尬!还在使用老版 baidusubmit 插件的朋友,可以赶紧试试代码了!

最新补充:早上不经意看到百度官方推荐文章,果然不出我所料:

    新的主动推送工具最大的亮点就是“快”。
    这个工具直接将链接推送给百度,而原来的工具推送的是结构化数据,需要百度进一步解析和内部排序。天下功夫,唯快不破。高手对决中,1微秒决定胜负。快速推送带来的好处是两方面的:一是及时发现,可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录;二是保护原创,对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现。

    新的主动推送工具第二个特点就是“人性化”。
    首先是密匙的人性化,同一个帐号下所有站点的密匙相同。这一点对于一个绑定了多个子域名的大站来说,是个福音,不用为每个子域名写个推送程序,节省时间成本和技术成本。第二个人性化是返回数据人性化,返回数据包含返回码和message,推送完后能立即知道推送结果,而老的工具推送后要登录后台才能查看推送结果。

    另外,使用这个插件时必须确保推送的是最新、高质量的网页链接。
      刚才说新工具的最大亮点是快,之所以能快,是因为跳过了正常抓取时的好几个步骤。百度这样做,是希望能更加快速的抓取到高质量的网页。如果一个网站经常推送一些老的、垃圾页面的链接,百度会很生气的,会认为网站辜负了他的信任,直接后果是百度不再信任这个网站的推送,导致工具失效,是否有其它更恶劣的后果,比如降低网站评价,这个还有待进一步观察。所以,使用这个工具时一定要注意,老的、低质量的网页链接不要推送了。(Ps:为了测试我的代码,我连续推送了十几次老文章,也是醉了。。。)

然后这位仁兄还给出了主动推送和实时推送的对比清单:

不久,我又在百度官方WIKI看到了相关文章,已更新到上文当中 。

原文来自: http://zhangge.net/5041.html

时间: 2024-08-01 14:34:52

WordPress发布文章即时推送到百度,加快百度收录的相关文章

wordpress更新文章实时推送到百度教程

百度最近在站长平台里发布了公告,决定停用现在的百度sitemap1.0,使用了新的推送方式,也就是今天的主角:主动推送(实时). 文章实时推送到百度教程-wordpress 实时推送"> 那么先前安装的wordpress插件也可以卸载了,申请了百度实时推送的接口. 首先给出申请地址:http://zhanzhang.baidu.com/linksubmit/ 大家前去了解下百度新的主动推送机制! 然后,结合本站团队成员维维大神的研究测试,且免去安装WP BaiDu Submit插件的实现了

WordPress文章不收录实时推送新链接到百度收录的方法

1.主动推送 打开WordPress主题文件中的functions.php模板函数文件,在末尾(?>标记前)增加如下代码. if(!function_exists('Baidu_Submit')){    function Baidu_Submit($post_ID) {        $WEB_TOKEN  = 'xxxxxxxx'  //这里请换成你的网站的百度主动推送的token值        $WEB_DOMAIN = get_option('home');        //已成功推

WordPress实时推送新链接到百度实现快速收录的方法

细心的朋友可能已经发现百度站长平台上有个链接提交的选项.百度提供3个方法推送网址收录,分别是主动推送,自动推送和sitemap .已WordPress为例,主动推送可以在文章发布的同时通知百度,缩短百度爬虫发现站点新链接的时间,使新发布的页面可以在第一时间被百度收录,而且官方说法有效保护原创(看样子百度还是根据收录时间来判断文章是否原创).自动推送是指只能在页面被访问的时候才会推送给百度,通过javascript脚本实现,优点是部署简单.sitemap是之前常规的网站地图模式,百度定时来抓. 经

php基于curl主动推送最新内容给百度收录的方法_php技巧

本文实例讲述了php基于curl主动推送最新内容给百度收录的方法.分享给大家供大家参考,具体如下: php curl的好处可以以最快的方式并且模仿post提供我们的url地址给百度搜索引擎进行收录. 百度链接提交三种方式: 1.主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录. 2.sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度.百度会周期性的抓取检查您提交的sitemap,对其中的链接进行

node js-php应用80端口,使用node.js通过8888端口实现即时推送,怎么解决跨域问题?

问题描述 php应用80端口,使用node.js通过8888端口实现即时推送,怎么解决跨域问题? 项目背景是一个php应用.为了加入即时推送功能,使用node.js写了8888端口用于推送即时消息,并使用socket.io进行数据传输. 如何解决80端口应用页面跨域与8888端口建立socket连接问题?

WordPress发布文章/页面时自动添加默认的自定义字段

如果你每篇文章或页面都需要插入同一个自定义字段和值,可以考虑在WordPress发布文章/页面时,自动添加默认的自定义字段.将下面的代码添加到当前主题的 functions.php 即可: 1 2 3 4 5 6 7 8 9 10 11 12 /** * WordPress发布文章/页面时自动添加默认的自定义字段 * https://www.wpdaxue.com/add-custom-field-automatically-post-page-publish.html */ add_actio

php redis实现对200w用户的即时推送

怎么实现对200w用户的即时推送,这个推送可以理解为调用第三方的接口,push,sms之类的东西. 当时先写了一个demo 直接读取DB然后单个推送,结果..可想而知 于是设计一套基于redis+php多进程的方案,用着还不错而去扩展性蛮高的,故分享之. ============================================= 具体的逻辑如下:(无视我的字体) 其实这里还可以优化的,我的设想是如果用户数据再多一些的话,可以在redis里对数据进行分割采取多List,每一个Lis

网站布局与首页文章推送规则

大家都知道,要想获得最新的快照,最快的收录,首先你的文章更新频率要快,其次是你的文章质量要高. 大的网站,少则2.3人负责一个栏目,多则一二十人负责频道或板块,而且还有合作的传统新闻媒体或者网站的第一手原创资料来源,更新频率.数量.质量当然毋庸置疑,收录和快照快也毋庸置疑.但是,对于小网站而言,尤其是一个人的站长站而言,通常一个网站也有3.4个板块,人力有限,不可能做到每个板块每天都更新内容.全站我们通常每天更新两篇原创文章已属不易.因此,这两篇文章,就成为了我们获得最新快照和最快收录的主力军.

百度云推送图文教程IOS_IOS

1.先申请一个百度开发者账号 http://push.baidu.com/fc 2.创建一个新应用,并应用配置 3.选择苹果的图标,开发用就选择开发状态,上线就可以选择生产状态 4.此时就让你上传开发证书,这个上传的文件需要时pem形式的,下面介绍,这个证书怎么配置 *创建APP ID,同一个公司可能会使用类似于 com.example.* 这样通用的 App ID,但是如果要在 App 中加入消息推送功能,那么是不能使用通用 ID 的,需要为之单独创建一个. 首先登陆 iOS Dev Cent