我应该如何修改站点地图?

How should I modify sitemap?

我有一个构建站点地图的 PHP 脚本(一个符合标准站点地图结构的 XML 文件)。

我的问题是关于改进它。和你一样,一个网站每天都有新的 post。此外,post 可能会在每个 hour/day/month 或任何时候被编辑多次。我有两个策略来处理这个问题:

  1. 制作一个新的PHP脚本来解析XML文件并找到节点并在编辑post时修改它并在编辑时添加一个新节点添加了一个新的 post (在插入新节点之前需要计算所有节点的数量,因为站点地图文件最多可以有 50,000 URL 个)

  2. 使用 Cron-Jobs 每天 (即每晚午夜) 执行我当前的 PHP 脚本。这意味着每次都从头开始重建它 (实际上是每晚构建一个新站点地图)

好的,哪种策略更优且更有利可图?哪一个是标准方法?

这取决于您的网站是否繁忙。 如果您有一个内容更改每周或每月发生一次的小型网站,您可以简单地通过脚本创建一个 XML- 和 HTML- 站点地图,只要有新内容可用并上传它到您的网站空间。

如果您的网站有很多页面并且几乎每天更新频率,例如博客,如果您可以在新内容准备就绪时自动生成新站点地图,那将非常方便。

如果您使用的是 CMS,则可以使用范围广泛的插件对其进行增量更新。或者你可以让你的脚本来做。

修改 XML 文件有其危险。原因之一是您需要比较和编译操作(替换、插入、删除)。这很复杂,出错的可能性很高。另一个问题是站点地图可能很大,可能无法将它们加载到内存中进行修改。

我建议您在 cronjob 中生成 XML 站点地图。不要直接覆盖当前站点地图,而是在完成后 copy/link 覆盖它。如果这里出错,这可以避免根本没有站点地图。

如果您想在 SQL table 中逐步管理 URL,请将 XML 站点地图视为此 table 的导出。