隨著網(wǎng)民對于移動化趨勢的加強,移動端流量獲取成為了網(wǎng)站的重中之重。現(xiàn)在主流的數(shù)據(jù)提交方式共有以下三種:
1,跳轉(zhuǎn)適配:該方法會利用單獨的網(wǎng)址向每種設(shè)備提供不同的代碼。這種配置會嘗試檢測用戶所使用的設(shè)備或ua,然后使用HTTP重定向和Vary HTTP標頭重定向到相應(yīng)的頁面。
2,代碼適配:該方法使用相同的網(wǎng)址(不考慮用戶所使用的設(shè)備),但會根據(jù)服務(wù)器對用戶所用瀏覽器的了解(ua),針對不同設(shè)備類型生成不同版本的HTML。
3,自適應(yīng):通過同一網(wǎng)址提供相同HTML代碼的網(wǎng)站設(shè)計方法。該方法不考慮用戶所使用的設(shè)備(pc、平板電腦、移動設(shè)備),但可以根據(jù)屏幕尺寸以不同方式呈現(xiàn)(即適應(yīng))顯示屏。
我們知道,百度發(fā)現(xiàn)我們網(wǎng)站內(nèi)容的方式有那么幾種:
1、是通過百度蜘蛛自動抓取,這種方式是最傳統(tǒng)和原始的方式。這其中當然還可以使用robots協(xié)議引導(dǎo)蜘蛛到sitemap文件內(nèi),使其加速抓取網(wǎng)站內(nèi)容。不過歸根結(jié)底,該種方式還是向提示蜘蛛來抓取,具體的抓取我們無法判斷。而且還要看蜘蛛對于該站的抓取頻率問題。
2、是通過百度站長工具,將數(shù)據(jù)主動提交給百度,該種方式能有效的提高百度蜘蛛抓取數(shù)據(jù)的效率,也是我比較推薦的站長們應(yīng)該使用的數(shù)據(jù)提交方式。
百度站長工具提交數(shù)據(jù)的方式主要有以下三種,下面我們就針對移動網(wǎng)站,來講解一下這三種方式。
第一種方式:主動推送
第二種方式:自動推送
第三種方式:sitemap提交
一、主動推送
主動推送是最為快速的提交方式,將站點當天新產(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等可以參照這個過程推送結(jié)構(gòu)化數(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
掃一掃 加微信咨詢