公司内部M站sitemap实现

一、robots和sitemap文件,前者的作用是减少百度蜘蛛在站内的无谓爬取,后者增加百度蜘蛛在站内的有效爬取,对百度收录和自己网站的SEO推广都十分重要。

1.robots只有一个:robot.txt,这是一个文本文件,主要利用Allow(允许)和DisAllow(禁止)两个命令,(这两个重要的是禁止),禁止百度蜘蛛爬取一些无谓的文件和文件夹,增加百度搜录速度。

2.sitemap有三个:sitemap.txt,sitemap.xml,sitemap.html,制作sitemap网站地图制作。

sitemap: http://m.vedeng.com/sitemap.html

sitemap: http://m.vedeng.com/sitemap.xml

sitemap: http://m.vedeng.com/sitemap.txt

实测

1.这四个文件制作好之后,都上传到服务器根目录下。因为是测试,所以只爬取了376个页面,过了半个小时就收录成功,但html解析失败。
公司内部M站sitemap实现

  1. 因为有些分类页在页面上爬不到,而且数据都可以从数据库读去拼接

页面规则:
公司内部M站sitemap实现
所以没有必要去爬网站的链接,最后通过几个特定的规则生成5015个页面,重新做了上传,这次只有xml文件,大概过了2天百度收录成功,提交页面不能太过频繁,不然百度会认为你的网站不够完善,会一直等待。
公司内部M站sitemap实现
3.最后上线之后,再次重新读取拼接数据,产生4000个数据,目前等待中。

4.生成完之后到站长页面提交链接
公司内部M站sitemap实现
5.robots起作用很快,时间很长但突然有一天一查百度收录,(百度输入site:你的域名),发现不需要的收录在robots的作用下真的全部消失了!

二、sitemap.xml具体的生成方法(sitemap没有放在根目录下,为了后期更新方便上传到OSS云存储)
具体步骤:

1.生成xml
公司内部M站sitemap实现
2.调用我们的文件上传服务到oss服务器

3.读取oss文件路径存储到redis(因为oss每次上传生成的文件路径都不同,但sitemap.xml又需要不断更新,所以选择redis指定一个唯一key来确定每次都能读取到文件内容)

4.通过controller访问接口,以xml文件的格式返回
公司内部M站sitemap实现
5.nginx配置转发(因为m站tomcat通过apibus转发,但百度必须是根目录的下访问,所以通过m.vedeng.com/sitemap.xml转发到apibus)

三、robots.txt文件是放在根目录下,生成2个robots,一个是测试环境,一个是生产环境

  1. 通过controller访问接口,以txt文件的格式返回
  2. 公司内部M站sitemap实现
    1. 通过apollo配置指定robots文件
  3. 公司内部M站sitemap实现
  4. robotsType为1是测试网址wxtest.vedeng.com,所有页面均屏蔽,格式如下:

User-agent: *

Disallow: /

robotsType为2是正式网址m.vedeng.com的robots文件格式(注意:disallow:和后面的内容中间加空格):

User-agent: *

Disallow: /dispatch.html#/

Disallow: /?

  1. nginx配置转发(因为m站tomcat通过apibus转发,但百度必须是根目录的下访问,所以通过m.vedeng.com/robots.txt转发到apibus)

相关文章:

  • 2021-09-06
  • 2021-08-17
  • 2021-07-13
  • 2021-09-02
  • 2021-07-31
  • 2021-05-24
  • 2021-08-01
  • 2021-11-20
猜你喜欢
  • 2021-11-30
  • 2021-06-22
  • 2021-10-08
  • 2022-02-15
  • 2022-12-23
  • 2021-12-24
  • 2022-02-09
相关资源
相似解决方案