1
9
我遇到了类似的问题,决定使用django在静态媒体中将站点地图文件写入磁盘,并让Web服务器为其提供服务。我打电话每隔几个小时重新生成一次站点地图,因为我的内容变化并不比这更频繁。但这将取决于你的内容,你需要多久写一次这些文件。 我对cron作业使用了django自定义命令,但对cron作业使用curl更容易。 下面是我如何使用curl,我将apache send/sitemap.xml作为静态文件,而不是通过django:
|
2
9
好吧-我发现了更多关于这个的信息,以及亚马逊在他们600万左右的网址上做了什么。 亚马逊只需为每天制作一张地图并添加:
这意味着他们最终会得到大量的站点地图——但是搜索机器人只会查看最新的地图——因为更新的日期是最近的。我理解一个人应该刷新一个地图-并且不能多次包含一个URL。我认为这是真的。但是,亚马逊绕过了这一点,因为网站地图更像是一个日志。一个URL可能会出现在一个更新后的站点地图中,但谷歌不会在旧地图过时的情况下查看旧地图,除非它确实做了一个主要的重新索引。这种方法很有意义,因为你所做的只是构建一个新的地图——比如每天更新新内容,并在谷歌上ping它——因此谷歌只需要索引这些新的网址。 这种日志方法与代码是同步的,因为您所需要的只是一个静态数据存储模型,它存储每个映射的XML数据。您的cron作业可以每天或每周构建一个映射,然后将原始XML页面存储在blob字段或您拥有的内容中。然后,您可以直接从一个处理程序和索引映射服务页面。 我不知道其他人怎么想,但这听起来像是一个非常可行的方法和一个加载一个服务器-相比之下,重建巨大的地图只是因为几个页面可能已经改变。 我还考虑过,可能会将一周的地图压缩成一周的地图,将4周的地图压缩成一个月的地图——所以你最终得到的是每月的地图,当月每周的地图,以及过去7天的地图。假设所有的日期都保持不变,这将减少地图的数量,整理整个过程-我认为每年每天减少365张地图,减少到12张。 这里是一个PDF的网站地图和亚马逊和CNN使用的方法。 http://www.wwwconference.org/www2009/proceedings/pdf/p991.pdf |
3
3
我在用 django-staticgenerator 用于将sitemap.xml缓存到文件系统并在数据更新时更新该文件的应用程序。 设置:
模型:
在nginx配置中,我将sitemap.xml重定向到缓存文件夹和django实例以进行回退:
使用此方法,Sitemap.xml将始终更新,客户机(如Google)始终静态获取XML文件。我觉得很酷!:) |
4
0
对于那些(出于任何原因)希望保持其站点地图动态生成的人(例如新鲜度、懒散度)。尝试 django-sitemaps . 这是标准站点地图的流式版本。替换掉。更快的响应时间和更少的内存。 |
Xceptions · Google云正在缓存我的静态文件 6 年前 |
Thread7 · memcache出错 6 年前 |
Nick M · Rails/Dalli:从另一个命名空间终止片段 7 年前 |
ctor · 有限时间存储数据:memcache与mysql 7 年前 |