Laravel SEO : Membuat Sitemap Laravel Tanpa Package Installer

Membuat Sitemap XML Laravel -  Salah satu langkah yang dapat kita lakukan pada website kita adalah membuat agar website bisa terindeks oleh search engine seperti Google, Yahoo dan lainnya. 

Akan tetapi, hal tersebut bisa dikatakan cukup sulit. Oleh karena itu, untuk membantu agar website kita bisa terindeks oleh search engine kita perlu mengirimkan peta situs atau yang lebih di kenal sitemap pada setiap search engine. 

Sitemap merupakan halaman yang hanya berisikan url-url atau link yang ada pada halaman website kita, yang kemudian kita mengirimkan kepada search engine agar robot dari search engine dapat meng-crawl setiap halaman yang ada. 

Bagi anda pengguna CMS  ( Content Management System ) seperti WordPress, dan sejenisnya mungkin akan menjadi hal yang mudah. Kita tidak perlu membuat kode dari nol untuk menghasilkan halaman sitemap tersebut. Tetapi, bagaimana bagi yang menggunakan website yang mereka bangun sendiri dari nol seperti menggunakan framework ?

Nah, pada artikel kali ini saya akan share bagaimana cara kita membuat sitemap atau peta situs sendiri untuk PHP Framework Laravel

Pertama, buat controller misal dengan nama SitemapController.php dan masukan kode seperti di bawah ini pada function index. 

$posts = Article::orderBy('updated_at', 'DESC')->first();
        return response()->view('sitemap.index', ['posts' => $posts])
        ->header('Content-Type', 'text/xml');

 

Kemudian, buat folder dan file baru dengan nama sitemap pada folder resource/views/sitemap/index.blade.php dan masukan kode dibawah ini:

<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  @foreach ($posts as $post)
    <url>
      <loc>{{ url('/' . $post->slug) }}</loc>
      <lastmod>{{ $post->created_at->toAtomString() }}</lastmod>
      <changefreq>weekly</changefreq>
      <priority>0.6</priority>
    </url>
  @endforeach
</urlset>

 

Setelah, function dan view sudah anda buat, maka jangan lupa anda juga harus membuat route agar sitemap dapat berjalan. 

Route::get('/sitemap', 'SitemapController@index');

Ok, semua sudah di buat sekarang coba refresh browser anda dan silahkan akses domainanda.com/sitemap. 

Nah, untuk ekstensi dari sitemap dapat anda sesuaikan seperti menambahkan .xml seperti sitemap pada umumnya yang menggunakan ekstensi tersebut. Anda hanya menambahkan .xml seperti contoh dibawah ini:

Route::get('/sitemap.xml', 'SitemapController@index');

 

Dan semua sudah selesai, sekarang anda dapat mengirimkan sitemap anda ke webmaster agar bisa terindeks oleh search engine

 

Top