Membuat canonical link di halaman pencarian WordPress

halaman canonical itu adalah halaman yang dipilih dari beberapa halaman web yang memberikan konten sangat serupa.

SerupaHalaman canonical apa sih om Jev?
Gini loh sob, halaman canonical itu adalah halaman yang dipilih dari beberapa halaman web yang memberikan konten sangat serupa. Konten yang serupa sangat tidak disukai mesin pencari. Yang sudah biasa bermain-main dengan webmaster tool tentu tau, halaman apa saja yang memberikan konten sama, baik itu karena adanya duplicate title ataupun duplicate description. Nah dengan membuat halaman canonical, kamu sudah memberitahu kepada mesin pencari bahwa dari semua halaman dengan isi yang sama, maka halaman inilah yang paling berguna, dan mesin pencari akan memprioritaskan halaman tersebut dalam hasil pencarian.

Bagaimana cara membuat canonical link di search page WordPress
Beberapa plugin WordPress seperti All in One SEO Pack atau Platinum SEO, sudah menerapkan metode ini. Halaman canonical yang terbentuk berasal dari diterapkannya elemen dengan atribut rel = “canonical” di bagian untuk halaman yang bukan canonical (lihat source page blog kamu). Om Jev memfokuskan halaman pencarian WP ini karena beberapa plugin tersebut belum memberikan link canonical untuk search page WordPress. Yah..disamping alasan itu, ada beberapa teman-teman blogger yang bermasalah dengan halaman pencarian blognya. Om kasih satu contoh kasus dari pengunjung blog ini, namanya Tukang Ngoceh (kerjaannya pasti ngoceh mulu nih di blognya Om Jev :) :

pages with duplicate title tags di tempat saya buanyak mas hehe… Gimana ya saya membuat robots.txt nya?
hxxp://domain.com/wow/Tukang-Es-cendol (ada huruf besarnya)
hxxp://domain.com/wow/tukang-es-cendol
hxxp://domain.com/wow/tukang-es-cendol.html
hxxp://domai.com/wow/Tukang-Es-cendol.html (ada huruf besarnya)
Semuanya kayak gitu mas, terdeteksi sebagai duplicate content buanget. Tolong ya mas:
1. Gimana robots.txt nya mas, terutama yang ada huruf besarnya tuh. Permalink yang saya pake yang .html
2. Kalau terdeteksi gitu, cara ngapusnya gimana mas? Soalnya itu kan AGC. Apa hapus cache nya aja atau gimana ya mas? Soalnya saya cari-cari di webmaster tools gag ada menunya buat ngapus yang duplicate gitu.

Dari kasus ini, permalink-permalink tersebut membentuk halaman yang serupa, dari situ kita harus menentukan permalink mana yang akan dijadikan halaman canonical. Saya pribadi lebih memilih link yang semuanya membentuk lowercase, nah untuk contoh kasus ini, Om jev memilih permalink hxxp://domain.com/wow/tukang-es-cendol.html sebagai halaman canonical.

Sekarang kita tinggal memasang kode berikut dalam file header.php di antara kode <head> … </head>

<?php function fix_permalink($s){
$s = strtolower($s);
$s = preg_replace('/&.+?;/', '', $s); 
$s = preg_replace('/\s+/', '-', $s); //ganti tanda minus (-) dengan tanda plus (+) kalo permalink kamu pake tanda plus
$s = preg_replace('|%(&#91;a-fA-F0-9&#93;&#91;a-fA-F0-9&#93;)|', '-', $s); //ganti tanda minus (-) dengan tanda plus (+) kalo permalink kamu pake tanda plus
$s = preg_replace('|-+|', '-', $s); //ganti tanda minus (-) dengan tanda plus (+) kalo permalink kamu pake tanda plus
$s = preg_replace('/&#?&#91;a-z0-9&#93;+;/i','',$s); 
$s = preg_replace('/&#91;^%A-Za-z0-9 _-&#93;/', '-', $s); //ganti tanda minus (-) dengan tanda plus (+) kalo permalink kamu pake tanda plus
$s = trim($s, '-'); //ganti tanda minus (-) dengan tanda plus (+) kalo permalink kamu pake tanda plus
return $s;
}
if (is_search()) { 
echo '<link rel="canonical" href="http://'.$_SERVER&#91;"HTTP_HOST"&#93;.'/wow/'.fix_permalink($s).'.html" />'; //ganti kata "wow" dan ".html" sesuai dengan permalink search kamu
} 
?>

Sekarang kamu tinggal ngecek halaman non-canonical (halaman yang duplikat/bukan prioritas) di browser (dalam hal ini Mozilla Firefox), apakah ada simbol “C” warna biru?, jika ada maka simbol canonical itu akan menunjukkan yang mana url halaman canonical. Jika dilihat di source page (Ctrl+u) akan terbentuk kode seperti ini di bagian <head>.

<link rel=”canonical” href=”hxxp://domain.com/wow/tukang-es-cendol.html” />
(ini contoh loh yah)

Jadi, gitu aja deh sob solusi dari Om Jev untuk tips menghindari duplikat konten dengan menerapkan canonical link. Bagi yang bermasalah (fans blog AGC nih biasanya) dengan permalink tanda plus (+) atau ekstensinya, kamu tinggal ikuti saja petunjuk yang dalam kode tersebut.
Selama mencoba Sob! :)

Update 20 Desember 2010
– Dengan metode ini, semua halaman pagination di search page wp di arahkan ke halaman canonical.

Author: Jevuska

Rachmanuddin Chair Yahya a.k.a Jevuska is the founder of Jevuska.Com, a qualified web about offering medical articles, blogging, tips, and tutorial of WordPress. Having written for Jevuska since 2007.

