maxzhang/sitemap

生成网站地图

赞助包维护!
网站

安装: 5

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 16

类型:flarum-extension

dev-master 2022-09-13 04:09 UTC

This package is auto-updated.

Last update: 2024-09-13 08:43:07 UTC


README

MIT license Latest Stable Version Total Downloads OpenCollective

此扩展仅向您的论坛添加网站地图。

它使用默认条目,如讨论和用户,但足够智能,可以根据扩展的可用性条件添加更多条目。这目前适用于 flarum/tags 和 fof/pages。其他扩展可以轻松注入自己的资源信息,请参阅下面的扩展。

模式

使用网站地图有两种模式。

运行时模式

启用扩展后,网站地图将自动可用,并动态生成。它包含所有用户、讨论、标签和页面,访客都可以访问。

适用于小型论坛,最可能在共享主机环境中,讨论、用户、标签和页面的总数不到 10,000 项。这不是硬性限制,但随着项目数量的增加,性能将下降。

缓存多文件模式

对于大型论坛,您可以设置一个cron作业来生成网站地图索引和压缩的网站地图文件。设置更改后,将自动生成第一个网站地图,但后续更新需要手动或通过调度器(见下文)触发。

可以使用以下方式手动触发重建:

php flarum fof:sitemap:build

适用于大型论坛,从10,000项开始。

风险性能改进

此设置适用于大型企业客户。

可选的“启用风险性能改进”选项修改了讨论和用户SQL查询以限制返回的列数。通过删除这些列,它显著减少了数据库响应的大小,但可能会破坏扩展添加的自定义可见范围或slug驱动程序。

只有当您有数百万个讨论或用户时,此设置才会带来明显的改进。我们建议除非CRON作业运行时间超过一小时或SQL连接因数据量而饱和,否则不要启用它。

调度

考虑设置Flarum调度器,这样就不需要设置上面建议的cron作业。有关更多信息,请参阅这里

可以通过扩展设置页面自定义调度器的频率设置。

安装

此扩展需要PHP 8.0或更高版本。

使用Composer手动安装

composer require fof/sitemap

更新

composer update fof/sitemap
php flarum migrate
php flarum cache:clear

Nginx问题

如果您正在使用nginx,并且访问/sitemap.xml导致nginx 404页面,您可以在配置文件中添加以下规则,在现有的location规则之下:

location = /sitemap.xml {
    try_files $uri $uri/ /index.php?$query_string;
}

此规则确保当没有以该名称存在的文件时,Flarum将响应该对/sitemap.xml的请求。

扩展

注册新资源

为了注册您自己的资源,创建一个实现FoF\Sitemap\Resources\Resource的类。确保实现所有抽象方法,检查其他实现以获取示例。之后,注册您的

return [
    new \FoF\Sitemap\Extend\RegisterResource(YourResource::class),
];

就是这样。

删除资源

以非常类似的方式,您也可以从网站地图中删除资源

return [
    (new \FoF\Sitemap\Extend\RemoveResource(\FoF\Sitemap\Resources\Tag::class)),
];

强制缓存模式

如果您希望强制使用缓存模式,例如在复杂的托管环境中,可以通过调用extender来完成

return [
    (new \FoF\Sitemap\Extend\ForceCached()),
]

委托

本扩展的初始版本由 profesionalreview.com 赞助。

链接