什么是XML Sitemap
sitemaps是一个XML文件,其中包含站点中所有需要被index的page URLs。Google Search engine bot根据sitmap的内容crawl和indexing你的网站。
SiteMap可以被理解成一个网站(website)的url map(site map),这个map可以帮助Google迅速找到你的站点中所有的页面(或者是所有的link)。
即使你的主站并没有包含你的网站中的所有的link,只要link包含在这个sitemap中,google不仅会将主站的所有内容全部爬出,而且会读取到你的sitemap,将sitemap中的所有url对应的页面内容全部都爬出。当你站点中所有的page的内容都被google爬走后,就保证了一旦有人在google做search,你的站点就可能出现在Search Result中。
如果google不能够爬到你的页面,那么就相当于搜索引擎不知道你的存在,那么不论在任何search 结果中,你都看到不到你的页面。
这样一看来,sitemap对于你的页面在google的search result中的ranking可谓是及其重要了。
XML SiteMap Index File
通常我们会建立一个XML SiteMap Index file,这个文件相当于是一个索引,将不同的内容放到不同的xml sitemap文件中,因为这样做有两个好处:
- 结构清晰,分层清晰
- 数量限制
如果你的website特别大,有很多的link,那么你就需要这样一个XML SiteMap Index file,将link拆分到xml中。这是因为一个单独的xml sitemap文件最好就放置5000个URL,有利于文件load的perfermance。
XML Sitemap File
由URL组成
这些URL就相当于是直接告诉google我们有这些link,你可以直接爬
Which pages should be in your XML sitemap?
如果你希望你网页中的某一个页面出现在search result中,那么就必须要将这个页面放到sitemap中
如果你不希望你网页中的某一个页面出现在search result中,比如还没有完全做完的页面(用户体验可能不是很好),那么就不能写在你网站的sitemap中
例子
对于网站中的搜索页面,如果进行搜索的时候,有某一个搜索页面没有results,那么在这种情况下,我并不想让google爬到这个页面,原因:
这个页面中没有任何有用的信息, 就送被google 爬到也只是一些
no result
的关键字理论上所有的no resulr的page都基本长得一样,那么必然会导致很多SRP URL,URL不同但是对应了一样的内容,google会认为我们cheat它
因此我们肯定希望不让google爬到我们这种页面上,那么可以选择在sitemap
中直接删除
Where do I place my Sitemap?
方式一
google强烈建议您将Sitemap放在HTML服务器的根目录下:
如果你的html请求是:
http://example.com/index.html
那么你的sitemap最好在:
http://example.com/sitemap.xml.
因为这就相当于你跟google search engine 提前约定好的位置,google search engine会到这个位置寻找你站点的sitemap.
方式二
将你的sitemap file link(有时候我们会将sitemap xml file放在S3上)放在你网站的footer中,这样search engine bot就可以快速的发现你的sitemap,然后高效的crawl/index
Note
sitemap中列出的所有URL必须和sitemap的host相同,比如,如果sitemap在http://www.example.com/sitemap.xml,那么sitemap中绝对不能包含http://subdomain.example.com
. If the Sitemap is located at http://www.example.com/myfolder/sitemap.xml, it can't include URLs from http://www.example.com.
How big can my Sitemap be?
Sitemaps should be no larger than 10MB (10,485,760 bytes) and can contain a maximum of 50,000 URLs. These limits help to ensure that your web server does not get bogged down serving very large files. This means that if your site contains more than 50,000 URLs or your Sitemap is bigger than 10MB, you must create multiple Sitemap files and use a Sitemap index file. You should use a Sitemap index file even if you have a small site but plan on growing beyond 50,000 URLs or a file size of 10MB. A Sitemap index file can include up to 1,000 Sitemaps and must not exceed 10MB (10,485,760 bytes). You can also use gzip to compress your Sitemaps.
How To Submit Sitemap To Google Search console
What is Google Search console
那当你已经给你的网站创建好了一个sitemp的XMl File, 除了我在上面提到的两个可以放置XML的位置,你其实还可以放在任意的地方,比如你可以扔在S3上。 那么问题就来了,你需要告诉Google到哪里找我的XML文件,这时候Google Search console,就相当于是一个配置工具,告诉google我的网站域名是啥,下次遇到我的网站的时候应该去哪找我的XML sitemap
How to use
我们通常使用google的工具Google search console
去管理sitemap。
你可以先为你自己的站点产生一个sitemap file,然后在上图进行配置,
- 你可以给你的站点提供非常多的sitemap
- 你可以给你的站点配置sitemap index file
一旦提交之后,google会依次找到你的提交的sitemap然后对sitemap中的url进行crawl。
例子
如上图,我们给网站www.shoutmeloud
加sitemap, 相当于google会去www.shoutmeloud/sitemap_index.xml
/www.shoutmeloud/post_tag-sitemap.xml
...等等爬数据