【问题标题】:What is the most performance effective way to create a sitemap.xml for any CMS system?为任何 CMS 系统创建 sitemap.xml 的最高效的方法是什么?
【发布时间】:2009-09-01 12:42:12
【问题描述】:

我们想在 CMS 系统中实现 sitemap.xml 功能。我们的开发人员内部存在一些争论,即此功能会影响性能,因为每次在内容中进行更改时,都需要创建站点链接的完整列表并将其放置在 sitemap.xml 中。

这个想法是,每次编辑或添加公共查看页面时,都会立即将其添加到 sitemap.xml 中,使其与站点保持同步。

在您回答时,如果您有时间,还有哪些其他 CMS 系统打开或没有内置站点地图生成功能?

谢谢,

【问题讨论】:

  • 您可以考虑让您的网址对 SEO 友好。据我了解,站点地图对 SEO 的效果不如将您的网站设置为实际可抓取。我有一个几乎完全是 javascript 的网站,我制作了一个站点地图,但效果不太好。最终,我实现了模仿 javascript 页面的静态页面,这对我的排名产生了奇迹。

标签: web content-management-system sitemap content-management


【解决方案1】:

每次更新 CMS 时都更新站点地图肯定会产生性能问题,因为站点地图往往很大,而且生成成本很高(从 CPU 和磁盘 i/o 的角度来看)。

我会做的是:
1. 规划您网站的结构
2. 确定您需要在站点地图中链接到哪些区域
3. 将站点地图索引的名称添加到您的 robots.txt 文件中
4. 编写将从数据库中读取并生成静态 xml 站点地图文件的脚本
5. 创建一个将定期重新运行此脚本的 cron 作业
6. 将您的站点地图网址提交给搜索引擎

【讨论】:

    【解决方案2】:

    对于我工作的由 CMS 提供支持的网站,每个网站有 70,000 到 350,000 个页面/文件夹,我们通常每 24 小时重新生成一次站点地图 XML。我们从来没有遇到过任何问题。除非您的网站像 Stackoverflow 一样受欢迎 - 并且 Google 认识到它的更新程度与 SO 一样多 - 它不会频繁地重新抓取您的网站以证明拥有完全更新的站点地图文件是合理的。

    【讨论】:

    • 这是一个长镜头(3 年后!) - 您是简单地将 sitemap.xml 写入磁盘、缓存还是保存在数据库中?
    • @TimmyO'Mahony 那些网站在 SharePoint 上运行,这是一个文档数据库。所以像这样一次性的文档直接扔到文档/CMS存储库中是非常方便的。
    【解决方案3】:

    请记住,Google 不会经常阅读您的站点地图,每天在 cron 作业中重新生成它是安全的,因此如果您安排在每天晚上的安静时间重新生成它,Google 会选择更改下次投票时。

    【讨论】:

      【解决方案4】:

      在我们的初创公司 (Epiloge) 中,我们使用了 1000 个相关网址。正如人们在这里和其他地方所说的那样,您希望拥有一个静态的 sitemap.xml,它会定期更新(每天或每隔几天),从而包含所有新的相关 url。

      如果您在 Javascript 环境中工作并且不想使用任何库或框架,请在此处查看这篇文章,了解一个简单的 Javascript 解决方案,以创建访问数据库的站点地图,获取所有 url,然后创建 xml并为您获取文件 - 然后您可以将其插入您的网站结构。

      https://www.epiloge.com/how-to-generate-a-sitemapxml-with-javascript-for-dynamic-page-urls-296c42

      【讨论】:

        猜你喜欢
        • 2011-03-02
        • 2011-12-23
        • 2017-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多