一、主动推送
主动推送是最为快速的提交方式,将站点当天新产出链接立即通过此方式推送给百度,可以保证新链接可以及时被百度收录。
如何使用主动推送功能
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
之后,我们会整理一份文件给大家,大家到时候可以根据文件,自己做主动推送代码。
二、自动推送
自动推送是百度站长平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。
JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用。
安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度。
自动推送代码如何安装使用?
站长需要在每个页面的HTML代码中包含以下自动推送JS代码:
<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>
如果站长使用PHP语言开发的网站,可以按以下步骤操作:
1、创建名为“baidu_js_push.php”的文件,文件内容是上述自动推送JS代码;
2、在每个PHP模板页文件中的 <body> 标记后面添加一行代码:
<?phpinclude_once("baidu_js_push.php") ?>
为什么自动推送可以更快的将页面推送给百度搜索?
基于自动推送的实现原理问题,当新页面每次被浏览时,页面URL会自动推送给百度,无需站长汇总URL再进行主动推送操作。
借助用户的浏览行为来触发推送动作,省去了站长人工操作的时间。
自动推送和链接提交有什么区别?
已经在使用链接提交的网站还需要再部署自动推送代码吗?
二者之间互不冲突,互为补充。已经使用主动推送的站点,依然可以部署自动推送的JS代码,二者一起使用。
什么样的网站更适合使用自动推送?
自动推送由于实现便捷和后续维护成本低的特点,适合技术能力相对薄弱,无能力支持全天候实时主动推送程序的站长。
站长仅需一次部署自动推送JS代码的操作,就可以实现新页面被浏览即推送的效果,低成本实现链接自动提交。
同时,我们也支持主动推送和自动推送代码配合使用,二者互不影响。