flagrow/sitemap

此包已被废弃且不再维护。作者建议使用 fof/sitemap 包代替。

生成站点地图

资助包维护!
网站

安装次数: 9,572

依赖者: 0

推荐者: 0

安全: 0

星标: 14

关注者: 5

分支: 16

开放问题: 3

类型:flarum-extension

2.2.1 2023-11-12 22:14 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)),
];

注册静态 URL

您的论坛的一些页面可能没有覆盖到默认资源。要将这些URL添加到网站地图中,可以使用一个名为StaticUrls的伪资源。您可以使用RegisterStaticUrl扩展器添加自己的URL。该扩展器接受一个路由名称作为参数,该参数将使用Flarum\Http\UrlGenerator类解析为URL。

return [
    (new \FoF\Sitemap\Extend\RegisterStaticUrl('reviews.index')),
];

强制缓存模式

如果您希望强制使用缓存模式,例如在复杂的托管环境中,可以通过调用扩展器来实现。

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

委托

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

链接