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>