Hoe je een sitemap genereert in Laravel

Zoekmachines gebruiken sitemaps om je pagina's te vinden en te indexeren. Een sitemap is een XML-bestand. Het vertelt Google en Bing welke URL's op je site staan.

Je kunt een sitemap bouwen in Laravel met behulp van het Spatie Sitemap-pakket.

Volg deze stappen om het in te stellen.

  1. Installeer het pakket Voer dit commando uit in je terminal: composer require spatie/laravel-sitemap

  2. Maak een controller aan Genereer een nieuwe controller om de logica af te handelen: php artisan make:controller GenerateSitemap

  3. Schrijf de logica Open je nieuwe controller en voeg deze code toe:

namespace App\Http\Controllers;

use Spatie\Sitemap\Sitemap;
use Spatie\Sitemap\Tags\Url;
use App\Models\Post;

class GenerateSitemap extends Controller
{
public function index()
{
$sitemap = Sitemap::create();

$sitemap->add(
Url::create('/')
->setPriority(1.0)
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
);

Post::with('category')
->where('status', 1)
->latest()
->get()
->each(function ($post) use ($sitemap) {
$sitemap->add(
Url::create($post->category->slug . '/' . $post->slug)
->setLastModificationDate($post->updated_at)
->setPriority(0.9)
->setChangeFrequency(Url::CHANGE_FREQUENCY_WEEKLY)
);
});

$sitemap->writeToFile(public_path('sitemap.xml'));

return back()->with('success', 'Sitemap Generated!');
}
}

Wat deze code doet:

  • Het maakt een nieuw sitemap-object aan.
  • Het voegt je homepage toe met een hoge prioriteit.
  • Het loopt door de posts in je database.
  • Het voegt elke post-URL toe aan het bestand.
  • Het slaat het bestand op in je public-map als sitemap.xml.

Je sitemap is te vinden op yourdomain.com/sitemap.xml.

Dit helpt zoekmachines om je nieuwe content snel te vinden.

Bron: https://dev.to/mindwarezone/how-to-generate-a-sitemap-in-laravel-a-complete-guide-4go6