Sinan ŞanverenSEO Uzmanı
E-ticaret SEO

Filtreli gezinme (faceted navigation) SEO: Filtre sayfaları nasıl yönetilir?

Filtre kombinasyonlarının hangilerinin dizine girip hangilerinin kapatılacağını gösteren şema

Filtreli gezinme (faceted navigation), e-ticaret sitelerinde ürünleri renk, beden, marka ya da fiyata göre süzmeyi sağlayan sistemdir. SEO açısından sorunu şudur: Her filtre seçimi yeni bir adres üretebilir ve birkaç filtre bir araya geldiğinde tek bir kategori yüzlerce, bazen on binlerce adrese dönüşür. Çözüm, arama talebi olan birkaç kombinasyonu kalıcı sayfa yapmak, geri kalanını Google’ın taramasından ve dizininden uzak tutmaktır.

Bir kategori sayfası düşünün: 6 renk, 10 beden, 8 marka ve 4 fiyat aralığı. Kullanıcı birden fazla renk ve marka seçebiliyorsa, bir de sıralama seçeneği eklendiğinde ortaya çıkan adres sayısını hesaplamak bile yorucu. Googlebot ise bu adreslerin her birini ayrı bir sayfa olarak görür ve linkleri takip ettikçe taramaya devam eder. Bu yazıda Google’ın filtreli gezinme belgesini temel alarak hangi filtrelerin sayfa olacağını, hangilerinin nasıl kapatılacağını anlatıyorum.

Filtreli gezinme SEO’yu nasıl etkiler?

Google’ın belgesine göre filtreli gezinme iki ayrı soruna yol açabilir. Birincisi aşırı tarama: Googlebot, arama sonuçlarında işe yaramayacak çok sayıda adresi taramak için zaman ve kaynak harcar. İkincisi yavaş keşif: Tarama bu adreslere gittiği için yeni ürünlerin ve güncellenen sayfaların fark edilmesi gecikir.

Tarama bütçesi yazısında anlattığım gibi, sitede 2.000 ürün olabilir ama Google’ın bildiği adres sayısı 200.000 olabilir. Bu farkı yaratan neredeyse her zaman filtre, sıralama ve parametre kombinasyonlarıdır.

Üçüncü bir sorun da dizinde görülür. Filtre adresleri dizine girdiğinde birbirine çok benzeyen, birkaç ürünü listeleyen ince sayfalar birikir. “Kırmızı bot” ile “kırmızı bot, 38 numara” sayfası neredeyse aynı içeriği gösterir. Google bunlardan birini seçer, geri kalanı kopya içerik olarak değerlendirilir ve Search Console’da “Tarandı, şu anda dizine eklenmemiş” ya da “Kopya, Google kullanıcıdan farklı bir standart sayfa seçti” satırları kabarır.

Önce karar: Hangi filtre sayfası dizine girmeli?

Teknik ayara geçmeden önce her filtre için tek bir soru sorun: Bu filtrenin adıyla yapılan ayrı bir arama var mı?

Marka filtresi çoğu zaman bu sorunun cevabını “evet” olarak verir. “Adidas spor ayakkabı” diye arayan çoktur. Renk ve malzeme bazen evettir: “siyah deri çanta” ciddi bir arama olabilir. Beden, stok durumu, fiyat aralığı ve sıralama ise neredeyse hiçbir zaman ayrı bir arama karşılamaz. Kimse Google’a “38 numara stokta olan bot fiyata göre artan” yazmaz.

Arama talebini anahtar kelime araştırması ile, Search Console’daki mevcut sorgularla ve rakiplerin hangi sayfalarla sıralandığına bakarak ölçebilirsiniz. Sonuç genellikle şöyle bir tabloya döner:

Filtre türü Arama talebi Önerilen yönetim
Marka Çoğu zaman var Kalıcı marka sayfası ya da kategori + marka sayfası
Renk, malzeme Bazen var Talep olan kombinasyonlar için alt kategori, diğerleri kapalı
Beden, numara Neredeyse yok Taramaya kapalı
Fiyat aralığı Yok Taramaya kapalı
Sıralama, görünüm Yok Taramaya kapalı
Çoklu seçim (iki renk, üç marka) Yok Taramaya kapalı

Talep olan kombinasyonları filtre adresi olarak bırakmayın. “siyah deri çanta” için /canta/?renk=siyah&malzeme=deri adresini dizine sokmaya çalışmak, sabit bir başlığı, açıklaması ve iç linkleri olan /siyah-deri-canta/ gibi bir sayfa kurmaktan çok daha zayıf sonuç verir. Marka için bunun nasıl yapılacağını marka sayfaları yazısında, kategori yapısını kategori sayfası SEO rehberinde anlattım.

