Laravel Sitemap

spatie/laravel-sitemap image

Laravel Sitemap stats

Downloads
5.6M
Stars
2,034
Open Issues
7
Forks
261

View on GitHub →

Create and generate sitemaps with ease

Laravel Sitemap Package by Spatie

The Laravel Sitemap package by Spatie provides a seamless way to generate sitemaps for your Laravel application, ensuring your website's pages are indexed correctly by search engines. It offers a variety of methods to create and customize sitemaps, including dynamic crawling, manual additions, and integration with model data.

Key Features

  • Automatic Crawling: Generate sitemaps by crawling your website, automatically including all accessible URLs.
  • Manual Sitemap Creation: Manually add URLs to your sitemap, with options to set properties such as change frequency, last modification date, and priority.
  • Hybrid Approach: Start with an automatically generated sitemap and enhance it by adding more URLs manually.
  • JavaScript Execution: Capable of executing JavaScript to ensure that dynamically generated links are included.
  • Model Integration: Easily add URLs from Eloquent models by implementing the Sitemapable interface.
  • Customization Options: Control crawl behavior, including depth and exclusions, through a configurable crawler.
  • Storage Flexibility: Write sitemaps directly to various filesystems supported by Laravel.
  • Scheduled Sitemap Updates: Utilize Laravel's task scheduling to keep sitemaps up-to-date automatically.

Installation

Install the package via Composer:

composer require spatie/laravel-sitemap

The package will auto-register itself. For custom configurations, publish the configuration file:

php artisan vendor:publish --provider="Spatie\Sitemap\SitemapServiceProvider" --tag=sitemap-config

Usage

Generate a sitemap with all links from a domain:

use Spatie\Sitemap\SitemapGenerator;
 
SitemapGenerator::create('https://example.com')->writeToFile($path);

Add URLs manually:

use Spatie\Sitemap\Sitemap;
use Spatie\Sitemap\Tags\Url;
 
Sitemap::create()
->add(Url::create('/home')->setPriority(0.1))
->writeToFile($path);

For more complex scenarios, such as adding model data or combining crawled and manually added URLs, refer to the detailed documentation in the package.

Configuration

After publishing, adjust settings in the config/sitemap.php to customize crawler behavior, including request timeouts, cookie handling, and JavaScript execution settings.

Automating Sitemap Generation

Set up a scheduled task in Laravel to regenerate the sitemap periodically, ensuring it remains up-to-date as your site's content changes.

// app/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->command('sitemap:generate')->daily();
}

Conclusion

The Spatie Laravel Sitemap package is a powerful tool for automating the management of sitemaps, essential for SEO. With comprehensive customization options and easy integration, it is an invaluable addition to any Laravel application. For further details, visit the official repository.

spatie photo

We create open source, digital products and courses for the developer community

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Spatie Laravel Sitemap Related Articles

Lens for Laravel Brings WCAG Auditing to Your Local Dev Workflow image

Lens for Laravel Brings WCAG Auditing to Your Local Dev Workflow

Read article
Building a Sitemap in your Laravel app with the Spatie Sitemap image

Building a Sitemap in your Laravel app with the Spatie Sitemap

Read article
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
Celebian logo

Celebian

Celebian is a social media marketing agency specializing in helping their clients go viral on TikTok. Whether you're looking to reach a bigger audience or gain more Tiktok followers, likes, and views, they've got you covered.

Celebian
Securing Laravel logo

Securing Laravel

The essential security resource for Laravel devs, covering everything you need to keep your apps secure. Sign up to receive weekly security tips and monthly in depth articles, diving deep into security concepts you need to know!

Securing Laravel
Typesense Search logo

Typesense Search

Typesense is an open source, blazing-fast search engine, optimized for helping you build delightful search experiences for your sites and apps. Natively integrated with Laravel Scout.

Typesense Search
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing