Merubah Permalink Settings Blog

Sidoarjo – Sudah lama aku menggunakan permalink setting di blog dengan format http://domain/tahun-bulan-tangal-judul.html dan dari hasil baca-baca di beberapa blog ternyata Google kurang menyukai blog dengan permalink seperti punyaku itu karena ada .html-nya, beberapa teman menulis sudah benar hanya saja ada .html-nya.

Untuk merubah menjadi http://domain/judul/ sangat mudah tinggal masuk ke wordpress admin sudah selesai, tapi yang menjadi masalah adalah bagaimana agar pengunjung yang masuk melalui link lama dapat diredirect ke link yang baru, mulai berfikir keras karena kemampuan PHP-ku sangat lemah.

Aku ingat pada wordpress ada file yang namanya 404.php yang fungsinya menampilkan halaman jika tidak terdapat dalam blog, pikirku kenapa tidak ini yang aku manfaatkan?

Sebagai contoh semula link pada blog-ku adalah seperti berikut http://esn.or.id/2006-08-10-yahoo-hacking.html kemudian akan aku rubah menjadi menjadi http://esn.or.id/yahoo-hacking/, berarti aku harus melakukan pekerjaan 3 kali yaitu:

  1. Menghilangkan .html
  2. Menghilangkan 2006-08-10-
  3. Redirect ke alamat/link yang baru

Barikut adalah code PHP yang aku gunakan untuk menjawab 3 pertanyaan diatas, pertama-tama buka file 404.php yang terdapat pada theme blog dan rubah seperti code berikut:

<?php //get_header(); ?>
<?php //get_sidebar(); ?>
<?php //get_footer(); ?>
<?php

// link yang akan dirubah
$sumber = $_SERVER["REQUEST_URI"];

// ilangin .html
$titik_ilang = explode(".",$sumber);

// insertkan kode spesial
$special_car ='...................';
$num = $titik_ilang[0];

$last_num = substr($num,12);
$line = rtrim($num, $last_num).$special_car.$last_num;
$nn = explode($special_car,$line);

//alamat baru
$ab = 'http://'.$_SERVER["HTTP_HOST"].'/'.$nn[1].'/';

//redirect dengan html
echo "<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=".$ab."">";
?>

Setelah saya memisahkan .html maka saya harus memisahkan “tahun-bulan-tanggal-“, aku sempat mikir lama sekali dan akhirnya aku menemukan cara insert karakter kedalam string PHP sehingga aku menggunakan $last_num = substr($num,12); angka 12 karena “tahun-bulan-tanggal-” pada link tersebut adalah 12 karakter dan ini sama untuk semua link, tentunya lebih memudahkan.

Setelah selesai aku mencoba untuk upload ke server dan melakukan pengetesan dan akhirnya berhasil. Sekarang permalink pada blog ku sudah tidak menggunakan .html lagi dan telah sesuai dengan harapan, meskipun ada pengunjung datang dari link lamapun tetap akan sampai pada link baru yang telah aku rubah.