Filtreli kategori sayfalarında hangi kombinasyon dizine girmeli?
Bir e-ticaret kategorisinde 8 filtre grubu ve her grupta onlarca değer varsa, olası URL sayısı katalogdaki ürün sayısını çok hızlı geçer. Bu URL'lerin neredeyse hepsi birbirinin alt kümesidir ve kimse onları aramaz. Ama hepsi link olarak sayfada durduğu için Googlebot onları tek tek keşfetmeye çalışır.
Öte yandan "kırmızı elbise" gibi bir sorguyu karşılayacak en iyi sayfa da çoğu zaman bir filtre sayfasıdır. Yani mesele filtreleri kapatmak değil, hangilerinin dizine girmeyi hak ettiğine karar verip gerisini taramadan uzak tutmak.
Talep var mı? Her şey buradan başlar
Bir filtre kombinasyonunun dizine açık olması için tek geçerli sebep, o kombinasyonu birebir karşılayan bir arama talebinin olmasıdır. "Kırmızı elbise" aranır. "Nike erkek koşu ayakkabısı" aranır. "Erkek koşu ayakkabısı 42 numara" ise çok nadir aranır; aransa bile arayan kişi genelde kategori sayfasına gelip bedeni kendisi seçer. "Kırmızı, pamuklu, M beden, 500-1000 TL arası elbise" diye arama yapan yoktur.
Bu yüzden karar sırası şöyle: önce talep, sonra URL. Teknik altyapıyı talebi olmayan binlerce kombinasyonu dizine sokacak şekilde kurmak, sonra onları noindex ile temizlemeye çalışmaktan çok daha pahalıdır.
Talebi doğrulamak
Ücretli araç olmadan da talebi görmek mümkün. Ben şu kaynaklara bakıyorum:
- Search Console Performans raporu: Kategori sayfalarınızın zaten gösterim aldığı sorgular içinde renk, marka, malzeme veya cinsiyet geçenleri süzün. Sorgu filtresinde özel regex kullanabilirsiniz; ifadeyi yazarken GSC regex aracı işinizi kolaylaştırır. Kategori URL'si gösterim alıyor ama sorgu "kırmızı" içeriyorsa, o talebi karşılayacak ayrı bir sayfa eksik demektir.
- Site içi arama logları: Kullanıcıların kendi sitenizde ne aradığı en dürüst veridir. Sık tekrar eden "marka + tür" veya "renk + tür" kalıpları aday listesine girer.
- Google otomatik tamamlama ve "Diğer kullanıcılar şunları da aradı" kutuları: Hacim vermez ama kalıbın var olup olmadığını gösterir.
- Google Ads Anahtar Kelime Planlayıcı: Ücretsiz hesapla aralık bazında hacim verir. Kesin sayı değil ama karşılaştırma için yeterli.
Bu sürecin tamamını ücretli araç olmadan anahtar kelime araştırması yazısında anlattım. Burada önemli olan, her filtre tipi için "bu gruba ait kombinasyonlar aranıyor mu" sorusunu bir kez cevaplayıp kurala dönüştürmek.
Kural seti
Benim kullandığım kural seti şu. Siteye göre ayarlanır ama iskeleti hep aynı kalıyor.
- Tek filtre, talebi olan grup: Kategori + marka, kategori + renk, kategori + cinsiyet, kategori + malzeme gibi kombinasyonlar dizine açık olabilir. Grup bazında karar verilir: renk grubu açıksa tüm renkler açılmaz, sadece yeterli ürünü olanlar açılır.
- İki filtre, yalnızca beyaz listedeki çiftler: "Marka + tür" veya "cinsiyet + tür" gibi gerçekten aranan çiftler açılır. Her iki filtrenin tüm değerleriyle çarpımı açılmaz, önceden belirlenmiş liste açılır.
- Üç ve daha fazla filtre: Dizine kapalı. Link olarak da sunulmaz.
- Beden, fiyat aralığı, sıralama, stok durumu, görünüm (liste/grid), sayfa başına ürün sayısı: Hiçbir zaman dizine açık değil. Bu parametreler robots.txt ile taramadan da uzak tutulur.
- Aynı grupta çoklu seçim (kırmızı ve mavi birlikte): Dizine kapalı.
- Az ürünlü kombinasyon: Dizine açık bir grup bile olsa, altında birkaç ürün kalmıyorsa o sayfa açılmaz. Eşiği siteye göre belirliyorum ama tek ürünlü bir "kategori" sayfası kimseye hizmet etmiyor.
- Sonuçsuz kombinasyon: 200 ve "ürün bulunamadı" mesajı değil, 404. Aksi halde soft 404 raporları dolar.
URL yapısı: temiz yol mu, parametre mi?
Dizine açık kombinasyonlara kalıcı, okunabilir ve tek bir URL verin. Kapalı olanlar parametreyle kalsın. Bu ayrım hem kuralı kodda uygulamayı hem de robots.txt yazmayı çok kolaylaştırır.
| Kombinasyon | URL | Durum |
|---|---|---|
| Kadın elbise + kırmızı | /kadin-elbise/kirmizi/ | Dizine açık, self-canonical |
| Erkek koşu ayakkabısı + Nike | /erkek-kosu-ayakkabisi/nike/ | Dizine açık, self-canonical |
| Kırmızı + M beden | /kadin-elbise/kirmizi/?beden=m | robots.txt ile kapalı |
| Kırmızı + fiyata göre sıralı | /kadin-elbise/kirmizi/?sirala=fiyat-artan | robots.txt ile kapalı |
Temiz URL'lerde değer sırası sabit olmalı. /nike/erkek-kosu-ayakkabisi/ ve /erkek-kosu-ayakkabisi/nike/ aynı anda çalışmamalı; biri diğerine 301 ile gitmeli.
Parametre sırasını normalleştirmek
Parametreli URL'lerde de aynı sorun var: ?renk=kirmizi&beden=m ile ?beden=m&renk=kirmizi aynı sayfadır. Kullanıcı hangi sırayla tıklarsa tıklasın, sistem tek bir sıralı forma yönlendirmelidir. Basit bir PHP örneği:
Burada utm parametrelerini de attım. Kampanya takibi bozulmasın istiyorsanız o parametreleri yönlendirmeden önce analitik tarafında okumanız ya da istisna listesine eklemeniz gerekir.
Crawl tuzaklarını önlemek
Googlebot linkleri takip eder; butonlara tıklamaz, form göndermez. Crawl tuzağının kaynağı neredeyse her zaman filtre değerlerinin düz <a href> linki olarak sunulmasıdır. Kural şu: dizine açık kombinasyonlar gerçek link, geri kalanı değil.
- Dizine açık filtreler (renk, marka)
<a href="/kadin-elbise/kirmizi/">şeklinde link olsun. - Beden, fiyat, sıralama gibi seçimler form elemanı ya da JavaScript ile URL'yi güncelleyen butonlar olsun.
- Buna rağmen parametreli URL'ler bir yerden sızacaktır (paylaşılan linkler, eski şablonlar). robots.txt bunun güvenlik ağıdır.
İç linklerdeki nofollow bu iş için güvenilir değildir; Google onu da ipucu olarak değerlendirir. Taramayı gerçekten kesmek istiyorsanız ya linki kaldırın ya da robots.txt kullanın. Kuralı yayına almadan önce dizine açık kalması gereken temiz URL'leri de mutlaka test edin; joker karakterler sandığınızdan geniş eşleşebilir.
Canonical kuralları
- Dizine açık filtre sayfası kendini canonical gösterir. Ana kategoriye canonical vermek, sayfayı açıp aynı anda kapatmak demektir.
- Parametre sırası farkı, utm ekleri gibi gerçek kopyalar normal forma 301 ile ya da canonical ile toplanır.
- Üç filtreli bir kombinasyonu en yakın açık sayfaya canonical etmek yaygın bir yöntemdir, ama içerik farklı olduğu için Google bunu sık sık yok sayar. Asıl çözüm bu URL'lerin keşfedilmemesidir.
- robots.txt ile engellenen URL'deki canonical görülmez. Bir URL için ya birini ya diğerini seçin.
Canonical, noindex ve robots.txt arasındaki farkı ve hatalı kombinasyonları canonical, noindex ve robots.txt yazısında ayrıca ele aldım.
Karar tablosu
| Filtre tipi | Talep | Dizine açık mı? | Link türü | Tarama |
|---|---|---|---|---|
| Marka | Genelde yüksek | Evet (yeterli ürün varsa) | <a href>, temiz URL | Açık |
| Renk | Kategoriye göre değişir | Talep varsa evet | <a href>, temiz URL | Açık |
| Cinsiyet, yaş grubu | Genelde yüksek | Evet, çoğu zaman alt kategori olarak | <a href> | Açık |
| Malzeme, stil | Değişken | Doğrulanırsa evet | <a href> | Açık |
| Marka + tür (beyaz liste) | Doğrulanmış | Evet | <a href> | Açık |
| Beden, numara | Çok düşük | Hayır | Form / JS | robots.txt |
| Fiyat aralığı | Yok | Hayır | Form / JS | robots.txt |
| Sıralama, görünüm | Yok | Hayır | Form / JS | robots.txt |
| Üç ve üzeri filtre | Yok | Hayır | Link verilmez | Gerekirse noindex |
| Sonuçsuz kombinasyon | Yok | Hayır | Link verilmez | 404 |
Özetle
Filtre yönetimi aslında bir liste yönetimidir: hangi grup ve hangi çiftler dizine açık, bunu talebe göre belirleyip kodda uygularsınız. Açık olanlar temiz URL, gerçek link ve self-canonical alır. Kapalı olanlar parametreyle, form veya JavaScript üzerinden çalışır ve robots.txt ile taramadan uzak tutulur. Parametre sırası tek forma indirgenir, sonuçsuz sayfalar 404 döner.
Filtre sayfaları açıldıktan sonra onlara başlık, kısa bir giriş metni ve alt kategori linkleri eklemek de ayrı bir iş; içerik tarafını e-ticaret kategori sayfaları yazısında anlattım. Listeyi yılda bir değil, sezon değişimlerinde ve Search Console'da yeni sorgu kalıpları gördükçe güncelliyorum.
Comments / questions
If you have a question about any topic or wish to contact me: Telegram or send an email to [email protected] Thanks!
Related pages
- Canonical, noindex ve robots.txt ne zaman kullanılır? (karar tablosu) (2026)
- İç linkleme stratejisi ile önemli sayfaya güç aktarmak (2026)
- Search Console'daki her dizine ekleme durumunun Türkçe anlamı (2026)
- Sunucu logları ile SEO: cPanel loglarında Googlebot analizi (2026)
- Crawl budget gerçekten sorun mu? Hangi sitede önemli, nasıl ölçülür (2026)