30 thoughts on “Membuat canonical link di halaman pencarian WordPress”

  1. om punya ane sering kejadian ky ni di link canonical nya akibat iseng visitor
    hxxp://domain.com/ini–bukan—salah—-saya

    karena visitor sengaja atau ngga sengaja memasukan spasi yang berlebihan. gimana ya om ngasi preg_replace buat kejadian ky gini ?? hingga nanti spasi yang kelebihan itu tetap terbaca hanya 1 spasi ?

  2. om jev, sebenernya 404 apakah perlu dibuatkan canonical page juga terutama utk agc search ? klo kode di atas diubah untuk canonical 404, jadinya gimana yah om jev ? thnks

  3. Maaf om, Mengangkat lg tentang Canonical ini.. namun berbeda yaitu ke halaman 404
    saya menggunakan plugin ask apache 404 google untuk halaman 404,
    pada settingan indexing saya setting “index,nofollow” dan hasilnya memang banyak yang keindex pada halaman ini namun disertain “not found”

    hxxp://www.domain.com/rujak cingur
    hxxp://www.domain.com/rujak cingur surabaya
    hxxp://www.domain.com/rujak cingur pedas
    hxxp://www.domain.com/sambal tempe
    hxxp://www.domain.com/terigu superour

    Nah pada kasus seperti ini sebaiknya dibuatkan canonical page untuk halaman 404, ato settingan meta robotnya dirubah

    kalopun meta robot.txt nya diubah agar tetap terindex tp menghilangkan atribut “Not found” gimana?

    maaf om banyak maunya.. hehe

    http://www.softwarephone.info/11
    404 (Not found) 5 pages Jan 8, 2011
    http://www.softwarephone.info/11 jar
    404 (Not found) 1 pages Jan 12, 2011
    http://www.softwarephone.info/123 games for mobils nokia 2700 new 2011

  4. yang ini jadi tand plus semua kodenya?
    $s = preg_replace(‘|-+|’, ‘-‘, $s); //ganti tanda minus (-) dengan tanda plus (+) kalo permalink kamu pake tanda plus

    1. kamu tes aja dengan kombinasi berbagai permalink seperti contoh di atas, apakah terbentuk halaman canonical atau tidak. Om juga belum pernah nyoba plugin ini.

  5. Om, bagaimana dengan tambahan kode lama pada baris paling atas sendiri saat membuat agc? apa dihapus, baru ditambahkan kode yang baru ini diantara head> dan /head> ?
    atau tidak perlu dihapus kodenya?

  6. OM JEV, mau nanya nih saya kan ada dua halaman yang duplikat nih yaitu:
    /topic/kenikmatan-relaksasi/
    /topic/kenikmatan-relaksasi/page/2
    /topic/kenikmatan-relaksasi/page/3
    /topic/kenikmatan-relaksasi

    nah saya sudah coba pakai cara om jev diatas, dan saya coba lihat masing masing URL pada empat duplikat konten diatas. Pada masing masing url terdapat kode canonical yang sama yaitu /topic/kenikmatan-relaksasi/, begitu ya?

  7. om makasih om!aku penggemar setiamu. Om banyakin lagi dong artikel SEO nya.wah aku bener2 ngefans sama om jev,murah baget berbagi ilmu. makasih ya. kebetulan saya juga ada ada msalah ma duplikasi di halaman agc.makasih ya om. hehehe

  8. Om mau nanya nih.. saya punya masalah dengan duplicate title tags dan duplicate meta deskripstion nih. Kasusnya gini permalinknya:
    hxxp://www.domain.com/search/wedhus+gembel.html
    hxxp://www.domain.com/search/wedhus+gembel.html/

    hemm bedanya cuma ada “/” di belakang dan jelas title tags dan deskriptionya sama. mohon bantuannya om.. makasih

    1. Om liat canonical di plugin all in one seo pack (yang sekarang) nggak terlalu banyak berguna, soalnya dari wordpress sekarang sendiri sudah menerapkan metode canonical ini. Justru plugin ini membuat masalah pada beberapa blog om, dimana url pagination hasil canonical yang terbentuk pada home dan archive modelnya seperti ini /page/2/ (ada tanda slash di akhir permalink), bertentangan dengan robots.txt blog om yang tidak menghendaki adanya tanda slash di belakang permalink. (baru nyadar tadi, banyak pagination om yang nggak ke index).
      Jadi, kalo urusannya centang-mencentang canonical di plugin ini sebenarnya tergantung permalink blog kamu secara keseluruhan.

  9. om, saya dulu pernah buat AGC tapi kok kena penalty dari google ya? apa saja yang harus dilakukan agar tidak sampe kena pinalty dari mbah google?

  10. mana om theme yg AGC freindly sudah tak tungguin kok gak muncul2? blog saya udah pake AGC kok indeks nya rendah terus ya rata2 dibawah 1000 padaha udah jalan 8 bulan

  11. mkasih om trik oprek All in One SEO Pack dri om jev manjur tenan nih di agc saya,
    kmarin duplicate description ampe 3ribuan skarng dah bersih pling tnggal puluhan aja,
    skrang ijin mke tutor dri om yg ini ya…

  12. Om …
    thanks infonya.
    Btw, saya ada problem nih.
    Saya pakai plugin recent-google-searches-widget, tapi permasalahnnya theme saya tidak support widget, gimana cara menaruh kode phpnya di theme saya ?

    Om Jev bisa lihat di blog saya yang bagian trending search.

    Terima kasih sebelumnya.

  13. bagus ni tutornya boleh di coba tapi susah juga kalau pakai WP yang blogspot gimana ya cara makainya soalnya blog portalgue.com makainya blogspot jadi pusing ga bisa vcra makainya

Leave a Reply

Your email address will not be published. Required fields are marked *

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]