我不知道当sitemap文件很大时,比如大到20M以上,各位是怎么解决的.总之,这次让我费了不少的心思。
当我网站(网络营销新观察:)的文件更新量比较大的时候,我总是要向google重新提交sitemap文件的。不过,这次出乎意料,sitemap.xml文件已经有20M了。我象往常一样上传覆盖原有的sitemap文件,结果google向我提示了错误“sitemap文件过大,,网址数量过多”,这该怎么办?看似很简单的事情。
查找了网络管理员帮助文件,官方的解释是:
“您可以提供多个 Sitemap 文件,但每个 Sitemap 文件包含的网址不得超过 50,000 个,并且未压缩时不能大于 10MB。这些限制条件有助于确保网络服务器不会因传输过大的文件而遇到麻烦。
如果要列出超过 50,000 个网址,您需要创建多个 Sitemap 文件。如果预计您的 Sitemap 网址数量会超过 50,000 个或大小超过 10MB,应考虑创建多个 Sitemap 文件。如果您的确提供了多个 Sitemap,您可以将其列在 Sitemap 索引文件中。Sitemap 索引文件最多可以列出 1,000 个 Sitemap。”
我现在知道了应该把sitemap文件分割成几个sitemap,并另建立一个sitemap索引文件。可是如何分割sitemap文件,这可让我犯难。Google的帮助文件总是深奥的,它讲出应该这么做,但经常不讲出这些东东要如何实现。还是这太简单的,不屑于讲出。呵呵,那我就到“落伍”发帖吧,这么简单的问题,总有人会帮忙。
结果令我十分意外,这么简单的问题,竟然没人回帖,而且一整个下午。这么轰轰烈烈、高人辈出的地方,竟然找不出答案。大家也象Google一般对于这问题不屑么?
于是只好再次借助搜索引擎,搜索总有答案吧。可是也很让我失望。找不到一种step by step的教程,只找到一个蛛丝马迹,说是google sitemap支持gz的压缩文件。恩,这应该也不错。当sitemap文件大到几十M的时候,压缩一下节省空间总是不错的法子。总算也有点效益。
找不到如何分割文件,自己想办法吧。想起以前文件分割器,可以对文件进行分割。我想只好用这种土的办法了。如果sitemap生成器支持将大的sitemap文件直接生成几个小的sitemap文件,那该多好,我就不用这么辛苦了。
于是从网上找来“冰雪文件分割器-V3.50”,小软件是好用,一声咔嚓,硬生生的将我的sitemap.xml分割成6个文件。这下好了。我将6个文件分别命名为sitemap1.xml,sitemap2.xml,sitemap3.xml,sitemap4.xml,sitemap5.xml,sitemap6.xml,并把它压缩成gz文件,然后另建一个索引文件sitemap_index.xml。
索引文件sitemap_index.xml的内容如下: <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84"> <sitemap> <loc>/sitemap1.xml.gz</loc> </sitemap> <sitemap> <loc>/sitemap2.xml.gz</loc> </sitemap> <sitemap> <loc>/sitemap3.xml.gz</loc> </sitemap> <sitemap> <loc>/sitemap4.xml.gz</loc> </sitemap> <sitemap> <loc>/sitemap5.xml.gz</loc> </sitemap> <sitemap> <loc>/sitemap6.xml.gz</loc> </sitemap> </sitemapindex>
嘿嘿,这是我自己独创的法子,上传吧。然后重新提交并增加sitemap文件。过了十多分钟,重新刷新一下页面,竟让我傻眼。Google提示说“你所提交的sitemap格式不受支持”,怎么会呢?想了半天,终于觉得可能是分割文件时出错,在本机电脑上双击打开各个sitemap文件,真的出问题了。原来文件分割器是硬生生地把字符截断。还需要我自己手工修补呢?如图是某个sitemap文件尾的截图:
于是每个sitemap文件补齐形式如下: <?xml version="1.0" encoding="UTF-8"?> <!--Google Site Map File Generated by http://www.sitemapbuilder.net Wed, 28 Feb 2007 22:16:01 GMT--> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
........
<url> <loc>/plus/feedback.php?arcID=4679</loc> </url>
........
</urlset> (注:红色部分是sitemap协议的开始与结束部分,每个文件都必段有)
继续提交,这回终于OK,我长长地吁了一口气。这是成功后的截图: 写到最后,虽然这种方法比较笨拙,但点破了也是很简单的,如果哪位高人知道sitemap生成器可直接分割生成序列文件,请告之。另这里提供制作过程中相关软件的下载:
冰雪文件分割器3.5 下载 7-Zip 4.44 Beta下载 |