dgtlss / columbus

为 Laravel 的快速简单生成站点地图

1.2.2 2023-09-21 13:38 UTC

This package is auto-updated.

Last update: 2024-09-25 17:46:12 UTC


README

Columbus OG Image Columbus 是一个轻量级的 composer 包,允许您快速轻松地为 Laravel 应用生成站点地图。

安装

您可以通过 composer 安装此包

composer require dgtlss/columbus

安装完成后,您可以发布配置文件并生成 Columbus 运作所需的中间件。中间件告诉 Columbus 应该将哪些路由添加到站点地图,哪些应该被忽略。

php artisan columbus:init

初始化 Columbus 后,您需要将中间件添加到您的 app/Http/Kernel.php 文件中。您可以通过在 $routeMiddleware 数组中添加以下行来实现此操作

'Mappable' => \App\Http\Middleware\Mappable::class,

现在中间件已添加到您的 Laravel 应用中,您可以通过运行以下命令生成站点地图

php artisan columbus:map

这将生成一个位于您的公共目录中的 sitemap.xml 文件。现在您可以通过访问 yourdomain.test/sitemap 来访问它。

用法

现在我们已经成功安装和配置了 Columbus,您可以将路由添加到站点地图中。您可以通过将 Mappable 中间件添加到您想要包含在 sitemap.xml 文件中的路由来实现。当 Columbus 初始化时,它会将预制的路由组和中间件添加到您的 routes/web.php 文件中。您可以像这样向该组添加路由

Route::middleware(['Mappable'])->group(function(){
    /* routes in this group will be added to the sitemap */
    Route::get('/', function () {
        return view('welcome');
    })->name('home');
});

注意

  • 默认情况下,Columbus 只会将 GET 路由添加到您的站点地图中。如果您想更改此设置,您可以在 config/columbus.php 文件中这样做。

  • 请注意:当前 Columbus 无法处理带有变量的路由。这是未来将添加的功能。