我们希望在CMS系统中实现sitemap.xml功能。我们的开发人员认为,由于每次在内容中进行更改时,此功能都会影响性能,因此需要创建站点的完整链接列表并将其放置在sitemap.xml中。
我们的想法是,每次编辑或添加公共查看页面时,都会立即将其添加到sitemap.xml,使其与网站保持同步。
在您回答的时候,如果您有时间,其他CMS系统打开或未启用内置站点地图生成?
谢谢,
答案 0 :(得分:5)
每次更新CMS时更新站点地图肯定会产生性能问题,因为站点地图往往很大,生成成本也很高(从CPU和磁盘的I / O角度来看)。
我会做的是:
1.绘制您网站的结构
2.确定您需要在站点地图中链接到哪些区域
3.将站点地图索引的名称添加到robots.txt文件中
4.编写一个脚本,从数据库中读取并生成静态xml站点地图文件
5.创建一个cron作业,定期重新运行此脚本
6.将您的站点地图网址提交给搜索引擎
答案 1 :(得分:2)
对于我所使用的CMS驱动的站点,每个站点有70,000到350,000个页面/文件夹,我们通常每24小时重新生成一次站点地图XML。我们从来没有遇到任何问题。除非您的网站像Stackoverflow一样受欢迎 - 并且Google认识到它的更新程度与SO一样多 - 否则它不会经常重新抓取您的网站以证明拥有完整更新的站点地图文件。
答案 2 :(得分:0)
请记住谷歌不会经常阅读你的站点地图,每天都可以安全地在cron作业上重新生成,所以如果你安排每天晚上在安静时间重建它,谷歌会选择更改下次你进行投票。
答案 3 :(得分:0)
我们在初创公司(Epiloge)使用1000个相关的网址。正如人们在这里和其他地方所说的那样,您希望有一个静态的sitemap.xml,它会定期(每天或每隔几天)进行更新,并因此包含所有新的相关URL。
如果您在Javascript环境中工作,并且不想使用任何库或框架,请在此处查看此文章,以获取用于创建访问数据库的站点地图,获取所有url,然后创建xml的简单Javascript解决方案。并获取文件-然后可以将其插入网站结构中。
https://www.epiloge.com/how-to-generate-a-sitemapxml-with-javascript-for-dynamic-page-urls-296c42