Ubah Permalink WordPress Tanpa Kehilangan Traffic Blog

Posted in: Pemrograman,Website & Blog |

This post is also available in: English

This post is also available in: English

Suatu waktu ketika kita mengubah struktur alamat Permanent Link (Permalink) dari postingan blog WordPress kita dengan yang baru, otomatis  alamat URL postingan yang lama juga akan berubah dan tidak akan bisa diakses lagi. Padahal sebelumnya postingan blog kita sudah ada di hasil search engine Google,Yahoo, dsb atau URL dr postingan kita ada di web lain, misal di Twitter atau Facebook. Jadi bagaimana caranya supaya kita tidak kehilangan traffic dari blog kita, terutama postingan yang paling sering di kunjungi karena linknya berubah? Cara untuk mengatasinya adalah dengan meng-install plugin WordPress Permalinks Moved Permanently.

Plugin ini mengakali dengan cara me-redirect alamat URL yang lama ke alamat URL yang baru berdasarkan informasi slug postingan. Jadi bila slug yang sama ditemukan, sebelum permalink lama menghasilkan pesan error 404 karena tidak menemukan URL, maka akan dihasilkan pesan “301 Moved Permanently” dan dibawa ke alamat URL baru.

Contohnya adalah alamat postingan dari blog saya yang lama

http://www.hikaruyuuki.com/blog/2008/11/14/boneka-boneka-jepang-bagian-1.phpx

karena saya telah mengubah Permalink saya, bila alamat di atas diklik maka akan dibawa ke alamat yang baru

http://www.hikaruyuuki.com/blog/boneka-boneka-jepang-bagian-1.html

Hanya saja ada satu masalah yang timbul dan menjadikan plugin ini tidak berhasil, dugaan saya karena slug diambil dari basename URL dan ekstensi berubah dari .phpx ke .php, jadi slug nya yang dihasilkan juga tidak sama sesuai dengan di database. Akhirnya saya akali dengan menghilangkan ekstensi ketika mengambil slug tsb. Edit file Plugin permalinks-moved-permanently.php pada baris ke-44 menjadi:

$slug = ShowFileName( $_SERVER['REQUEST_URI']);

dan tambahkan Function berikut di akhir file:

function ShowFileName($filepath)
{
   preg_match('/[^?]*/', $filepath, $matches);
   $string = $matches[0];
   #split the string by the literal dot in the filename
   $pattern = preg_split('/\./', $string, -1, PREG_SPLIT_OFFSET_CAPTURE);
   #get the last dot position
   $lastdot = $pattern[count($pattern)-1][1];
   #now extract the filename using the basename function
   $filename = basename(substr($string, 0, $lastdot-1));
   #return the filename part
   return $filename;
}

Akhirnya setelah saya edit file tsb berhasil deh, dan Permalink lama berhasil di-redirect ke Permalink yang baru.




Comments

There is one comment


  1. Ardiawan.com says:

    wah hebat gan solusinya, tapi kalo saya pake plugin Dean lee Permalinks migration



Speak Up!

Leave your own comment

Notify me of follow-up comments via e-mail (or subscribe here).




 

Share

Subscribe Feed

Email

Facebook

Twitter

Delicious

Digg

StumbleUpon

Google Buzz

Deviantart