Login
Membuat XML Sitemap Dinamis di Codeigniter

Membuat XML Sitemap Dinamis di Codeigniter

Sitemap merupakan salah satu langkah yang digunakan oleh webmaster atau pengembang aplikasi berbasis web untuk memberitahu atau menginformasikan kepada mesin pencarian seperti Google tentang halaman yang telah dibuat untuk ditelusuri atau di index. Mudahnya, sitemap menginformasikan kalau kita telah menulis sesuatu di web atau blog kita. Sitemap berisi daftar alamat url yang ada pada sebuah web dengan metadata tentang kapan tulisan itu dibuat, seberapa sering tulisan itu diperbaharui, seberapa penting tulisan itu untuk ditelusuri dan lain-lain.

Pertanyaannya adalah, Apakah kalau kita submit sitemap pasti di telusuri atau crawl oleh mesin pencari seperti Google? Hmhmhmm Jawaban yang tepat menurut saya adalah Iya, tapi harus sabar menanti kapan kita di crawl oleh Google. Pengalaman saya, saya sudah submit sitemap melalui Google Webmaster Tools, namun tidak semua url yang saya submit di index oleh google, tapi lambat laun semua di index. Intinya harus sabar. Ini screenshot yang saya ambil dari Google Webmaster Tools dari beberapa blog saya. Ada yang semua ke index dan ada yang baru sebagian.

Contoh Sitemap – Index Google 1

Contoh Sitemap – Index Google 2

Pentingkah sitemap dibangun? Jawabannya Sangat Penting. Tentunya, jika kita membuat sesuatu pasti ingin diketahui oleh banyak orang karena memang tujuan kita menulis atau mengembangkan aplikasi untuk membantu orang yang ada disekeliling kita. Terus, bagaimana cara membuat sitemap kalau saya tidak menggunakan CMS seperti WordPress, Drupal atau Blogspot? Itu dia pertanyaan yang bagus. Kebetulan web saya ini dibuat menggunakan framework php - Codeigniter, jadi kali ini saya akan share Cara Membuat XML Sitemap Dinamis di Codeigniter.

Pertama buat modelnya

  • Buat file dengan nama url_model.php di folder application/models.
  • Memanggil data dari database
<?php
 
class Url_model extends CI_Model{
 
  public function __construct(){
  $this->load->database();
  }
  public function getURLS(){
 
  $query=$this->db->order_by("id_artikel","DESC")->get("artikel");
  return $query->result_array();
  }
}
?>

Membuat Controller untuk Sitemap.

  • Buat file dengan nama sitemap.php di folder application/controllers.
  • Memanggil data dari model dan menampilkannya di view
<?php
 
Class Sitemap extends CI_Controller {
 
  public function __construct(){
  parent::__construct();
  $this->load->model('url_model');
  }
 
  function sitemap()
  {
 
  $data['urlslist'] = $this->url_model->getURLS();
  $this->load->view("sitemap_view",$data);
  }
}
 
?>

Membuat View untuk Sitemap

  • Buat file dengan nama sitemap_view.php di folder application/views.
  • Menampilkan data dalam format XML
<?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($urlslist as $url) { ?>
  <url>
  <loc><?php echo base_url()."blog/baca/".$url['id_artikel']?></loc>
  <priority>0.5</priority>
  </url>
  <?php } ?>
 
</urlset>

Sekarang anda bisa coba melihat hasilnya di http://website-anda.com/sitemap

berikut DEMO  nya

Edit routes.php

  • Buka routes.php di folder application/config.
  • Tambahkan baris brikut ke routes
$route['sitemap\.xml'] = "sitemap";

Tujuan dari menambahkan baris tersebut adalah agar kita bisa mengakses sitemapnya menjadi http://website-anda.com/sitemap.xml (XML)

berikut DEMO  nya