Google’ın önerdiği yöntemler

Google’ın belgesi iki yol tanımlıyor: Filtre adreslerinin dizine girmesi gerekmiyorsa taramayı engellemek, gerekiyorsa bu adresleri tarama dostu hale getirmek.

robots.txt ile taramayı engellemek

Dizine girmesi gerekmeyen filtre adresleri için Google’ın ilk önerisi robots.txt ile taramayı engellemektir. Belgedeki örneğe benzer bir kural şöyle görünür:

User-agent: Googlebot
Disallow: /*?*renk=
Disallow: /*?*beden=
Disallow: /*?*fiyat=
Disallow: /*?*sirala=

Bu kural, adresinde bu parametrelerden biri geçen sayfaların taranmasını engeller. Talep olduğu için açık bırakmak istediğiniz bir parametre varsa Allow satırıyla istisna tanımlayabilirsiniz. Kuralları yayına almadan önce önemli kategori ve ürün adreslerinin yanlışlıkla engellenmediğini mutlaka kontrol edin. Bir yıldız fazlası bütün kategori sayfalarını kapatabilir.

robots.txt’nin bir sınırı var: Taramayı engeller, dizine eklemeyi engellemez. Dışarıdan link alan bir filtre adresi, içeriği görülmeden de dizinde görünebilir. Bu genellikle küçük bir sorundur, ama bilmekte fayda var.

URL parçası (#) kullanmak

Google, arama ve dizine ekleme sırasında adresin # işaretinden sonraki kısmını genellikle dikkate almaz. Filtreleri /canta/#renk=siyah biçiminde uygularsanız Google bu adresleri ayrı sayfa olarak görmez. Belgeye göre bu yöntemin taramaya olumlu ya da olumsuz bir etkisi yoktur, çünkü bu adresler Google için hiç var olmaz.

Bu yöntem geliştirme gerektirir ve talep olan kombinasyonları da görünmez yapar. Yeni kurulan bir sitede ya da filtre altyapısını baştan yazan bir ekipte değerlendirilebilir.

Canonical ve nofollow

Canonical etiketi filtre adresini ana kategoriye bağlar. Google’a göre bu, zaman içinde standart olmayan adreslerin tarama hacmini azaltabilir. Linklere rel="nofollow" eklemek de işe yarayabilir, ama belgeye göre bir adrese giden bütün linklerde bu etiketin bulunması gerekir.

Google bu iki yöntemi uzun vadede robots.txt ve URL parçası yöntemlerinden daha az etkili buluyor. Benim gözlemim de aynı: Canonical, dizindeki kopya sorununu çoğu zaman toparlar ama Googlebot filtre adreslerini taramaya devam eder. Birkaç yüz adreslik bir sitede bu sorun olmaz. Yüz binlerce adreste olur.

noindex

Google’ın filtreli gezinme belgesi noindex’ten söz etmiyor, ama sayfalama ve kademeli yükleme belgesi filtre ve sıralama varyasyonlarının dizine girmesini önlemek için noindex ya da robots.txt kullanılabileceğini söylüyor. noindex sayfayı dizinden çıkarır, ama Google etiketi görebilmek için sayfayı taramaya devam eder. Yani dizin sorununu çözer, tarama sorununu çözmez.

Pratikte şu sırayı öneriyorum: Platform izin veriyorsa önce noindex ile dizindeki filtre adreslerini temizleyin, dizin temizlendikten sonra robots.txt kuralını ekleyin. İkisini aynı anda eklerseniz Google noindex’i göremez ve dizindeki adresler uzun süre orada kalabilir.

Filtre adresleri taranabilir olacaksa

Bazı filtre adreslerinin taranmasını ve dizine girmesini istiyorsanız Google’ın belgesindeki şu önerilere uyun:

  • Parametreleri ayırmak için standart & işaretini kullanın. Google’a göre virgül, noktalı virgül ve köşeli parantez gibi ayırıcıları tarayıcıların parametre ayırıcı olarak algılaması zordur.
  • Filtrelerin adresteki sırası her zaman aynı olsun. Kullanıcı önce markayı sonra rengi seçse de, önce rengi sonra markayı seçse de aynı adres oluşsun. Aksi halde aynı sayfa iki farklı adreste var olur.
  • Sonuç döndürmeyen bir filtre kombinasyonu 404 durum kodu dönsün. “Bu kriterlere uygun ürün bulunamadı” yazan bir sayfanın 200 dönmesi soft 404 sorununa yol açar.
  • Filtre adresini kalıcı bir sayfa yaptıysanız, bu sayfaya kategori menüsünden, ilgili ürünlerden ve blog yazılarından normal HTML linkler verin. Yalnızca filtre kutucuklarından ulaşılan bir sayfa, iç link açısından yetim sayfaya yakındır.

URL parametreleri aracı artık yok

Eski SEO rehberlerinde Search Console’daki “URL parametreleri” aracıyla filtre parametrelerini Google’a tanıtmanız önerilir. Google bu aracı 2022’de kaldırdı. Bugün bu kontrolü yalnızca robots.txt, canonical, noindex ve sitenin link yapısıyla sağlayabilirsiniz. URL parametresi terimine sözlükte de bakabilirsiniz.

Hazır altyapılarda filtre yönetimi

Hazır e-ticaret altyapılarının çoğu filtre adreslerini kendi kurallarına göre üretir. Bazıları filtre sayfalarına otomatik canonical ekler, bazıları parametre sırasını sabitler, bazıları ise hiçbir kontrol sunmaz. Altyapınızın ne yaptığını görmek için bir kategoride iki filtre seçin, sayfanın kaynak kodunda canonical ve robots meta etiketine bakın. Sonra aynı iki filtreyi ters sırayla seçip adresin değişip değişmediğini kontrol edin.

Filtre adreslerine etiket eklemenin mümkün olmadığı altyapılarda robots.txt çoğu zaman tek seçenektir. robots.txt dosyasını düzenleyemiyorsanız altyapı firmasının destek ekibinden bu kuralları eklemelerini isteyin.

Sorunun boyutunu nasıl ölçersiniz?

Search Console’da iki rapora bakın. Sayfa dizine ekleme raporunda “Tarandı, şu anda dizine eklenmemiş” ve “Kopya” satırlarındaki örnek adreslerin ne kadarı filtre parametresi içeriyor? Tarama istatistikleri raporunda Googlebot’un taradığı adreslerin ne kadarı filtreli? İkisinde de filtre adresleri çoğunluktaysa sorun gerçek demektir.

Daha kesin bir tablo için sunucu kayıtlarına bakabilirsiniz. Googlebot’un bir ayda taradığı adresleri parametreye göre gruplamak, taramanın nereye gittiğini net gösterir. Bunu log dosyası analizi yazısında anlattım.

Ayarları değiştirdikten sonra birkaç hafta bekleyin. Tarama istatistiklerinde filtre adreslerinin payının düşmesi, ürün ve kategori adreslerinin payının artması beklenen sonuçtur. Filtre yapısı büyük bir sitede ilk bakışta anlaşılmayabilir. Sitenizin filtre yapısını birlikte incelemek isterseniz teknik SEO danışmanlığı sayfasına göz atabilirsiniz.

Sık Sorulan Sorular

Filtre sayfalarını robots.txt ile mi engellemeliyim, noindex ile mi?

Amacınız Googlebot'un bu adresleri hiç taramamasıysa robots.txt kullanın. Google'ın filtreli gezinme belgesi, dizine girmesi gerekmeyen filtre adresleri için ilk seçenek olarak bunu öneriyor. noindex sayfanın dizinden çıkmasını sağlar ama Google'ın etiketi görebilmesi için sayfayı taramaya devam etmesi gerekir. İkisini aynı adreste birlikte kullanmayın: robots.txt ile engellenen sayfadaki noindex görülmez.

Filtre sayfalarına canonical vermek yeterli mi?

Küçük sitelerde çoğu zaman iş görür. Ama Google'a göre canonical ve nofollow, filtre adreslerinin taranmasını uzun vadede azaltmakta robots.txt kadar etkili değildir. Binlerce filtre kombinasyonu üreten bir sitede canonical tek başına tarama sorununu çözmez.

Hangi filtre kombinasyonu ayrı bir sayfa olmalı?

Arama talebi olan kombinasyonlar. 'siyah deri bot' ya da 'Nike koşu ayakkabısı' gibi insanların gerçekten aradığı bir kombinasyon varsa, o sayfa kendi başlığı, metni ve sabit adresi olan bir alt kategori ya da açılış sayfası olmalıdır. '42 numara, stokta olanlar, fiyata göre artan' gibi kombinasyonlar filtre olarak kalmalıdır.

Search Console'daki URL parametreleri aracı nereye gitti?

Google bu aracı 2022'de kaldırdı. Parametrelerin nasıl taranacağını artık Search Console'dan ayarlayamazsınız. Bu kontrolü robots.txt, canonical, noindex ve sitenin kendi link yapısıyla sağlamanız gerekir.

Sitenize birlikte bakalım

30 dakikalık ücretsiz görüşmede sitenizin verisine birlikte bakıyoruz. Gördüğüm en büyük fırsatları ve hangisiyle başlamanız gerektiğini anlatıyorum.

Ücretsiz ön görüşme talep et →