一、主動推送
主動推送是最為快速的提交方式,將站點當天新產(chǎn)出鏈接立即通過此方式推送給百度,可以保證新鏈接可以及時被百度收錄。
如何使用主動推送功能
1,需要網(wǎng)站制作數(shù)據(jù)推送接口,進入主動推送工具后,會看到接口調(diào)用地址的token,token是由16個英文數(shù)字組合的字符串
2,下面提供一些推送示例
1)curl推送示例
將要提交的url數(shù)據(jù)寫入一個本地文件,比如urls.txt,每個url占一行,然后調(diào)用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等可以參照這個過程推送結構化數(shù)據(jù)。
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
之后,我們會整理一份文件給大家,大家到時候可以根據(jù)文件,自己做主動推送代碼。
二、自動推送
自動推送是百度站長平臺為提高站點新增網(wǎng)頁發(fā)現(xiàn)速度推出的工具,安裝自動推送JS代碼的網(wǎng)頁,在頁面被訪問時,頁面URL將立即被推送給百度。
JS鏈接推送代碼以網(wǎng)頁為最小對象,服務于全平臺多終端,PC站和移動站均可使用。
安裝代碼的頁面在任意平臺(瀏覽器、微信、微博)被加載時,頁面鏈接會被第一時間推送給百度,從而提高站點新內(nèi)容的發(fā)現(xiàn)速度。
自動推送代碼如何安裝使用?
站長需要在每個頁面的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語言開發(fā)的網(wǎng)站,可以按以下步驟操作:
1、創(chuàng)建名為“baidu_js_push.php”的文件,文件內(nèi)容是上述自動推送JS代碼;
2、在每個PHP模板頁文件中的 <body> 標記后面添加一行代碼:
<?phpinclude_once("baidu_js_push.php") ?>
為什么自動推送可以更快的將頁面推送給百度搜索?
基于自動推送的實現(xiàn)原理問題,當新頁面每次被瀏覽時,頁面URL會自動推送給百度,無需站長匯總URL再進行主動推送操作。
借助用戶的瀏覽行為來觸發(fā)推送動作,省去了站長人工操作的時間。
自動推送和鏈接提交有什么區(qū)別?
已經(jīng)在使用鏈接提交的網(wǎng)站還需要再部署自動推送代碼嗎?
二者之間互不沖突,互為補充。已經(jīng)使用主動推送的站點,依然可以部署自動推送的JS代碼,二者一起使用。
什么樣的網(wǎng)站更適合使用自動推送?
自動推送由于實現(xiàn)便捷和后續(xù)維護成本低的特點,適合技術能力相對薄弱,無能力支持全天候實時主動推送程序的站長。
站長僅需一次部署自動推送JS代碼的操作,就可以實現(xiàn)新頁面被瀏覽即推送的效果,低成本實現(xiàn)鏈接自動提交。
同時,我們也支持主動推送和自動推送代碼配合使用,二者互不影響。