dgtlss / columbus
为 Laravel 的快速简单生成站点地图
1.2.2
2023-09-21 13:38 UTC
Requires
- php: >=8.1
- nunomaduro/laravel-desktop-notifier: ^2.5
Requires (Dev)
- laravel/framework: ^9.0.0
README
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 无法处理带有变量的路由。这是未来将添加的功能。