如何选择普通收录方式
API推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
sitemap:您可以定期将网站链接放到Sitemap中,然后将Sitemap提交给百度。百度会周期性的抓取检查您提交的Sitemap,对其中的链接进行处理,但收录速度慢于API推送。
手动提交:如果您不想通过程序提交,那么可以采用此种方式,手动将链接提交给百度。
使用API推送功能会达到怎样效果
及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
保护原创:对于网站的最新原创内容,使用API推送功能可以快速通知到百度,使内容可以在转发之前被百度发现
如何使用API推送功能
1,需要网站制作数据推送接口,进入API推送工具后,会看到接口调用地址的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
如何查看推送反馈
您可以通过推送后返回的状态码和字段来判断数据是否推送成功。
1,状态码为200,表示推送成功,可能返回以下字段:
字段 | 是否必选 | 参数类型 | 说明 |
success | 是 | int | 成功推送的url条数 |
remain | 是 | int | 当天剩余的可推送url条数 |
not_same_site | 否 | array | 由于不是本站url而未处理的url列表 |
not_valid | 否 | array | 不合法的url列表 |
成功返回示例:
{
“remain”:4999998,
“success”:2,
“not_same_site”:[],
“not_valid”:[]
}
2,状态码为4XX或500,表示推送失败,返回字段有:
字段 | 是否必选 | 类型 | 说明 |
error | 是 | int | 错误码,与状态码相同 |
message | 是 | string | 错误描述 |
常见的推送失败返回示例说明:
error | message | 含义 |
400 | site error | 站点未在站长平台验证 |
empty content | post内容为空 | |
only 2000 urls are allowed once | 每次最多只能提交2000条链接 | |
over quota | 超过每日配额了,超配额后再提交都是无效的 | |
401 | token is not valid | token错误 |
404 | not found | 接口地址填写错误 |
500 | internal error, please try later | 服务器偶然异常,通常重试就会成功 |
API推送功能常见问题
1, 和原来的sitemap提交接口有什么区别?
答:状态反馈更及时了,原来提交后需要登录到搜索资源平台查看提交是否成功。目前只要根据提交后返回的数据就可以判断了。
2, 已经存在的提交sitemap数据的程序代码需要做什么修改?
答:主要修改两点。第一点,提交的接口需要修改;第二点,需要处理下接口返回的信息,失败后需要根据错误进行相应处理,报错的链接是无法提交成功的
3,为什么提交成功后看不到数据变化?
答:我们反馈的是新提交链接的数量,如果您提交的链接在之前提交过(即重复提交)是不会被统计到的
4,在什么时机使用API推送提交功能效果最明显?
答:页面链接产生或发布时立即提交,这样效果是最好的
5,每次提交一条数据和多条数据有什么区别?
答:没有区别
6,重复提交已经发布的链接会有什么问题?
答:会有两个影响。第一,将浪费您提交的配额,每个站点每天可提交的数量是有限制的,如果您都提交了旧链接,当有新链接时可能因为配额耗尽无法提交。第二,如果您经常重复提交旧链接,我们会下调您的配额,您可能会失去API推送功能的权限
7,API推送可以推多少条链接?
答:API推送可提交的链接数量上限是根据您提交的新产生有价值链接数量而决定的,百度会根据您提交数量的情况不定期对上限额进行调整,提交的新产生有价值链接数量越多,可提交链接的上限越高。
什么是Sitemap
Sitemap(即站点地图)就是您网站上各网页的列表。创建并提交Sitemap有助于百度发现并了解您网站上的所有网页。您还可以使用Sitemap提供有关您网站的其他信息,如上次更新日期、Sitemap文件的更新频率等,供百度Spider参考。
百度对已提交的数据,不保证一定会抓取及索引所有网址。但是,我们会使用Sitemap中的数据来了解网站的结构等信息,这样可以帮助我们改进抓取策略,并在日后能更好地对网站进行抓取。
此外,Sitemap 与搜索排名没有关系。
百度Sitemap支持哪些格式
百度Sitemap协议支持文本格式和xml格式,可以根据自己情况来选择任意一种格式组织sitemap。具体格式说明及示例如下:
1.第一种格式样例:txt文本格式
在一个txt文本列明需要向百度提交的链接地址,将txt文本文件通过搜索资源平台进行提交
http://www.example.com/repaste/101562698_5230191316.html
http://www.example.com/repaste/101586283_5230215075.html
http://www.example.com/repaste/101639435_5230310576.html
此文本文件需要遵循以下指南:
· 文本文件每行都必须有一个网址。网址中不能有换行。
· 不应包含网址列表以外的任何信息。
· 您必须书写完整的网址,包括 http。
· 每个文本文件最多可包含 50,000 个网址,并且应小于10MB(10,485,760字节)。如果网站所包含的网址超过 50,000 个,则可将列表分割成多个文本文件,然后分别添加每个文件。
· 文本文件需使用 UTF-8 编码或GBK编码。
2.第二种格式样例:xml格式
单个xml数据格式如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<!– XML文件需以utf-8编码–>
<urlset>
<!–必填标签–>
<url>
<!–必填标签,这是具体某一个链接的定义入口,每一条数据都要用<url>和</url>包含在里面,这是必须的 –>
<loc>http://www.yoursite.com/yoursite.html</loc>
<!–必填,URL链接地址,长度不得超过256字节–>
<lastmod>2009-12-14</lastmod>
<!–可以不提交该标签,用来指定该链接的最后更新时间–>
<changefreq>daily</changefreq>
<!–可以不提交该标签,用这个标签告诉此链接可能会出现的更新频率 –>
<priority>0.8</priority>
<!–可以不提交该标签,用来指定此链接相对于其他链接的优先权比值,此值定于0.0-1.0之间–>
</url>
<url>
<loc>http://www.yoursite.com/yoursite2.html</loc>
<lastmod>2010-05-01</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
上述Sitemap向百度提交了一个url:http://www.yoursite.com/yoursite.html
若有多条url,按照上述格式重复<url></url>之间的片断,列明所有url地址,打包到一个xml文件,向搜索资源平台进行提交。
创建Sitemap时有哪些注意事项?
第一,一个Sitemap文件包含的网址不得超过 5 万个,且文件大小不得超过 10 MB。如果您的Sitemap超过了这些限值,请将其拆分为几个小的Sitemap。这些限制条件有助于确保您的网络服务器不会因提供大文件而超载。
第二,一个站点支持提交的sitemap文件个数必须小于5万个,多于5万个后会不再处理,并显示“链接数超”的提示。
第三,如果验证了网站的主域,那么Sitemap文件中可包含该网站主域下的所有网址。
第四,搜索资源平台sitemap文件提交已不再支持索引型文件形式,历史提交的索引型文件已不再进行抓取,建议站长及时删除,重新进行资源提交。
如何提交Sitemap
第一步,将需提交的网页列表制作成一个Sitemap文件,文件格式请阅读百度Sitemap协议都支持哪些格式。
第二步,将Sitemap文件放置在网站目录下。比如您的网站为example.com,您已制作了一个sitemap_example.xml的Sitemap文件,将sitemap_example.xml上传至网站根目录即example.com/sitemap_example.xml
第三步,登录百度搜索资源平台,确保提交Sitemap数据的网站已验证归属。
第四步,进入Sitemap工具,点击“添加新数据”,文件类型选择“URL列表”,填写抓取周期和Sitemap文件地址
最后,提交完之后,可在Sitemap列表里看到提交的Sitemap文件,如果Sitemap文件里面有新的网站链接,可以选择文件后,点击更新所选,即对更新的网站链接进行了提交。
什么是移动Sitemap协议,如何提交移动Sitemap协议
百度推出了移动Sitemap协议,用于将网址提交给移动搜索收录。百度移动Sitemap协议是在标准Sitemap协议基础上制定的,增加了<mobile:mobile/>标签,它有四种取值:
<mobile:mobile/> :移动网页
<mobile:mobile type=”mobile”/> :移动网页
<mobile:mobile type=”pc,mobile”/>:自适应网页
<mobile:mobile type=”htmladapt”/>:代码适配
无该上述标签表示为PC网页
下方样例相当于向百度移动搜索提交了一个移动网页:http://m.example.com/index.html,向PC搜索提交了一个传统网页:http://www.example.com/index.html,同时向移动搜索和PC搜索提交了一个自适配网页http://www.example.com/autoadapt.html:
<?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.example.com/index.html</loc>
<mobile:mobile type=”mobile”/>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/index.html</loc>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/autoadapt.html</loc>
<mobile:mobile type=”pc,mobile”/>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/htmladapt.html</loc>
<mobile:mobile type=”htmladapt”/>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
按照移动Sitemap协议做好Sitemap后,在Sitemap工具点击添加新数据提交,与提交普通Sitemap方式一致。
我提交时填写的周期是什么含义?
百度Spider会参考设置周期抓取Sitemap文件,因此请根据Sitemap文件内容的更新(比如增加新url)来设置。请注意若url不变而仅是url对应的页面内容更新(比如论坛帖子页有新回复内容),不在此更新范围内。Sitemap工具不能解决页面更新问题。
Sitemap提交后,多久能被百度处理?
Sitemap数据提交后,一般在1小时内百度会开始处理。在以后的调度抓取中,如果您的sitemap支持etag,我们会更频繁抓取sitemap文件,从而及时发现内容更新;否则抓取的周期会比较长。
提交的Sitemap都会被百度抓取并收录吗?
百度对已提交的数据,不保证一定会抓取及收录所有网址。是否收录与页面质量相关。
XML格式的 Sitemap 中,“priority”提示会影响我的网页在搜索结果中的排名吗?
不会。Sitemap 中的“priority”提示只是说明该网址相对于您自己网站上其他网址的重要性,并不会影响网页在搜索结果中的排名。
网址在 Sitemap 中的位置是否会影响它的使用?
不会。网址在 Sitemap 中的位置并不会影响百度对它的识别或使用方式。
Sitemap中提交的url能否包含中文?
因为转码问题建议最好不要包含中文。
内容转载自:https://ziyuan.baidu.com/college/courseinfo?id=267&page=3
原创文章,作者:王利头,如若转载,请注明出处:https://www.wanglitou.cn/article_37.html