如何使用百度主动推送功能

  • A+
所属分类:系统运维 网络技巧
输入正文标题广告代码(非移动端)

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

1,需要网站制作数据推送接口,进入主动推送工具后,会看到接口调用地址的token,token是由16个英文数字组合的字符串

如何使用百度主动推送功能

2,下面提供一些推送示例
1)curl推送示例
将要提交的url数据写入一个本地文件,比如urls.txt,每个url占一行,然后调用curl命令:

curl -H 'Content-Type:text/plain' --data-binary @urls.txt"http://data.zz.baidu.com/urls?site=www.example.com&token=edk7yc4rEZP9pDQD"

使用php、python、java等可以参照这个过程推送结构化数据。

2)post推送示例

POST /urls?site=www.58.com&token=edk7ychrEZP9pDQD HTTP/1.1User-Agent: curl/7.12.1 Host: data.zz.baidu.com Content-Length: 83http://www.example.com/1.htmlhttp://www.example.com/2.html

3)php推送示例

$urls = array(    'http://www.example.com/1.html',    'http://www.example.com/2.html',);$api = 'http://data.zz.baidu.com/urlssite=www.58.com&token=edk7ychrEZP9pDQD';$ch = curl_init();$options =  array(    CURLOPT_URL => $api,    CURLOPT_POST => true,    CURLOPT_RETURNTRANSFER => true,    CURLOPT_POSTFIELDS => implode("\n", $urls),    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),);curl_setopt_array($ch, $options);$result = curl_exec($ch);echo $result;

4)ruby推送示例

require 'net/http'urls = ['http://www.example.com/1.html', 'http://www.example.com/2.html']uri = URI.parse('http://data.zz.baidu.com/urlssite=www.xxx.com&token=eTk7ychrWZP1pDQD')req = Net::HTTP::Post.new(uri.request_uri)req.body = urls.join("\n")req.content_type = 'text/plain'res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }puts res.body

如何查看推送反馈

您可以通过推送后返回的状态码和字段来判断数据是否推送成功。
1,状态码为200,表示推送成功,可能返回以下字段:

 

字段是否必选参数类型说明
successint成功推送的url条数
remainint当天剩余的可推送url条数
not_same_sitearray由于不是本站url而未处理的url列表
not_validarray不合法的url列表

success

int成功推送的url条数remainint当天剩余的可推送url条数not_same_sitearray由于不是本站url而未处理的url列表not_validarray不合法的url列表

 成功返回示例:

{   "remain":4999998,   "success":2,   "not_same_site":[],   "not_valid":[]}


2
,状态码为4XX500,表示推送失败,返回字段有:

 

字段是否必选参数类型说明
successint成功推送的url条数
remainint当天剩余的可推送url条数
not_same_sitearray由于不是本站url而未处理的url列表
not_validarray不合法的url列表

常见的推送失败返回示例说明:

errormessage含义
400site error站点未在站长平台验证
empty contentpost内容为空
only 2000 urls are allowed once每次最多只能提交2000条链接
over quota超过每日配额了,超配额后再提交都是无效的
401token is not validtoken错误
404not found接口地址填写错误
500internal error, please try later服务器偶然异常,通常重试就会成功

主动推送功能常见问题

1, 和原来的sitemap提交接口有什么区别?
答:状态反馈更及时了,原来提交后需要登录到站长平台查看提交是否成功。目前只要根据提交后返回的数据就可以判断了。

2, 已经存在的提交sitemap数据的程序代码需要做什么修改?
答:主要修改两点。第一点,提交的接口需要修改;第二点,需要处理下接口返回的信息,失败后需要根据错误进行相应处理,报错的链接是无法提交成功的

3,为什么提交成功后看不到数据变化?
答:我们反馈的是新提交链接的数量,如果您提交的链接在之前提交过(即重复提交)是不会被统计到的

4,在什么时机使用主动推送提交功能效果最明显?
答:页面链接产生或发布时立即提交,这样效果是最好的

5,每次提交一条数据和多条数据有什么区别?
答:没有区别

6,重复提交已经发布的链接会有什么问题?
答:会有两个影响。第一,将浪费您提交的配额,每个站点每天可提交的数量是有限制的,如果您都提交了旧链接,当有新链接时可能因为配额耗尽无法提交。第二,如果您经常重复提交旧链接,我们会下调您的配额,您可能会失去主动推送功能的权限

7,主动推送可以推多少条链接?
答:主动推送可提交的链接数量上限是根据您提交的新产生有价值链接数量而决定的,百度会根据您提交数量的情况不定期对上限额进行调整,提交的新产生有价值链接数量越多,可提交链接的上限越高。

 

输入正文底部广告代码(非移动端)
输入评论上方广告代码(非移动端)

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: