Rabu, 22 Oktober 2008

Cara Membuat URL SEO Friendly Menggunakan Rewrite htaccess

Membuat URL SEO Friendly Menggunakan Rewrite htaccess

+ Apa itu URL SEO Friendly?
yaitu URL Address suatu website yang bagus untuk Search Engine Optimization

+ Contohnya ?

http://oscms.sirihmerah.com/article/6/the-end-of-animated-gif-images-decade.html

URL diatas SEO friendly dan lebih "disukai" Google dibandingkan

http://oscms.sirihmerah.com/?page=article&id=2

Intinya url yang baik dalam hal SEO friendly adalah url yang menunjukkan isi dari
halamannya atau keyword dari isi halamannya.

Jadi baiknya :


- Url hendaknya menjelaskan isi dari halamannya, atau keywordnya (tapi jangan nipu kalo gak mau diblack list ma google)
- Url hendaknya mengarah ke file (jangan http://aku.com/?id=2) kalo bisa file dengan ekstensi html bukan php atau htm (percaya gak yang ini? xixixi)

+ Caranya Gimana?
(dalam hal ini kita pakai htaccess, btw apa bisa pakai cara lain? bisa kok xixixix)

Biar gampang kita studi kasus aja, bikin weblog aja yang hanyabisa posting artikel, tapi URL artikelnya SEO Friendly kayak punya blogspot lihat deh
misal nama domain kita --> http://hafid.com (xixixix narsis lagi)
1. Bikin tabel artikel aku kasih nama --> tb_artikel
fieldnya (id_artikel int 11 , judul_artikel varchar 255 , isi_artikel text )
2. Bikin kode untuk menampilkan artikel misal dengan nama --> artikel.php
Prosedurenya gini
Jika aksesnya --> http://hafid.com/artikel.php
Halaman artikel.php akan menampilkan daftar semua judul artikel dan link menuju ke artikelnya itu aja, boleh juga ditambah resume dari artikel
bagaimana link artikelnya? biasanya kita main gampang aja --> http://hafid.com/artikel.php?id=id_artikel
bagaiman kodenya? waduh masak gak bisa seeeeh ya dah aku bikinin sederhanyanya gini

// include dulu yang perlu diinclude untuk konek database dsb
include "config.php";
include "blablabla.php";

if (!empty($_GET['id'])) {
$id=(int)$_GET[id];
$exe = mysql_query('select * from tb_artikel where id_artikel='.$id);
$show = mysql_fetch_array($exe);
echo '

'.$show['judul_artikel'].'

';
echo '

'.$show['isi_artikel'].'

';
}
else{
$exe = mysql_query('select * from tb_artikel order by id_artikel desc');
while ($show = mysql_fetch_array($exe)){
echo '

';
echo '';
echo $show['judul_artikel'];
echo '
';
echo '

';
}
}
?>

3. Pada kode diatas penerapan linknya gak SEO friendly kenapa karena URL link ke artikelnya modelnya kayak gini :
http://hafid.com/artikel.php?id=id_artikel
alasannya :
- URL tersebut gak menunjukkan isi dari artikel
- URL tersebut tidak mengarah ke spesifik file tunggal dalam arti meski ke file artikel.php adalah file tunggal tapi variabel yang dikirimkannya menunjukkan hal yang lain
serta ekstensi filenya masih serverside (PHP) jadi harusnya yang clientside macam HTML itu saranku bukan file dengan ekstensi HTM (boleh dibantah xixixi)
Lantas gimana?

Jadi target kita adalah mengelabuhi Search Engine, xixixixix. Ok serius nih, kita akan ubah url tersebut menjadi :

http://hafid.com/artikel/id_artikel/judul_artikel.html

4. Buat file ".htaccess", Caranya buka notepad kalo gak punya boleh catat pakai buku xixixix, tulis kode berikut

# ------- Mulai ------- #
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^artikel/([0-9]+)/([a-zA-Z0-9_-]+)(\.html)?$ artikel.php?id=$1 [L]
# ------- Akhir ------- #

Gampangkan? apa? bingung? xixixix sam kalo gitu,tapi yang perlu Anda perhatingkan adalah bagian RewriteRulenya atau dengan kata lain alias
jadi intinya adalah aturan kalo ada yang ngetik url bla..bla.. bla.. maka sama server akan menganggap itu blablabla yang lain sesuai Rulenya atau aturannya
Lihat :
- ^artikel/([0-9]+)/([a-zA-Z0-9_-]+)(\.html)?$ --> Ini adalah URL yang mau di aliaskan, artinya ketika ada yang masuk dengan URL berformat kayak gitu maka server akan menganggap daia masuk dengan URL
- artikel.php?id=$1

keterangan :
^artikel/ -> URL bisa diawali karakter apa aja misal : http://hafid.com dan ditambah string artikel/ -> http://hafid.com/artikel/ (Match)
([0-9]+)/ -> Hanya mengijinkan karakter 0-9
([a-zA-Z0-9_-]+) -> Mengijikan karakter a-z, A-Z , 0-9
(\.html) -> berakhiran .html

artikel?id=$1 -> URL yang kita inginkan, lalu apa $1, $1 adalah id dari artikel yang akan berubah dinamis tergantung id_artikelnya, lho kok bisa, ya bisa dunk lihat
([0-9]+) -> $1 // variabel pertama
([a-zA-Z0-9_-]+) -> $2 // variabel kedua
Dalam hal ini yang kita perlukan variabel pertama aja yaitu untuk id_artikelnya nanti.
Udah dulu aja lantas simpan kode tersebut dengan nama ".htaccess" tanpa tanda kutip.
Kalo pakai notepad ketika nyimpen pilih save as type -> Save All, lalu masukkan nama filenya dengan ".htaccess" dengan tanda kutip, kalo nggak bisa cari aja file .htaccess yang sudah ada kamu edit dalamnya, cari diinternet.
kalo udah silahkan letakkan (upload) keserver file tersebut.

5. Lantas jalankan websnya misal akses --> http://hafid.com/artikel.php
Udah? lalu klik link artikelnya! Udah, tapi lho kok linknya tetep aja gak SEO FriendLy? Ya iya lah, kalo Anda berpikir seperti itu berarti Anda salah paham. xixixix
Jadi langkah kita adalah merubah dari link tersebut menjadi SEO Friendly sesuai arturan di .htaccess
Caranya ? buat sendiri yah aku capek xixixix,

// include dulu yang perlu diinclude untuk konek database dsb
include "config.php";
include "blablabla.php";

if (!empty($_GET['id'])) {
$id=(int)$_GET[id];
$exe = mysql_query('select * from tb_artikel where id_artikel='.$id);
$show = mysql_fetch_array($exe);
echo '

'.$show['judul_artikel'].'

';
echo '

'.$show['isi_artikel'].'

';
}
else{
$exe = mysql_query('select * from tb_artikel order by id_artikel desc');
while ($show = mysql_fetch_array($exe)){
echo '

';
$judul=substr(strip_tags($show['judul_artikel']),0,100); // 100 aja gak perlu panjang2
$judul=strtolower($judul).".html"; // tambah dengan .html biar kayak file html, huruf ubah kecil semua biar asyik
$judul=str_replace(' ','-',$judul); // ubah spasi dengan strip, mengapa? agar rapi di urlnya
echo ''.$show['judul_artikel'].'';
echo '

';
}
}
?>

6. Selesai, silahkan dicoba, misal kamu punya artikel dengan judul "Siapa Hafid Mukhlasin" dengan id_artikel = 5 maka linknya menjadi begini
http://hafid.com/artikel/5/siapa-hafid-mukhlasin.html
Dimana server akan menganggapnya :
http://hafid.com/artikel.php?id=5

7. OK gimana mudah bukan? betewe kalo ditanya apakah saya udah mencoba kode diatas? saya jawab belum. Aku nyoba untuk kasus yang berbeda di http://oscms.sirihmerah.com
Intinya demikianlah logikanya, saran saya kode2 saya diatas jangan dimasukin hati, maksudnya jangan asal dikopas tapi difahami betul jika ada yang keliru dibetulkan OK


Akhirnya saya berharap mudah2an bermanfaat, namun jika ada salah2 ketik saya mohon maaf, OK tunggu tutorial berikutnya, Sampai Jumpa

Tidak ada komentar: