Fitur filter memudahkan pengguna menemukan produk, artikel, properti, atau data berdasarkan kriteria tertentu. Namun, di balik kemudahan tersebut, sistem filter dapat menghasilkan banyak alamat URL yang menampilkan konten sama atau sangat mirip.
Sebagai contoh, halaman kategori berikut dapat diakses melalui sejumlah URL:
https://contohtoko.com/sepatu
https://contohtoko.com/sepatu?sort=termurah
https://contohtoko.com/sepatu?warna=hitam
https://contohtoko.com/sepatu?warna=hitam&ukuran=42
https://contohtoko.com/sepatu?ukuran=42&warna=hitam
Bagi pengguna, variasi tersebut merupakan bagian normal dari fitur pencarian produk. Bagi mesin pencari, setiap variasi dapat dianggap sebagai URL berbeda. Jika tidak dikendalikan, kombinasi filter, pengurutan, pagination, tracking, dan session ID dapat menciptakan ribuan hingga jutaan URL.
Google menyebut navigasi berfilter atau faceted navigation sebagai salah satu penyebab umum overcrawling. Googlebot dapat menghabiskan waktu dan sumber daya server untuk merayapi URL yang kurang berguna sehingga penemuan halaman penting menjadi lebih lambat. Masalah utamanya bukan semata-mata penalti konten duplikat, melainkan pemborosan sumber daya perayapan, pemecahan sinyal SEO, dan ketidakjelasan URL utama.
Table of Contents
ToggleMemahami Duplikat URL pada Sistem Filter
Duplikat URL terjadi ketika konten yang sama atau sangat mirip dapat dibuka melalui beberapa alamat. Menurut dokumentasi Google, kondisi ini dapat muncul akibat perbedaan protokol, nama domain, fungsi pengurutan, filter kategori, dan variasi teknis lainnya.
Konten duplikat internal pada dasarnya bukan pelanggaran kebijakan spam. Walaupun demikian, terlalu banyak variasi URL dapat menyulitkan mesin pencari menentukan URL yang paling mewakili halaman tersebut. Proses memilih satu URL utama dari beberapa halaman duplikat disebut kanonikalisasi.
Google biasanya mengelompokkan halaman-halaman yang dianggap sama, kemudian memilih satu URL sebagai URL kanonis. Pemilik situs dapat memberikan sinyal mengenai URL yang diinginkan melalui pengalihan, elemen rel="canonical", tautan internal, dan sitemap. Namun, canonical tetap merupakan sinyal—Google dapat memilih URL lain apabila sinyal yang diberikan tidak konsisten. Penjelasan resminya tersedia dalam dokumentasi kanonikalisasi Google Search.
Sumber Duplikat URL yang Paling Sering Ditemukan
Beberapa penyebab yang perlu diperiksa antara lain:
- Filter atribut, seperti warna, merek, ukuran, lokasi, dan rentang harga.
- Parameter pengurutan, seperti
?sort=price_ascatau?order=newest. - Perubahan tampilan, seperti
?view=griddan?view=list. - Parameter pelacakan, seperti
utm_source,utm_campaign, atau ID afiliasi. - Session ID yang dimasukkan ke dalam URL.
- Urutan parameter yang tidak konsisten.
- Perbedaan huruf besar dan kecil pada server yang menganggap keduanya sama.
- Versi HTTP dan HTTPS yang sama-sama dapat diakses.
- Variasi domain dengan
wwwdan tanpawww. - Slash yang tidak konsisten, misalnya
/sepatudan/sepatu/. - Filter kosong, filter ganda, atau kombinasi filter yang tidak menghasilkan produk.
Dua URL berikut, misalnya, secara teknis berbeda walaupun memiliki arti yang sama:
/sepatu?warna=hitam&ukuran=42
/sepatu?ukuran=42&warna=hitam
Karena itu, sistem harus mempunyai aturan normalisasi parameter dan tidak hanya mengandalkan mesin pencari untuk memahami hubungan antarkeduanya.
Menentukan URL Filter yang Layak Diindeks
Kesalahan paling umum dalam pengelolaan filter adalah menerapkan aturan yang sama kepada seluruh URL. Padahal, sebagian hasil filter mungkin mempunyai nilai pencarian, sedangkan sebagian lainnya hanya diperlukan untuk membantu pengguna di dalam situs.
Filter dengan Nilai Pencarian
Sebuah halaman filter dapat dipertahankan sebagai halaman yang boleh diindeks jika memenuhi beberapa kriteria berikut:
- Terdapat permintaan pencarian yang jelas.
- Kombinasinya menghasilkan kelompok produk yang cukup banyak.
- Halaman memiliki judul, deskripsi, heading, dan konten yang relevan.
- Produk yang ditampilkan relatif stabil.
- Halaman menawarkan manfaat yang berbeda dari kategori induknya.
- URL-nya singkat, konsisten, dan mudah dipahami.
Contohnya, halaman “sepatu lari pria” atau “laptop gaming ASUS” mungkin mempunyai search intent tersendiri. Apabila halaman tersebut memang ditargetkan untuk pencarian organik, gunakan URL yang bersih dan berikan self-referencing canonical:
<link
rel="canonical"
href="https://contohtoko.com/sepatu-lari-pria"
>
Halaman seperti ini juga dapat dimasukkan ke dalam sitemap XML dan ditautkan melalui navigasi internal.
Filter Tanpa Nilai Pencarian
Filter yang hanya mengubah urutan, tampilan, atau menghasilkan kombinasi sangat spesifik biasanya tidak perlu masuk ke indeks. Contohnya:
/sepatu?sort=termurah
/sepatu?view=grid
/sepatu?harga=317000-429000
/sepatu?warna=hitam&ukuran=42&bahan=kulit&sort=terbaru
Untuk URL semacam ini, pengelola situs perlu memilih apakah akan:
- Mengonsolidasikan sinyalnya melalui canonical.
- Mencegahnya masuk ke indeks dengan
noindex. - Mengurangi perayapannya melalui
robots.txt. - Menghindari pembuatan URL yang dapat dirayapi sejak awal.
Keputusan tersebut harus mempertimbangkan fungsi filter, kebutuhan pengguna, ukuran situs, dan apakah URL itu berpotensi menghasilkan trafik organik.
Menggunakan Canonical Tag secara Tepat
Elemen rel="canonical" memberi tahu mesin pencari mengenai URL yang dianggap paling mewakili beberapa halaman sama atau sangat mirip. Elemen ini ditempatkan di dalam bagian <head> halaman.
Contohnya, halaman pengurutan berikut:
https://contohtoko.com/sepatu?sort=termurah
dapat mengarah ke kategori utama:
<link
rel="canonical"
href="https://contohtoko.com/sepatu"
>
Canonical sesuai untuk URL yang masih perlu dibuka pengguna, tetapi isinya tidak cukup berbeda untuk menjadi halaman pencarian mandiri. Parameter pengurutan dan perubahan tampilan biasanya termasuk dalam kategori ini.
Aturan Penting dalam Penerapan Canonical
Agar sinyalnya tidak membingungkan, pastikan:
- Alamat canonical menggunakan URL absolut.
- Target canonical memberikan respons HTTP
200 OK. - Target tidak diblokir oleh
robots.txt. - Target bukan halaman
noindex. - Target tidak mengarah ke halaman lain melalui redirect.
- Tautan internal mengarah ke URL kanonis.
- Sitemap XML hanya memuat URL kanonis.
- Setiap halaman utama menggunakan self-referencing canonical.
- Tidak ada dua metode yang memberikan target canonical berbeda.
Canonical tidak boleh digunakan secara sembarangan pada halaman yang sebenarnya mempunyai isi dan tujuan pencarian berbeda. Sebagai contoh, halaman “sepatu Nike” tidak semestinya diarahkan ke kategori “sepatu” jika halaman merek tersebut memiliki produk, konten, dan permintaan pencarian yang unik.
Menurut panduan canonical Google, redirect dan rel="canonical" merupakan sinyal kuat, sedangkan keikutsertaan URL dalam sitemap merupakan sinyal yang lebih lemah.
Menggunakan Redirect 301 untuk Variasi yang Tidak Diperlukan
Redirect permanen cocok digunakan apabila URL lama atau URL alternatif memang tidak perlu dipertahankan. Metode ini tepat untuk:
- Mengalihkan HTTP ke HTTPS.
- Menyatukan versi
wwwdan non-www. - Menyeragamkan huruf besar dan kecil jika server memperlakukannya sama.
- Mengalihkan struktur URL lama ke struktur baru.
- Menghapus parameter yang tidak lagi digunakan.
- Menormalisasi urutan parameter ke dalam satu format baku.
Contohnya:
http://contohtoko.com/sepatu
→ https://contohtoko.com/sepatu
Redirect 301 tidak cocok diterapkan kepada semua halaman filter yang masih diperlukan pengguna. Apabila pengguna memilih warna hitam lalu langsung dialihkan ke halaman tanpa filter, fungsi filter akan rusak.
Contoh Normalisasi Parameter
Sistem dapat menetapkan urutan baku, misalnya merek, warna, lalu ukuran:
/sepatu?ukuran=42&warna=hitam&merek=nova
dialihkan secara permanen menjadi:
/sepatu?merek=nova&warna=hitam&ukuran=42
Normalisasi sebaiknya dilakukan di sisi aplikasi atau server. Sistem juga harus menghapus parameter kosong, parameter berulang, dan nilai yang tidak valid sebelum membentuk URL.
Mengendalikan Indeksasi dengan Noindex
Jika URL filter tetap harus dapat dirayapi tetapi tidak layak muncul dalam hasil pencarian, gunakan:
<meta name="robots" content="noindex">
Google harus merayapi halaman terlebih dahulu agar dapat membaca aturan tersebut. Oleh karena itu, URL yang memakai noindex jangan langsung diblokir melalui robots.txt. Jika aksesnya diblokir, Googlebot tidak dapat melihat tag noindex, dan alamat URL tersebut masih mungkin muncul sebagai hasil tanpa cuplikan apabila ditemukan melalui tautan lain.
Google juga tidak mendukung penulisan aturan noindex di dalam robots.txt. Aturan harus diberikan melalui tag meta HTML atau header HTTP X-Robots-Tag. Rujukan teknisnya dapat dibaca dalam panduan memblokir indeksasi dengan noindex.
Kapan Noindex Layak Digunakan?
noindex dapat dipertimbangkan untuk:
- Hasil filter yang berguna bagi pengguna tetapi tidak mempunyai target kata kunci.
- Urutan alternatif dari daftar yang sama.
- Halaman pencarian internal.
- Kombinasi filter tipis yang tetap harus dapat digunakan pengunjung.
- Halaman sementara yang belum layak muncul di hasil pencarian.
Jangan menganggap noindex sebagai alat konsolidasi sinyal. Apabila tujuannya memilih satu halaman utama dari beberapa halaman yang benar-benar duplikat, Google lebih menyarankan rel="canonical".
Mengendalikan Perayapan dengan Robots.txt
robots.txt digunakan untuk mengatur akses crawler dan menghemat sumber daya perayapan. Contoh aturan untuk pola filter tertentu:
User-agent: Googlebot
Disallow: /*?*sort=
Disallow: /*?*view=
Disallow: /*?*sessionid=
Pola tersebut harus diuji dengan hati-hati karena kesalahan kecil dapat memblokir halaman penting. Jangan menyalin aturan tanpa menyesuaikannya dengan struktur URL situs.
Google secara khusus menyarankan pembatasan perayapan apabila URL navigasi berfilter tidak perlu muncul di Google Search. Namun, robots.txt bukan jaminan bahwa sebuah alamat URL tidak akan muncul di indeks. Fungsinya adalah membatasi perayapan, bukan secara langsung menghapus URL dari hasil pencarian. Penjelasan ini ditegaskan dalam panduan robots.txt Google.
Jangan Menggabungkan Robots.txt dan Noindex secara Langsung
Urutan penerapan perlu direncanakan apabila banyak URL filter sudah telanjur terindeks:
- Biarkan URL dapat dirayapi.
- Pasang
noindex. - Tunggu sampai Google merayapi ulang dan menghapus URL dari indeks.
- Verifikasi melalui URL Inspection dan laporan indeksasi.
- Jika perayapan selanjutnya memang tidak diperlukan, pertimbangkan pembatasan melalui
robots.txt.
Jika robots.txt dipasang sejak awal, Google mungkin tidak sempat membaca aturan noindex.
Mencegah Duplicate Trap dari Arsitektur Website
Solusi terbaik bukan sekadar memperbaiki URL setelah dibuat, tetapi membatasi jumlah URL tidak berguna sejak tingkat desain sistem.
Batasi Kombinasi Filter yang Dapat Dirayapi
Tidak setiap perubahan antarmuka harus menghasilkan tautan <a href>. Filter tanpa nilai SEO dapat dijalankan menggunakan kontrol antarmuka atau JavaScript yang tidak membuat tautan baru yang dapat ditemukan crawler.
Namun, pendekatan ini harus mempertahankan aksesibilitas dan fungsi situs. Halaman produk penting tetap harus dapat ditemukan melalui tautan HTML biasa atau sitemap, bukan hanya melalui interaksi JavaScript.
Google menjelaskan bahwa crawler umumnya menemukan URL melalui atribut href dan tidak berinteraksi dengan tombol layaknya manusia. Karena itu, desain tautan internal sangat menentukan URL filter mana yang masuk ke antrean perayapan.
Gunakan URL Fragment Secara Selektif
Untuk filter yang tidak perlu diindeks, Google menyebut penggunaan fragmen sebagai salah satu cara mencegah terbentuknya ruang URL yang dirayapi:
https://contohtoko.com/sepatu#warna=hitam
Bagian setelah tanda # umumnya tidak digunakan Google Search untuk crawling dan indexing. Pendekatan ini cocok jika filter hanya mengubah keadaan antarmuka dan tidak direncanakan sebagai halaman SEO.
Jangan menggunakannya untuk halaman kategori yang ingin ditemukan melalui pencarian. URL penting tetap perlu memiliki alamat yang dapat dirayapi secara normal.
Kembalikan Status 404 untuk Kombinasi Tidak Valid
Jika kombinasi filter tidak menghasilkan data atau mengandung nilai yang tidak masuk akal, server sebaiknya mengembalikan status HTTP 404, misalnya:
/sepatu?warna=transparan&warna=hitam
/sepatu?ukuran=9999
Jangan selalu mengarahkan kombinasi kosong ke kategori utama. Redirect semacam itu dapat menciptakan soft 404 dan membuat mesin pencari kesulitan membedakan halaman valid dari halaman tidak valid.
Rekomendasi tersebut tercantum dalam panduan Google mengenai pengelolaan URL faceted navigation.
Bersihkan Tautan Internal dan Sitemap
Situs harus konsisten menggunakan satu versi URL pada:
- Menu navigasi.
- Breadcrumb.
- Tautan kategori.
- Rekomendasi produk.
- Data terstruktur.
- Tag
hreflang. - Sitemap XML.
- Feed produk.
- Tag Open Graph jika relevan.
Jangan memasukkan URL tracking, URL pengurutan, atau URL nonkanonis ke sitemap. Sitemap sebaiknya hanya berisi URL yang diinginkan untuk dirayapi dan dipertimbangkan sebagai canonical.
Langkah Implementasi yang Disarankan
1. Inventarisasi Semua Parameter
Buat daftar setiap parameter URL dan catat fungsinya, misalnya:
warna = mengubah kelompok produk
merek = mengubah kelompok produk
sort = hanya mengubah urutan
view = hanya mengubah tampilan
utm_source = pelacakan
sessionid = sesi pengguna
Informasi tersebut menjadi dasar untuk menentukan apakah parameter perlu diindeks, diberi canonical, dihapus, atau dibatasi perayapannya.
2. Kelompokkan Berdasarkan Nilai SEO
Pisahkan URL menjadi tiga kelompok:
- URL yang layak diindeks.
- URL yang boleh dirayapi tetapi tidak perlu diindeks.
- URL yang tidak perlu dirayapi maupun diindeks.
Hindari keputusan otomatis yang hanya didasarkan pada keberadaan tanda ?. Parameter tertentu dapat menghasilkan halaman bernilai, sedangkan URL berbasis folder pun tetap dapat menciptakan duplikasi.
3. Tetapkan Format URL Kanonis
Tentukan standar yang mencakup:
- HTTPS.
wwwatau non-www.- Huruf kecil.
- Kebijakan trailing slash.
- Urutan parameter.
- Penamaan parameter.
- Penanganan nilai kosong.
- Penanganan filter ganda.
- Batas jumlah filter yang dapat dikombinasikan.
Standar tersebut harus diterapkan oleh backend, template HTML, sitemap, dan sistem tautan internal.
4. Terapkan Aturan Sesuai Kategori
Gunakan:
- Self-referencing canonical untuk halaman filter yang memang ditargetkan.
- Canonical ke kategori utama untuk variasi yang sangat mirip.
noindexuntuk halaman berguna bagi pengguna tetapi tidak layak masuk indeks.robots.txtuntuk mengurangi crawling pada pola yang tidak diperlukan.- Redirect 301 untuk variasi URL yang harus dihilangkan secara permanen.
- HTTP 404 untuk kombinasi kosong, duplikat, atau tidak valid.
5. Lakukan Pengujian Teknis
Periksa setiap sampel URL untuk memastikan:
- Status HTTP sudah benar.
- Target redirect tidak membentuk rantai atau perulangan.
- Canonical tersedia di HTML hasil render.
- Canonical menunjuk ke URL yang dapat diakses.
- Halaman
noindextidak diblokir olehrobots.txt. - Sitemap hanya memuat URL kanonis.
- Tautan internal tidak menghasilkan variasi parameter yang tidak terkendali.
- Filter penting tetap dapat digunakan oleh pengguna.
6. Pantau Setelah Implementasi
Gunakan Google Search Console untuk memeriksa:
- URL pilihan Google dan canonical yang dideklarasikan.
- Perubahan jumlah halaman yang terindeks.
- URL duplikat yang tidak dipilih sebagai canonical.
- Statistik crawling.
- Kesalahan 404.
- Sitemap dan halaman yang ditemukan.
- Sampel halaman melalui URL Inspection.
Fitur URL Parameters Tool di Google Search Console sudah dihentikan sejak 2022. Oleh sebab itu, tutorial yang masih menyuruh pengguna mengatur parameter melalui fitur tersebut sudah tidak berlaku. Konfirmasi resminya tersedia di Google Search Central Blog.
Untuk situs berskala besar, analisis log server dapat membantu mengetahui pola URL yang paling sering diakses Googlebot. Prioritaskan pemeriksaan pada parameter yang menghasilkan lonjakan permintaan, rantai redirect, halaman kosong, atau ruang URL hampir tak terbatas. Hindari memakai ambang persentase universal karena pola crawling setiap situs berbeda.
Biaya Penerapan
Canonical, noindex, redirect, robots.txt, sitemap, dan Google Search Console tidak memerlukan biaya lisensi. Jika tim memahami kode aplikasi dan konfigurasi server, implementasi dasarnya dapat dilakukan tanpa membeli perangkat lunak tambahan.
Biaya dapat muncul ketika situs membutuhkan:
- Jasa developer atau konsultan SEO.
- Perubahan arsitektur filter.
- Pengembangan antarmuka JavaScript.
- Audit situs berukuran besar.
- Penyimpanan dan analisis log server.
- Perangkat audit SEO berbayar.
Besarnya biaya tidak dapat ditentukan secara akurat tanpa mengetahui teknologi, jumlah URL, dan kompleksitas situs. Estimasi harga yang tidak disertai ruang lingkup pekerjaan sebaiknya tidak dijadikan patokan tetap.
Memilih Strategi Berdasarkan Fungsi URL
Tujuan pengelolaan filter bukan menghapus semua URL berparameter. Tujuan sebenarnya adalah memastikan setiap fungsi URL mendapatkan perlakuan yang tepat: halaman bernilai tetap dapat ditemukan, sinyal halaman duplikat dikonsolidasikan, dan crawler tidak terjebak dalam kombinasi yang tidak terbatas.
| Kondisi URL | Strategi utama | Dampak yang diharapkan |
|---|---|---|
| Filter mempunyai permintaan pencarian dan konten unik | Izinkan indeksasi, gunakan self-referencing canonical, tautkan secara internal, dan masukkan ke sitemap | Menjadi halaman tujuan pencarian organik |
| Hanya mengubah urutan atau tampilan | Canonical ke URL utama atau gunakan noindex, sesuai kebutuhan | Mengurangi variasi halaman yang bersaing |
| Halaman perlu digunakan pengunjung tetapi tidak bernilai untuk pencarian | Gunakan noindex dan tetap izinkan crawling sampai aturan diproses | URL tidak ditampilkan di hasil pencarian |
| Kombinasi parameter menciptakan ruang URL sangat besar dan tidak perlu diindeks | Batasi pembuatan tautan serta pertimbangkan robots.txt atau fragmen URL | Menghemat sumber daya crawling dan server |
| URL lama atau variasi domain tidak lagi diperlukan | Redirect permanen ke URL baku | Menyatukan akses pengguna dan sinyal canonical |
| Parameter tracking tidak mengubah konten | Gunakan URL bersih pada tautan internal dan canonical; hapus parameter bila aman | Mencegah URL pelacakan menjadi versi utama |
| Parameter sama tetapi urutannya berbeda | Normalisasi urutan dan arahkan variasinya ke satu format | Mencegah beberapa URL mewakili keadaan yang sama |
| Filter kosong, ganda, atau tidak valid | Kembalikan HTTP 404 | Menghentikan pertumbuhan URL tidak berguna |
Dengan klasifikasi yang benar, canonical, noindex, robots.txt, dan redirect tidak lagi dipakai sebagai solusi yang saling menggantikan. Masing-masing memiliki fungsi berbeda: canonical mengonsolidasikan halaman serupa, noindex mengendalikan indeksasi, robots.txt mengendalikan crawling, sedangkan redirect memindahkan pengguna dan crawler secara permanen.
Implementasi yang baik selalu dimulai dari aturan URL yang konsisten, dilanjutkan dengan konfigurasi teknis, kemudian diverifikasi melalui crawling, indeksasi, sitemap, dan log server. Pendekatan inilah yang membuat filter tetap berguna bagi pengunjung tanpa berubah menjadi perangkap duplikat URL bagi mesin pencari.
