0°

sitemap免插件纯静态方法

sitemap免插件纯静态方法

sitemap每次重新生成绝对是一个耗能大户,而且还有可能被有心之人拿来作为攻击入口!

其实,张戈博客早就已经实现sitemap.xml静态化了,而且在后面的文章中也有提到=>【相关文章

实现方法有多种,比如在Nginx的fastcgi缓存中取消xml文件的缓存屏蔽,或者使用张戈博客最早使用的php生成静态文件等。

在这里,我就分享一个自己一直在用的最简单的实现方法:Linux定时任务+wget定时生成sitemap.xml

具体实现:将sitemap.php放到某个不为人知的目录,然后定时使用wget去请求这个文件,并将数据保存为sitemap.xml存放到网站根目录就可以了!比如:

#每天在网站根目录生成一个sitemap.xml diypath为sitemap.php的实际位置
wget -O /home/wwwroot/emtime.cn/sitemap.xml https://emtime.cn/diypath/sitemap.php  >/dev/null 2>&1

如果是启用了https的站点,需要加入 –no-check-certificate 的选项,即:

#每天在网站根目录生成一个sitemap.xml diypath为sitemap.php的实际位置(针对https网站)
 wget -O /home/wwwroot/emtime.cn/sitemap.xml --no-check-certificate https://emtime.cn/diypath/sitemap.php  >/dev/null 2>&1

Ps:使用这个方法,注意sitemap.php里面的 require(‘./wp-blog-header.php’); 要改成 require(‘../wp-blog-header.php’); 也就是注意相对位置!

如果实在搞不清楚什么是相对路径,那么就用简单粗暴的方法:将网站根目录的sitemap.php重命名为一个只有自己知道的php文件,比如xml.php,然后如下添加任务:

#每天在网站根目录生成一个sitemap.xml(xml.php为自己重命名的php文件名称)
wget -O /home/wwwroot/emtime.cn/sitemap.xml https://emtime.cn/xml.php  >/dev/null 2>&1

这样一来,就解决了sitemap.xml是动态数据问题了!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论