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.