1. 首页
  2. SEO百科
  3. Web前端

robots.txt 和 sitemap菜鸟指南_Sitemap基础入门

为了爬虫, 在网站根目录创建robots.txt文件(utf-8),文件内容涉及四类键值对:User-agent,Disallow,Allow,Sitemap,支持正则, Disallow后没内容就是允许所有User-agent: *
Disallow:
Disallow: /cgi-bin/
Disallow: /admin/
Sitemap: https

robots.txt 和 sitemap菜鸟指南

为了爬虫, 在网站根目录创建robots.txt文件(utf-8),文件内容涉及四类键值对:User-agent,Disallow,Allow,Sitemap,支持正则, Disallow后没内容就是允许所有

robots.txt 和 sitemap菜鸟指南_Sitemap基础入门


1
2
3
4
5
User-agent: *
Disallow:
Disallow: /cgi-bin/
Disallow: /admin/
Sitemap: https://zdb.im/sitemap.xml

sitemap四种写法:

第一种, 文本格式, sitemap.txt, 一行一个URL地址


1
2
https://zdb.im/
https://zdb.improject.html

第二种, HTML格式, 允许加style标签, 一般布局是 html>body>ul>li>a[href,title]>plainText, URL用全路径, 爬虫递归往下找;

第三种, 单个XML文件, 默认文件名sitemap.xml, 百度是sitemap_baidu.xml

权重: 0.0到1.0,

设备: 代码适配<mobile:mobile type=”htmladapt”/>,自适应设备<mobile:mobile type=”pc,mobile”/>,移动端<mobile:mobile type=”mobile”/>,默认不填是PC端;

刷新频率: always 经常, hourly 每小时,daily 每天,weekly 每周, monthly 每月, yearly 每年, never 从不

修改时间: 2019-11-28或2019-11-28T11:59:38+00:00 皆可, 建议第二种;

年:YYYY(2005)

年和月:YYYY-MM(2005-06)

年月日:YYYY-MM-DD(2005-06-04)

年月日小时分钟:YYYY-MM-DDThh:mmTZD(2005-06-04T10:37+08:00)

年月日小时分钟秒:YYYY-MM-DDThh:mmTZD(2005-06-04T10:37:30+08:00)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;urlset
    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9"
&gt;
&lt;url&gt;
 &lt;loc&gt;https://zdb.im/&lt;/loc&gt;
     &lt;mobile:mobile type="htmladapt"/&gt;
 &lt;priority&gt;0.5&lt;/priority&gt;
 &lt;lastmod&gt;2019-11-28T11:59:38+00:00&lt;/lastmod&gt;
 &lt;changefreq&gt;hourly&lt;/changefreq&gt;
&lt;/url&gt;
&lt;url&gt;
 &lt;loc&gt;https://zdb.im/project.html&lt;/loc&gt;
 &lt;priority&gt;0.5&lt;/priority&gt;
 &lt;lastmod&gt;2019-11-28&lt;/lastmod&gt;
 &lt;changefreq&gt;hourly&lt;/changefreq&gt;
&lt;/url&gt;
&lt;/urlset&gt;

第四种, 当第三种的url个数超过5万个或未压缩时大小超过10MB(10,485,760字节), 建立索引文件(sitemap index),指向不超过1,000个Sitemap的URL; 索引文件的默认文件名 sitemap_index.xml;

路径必填 loc; 修改时间选填 lastmod 2009-12-14;


1
2
3
4
5
6
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"&gt;
 &lt;sitemap&gt;
  &lt;loc&gt;https://zdb.im/sitemap.xml&lt;/loc&gt;
 &lt;/sitemap&gt;
&lt;/sitemapindex&gt;

百度支持自动推送: 页面JS推送,RPC通知,URL POST


1
2
3
4
5
6
7
8
9
10
11
12
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https'){
   bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
  }
  else{
  bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();

百度资源搜索平台,添加站点,得到token,用HTTP主动推送;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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&amp;token=edk7yc4rEZP9pDQD"
使用php、python、java等可以参照这个过程推送结构化数据。

2)post推送示例
POST /urls?site=www.58.com&amp;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&amp;token=edk7ychrEZP9pDQD';
$ch = curl_init();
$options =  array(
    CURLOPT_URL =&gt; $api,
    CURLOPT_POST =&gt; true,
    CURLOPT_RETURNTRANSFER =&gt; true,
    CURLOPT_POSTFIELDS =&gt; implode("\n", $urls),
    CURLOPT_HTTPHEADER =&gt; array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
海计划公众号