Laravel Sitemap Yapımı
#Laravel - 16 Oct 2020

Merhabalar, bu yazıda Laravel ile basit bir sitemap örneği yapacağım. Örneği görüntülemek isteyenler www.tayfunguler.org/sitemap adresinden bakabilir.

Öncelikle routes/web.php dosyasına aşağıda paylaştığım satırı ekleyin. Bu satır siteadi.coom/sitemap adresine erişmenizi sağlayacaktır.

Route::get('/sitemap', [SettingsController::class, 'sitemap']);

Daha sonra App/Http dizinine girip controller dosyanızı açın. Ben SettingsController dosyasında çalıştığım için sizde farklılık gösterebilir. Controller dosyasını açıktan sonra aşağıda kodu ekleyerek sitemap fonksiyonunu oluşturun.

    public function sitemap(){
        $posts = Post::All();
        $now = Carbon::now()->toAtomString();
        return response ()->view('home.sitemap', compact('posts','now'))->header('Content-Type', 'application/xml');
    }

Kullandığımız Carbon içinde aşağıda satırı ekleyin.

use Carbon\Carbon;

Fonksiyonu da ekledikten sonra resources/views dizinine home adında klasör oluşturun. Oluşturduğunuz home klasörü altına sitemap.blade.php dosyasını oluşturun ve aşağıdaki kodları ekleyin.

<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

    <url>
        <loc>{{ url('/') }}</loc>
         <lastmod>{{ $now }}</lastmod>
        <changefreq>Daily</changefreq>
        <priority>0.8</priority>
    </url>

    @foreach($posts as $post)
    <url>
        <loc>{{ url('/').'/'.$post->slug }}</loc>
        <changefreq>Daily</changefreq>
        <priority>0.8</priority>
    </url>
    @endforeach
</urlset>