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>



