【发布时间】:2012-01-27 14:48:49
【问题描述】:
这可能吗?单击相应的菜单项时,我有 4 个页面使用 PHP/AJAX 动态加载。
优化使用 PHP 动态加载的内容的最佳做法是什么?我尝试生成一个基本的 xml 站点地图,但唯一显示的页面是具有页面相对路径的后端处理程序,而不是页面本身。
感谢您的回复,谢谢。
【问题讨论】:
标签: php sitemap dynamic-data
这可能吗?单击相应的菜单项时,我有 4 个页面使用 PHP/AJAX 动态加载。
优化使用 PHP 动态加载的内容的最佳做法是什么?我尝试生成一个基本的 xml 站点地图,但唯一显示的页面是具有页面相对路径的后端处理程序,而不是页面本身。
感谢您的回复,谢谢。
【问题讨论】:
标签: php sitemap dynamic-data
嗯,Ajax 链接的最佳实践是您仍然在标签中指定一个地址,非 js 浏览器可以遵循(搜索引擎)。这样做的一个令人愉快的副作用(除了 SEO)是创建 XML 站点地图就像没有动态加载 Ajax 内容一样简单......
您应该努力使您的 Ajax 内容在没有 JavaScript 的情况下正常运行。然后这些类型的大部分问题都会消失。
根据评论更新
根据下面 cmets 中的进一步说明,您有几个选项...
最简单的方法是在动态内容的缓存版本之间实现一致的命名约定。然后你可以简单地使用globdocs(或opendirdocs和readdirdocs)扫描缓存目录,并根据目录中找到的文件名生成站点地图。
另一种选择是创建某种“注册表”,每当您缓存动态页面时,该“注册表”就会更新。这可以是将站点地图文件名标识符映射到实际缓存文件名的数据库表或平面文本文件。然后,无论何时存储或删除缓存文件,您都可以在此注册表中添加或删除条目。
作为我刚才提到的简单注册表的替代方案,您可以使用 XML 站点地图本身作为注册表。每次创建缓存文件时,您都可以将sitemap.xml 加载到DOMDocumentdocs 并实时操作站点地图,完成编辑后将其保存回磁盘。
我认为这真的只是解决问题。
【讨论】: