Cara Membuat Sitemap Dinamis di Codeigniter
Rumahit.ID - Sitemap atau peta situs adalah salah satu bagian penting dalam sebuah website. Sitemap inilah yang menjadi acuan bagi googlebot untuk melakukan crawling atau perayapan terhadap sebuah halaman web. Sitemap menandakan berapa halaman dan halaman apa saja yang dimiliki sebuah website. Mesin pencari seperti Google, Bing dan Yandex melakukan index halaman sebuah website berdasarkan sitemap yang berupa sebuah file berformat XML yang dimiliki website.
Gampangnya begini, ketika kita melakukan perubahan pada website kita misalnya ada penambahan artikel. Nah artikel tersebut secara otomatis tertulis juga pada file xml .Umumnya peta situs pada website diberi nama sitemap.xml . Jadi bisa diartikan sitemap atau peta situs adalah sekumpulan link yang ada di website kita yang ditulis dalam format XML. Kumpulan link tersebut akan terus bertambah jika kita melakukan penambahan link pada website.
File sitemap.xml ini yang nanti akan kita kirim ke beberapa alat webmaster seperti Google Console agar konten website kita dapat diindex oleh mesin pencari untuk ditampilkan dalam hasil pencarian (SERP).
Pada platform website seperti Blogger dan Wordpress misalnya, sitemap sudah disediakan secara otomatis oleh mereka. Kita tinggal langsung gunakan saja. Tetapi jika kita mengembangkan website menggunakan framework seperti Codeigniter atau Laravel, file sitemap.xml ini tidak ada dan harus kita buat manual. Inilah yang akan kita bahas di artikel ini.
Cara Membuat Sitemap di Codeigniter
Ada dua metode untuk membuat sitemap di website yang dibangun dengan codeigniter yaitu secara manual (statis) dan secara otomatis (dinamis)1. Membuat Sitemap Codeigniter Manual
Sebenarnya ada cara yang mudah untuk membuat sitemap di codeigniter tanpa melakukan coding apapun. Kita bisa memanfaatkan sitemap generator online seperti www.xml-sitemaps.com, www.xmlsitemapgenerator.org dan masih banyak website yang menyediakan layanan generate sitemap. Namun sayangnya kelemahan dari metode ini adalah sitemap yang dibangun bersifat statis hanya pada saat itu saja. Jika suatu hari kita melakukan penambahan konten pada website, harus melakukan generate sitemap lagi agar daftar linknya update. Tentu saja cara tersebut kurang efektif apalagi jika frekuensi update konten websitenya cukup tinggi pastilah sangat melelahkan.2. Membuat Sitemap Codeigniter Otomatis
Metode yang kedua adalah membangun sitemap secara otomatis. Sitemap yang akan kita buat ini bersifat dinamis, artinya file .xml akan otomatis melakukan update daftar link jika kita melakukan update konten terhadap website. Cara ini sebenarnya cukup sederhana, kita cukup memanfaatkan query database untuk menampilkan slug atau URL postingan dan ditampilkan kedalam view codeigniter dengan format outputnya berupa file xml.Untuk lebih jelasnya mari kita ikuti tutorial cara membuat sitemap otomatis di Codeigniter.
Dalam contoh ini saya mempunyai database dengan tabel resep. Saya hanya mengambil 2 buah kolom saja untuk dijadikan parameter sitemap yaitu kolom title dan kolom permalink.
Step 1 : Edit file routes.php
Buka file routes.php yang berada di folder application/config/routes.php kemudian tambahkan route untuk sitemap.xml berikut :$route['contact'] = 'home/contact';
$route['category/(:any)'] = 'category/index/$1';
$route['recipe/(:any)'] = 'recipe/index/$1';
$route['page/(:any)'] = 'page/index/$1';
$route['trick/(:any)'] = 'tricks/trick/$1';
$route['profile/(:any)'] = 'profile/index/$1';
$route['category/(:any)/(:num)'] = 'category/index/$1/$2';
$route['sitemap\.xml'] = "Sitemap/index";
Step 2 : Buat file Sitemap.php di controllers
Pada folder application/controllers buat file Sitemap.php kemudian isikan kode berikut :<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Sitemap extends CI_Controller {
/**
* Index Page for this controller.
*
*/
public function index()
{
$this->load->database();
//seuaikan dengan nama tabel masing-masing
$query = $this->db->get("resep");
$data['items'] = $query->result();
header("Content-Type: text/xml;charset=iso-8859-1");
$this->load->view('sitemap', $data);
}
}
Step 3 : Buat file sitemap.php di views
Pada folder application/views buat file sitemap.php kemudian isikan kode berikut :<?php echo'<?xml version="1.0" encoding="UTF-8" ?>' ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?php echo base_url();?></loc>
<priority>1.0</priority>
<changefreq>daily</changefreq>
</url>
<!-- Sitemap -->
<?php foreach($items as $item) { ?>
<url>
<loc><?php echo base_url()."recipe/".$item->permalink ?></loc>
<priority>0.5</priority>
<changefreq>daily</changefreq>
</url>
<?php } ?>
</urlset>
Sampai disini pembuatan sitemap otomatis di codeigniter sudah selesai, selanjutnya silahkan akses website teman-teman diikuti dengan sitemap.xml. Contoh : www.rumahit.id/sitemap.xml
Jika berhasil maka akan tampil peta situs yang menampilkan semua url di website kita dalam bentuk xml. Demikian tutorial ini semoga bermanfaat