Mengelola Parameter URL di WooCommerce untuk SEO

Panduan Teknis: Mengelola Parameter URL di WooCommerce untuk SEO

Photo of author

By Muhammad Khadafi

Parameter URL (atau query string) adalah bagian dari URL yang muncul setelah tanda tanya (?), biasanya berisi pasangan kunci=nilai untuk keperluan pelacakan, penyaringan, urutan, pencarian, dan sebagainya. Di WooCommerce/WordPress, parameter URL umum seperti utm_source, gclid, orderby, atau s dapat muncul pada halaman produk, kategori, atau fitur internal. Namun, penggunaan parameter URL yang berlebihan dapat menimbulkan masalah SEO, misalnya duplicate content (halaman sama diakses dengan banyak URL berbeda) atau pemborosan crawl budget mesin pencaridevelopers.google.com. Google menegaskan bahwa parameter pelacakan bisa menyebabkan konten identik tersedia di banyak URLdevelopers.google.com. Oleh karena itu penting untuk menata ulang parameter URL agar bot mesin pencari fokus pada URL utama, bukan versi dengan parameter.

Kategori Parameter URL Umum di WooCommerce/WordPress

  1. Tracking (Pelacakan): Parameter seperti utm_source, utm_medium, gclid, fbclid atau srsltid digunakan untuk analitik atau iklan. Mereka tidak mengubah konten halaman, hanya menambahkan informasi pelacakan. Mesin pencari dapat mengabaikan atau menggabungkan URL-URL ini, namun sebaiknya kita bantu dengan canonical atau penghapusan parameter.
  2. Filtering & Sorting: WooCommerce sering menggunakan parameter orderby (mis. orderby=price), min_price, max_price, atau parameter filter kustom (mis. filter_color=…). Meskipun mengubah urutan atau isi list produk, halaman tersebut secara konten hampir sama dengan halaman kategori dasar. Harus di-handle agar tidak menghasilkan banyak halaman duplikat.
  3. Pencarian Internal: WordPress memakai parameter s untuk halaman hasil pencarian (mis. /?s=keyword). Halaman hasil pencarian biasanya tidak berguna untuk SEO dan dapat dianggap konten duplikat jika terindex.
  4. Paging/Paginasi: Parameter page atau paged (mis. page=2) pada arsip kategori atau blog. Halaman paginasi membagi konten, dan penanganannya sebaiknya diatur agar Google tahu hubungan antarhalaman.
  5. Komentar (replytocom): WordPress menambahkan ?replytocom=ID saat mereply komentar tanpa JavaScript. Ini bisa menghasilkan ratusan URL berbeda untuk satu posting. Crawling URL ini memboroskan crawl budget tanpa menambah nilai konten.
  6. Fitur Belanja: WooCommerce menggunakan parameter seperti add-to-cart (mis. ?add-to-cart=123) untuk aksi menambah ke keranjang. URL ini sebaiknya tidak diindeks karena tidak konten nyata.
  7. Lainnya: Bisa muncul parameter preview=true (untuk pratinjau), feed=rss2, dll. Umumnya parameter preview atau feed sebaiknya tidak diindeks.

Masing-masing kategori di atas harus ditangani berbeda untuk mencegah duplikat konten. Singkatnya, kita perlu membersihkan URL (hapus parameter tidak perlu), menggunakan tag canonical yang tepat, atau mengatur robots/meta robots. Google menyarankan untuk “menghapus parameter URL yang tidak perlu, gunakan Sitemap dengan versi canonical, atau gunakan 301 redirect untuk parameter pelacakan”developers.google.comdevelopers.google.com.

Tantangan SEO dari Parameter URL

URL parameter dapat menyebabkan duplicate content. Google akan mengelompokkan berbagai URL yang identik kontennya, lalu memilih satu sebagai wakil untuk hasil pencariandevelopers.google.com. Hal ini bisa mengurangi link equity yang tersalur ke satu halaman tunggal. Selain itu, URL panjang dengan parameter acak mengurangi kenyamanan pengguna pada hasil pencariandevelopers.google.com.

