PHP - 创建包含动态内容的xml站点地图

时间:2012-01-27 14:48:49

标签: php sitemap dynamic-data

这可能吗?当点击相应的菜单项时,我有4页用PHP / AJAX动态加载。

优化使用PHP动态加载的内容的最佳做法是什么?我已经尝试生成一个基本的xml站点地图,但显示的唯一页面是后端处理程序,其中包含页面的相对路径,而不是页面本身。

感谢您的回复。

1 个答案:

答案 0 :(得分:2)

嗯,Ajax链接的最佳实践是你仍然在非js浏览器可以遵循的标签中指定一个地址(搜索引擎)。这个(除了SEO)的一个令人愉快的副作用是,XML站点地图的创建就像没有动态加载的Ajax内容一样简单......

在缺少JavaScript的情况下,您应该努力使Ajax内容正常运行。那么大多数这类问题都会消失。

基于评论的更新

根据以下评论中的进一步说明,您有几个选项......

最简单的方法是在动态内容的缓存版本中实现一致的命名约定。然后,您只需使用globdocs(或opendirdocsreaddirdocs)扫描缓存目录,并根据目录中找到的文件名生成站点地图。

另一种选择是创建某种类型的“注册表”,每当您缓存动态页面时都会更新该注册表。这可以是数据库表或平面文本文件,它将站点地图文件名标识符映射到实际的高速缓存文件名。然后,只要存储或删除缓存文件,就可以在此注册表中添加或删除条目。

作为我刚刚提到的简单注册表的替代方法,您可以使用XML站点地图本身作为注册表。每次创建缓存文件时,您都可以将sitemap.xml加载到DOMDocumentdocs并实时操作站点地图,并在完成编辑后将其保存回磁盘。

我认为这完全取决于问题解决。