4年前 (2015-09-20)  系统运维 网络技巧 |   58 条评论  188 
百度已收录 | 文章评分 0 次,平均分 0.0

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

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.1
User-Agent: curl/7.12.1 
Host: data.zz.baidu.com 
Content-Length: 83
http://www.example.com/1.html
http://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/urls
site=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/urls
site=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,表示推送成功,可能返回以下字段:

 

字段 是否必选 参数类型 说明
success int 成功推送的url条数
remain int 当天剩余的可推送url条数
not_same_site array 由于不是本站url而未处理的url列表
not_valid array 不合法的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,表示推送失败,返回字段有:

 

字段 是否必选 参数类型 说明
success int 成功推送的url条数
remain int 当天剩余的可推送url条数
not_same_site array 由于不是本站url而未处理的url列表
not_valid array 不合法的url列表

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

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

主动推送功能常见问题

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

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

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

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

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

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

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

 

 

除特别注明外,本站所有文章均为张子豪博客(ZihaoBlog)原创,转载请注明出处来自https://www.zihao123.com/359.html

关于
93年菜鸟云主机运维。

发表评论

表情 格式

暂无评论

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

×
订阅图标按钮