Tutorial Membuat Sitemap dinamis di CodeIgniter

Tutorial Membuat Sitemap dinamis di CodeIgniter

Microtrafh - Kali ini saya ingin membahas tentang sitemap dengan tema tutorial membuat sitemap dinamis di codeigniter. Kalian pasti sudah tau apa itu sitemap? sitemap adalah sebuah struktur khusus yang berfungsi memberikan list dari sebuah url suatu website. sitemap berguna untuk memberi tahu link apa saja yang bisa dituju oleh sebuah mesin ataupun manusia, dan dalam website peran sitemap sangat penting untuk crawler atau penangkapan mesin pencari terhadap link suatu website yang kita punya. Singkatnya sitemap adalah daftar isi dari website kita. Beberapa orang menciptakan website tanpa memperhatikan hal penting ini, padahal sebagus - bagusnya suatu website jika tanpa sitemap maka akan sangat sulit untuk ditelusuri oleh mesin pencari.

Pentingkah sitemap itu?
Jawabannya pasti "Ya", karena tanpa sitemap, website yang ditujukan untuk publik tidak akan mudah ditelusuri.

Bagaimana cara kerja sitemap?
Mayoritas mesin pencari meminta sitemap dalam format khusus dan dengan pola khusus, biasanya mereka meminta dalam format XML.

Apakah sitemap harus berupa file?
Dulu mungkin "Ya" sekerang "Tidak", beberapa ahli programming menemukan cara yang lebih simple yaitu dengan cara dinamis, dimana sitemap.xml dihasilkan dari manipulasi database sehingga tidak perlu disimpan.

Adakah syarat membuat sitemap?
Ya, kamu harus mempunyai database dan table yang terdapat field berupa deretan yg menjadi kunci ke arah sebuah page yang dituju, untuk lebih jelasnya akan dijelaskan pada tutuorial.

Bagaimana cara membuatnya?
Karena tema artikel ini pada framework CodeIgniter maka saya akan menjelaskan cara membuatnya di CodeIgniter

Studi kasus

Saya memiliki website blog dengan format seperti ini
http://namadomain.com/cara-membuat-sitemap/
http://namadomain.com/blog-terbaik-tahun2015/


pada 'cara-membuat-sitemap' dan 'blog-terbaik-tahun2015' adalah sebuah kunci, saya sebut itu slug dari database dan table 'artikel' yang formatnya
- id (contoh :1)
-artikel (contoh : artikel tentang cara membuat.. bla bla)
-slug (contoh : cara-membuat-sitemap)
-date (contoh :2015-01-02)
dengan mencari slug kita mendapatkan artikel. nah sekarang ingin dibuatkan sitemapnya maka buat sebuah controller dengan nama sitemap.php di application/controllers/ dan ini bentuk dari syntaxnya

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
//nama class harus diawali dengan kapital, walaupun nama file semua kecil
class Sitemap extends CI_Controller {
 
 public function index(){
     $this->load->helper('url');
     $this->load->model('m_sitemap');
     $data['artikel'] = $this->m_sitemap->generate();
     $this->load->view('v_sitemap',$data);
 }
 
}
penjelasan:
kita akan generate dan mengambil slug dan date dari table artikel di database, field yang kita akan ambil adalah slug dan date maka dibutuhkan model dengan nama m_sitemap.php yang nanti akan kita buat. setelah diambil datanya kita berikan ke view v_sitemap.php yang nanti juga akan kita buat

Selanjutnya kita akan buat model , buat file m_sitemap.php di application/models/ dan bentuk dari syntaxnya seperti ini

<?php
class M_Sitemap extends CI_Model {
  
    function __construct()
    {
        parent::__construct();
    }
     
    function generate()
    {
        $this->db->select('slug,date');
        $this->db->from('artikel');
        $this->db->order_by('id',"DESC");
        $query = $this->db->get();
  
        return $query->result();
    }
}
dengan function itu akan mengambil data dari table artikel dan hasilnya akan di return ke controller yang dilanjutkan ke view
Setelah itu kita buat viewnya, buat file v_sitemap.php di application/views/ dan ini bentuk syntax nya
<?php header('Content-type: application/xml; charset="ISO-8859-1"',true);  ?>
 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
     <loc><?php echo base_url();?></loc>
     <priority>1.0</priority>
  </url>

  <?php foreach($artikel as $data) { ?>
  <url>
     <loc><?php echo base_url().$data->slug;?></loc>
     <priority>0.5</priority>
     <lastmod><?php echo $data->date;?></lastmod>
  </url>
  <?php } ?>
 
</urlset>
<loc> adalah url yang dibuat, <lastmod> tanggal perubahan, sangat baik mencantumkan ini karena search engine bisa tahu kapan artikel di edit.

selanjutnya memberi pengaturan pada file routes.php pada application/config/
dan tambahkan didalamnya syntax ini
$route['sitemap\.xml'] = "sitemap";
sehingga jika kita mengakses
http://namadomain.com/sitemap.xml akan dialihkan ke controller sitemap dan akan melakukan proses generate

Itu mungkin sedikit penjelasan tentang bagaimana cara membuat sitemap, saya tidak bisa memberikan contoh karena harus memiliki aplikasi asli,dan mungkin akan sangat panjang ceritanya, namun dengan konsep diatas  kalian mungkin bisa mengerti.

Beri +1,like, atau follow sosmed kami untuk mendapatkan info tutorial terbaru.
Back To Top