How to Generate Sitemap using Laravel

AuthorSumit Dey Sarkar

Pubish Date22 Mar 2023

categoryLaravel

In this tutorial we will learn how to generate sitemap using laravel.

 

How to generate sitemap using laravel

Generating a sitemap in Laravel can be done by following these steps:

 

Step 1 - Install the Laravel Sitemap package using Composer. Run the following command in your terminal:

composer require spatie/laravel-sitemap

 

Step 2 - After installing the package, publish its configuration file by running the following command:

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

 

Step 3 - Open the config/sitemap.php file and configure the sitemap settings as needed.

 

Step 4 - Create a new sitemap by running the following command:

php artisan make:sitemap MySitemap

Replace MySitemap with the name of your sitemap.

 

Step 5 - Open the newly created sitemap file located in the app/Sitemaps directory.

 

Step 6 - Inside the build() method, add the URLs that you want to include in the sitemap.

For example:

public function build()
{
    $this->add('https://example.com/');
    $this->add('https://example.com/about');
    $this->add('https://example.com/contact');
}

 

Step 7 - You can also dynamically generate URLs by fetching them from your database or other sources. For example:

public function build()
{
    $posts = Post::all();

    foreach ($posts as $post) {
        $this->add(route('post.show', $post->slug));
    }
}

In this example, we're retrieving all posts from the database and adding their URLs to the sitemap using the route() function.

 

Step 8 - To generate the sitemap, run the following command:

php artisan sitemap:generate

This will generate the sitemap XML file and save it to the public directory.

 

Step 9 - Finally, you can submit the sitemap to search engines such as Google by adding its URL to your website's robots.txt file or by using the Google Search Console.

Comments 0

Leave a comment