随着网民对于移动化趋势的加强,移动端流量获取成为了网站的重中之重。现在主流的数据提交方式共有以下三种:
1、跳转适配:该方法会利用单独的网址向每种设备提供不同的代码。这种配置会尝试检测用户所使用的设备或ua,然后使用 HTTP 重定向和 Vary HTTP标头重定向到相应的页面。
2、代码适配:该方法使用相同的网址(不考虑用户所使用的设备),但会根据服务器对用户所用浏览器的了解(ua),针对不同设备类型生成不同版本的HTML。
3、自适应:通过同一网址提供相同 HTML 代码的网站设计方法。该方法不考虑用户所使用的设备(pc、平板电脑、移动设备),但可以根据屏幕尺寸以不同方式呈现(即适应)显示屏。
我们知道,百度发现我们网站内容的方式有那么几种:
1、通过百度蜘蛛自动抓取,这种方式是最传统和原始的方式。这其中当然还可以使用robots协议引导蜘蛛到sitemap文件内,使其加速抓取网站内容。不过归根结底,该种方式还是向提示蜘蛛来抓取,具体的抓取我们无法判断。而且还要看蜘蛛对于该站的抓取频率问题。
2、通过百度站长工具,将数据主动提交给百度,该种方式能有效的提高百度蜘蛛抓取数据的效率,也是我比较推荐的站长们应该使用的数据提交方式。
百度站长工具提交数据的方式主要有以下两种,下面我们就针对移动网站,来讲解一下这两种方式。
第一种方式:API推送
第二种方式:sitemap提交
一、API推送
API推送是最为快速的提交方式,将站点当天新产出链接立即通过此方式推送给百度,可以保证新链接可以及时被百度收录。
如何使用API推送功能
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
二、移动Sitemap
百度推出了移动Sitemap协议,用于将网址提交给移动搜索收录。百度移动Sitemap协议是在标准Sitemap协议基础上制定的,增加了<mobile:mobile/>标签,它有四种取值:
<mobile:mobile/> :移动网页
<mobile:mobile type="mobile"/> :移动网页
<mobile:mobile type="pc,mobile"/>:自适应网页
<mobile:mobile type="htmladapt"/>:代码适配
百度移动Sitemap协议的写法
这里关于传统PC站的sitemap写法就不说了。
1、向百度提交移动网页的sitemap协议写法样例:
<?xml version="1.0"encoding="UTF-8" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/"> <url> <loc>http://m.abc.com/index.html</loc> <mobile:mobiletype="mobile"/> <lastmod>2009-12-14</lastmod> <changefreq>daily</changefreq> <priority>0.8</priority> </url> </urlset>
2、向百度提交自适应网页的sitemap协议写法样例:
<?xml version="1.0"encoding="UTF-8" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/"> <url> <loc>http://www.abc.com/autoadapt.html</loc> <mobile:mobiletype="pc,mobile"/> <lastmod>2009-12-14</lastmod> <changefreq>daily</changefreq> <priority>0.8</priority> </url> </urlset>
3、向百度提交代码适配网页的sitemap协议写法样例:
<?xml version="1.0"encoding="UTF-8" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/"> <url> <loc>http://www.abc.com/htmladapt.html</loc> <mobile:mobiletype="htmladapt"/> <lastmod>2009-12-14</lastmod> <changefreq>daily</changefreq> <priority>0.8</priority> </url> </urlset>
按照移动Sitemap协议做好Sitemap后,在Sitemap工具点击添加新数据提交,与提交普通Sitemap方式一致。