- 還沒升級成響應式網頁設計? 01-01
- 助力清華同方新媒體—記8月31日鋒云科技成功中標清華同方官網響應式網站升級項目! 01-01
- 為什么有的網站建設的“很爛” 卻能排在首頁? 01-01
- 企業網站建設如何突出網站價值 01-01
隨著網民對于移動化趨勢的加強,移動端流量獲取成為了網站的重中之重。現在主流的數據提交方式共有以下三種:
1,跳轉適配:該方法會利用單獨的網址向每種設備提供不同的代碼。這種配置會嘗試檢測用戶所使用的設備或ua,然后使用HTTP重定向和Vary HTTP標頭重定向到相應的頁面。
2,代碼適配:該方法使用相同的網址(不考慮用戶所使用的設備),但會根據服務器對用戶所用瀏覽器的了解(ua),針對不同設備類型生成不同版本的HTML。
3,自適應:通過同一網址提供相同HTML代碼的網站設計方法。該方法不考慮用戶所使用的設備(pc、平板電腦、移動設備),但可以根據屏幕尺寸以不同方式呈現(即適應)顯示屏。
我們知道,百度發現我們網站內容的方式有那么幾種:
1、是通過百度蜘蛛自動抓取,這種方式是最傳統和原始的方式。這其中當然還可以使用robots協議引導蜘蛛到sitemap文件內,使其加速抓取網站內容。不過歸根結底,該種方式還是向提示蜘蛛來抓取,具體的抓取我們無法判斷。而且還要看蜘蛛對于該站的抓取頻率問題。
2、是通過百度站長工具,將數據主動提交給百度,該種方式能有效的提高百度蜘蛛抓取數據的效率,也是我比較推薦的站長們應該使用的數據提交方式。
百度站長工具提交數據的方式主要有以下三種,下面我們就針對移動網站,來講解一下這三種方式。
第一種方式:主動推送
第二種方式:自動推送
第三種方式:sitemap提交
一、主動推送
主動推送是最為快速的提交方式,將站點當天新產出鏈接立即通過此方式推送給百度,可以保證新鏈接可以及時被百度收錄。
如何使用主動推送功能
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