Typecho 站点地图生成插件 Sitemap 大数据版
插件简介:
Typecho 下关于网站地图的实现方式其实已经分享很多了,但是之前的很多版本都有一个弊端就是当你网站文章数量超过1万以后可能就会导致站点地图页面出现内存不足而崩溃,为了应对这种问题 TypechoWiki维基君 在上次研究了雷鬼基于Typecho改良的 HPtypecho 版本后,对其实现的Sitemap插件我进行了修改,使其能支持原版 Typecho,这就解决了之前分享的大多数Sitemap站点地图不支持文章数超过10万的问题。
该插件仅支持Linux系统,因为需要命令行进行操作
实现原理:
其实这个插件的实现原理也很简单,就是通过了Sitemap路径索引所方式,以1000篇文章为一个节点,生成一个单独的Sitemap.xml文件,然后再对生成的Sitemap.xml链接进行一个聚合。可以参考基于Typecho实现的大数据版网站 污表情网站的站点地图
插件使用:
插件后台设置如下:
第一个配置是配置sitemap生成的位置,需要确保此文件夹可写。
第二个配置是配置授权码,方便第三方应用调用。
假如配置信息如上图,那么可以通过如下url来生成sitemap,Linux命令行模式执行如下命令:
wget https://www.wubiaoqing.com/action/gen_sitemap?_auth=xxxxxxx
注意_auth参数值和插件设置中的配置一致。为了安全起见,此授权码请定期更改。
另外一点需要注意的是大多数Typecho大数据版系统可能都会使用上缓存插件,默认的缓存插件可能会导致该Sitemap插件失效,这也是我之前在Wubiaoqing.com这个站使用时遇到的问题,所以这里给大家提个醒!
此接口性能非常高效,100w的数据,最多20s即可完成sitemap的生成,所以你可以在crontab中定时刷新sitemap。
这个插件的运行很快,很推荐,这个插件有个特点是更新的域名只能是访问api的域名,如使用A.com访问api,那么站点地图的域名就是A.com,如果做了反向代理域名就会变。
这里提供一个在暂时无法公网访问的情况下更新的方法,运行以下命令
curl https://域名/action/update_sitemap?auth=密钥 --resolv '域名:443:127.0.0.1'
感谢提供解决方案