Untuk memitigasi masalah ini, Google menyarankan agar kita meminimalkan penggunaan parameter, dan memastikan bot mengenali URL canonical. Misalnya, gunakan rel=canonical ke URL utama tanpa parameterwebmasters.stackexchange.com, atau terapkan 301 redirect agar versi parameter mengarah ke URL bersihdevelopers.google.com. Hindari memblokir parameter di robots.txt hanya untuk “menghapus” duplikat, karena Google tidak menganjurkan metode robots.txt atau noindex semata sebagai solusi ganti canonicalwebmasters.stackexchange.com. Sebaliknya, rel-canonical lebih disarankanwebmasters.stackexchange.com. Selain itu, perbaiki internal linking agar link-link pada situs mengarah ke URL canonical (hindari menyebarkan parameter ke link internal)webmasters.stackexchange.com.

Best Practice SEO untuk URL Parameter

  1. Gunakan Canonical Tag
    • Selalu arahkan ke versi utama tanpa parameter.
    • Contoh: <link rel="canonical" href="https://domain.com/product">
  2. Gunakan robots.txt (opsional)
    • Blok parameter yang tidak penting untuk SEO, misalnya tracking.
    • Contoh: Disallow: /*?srsltid= Disallow: /*?fbclid=
  3. Konfigurasi di Google Search Console
    • Menu Legacy Tools → URL Parameters (meski sekarang agak dibatasi).
    • Bisa set bahwa parameter tertentu tidak mengubah konten (Google boleh abaikan).
  4. Redirect (opsional)
    • Bisa buat rule agar parameter tracking otomatis dihapus dengan 301 redirect ke URL utama.
    • Contoh di .htaccess (Apache): RewriteCond %{QUERY_STRING} (^|&)srsltid=.* [NC] RewriteRule ^(.*)$ /$1? [R=301,L]
  5. Gunakan JavaScript untuk Tracking, bukan parameter URL
    • Misalnya pakai Google Tag Manager → tidak perlu lagi utm atau fbclid di URL.

Tabel Parameter Umum dan Rekomendasi SEO

Parameter (Contoh)KategoriRekomendasi SEO
utm_*, gclid, fbclidTracking301 Redirect ke URL tanpa parameter atau gunakan canonical ke URL bersih. Google menyarankan menghapus parameter pelacakan dengan redirect 301developers.google.com. Jangan gunakan robots untuk canonicalwebmasters.stackexchange.com. Pastikan sitemap hanya berisi URL tanpa parameter.
srsltidTracking (Google Shopping)Canonical (self-reference) ke URL tanpa srsltid. John Mueller (Google) menyatakan parameter ini “tidak mempengaruhi perayapan, pengindeksan, atau peringkat”searchengineland.com, sehingga dapat diabaikan dari sisi SEO, atau di-redirect jika diinginkan.
add-to-cartWooCommerce ActionRobots.txt Disallow /?add-to-cart. URL add-to-cart biasanya tidak punya konten dan ditandai nofollow; direkomendasikan diblokir di robots.txt agar bot tidak meng-crawlwebmasters.stackexchange.com.
replytocomKomentarCanonical ke halaman posting utama atau noindex. Banyak CMS/SEO plugin (mis. Yoast SEO) mencegah penciptaan URL iniyoast.com. Jika masih muncul, tandai noindex (Google Search Console dapat set parameter replytocom sebagai noindexshoutmeloud.com).
s (pencarian)Search PageNoindex. Hasil pencarian internal biasanya di-noindex secara default (Yoast SEO melakukan ini) karena tidak berguna dalam hasil pencarian umumyoast.com.
orderby, filter_*, min_price, max_priceFilter/SortingCanonical ke URL dasar (kategori atau shop tanpa parameter). Jika filter menghasilkan daftar yang sama, gunakan rel=canonical ke halaman kategori utamawordpress.org. Anda juga dapat blokir di robots untuk kombinasi parameter filter kompleks agar crawl budget fokus ke halaman pentingwordpress.org.
page / pagedPaginasiCanonical & rel=next/prev. Halaman paginasi sebaiknya boleh di-crawl, tapi pastikan menggunakan tag rel=prev/next untuk menandai urutan halamanyoast.com. Yoast SEO menambahkan tag rel="next"/prev secara otomatis pada halaman paginasiyoast.com. Alternatifnya, tetapkan canonical ke halaman pertama jika dipilih (bila di-noindex page >1 maka pastikan canonical page 1).
preview=truePratinjauNoindex atau disallow. Halaman preview hanya untuk admin/editor, tidak untuk publik. Sebaiknya blokir di robots atau noindex.
Parameter lain (biasanya kosong)Untuk parameter asing tanpa fungsi, pertimbangkan canonical ke URL bersih atau 301 redirect. Hindari duplicate internal linking dengan parameter tak perlu.

Catatan: Seringkali satu halaman mungkin memiliki beberapa parameter sekaligus. Utamakan membersihkan parameter yang tidak mempengaruhi konten. Google menyarankan untuk tidak bergantung pada robots.txt saja untuk mengeliminasi duplikat, melainkan canonical URL yang benarwebmasters.stackexchange.com.

Contoh Konfigurasi robots.txt untuk WooCommerce

Berikut contoh konfigurasi robots.txt untuk situs WooCommerce. Baris Disallow menginstruksikan robot untuk tidak meng-crawl URL tertentu (mis. halaman keranjang, checkout, dan parameter tak perlu):

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /*?add-to-cart
Disallow: /*?fbclid
Disallow: /*?utm_*
Disallow: /*?s=

Contoh di atas memblokir semua URL keranjang dan checkout, serta membuang parameter pelacakan seperti add-to-cart, fbclid, dan semua utm_*. Sebagai catatan, beberapa praktisi menyarankan tidak memblokir halaman paginasi atau filter di robots.txt agar Google masih bisa mengikuti tag canonical yang adareddit.comwordpress.org. Dalam contoh ini, kita masih membiarkan halaman kategori/filter dengan parameter sederhana agar tag canonical-nya terlihat.

Contoh Skrip Redirect (.htaccess & Nginx)

Untuk menghapus parameter tracking secara otomatis, Anda dapat menggunakan aturan rewrite di server:

  • Apache (.htaccess): Gunakan mod_rewrite dengan flag QSD (Query String Discard) atau tanpa QSA untuk membuang query string. Contoh menghapus parameter utm_ dan gclid: <IfModule mod_rewrite.c> RewriteEngine On # Hapus parameter utm_ (utm_source, utm_medium, dst.) atau gclid RewriteCond %{QUERY_STRING} (?:^|&)utm_[^&]+ [NC,OR] RewriteCond %{QUERY_STRING} (?:^|&)gclid=[^&]+ [NC] RewriteRule ^ %{REQUEST_URI}? [R=301,L,QSD] </IfModule> Aturan di atas akan melakukan redirect 301 ke URL yang sama tetapi tanpa query string jika menemukan parameter utm_ atau gclid. Flag QSD memastikan query string dibuangwebmasters.stackexchange.com. (Jika ingin menjaga parameter tertentu, flag QSA digunakan, tetapi di sini kita ingin menghapusnya.)
  • Nginx: Dapat menggunakan if dan return untuk memeriksa parameter. Misalnya, untuk menghapus utm_ atau gclid: server { ... # Hapus parameter utm_ atau gclid if ($arg_utm_source) { return 301 $scheme://$host$uri; } if ($arg_gclid) { return 301 $scheme://$host$uri; } ... } Atau menggunakan ekspresi tunggal dengan rewrite: if ($args ~* "(?:^|&)utm_") { rewrite ^(.*)$ $1? permanent; } if ($args ~ "(?:^|&)gclid=") { rewrite ^(.*)$ $1? permanent; } Contoh di atas mirip cara Apache: jika $args (query string) mengandung utm_ atau gclid, maka arahkah ulang ke URL tanpa query ($1?) secara permanenguides.wp-bullet.com.

Tag Canonical di WooCommerce

Rel=canonical memberi tahu mesin pencari URL “master” dari halaman konten. WordPress dan WooCommerce sudah menghasilkan tag canonical secara default di header halaman (biasanya mengacu ke diri sendiri)yoast.com. Misalnya, halaman produk atau kategori akan memuat <link rel="canonical" href="..." /> yang menunjuk ke URL yang seharusnya diindeks. SEO plugin seperti Yoast SEO secara otomatis mengelola canonical iniyoast.com. Dengan canonical yang tepat, URL-URL parameter yang duplikat bisa mengarah pada satu URL utama yang ditunjuk. Catatan Penting: Jangan gunakan tag noindex bersamaan dengan canonical yang menunjuk ke halaman lain, karena itu akan membingungkan Googlewebmasters.stackexchange.com. Jika memilih noindex, canonical tidak diperlukan untuk halaman itu.

Rekomendasi Tambahan dengan Plugin SEO (Yoast, Rank Math, dsb.)

Banyak plugin SEO untuk WordPress/WooCommerce menyediakan fitur untuk menangani parameter URL:

  • Yoast SEO:
    • Otomatis menambahkan self-referencing canonical pada semua halaman (posting, halaman, arsip)yoast.com.
    • Menambah noindex pada hasil pencarian internal WordPressyoast.com.
    • Fitur “Remove unregistered URL parameters” dapat mengarahkan (redirect) parameter yang tidak dikenali secara otomatiswordpress.org.
    • Fitur tersembunyi menghapus parameter replytocom secara default untuk mencegah banyak URL komentaryoast.com.
  • Rank Math SEO:
    • Menyediakan opsi Noindex Search Results untuk tidak mengindeks halaman pencarian internal, mirip Yoastsupport.rankmath.com.
    • Memungkinkan pengaturan robots.txt langsung dari dashboard (mis. menambah Disallow parameter tertentu)support.rankmath.com.
    • Jika ada duplikat karena parameter, Rank Math merekomendasikan menambahkan tag canonical ke versi utama halamansupport.rankmath.com.

Plugin-plugin ini membantu praktisi SEO memastikan parameter URL tidak menghasilkan duplikat yang merusak. Misalnya, Yoast dan Rank Math membantu menandai halaman-filter dengan canonical ke URL utama, serta mencegah indexing berlebih pada search page.

Daftar rekomendasi parameter yang aman untuk diabaikan (dengan canonical / redirect / robots.txt) khusus WooCommerce

1. Tracking Parameters (selalu diabaikan)

Ini hanya untuk tracking, tidak mengubah konten → cukup di-canonical ke URL utama atau dibuang via redirect.

  • utm_source, utm_medium, utm_campaign, utm_term, utm_content
  • gclid (Google Ads)
  • fbclid (Facebook Ads)
  • msclkid (Microsoft Ads)
  • srsltid (Bing Search Result Selection ID)
  • yclid (Yandex Ads)
  • twclid (Twitter Ads)
  • mc_cid, mc_eid (Mailchimp tracking)

Solusi: Redirect ke URL tanpa parameter atau canonical ke versi utama.


2. WooCommerce Native Parameters (aman diabaikan dari indeks)

WooCommerce sering menambahkan parameter untuk kebutuhan teknis, tidak penting untuk SEO:

  • add-to-cart
  • variation_id
  • attribute_pa_* (contoh: attribute_pa_color=blue)
  • orderby (sort by price, popularity, dll)
  • product_count atau per_page
  • rating_filter

Solusi:

  • Canonical ke halaman produk utama / kategori tanpa parameter.
  • Bisa juga Disallow di robots.txt supaya Google tidak buang crawl budget.

3. WordPress Native Parameters (sebaiknya diabaikan)

WordPress secara default juga menambah parameter untuk pencarian & navigasi.

  • replytocom → untuk balasan komentar (duplikat konten)
  • paged → pagination (perlu strategi khusus, tapi kalau sudah ada pagination SEO friendly, parameter ini bisa diabaikan)
  • preview, preview_id, preview_nonce → untuk draft post (jangan diindeks)
  • s → search query internal WordPress (?s=keyword)

Solusi:

  • replytocom, preview, preview_idDisallow di robots.txt.
  • s (search) → bisa canonical ke hasil pencarian utama atau noindex di template search.

4. Robots.txt Rekomendasi

Kalau mau lebih aman, tambahkan ke robots.txt seperti ini:

User-agent: *
Disallow: /*?add-to-cart=
Disallow: /*?orderby=
Disallow: /*?rating_filter=
Disallow: /*?attribute_pa_
Disallow: /*?s=
Disallow: /*?replytocom=
Disallow: /*?utm_
Disallow: /*?gclid=
Disallow: /*?fbclid=
Disallow: /*?msclkid=
Disallow: /*?srsltid=
Disallow: /*?preview=
Disallow: /*?preview_id=
Disallow: /*?preview_nonce=

Catatan: jangan terlalu agresif blokir ?paged= karena pagination kategori biasanya tetap penting untuk SEO.


5. Tambahan (opsional redirect di .htaccess / Nginx)

Supaya URL lebih bersih, kamu bisa auto-redirect parameter tracking → versi bersih.
Contoh Apache:

RewriteCond %{QUERY_STRING} (^|&)(utm_[^&]+|gclid|fbclid|msclkid|srsltid|yclid|twclid|mc_cid|mc_eid)=[^&]+ [NC]
RewriteRule ^(.*)$ /$1? [R=301,L]

Jadi rekomendasi final:

  • Tracking param → redirect atau canonical.
  • WooCommerce param → canonical ke halaman utama, opsional di-block robots.txt.
  • WordPress param → noindex / disallow.

Catatan Penting dan Praktik Terbaik

  • Canonical vs Noindex: Google merekomendasikan menggunakan rel=canonical untuk halaman duplikat, dan menghindari memblokir atau menandai noindex sebagai satu-satunya cara mengatasi canonicalwebmasters.stackexchange.com. Jika suatu halaman di-noindex, canonical dari halaman itu tidak lagi relevan karena halaman tidak akan diindeks. Sebaliknya, jika di-disallow di robots.txt, Google tidak akan melihat tag canonical pada halaman tersebut sama sekali. Oleh karena itu, lebih baik biarkan bot meng-crawl halaman dengan canonical yang benar dibandingkan menutup aksesnya sepenuhnya.
  • Internal Linking Konsisten: Pastikan tautan internal mengarah ke URL canonical, bukan URL parameter. Sebagaimana diingat Google, link internal yang konsisten membantu mesin pencari memahami URL mana yang utamawebmasters.stackexchange.com.
  • Gunakan Sitemap: Daftarkan hanya URL canonical (tanpa parameter) di sitemap XML situs. Ini memberi petunjuk tambahan ke Google tentang URL yang hendak diindeksdevelopers.google.com.
  • Paginasi: Jangan mendisallow semua halaman paginasi. Sebaiknya gunakan tag rel=prev/next (meski Google kini mengatakan jarang dipakai, tetapi masih berguna untuk Bing)yoast.com. Pastikan canonical ke halaman pertama atau rel prev/next sudah diatur agar bot tahu urutan halaman.
  • Review Crawl Budget: Untuk situs besar, kurangi link tidak perlu (misalnya replytocom, feed, query tracking) agar bot fokus pada halaman penting. Bebaskan parameter-filter sederhana yang berguna (mis. filter harga satuan) agar canonical bekerja, dan blokir kombinasi parameter kompleks jika perluwordpress.org.
  • Tes dan Pantau: Gunakan Google Search Console untuk memeriksa Parameter URL (URL Parameters tool) dan hasil indeks. Setelah mengubah pengaturan (robot, canonical, redirect), perhatikan apakah Google mengindeks dengan benar atau perlu waktu re-crawl.

Dengan mengikuti praktik di atas, Anda dapat menjaga agar WooCommerce tetap ramah SEO: cukup fokus ke konten utama, bebas dari duplikat, dan tidak membuang-buang sumber daya crawling pada URL yang tidak penting. Jangan lupa selalu melakukan pengujian dan monitoring setelah perubahan, agar perubahan berjalan sesuai harapan.