Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该如何修改站点地图?_Php_Xml_Performance_Seo_Sitemap - Fatal编程技术网

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

Php 我应该如何修改站点地图?,php,xml,performance,seo,sitemap,Php,Xml,Performance,Seo,Sitemap,我有一个PHP脚本,它构建了一个站点地图(一个符合标准站点地图结构的XML文件) 我的问题是如何改进它。正如你所知,一个网站每天都有新的帖子。此外,每小时/天/月或任何时候都可以对帖子进行多次编辑。我有两个策略来处理这个问题: 制作一个新的PHP脚本,解析XML文件并找到节点,在编辑帖子时对其进行修改,在添加新帖子时添加一个新节点(插入新帖子之前需要计算所有节点的数量,因为一个站点地图文件可能有50000个URL) 使用Cron-Jobs每天(即每晚午夜)根据特定时间段执行当前PHP脚本。这意味

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

我的问题是如何改进它。正如你所知,一个网站每天都有新的帖子。此外,每小时/天/月或任何时候都可以对帖子进行多次编辑。我有两个策略来处理这个问题:

  • 制作一个新的PHP脚本,解析XML文件并找到节点,在编辑帖子时对其进行修改,在添加新帖子时添加一个新节点(插入新帖子之前需要计算所有节点的数量,因为一个站点地图文件可能有50000个URL)

  • 使用Cron-Jobs每天(即每晚午夜)根据特定时间段执行当前PHP脚本。这意味着每次都要从头开始重建(实际上每晚都要构建一个新的网站地图)


  • 好的,哪种策略更为优化和有利可图?哪一种是标准方法

    这取决于您的网站是否繁忙。 如果您有一个每周或每月都会发生内容更改的小型网站,您只需通过脚本创建一个XML和HTML站点地图,任何时候都可以使用新内容并将其上载到您的Web空间

    如果你有一个有很多页面和几乎每天更新频率的网站,比如一个博客,如果你可以在新内容准备好的时候自动生成一个新的站点地图,这是非常方便的


    如果你使用的是CMS,那么你有一系列的插件可以增量更新它。或者你可以让你的脚本来做

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

    我建议您在cronjob中生成XML站点地图。请勿直接覆盖当前网站地图,但请在完成后复制/链接它。这样可以避免在出现错误时根本没有站点地图

    如果希望在SQL表中以增量方式管理URL,请将XML站点地图视为此表的导出