或者

移动网站如何快速向百度提交数据

作者:青柠i 浏览:172 发布时间:2018-01-10
分享 评论 0

站长学院公开课已经进行了一期,收到了大量站长同学的提问和建议,根据大家的反馈,第二期公开课的选题为《移动网站如何快速提交数据》,本期的培训嘉宾是百度站长社区版主:李松松,2009开始接触互联网,然后就一发不可收拾,做过数百企业站的优化推广工作,垂直行业门户网站、论坛、小说优化推广,目前在职母婴行业.


这期的课跟上期息息相关,首先回顾一下上期内容,上期院长主要讲了移动建站与选型.随着网民对于移动化趋势的加强,移动端流量获取成为了网站的重中之重.现在主流的数据提交方式共有以下三种:


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.1User-Agent: curl/7.12.1 Host: data.zz.baidu.com Content-Length: 83http://www.example.com/1.htmlhttp://www.example.com/2.html3)php推送示例$urls = array('http://www.example.com/1.html','http://www.example.com/2.html',);$api = 'http://data.zz.baidu.com/urlssite=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/urlssite=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站和移动站均可使用.


安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度.