nik / laravel-sitemap
Laravel Sitemap package for Laravel.
9.0.1
2026-05-15 04:51 UTC
Requires
- php: ^8.2
- illuminate/filesystem: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0|^11.0
- phpunit/phpunit: ^10.5|^11.0
This package is auto-updated.
Last update: 2026-05-15 04:55:53 UTC
README
A powerful and easy-to-use sitemap generator for Laravel. Support for Google News, Images, Videos, and Multilingual sitemaps.
Features
- Supports Laravel 10, 11, 12, and 13.
- PHP 8.2+ Compatibility.
- Dynamic sitemap generation.
- Automatic caching.
- Support for Big Sitemaps (Sitemap Index).
- Google News, Images, Videos, and Multilingual support.
- Multiple output formats (XML, HTML, TXT).
Installation
Install the package via composer:
composer require nik/laravel-sitemap
(Optional) Publish the configuration file and views:
php artisan vendor:publish --provider="Nik\Sitemap\SitemapServiceProvider"
Quick Start
Generate a simple sitemap in your routes/web.php:
use Nik\Sitemap\Sitemap; Route::get('sitemap.xml', function () { /** @var Sitemap $sitemap */ $sitemap = app('sitemap'); // Add static pages $sitemap->add(url('/'), now(), '1.0', 'daily'); $sitemap->add(url('contact'), now(), '0.7', 'monthly'); // Add dynamic items from database $posts = \App\Models\Post::latest()->get(); foreach ($posts as $post) { $sitemap->add(url($post->slug), $post->updated_at, '0.9', 'weekly'); } return $sitemap->render('xml'); });
Advanced Usage
For more detailed examples, please refer to the EXAMPLES.md file.
Common Scenarios:
- Caching: Speed up your sitemap generation.
- Big Sitemaps: Handling more than 50k items.
- Save to File: Generate sitemap via Artisan commands.
- Images & Videos: Add media to your sitemap items.
- Multilingual: Support for
hreflangtags.
License
This package is open-sourced software licensed under the MIT license.