İçindekiler
E-ticaret sitelerinde filtre URL’leri, her filtre kombinasyonunu Google’a açmak yerine arama değeri bulunan kombinasyonları indekslenebilir landing page olarak ayırarak; geri kalan URL’lerin tarama ve indeksleme davranışını kontrollü biçimde yöneterek yapılandırılmalıdır.
Örneğin kullanıcıların gerçekten aradığı:
- kadın koşu ayakkabısı,
- siyah spor ayakkabı,
- Samsung 55 inç televizyon,
- 16 GB RAM laptop gibi kombinasyonlar bağımsız arama niyetine sahip olabilir.
Buna karşılık:
- fiyatı artana göre sırala,
- 1.249–1.763 TL,
- stoktakiler + kırmızı + XL + %20 indirimli,
- sayfa görünümünü 48 ürün yap gibi kombinasyonların ayrı birer SEO sayfası haline gelmesi çoğu e-ticaret sitesi için gereksizdir.
Asıl problem filtrenin kullanılması değil, filtre motorunun kontrolsüz biçimde yeni URL üretmesidir.
Google da faceted navigation sistemlerinin çok fazla URL oluşturabileceğini; bunun gereksiz taramaya ve önemli yeni sayfaların daha yavaş keşfedilmesine neden olabileceğini açıkça belirtiyor.
Bu nedenle filtre yönetimi yalnızca canonical, noindex veya robots.txt seçmekten ibaret değildir. Doğru yapı;
arama talebi + kategori mimarisi + URL üretimi + tarama kontrolü + canonical + indeksleme politikası + iç bağlantı + sitemap
birlikte değerlendirilerek kurulmalıdır.
E-ticaret sitesinin tamamındaki teknik SEO yapısı bu tür kararlarla birlikte ele alınacaksa E-Ticaret SEO Hizmeti sayfasındaki çalışma kapsamı incelenebilir.
Filtre URL’si Nedir?
Filtre URL’si, bir kategori veya ürün listeleme sayfasındaki ürünlerin belirli özelliklere göre daraltılması sonucunda oluşan URL’dir.
Örneğin ana kategori:
https://www.ornekmagaza.com/spor-ayakkabi
Kullanıcı siyah renk filtresini seçtiğinde:
https://www.ornekmagaza.com/spor-ayakkabi?renk=siyah
42 numara da seçildiğinde:
https://www.ornekmagaza.com/spor-ayakkabi?renk=siyah&numara=42
marka eklendiğinde:
https://www.ornekmagaza.com/spor-ayakkabi?renk=siyah&numara=42&marka=nike
gibi yeni adresler oluşabilir.
Bir mağazada yalnızca;
- 20 marka,
- 10 renk,
- 15 beden,
- 8 materyal,
- 6 kullanım alanı,
- 10 fiyat aralığı bulunması bile teorik olarak çok büyük sayıda kombinasyon yaratabilir.
Üstelik sıralama, sayfalama, stok durumu ve görünüm seçenekleri de URL’ye eklendiğinde taranabilir adres sayısı gerçek ürün ve kategori sayısının onlarca veya yüzlerce katına çıkabilir.
Google, e-ticaret URL mimarisinde aynı veya çok benzer içeriği döndüren alternatif URL sayısının azaltılmasını öneriyor.
Dolayısıyla e-ticaret filtre SEO’sunda ilk soru:
“Bu URL’yi nasıl index dışı bırakmalıyız?”
değil;
“Bu URL’nin var olması ve Google tarafından keşfedilmesi gerekiyor mu?” olmalıdır.
Her Filtre URL’si İndekslenmeli mi?
Hayır.
Filtre URL’lerinin tamamını indekslemek de tamamını kapatmak da hatalı olabilir.
Doğru yaklaşım filtreleri üç temel gruba ayırmaktır:
| Filtre grubu | Örnek | SEO yaklaşımı |
|---|---|---|
| Arama talebi bulunan kombinasyon | /spor-ayakkabi/nike |
İndekslenebilir değerlendirilebilir |
| Kullanıcı için gerekli ancak SEO değeri zayıf filtre | ?numara=42&stok=1 |
Genellikle indekslenmez |
| Teknik / sıralama parametresi | ?sort=price_asc |
Tarama alanı sınırlandırılmalıdır |
Buradaki belirleyici unsur filtrenin adı değil oluşturduğu sayfanın bağımsız arama niyetidir.
Örneğin “marka filtresi her zaman indekslenir” şeklinde bir kural yoktur.
Bir elektronik mağazasında:
/televizyon/samsung
güçlü bir SEO landing page olabilir.
Fakat:
/usb-kablo/marka-x
sayfası yeterli ürün, arama hacmi veya farklı kullanıcı niyeti taşımıyorsa bağımsız bir organik sayfaya dönüştürülmesi gereksiz olabilir.
Filtre ile kategori arasında karar verirken kategori mimarisinin tamamının da incelenmesi gerekir. Bu ayrımı E-Ticaret Kategori Sayfası SEO Rehberi içerisinde daha geniş kategori mimarisi açısından ele aldık.
Burada ise yalnızca filtre motorunun teknik davranışına odaklanıyoruz.
Bir Filtre Sayfasının İndekslenmesine Nasıl Karar Verilir?
Bir filtre kombinasyonunu Google’a açmadan önce en az şu altı kriter değerlendirilmelidir.
1. Gerçek Bir Arama Talebi Var mı?
En önemli kriter budur.
Örneğin:
Ana kategori
/erkek-ayakkabi
Filtre kombinasyonu
/erkek-ayakkabi/siyah
Eğer kullanıcılar düzenli olarak “siyah erkek ayakkabı” arıyorsa bu kombinasyon bağımsız bir arama ihtiyacına karşılık gelebilir.
Fakat:
/erkek-ayakkabi?siyah=1&numara=43&taban=kaucuk&stok=1
yalnızca filtre motorunun üretebildiği için SEO sayfası haline getirilmemelidir.
2. Yeterli Ürün Bulunuyor mu?
Arama hacmi bulunması tek başına yeterli değildir.
İndekslemeye açılan sayfanın kullanıcıya anlamlı bir ürün seçeneği sunması gerekir.
Örneğin “bej kadın trençkot” sorgusu aranıyor olabilir. Fakat mağazada yalnızca tek bir ürün bulunuyorsa ayrı kategori/filter landing page oluşturmak yerine ürün veya daha geniş kategori üzerinden görünürlük kazanmak daha doğru olabilir.
Minimum ürün sayısı için bütün e-ticaret sitelerine uygulanabilecek sabit bir rakam yoktur.
Karar;
- sektör,
- ürün çeşidi,
- stok devamlılığı,
- arama talebi,
- kategori derinliği
birlikte değerlendirilerek verilmelidir.
3. Ürün Kümesi Kalıcı mı?
Bugün 25 ürün gösteren ancak haftaya sıfır ürüne düşecek bir filtrenin kalıcı SEO landing page haline getirilmesi risklidir.
Özellikle;
- stok durumu,
- anlık kampanya,
- indirim oranı,
- teslimat süresi gibi sık değişen filtrelerde bu problem görülür.
SEO için açılan filtre sayfalarının ürün kümeleri mümkün olduğunca istikrarlı olmalıdır.
4. Ana Kategoriyle Farklı Bir Arama Niyeti Var mı?
Şu iki sayfa farklı ihtiyacı karşılayabilir:
/kosu-ayakkabisi
/kosu-ayakkabisi/kadin
Ancak:
/kosu-ayakkabisi
/kosu-ayakkabisi?stokta=evet
genellikle aynı temel arama niyetini taşır.
Filtre sayfası yalnızca ürün listesini daraltıyor fakat SERP açısından yeni bir kullanıcı ihtiyacı oluşturmuyorsa ayrı bir indekslenebilir sayfa olması gerekmeyebilir.
5. Sayfanın Benzersiz Bir Landing Page Olarak Yönetilmesi Mümkün mü?
İndekslenebilir hale getirilen filtre kombinasyonunun yalnızca URL’si değişmemelidir.
Gerekli olduğunda;
- SEO title,
- H1,
- meta description,
- açıklayıcı kategori metni,
- breadcrumb,
- iç bağlantılar da ilgili sorguyu ve kullanıcı ihtiyacını yansıtmalıdır.
Örneğin:
/spor-ayakkabi?renk=siyah
URL’sini indekslemeye açıp sayfanın H1 etiketini hâlâ:
Spor Ayakkabı
olarak bırakmak, gerçek bir landing page stratejisi değildir.
İndekslenmeye değer filtre gerekiyorsa sistem bunu SEO landing page statüsüne yükseltebilmelidir.
6. Aynı Sonucu Veren Başka URL’ler Oluşuyor mu?
Aşağıdaki URL’lere dikkat edin:
?marka=nike&renk=siyah
ve:
?renk=siyah&marka=nike
Eğer ikisi de aynı ürünleri gösteriyorsa iki farklı URL altında aynı sayfa ortaya çıkmış olur.
Bu nedenle filtre motorunda parametre normalizasyonu yapılmalıdır.
Tek bir standart belirlenmelidir:
?marka=nike&renk=siyah
ve sistem her durumda aynı sırayı üretmelidir.
Filtre URL Karar Tablosu
| Filtre türü | Arama potansiyeli | Önerilen yaklaşım |
|---|---|---|
| Marka + kategori | Yüksek olabilir | Seçili kombinasyonlar indekslenebilir |
| Cinsiyet + kategori | Genellikle yüksek | Kategori veya SEO landing page düşünülebilir |
| Kullanım amacı | Yüksek olabilir | Talebe göre indekslenebilir |
| Materyal | Sektöre bağlı | Talebe göre |
| Renk | Sektöre bağlı | Yalnızca değerli kombinasyonlar |
| Beden / numara | Çoğunlukla düşük | Genellikle indekslenmez |
| Minimum–maksimum fiyat | Düşük / değişken | İndekslenmemeli |
| Stok durumu | Düşük | İndekslenmemeli |
| İndirim oranı | Geçici | Genellikle indekslenmemeli |
| Sıralama | SEO değeri yok | Tarama sınırlandırılmalı |
| Görünüm biçimi | SEO değeri yok | URL üretmemesi tercih edilir |
| Sayfa başına ürün adedi | SEO değeri yok | İndekslenmemeli |
| Çoklu rastgele kombinasyon | Çok düşük | Tarama alanından çıkarılmalı |
Bu tablo başlangıç noktasıdır.
“Renk filtreleri indekslenir” veya “beden filtreleri indekslenmez” gibi mutlak kurallar yerine siteye ait gerçek arama verisi ve ürün mimarisi esas alınmalıdır.
Doğru Filtre URL Yapısı Nasıl Olmalı?
Filtre URL’leri standart, öngörülebilir ve mümkün olduğunca tekil biçimde üretilmelidir.
Anlaşılır Parametre Kullanımı
Daha sağlıklı:
/kadin-ayakkabi?renk=siyah&marka=nike
Sorunlu:
/kadin-ayakkabi?siyah;nike
veya:
/kadin-ayakkabi?1234
Filtre Parametrelerinin Sırası Sabit Olmalı
Sistem kullanıcının filtreleri hangi sırayla tıkladığına göre URL oluşturmamalıdır.
Örneğin üç farklı kullanıcı:
?renk=siyah&marka=nike&numara=40
?numara=40&renk=siyah&marka=nike
?marka=nike&numara=40&renk=siyah
adreslerine ulaşmamalıdır.
Uygulama URL’yi normalize ederek tek bir biçim üretmelidir:
?marka=nike&renk=siyah&numara=40
Böylece aynı ürün listesini gösteren gereksiz URL varyasyonları azaltılır.
Filtre URL’leri Parametre mi, Klasör Yapısı mı Kullanmalı?
İki yöntem de teknik olarak uygulanabilir.
Parametre Tabanlı Yapı
/televizyon?marka=samsung&ekran=55
Filtreleme sistemleri açısından esnektir.
Ancak kontrolsüz bırakılırsa büyük URL kombinasyonları üretmeye daha yatkındır.
Path Tabanlı Yapı
/televizyon/samsung/55-inc
SEO landing page olarak kullanılacak seçilmiş kombinasyonlarda daha okunabilir olabilir.
Fakat burada da otomatik olarak her kombinasyonu klasör yapısına dönüştürmek çözüm değildir.
Örneğin:
/televizyon/samsung/55-inc/siyah/4k/stokta/indirimli
gibi sınırsız path üretmek, query parametreleriyle yaşanan sorunu yalnızca başka bir URL biçimine taşır.
En Sağlıklı Hibrit Yaklaşım
SEO değeri taşıyan filtre kombinasyonları:
/televizyon/samsung
gibi kalıcı landing page URL’lerine dönüştürülebilir.
Kullanıcı deneyimi için gerekli diğer filtreler ise:
/televizyon?ekran=55&stok=1
şeklindeki teknik filtre mekanizmasında kalabilir.
Böylece SEO URL alanı ile kullanıcı filtre alanı birbirinden ayrılır.
URL Fragment Kullanmak Çözüm Olabilir mi?
Filtre sonucunun Google tarafından ayrı URL olarak değerlendirilmesini istemiyorsanız:
/urunler#renk=siyah
gibi fragment tabanlı sistemler kullanılabilir.
Bu yöntem özellikle tamamen kullanıcı deneyimine hizmet eden filtrelerde URL patlamasını engelleyebilir.
Ancak önemli bir sonucu vardır:
Fragment ile oluşturulan filtre durumlarını bağımsız organik landing page olarak kullanamazsınız.
Dolayısıyla bütün filtre sistemini fragment yapısına geçirmek yerine önce hangi filtrelerin SEO değeri taşıdığı belirlenmelidir.
Filtre URL’lerinde Canonical Nasıl Kullanılmalı?
Canonical etiketi filtre URL yönetiminde en sık yanlış kullanılan araçlardan biridir.
Örneğin:
/kadin-ayakkabi?renk=siyah
sayfasının canonical etiketi otomatik olarak:
<link rel="canonical" href="https://www.ornekmagaza.com/kadin-ayakkabi">
yapılmamalıdır.
Canonical, birbirinin aynısı veya büyük ölçüde benzeri sayfaların temsilci URL’sini bildirmek için kullanılır.
Bu nedenle önce filtre sayfasının amacı belirlenmelidir.
İndekslenebilir Filtre Landing Page
Örneğin:
/kosu-ayakkabisi/nike
arama talebi bulunan, bağımsız optimize edilmiş bir sayfaysa:
<link rel="canonical" href="https://www.ornekmagaza.com/kosu-ayakkabisi/nike">
şeklinde self-referencing canonical kullanılmalıdır.
Ana Kategorinin Büyük Ölçüde Kopyası Olan Filtre
Örneğin yalnızca ürün sıralamasını değiştiren:
/kosu-ayakkabisi?sort=price_asc
sayfasının ayrı organik sayfa olması gerekmez.
Bu tür URL’lerde asıl hedef ideal olarak gereksiz URL’nin Google tarafından sürekli keşfedilmesini önlemektir.
Canonical kullanılacaksa ana kategori:
/kosu-ayakkabisi
temsilci URL olarak gösterilebilir.
Ancak yalnızca canonical ekleyip yüz binlerce filtre URL’sini Googlebot’a açık bırakmak güçlü bir tarama kontrol stratejisi değildir.
Noindex mi, Robots.txt mi Kullanılmalı?
Bu iki yöntem aynı işi yapmaz.
Bu fark, filtre URL yönetimindeki en önemli teknik konulardan biridir.
Noindex Ne Yapar?
<meta name="robots" content="noindex,follow">
Googlebot sayfayı tarayabilir ancak noindex direktifini gördükten sonra URL’nin Google sonuçlarında gösterilmemesi gerekir.
Google’ın noindex direktifini görebilmesi için URL’yi tarayabilmesi gerekir.
Dolayısıyla:
robots.txt → Disallow
ve aynı URL üzerinde:
<meta name="robots" content="noindex">
kullanmak, indeks kaldırma amacıyla doğru bir kombinasyon değildir.
Çünkü Googlebot robots.txt nedeniyle URL’yi tarayamıyorsa sayfadaki noindex etiketini göremez.
Robots.txt Ne Yapar?
Robots.txt öncelikle tarama erişimini kontrol eder.
Örneğin:
User-agent: Googlebot
Disallow: /*?sort=
Disallow: /*?min_price=
Disallow: /*?max_price=
gibi kurallarla SEO değeri bulunmayan büyük parametre alanlarının taranması sınırlandırılabilir.
Ancak önemli bir ayrıntı vardır:
robots.txt tek başına güvenilir bir “URL’yi Google indeksinden çıkarma” yöntemi değildir.
Bu nedenle mevcut durumda Google indeksine girmiş binlerce filtre URL’sini kaldırmaya çalışırken doğrudan robots.txt engeli eklemek hatalı olabilir.
Halihazırda İndekslenmiş Filtre URL’leri Nasıl Temizlenmeli?
Örneğin Search Console’da şu tip 50.000 URL bulunduğunu düşünelim:
?kategori=elbise&renk=siyah&beden=m
?kategori=elbise&renk=siyah&beden=l
?kategori=elbise&renk=kirmizi&beden=m
...
ve bunların indekslenmesini istemiyoruz.
Doğrudan:
Disallow: /*?*
uygulamak yerine kontrollü bir geçiş yapılmalıdır.
Aşama 1: URL Envanteri Çıkarılır
URL’ler;
- indeks durumuna,
- Googlebot tarama sıklığına,
- organik trafik miktarına,
- backlink durumuna,
- ürün sonucuna,
- arama talebine
göre sınıflandırılır.
Aşama 2: SEO Değeri Bulunanlar Ayrılır
Örneğin 50.000 URL içinden yalnızca:
/spor-ayakkabi/nike
/spor-ayakkabi/adidas
/spor-ayakkabi/kadin
/spor-ayakkabi/erkek
gibi gerçek arama talebi taşıyan kombinasyonlar SEO landing page haline getirilebilir.
Aşama 3: Gereksiz URL’lerin İç Linkleri Kaldırılır
Google’ın bir URL’yi taramasının en güçlü nedenlerinden biri sitenin sürekli o URL’ye bağlantı vermesidir.
Bu yüzden gereksiz filtre URL’lerini robots.txt ile engelleyip site çapında binlerce bağlantıyla Google’a göstermeye devam etmek verimli değildir.
Filtre bağlantılarının nasıl yönetileceği E-Ticaret Sitesinde İç Linkleme Nasıl Yapılır? rehberindeki genel bağlantı mimarisiyle birlikte değerlendirilmelidir.
Aşama 4: İndeksten Çıkarılması Gereken URL’ler Googlebot’a Açık Tutulur
URL’nin indeks dışı bırakılması gerekiyorsa Google’ın noindex direktifini görebilmesi gerekir.
Bu nedenle geçiş aşamasında gerekli URL’ler crawl edilebilir bırakılarak:
<meta name="robots" content="noindex,follow">
uygulanabilir.
Google URL’leri yeniden tarayıp direktifi işledikten sonra büyük ve değersiz filtre alanları için daha sert crawl kısıtlamaları değerlendirilebilir.
Aşama 5: Tarama Alanı Sınırlandırılır
İndeks temizlendikten sonra;
- sıralama,
- fiyat aralıkları,
- geçici stok seçenekleri,
- görünüm parametreleri,
- rastgele çoklu filtre kombinasyonları
robots.txt veya uygulama mimarisi üzerinden crawl alanından çıkarılabilir.
Filtre URL’lerinde Noindex + Canonical Birlikte Kullanılmalı mı?
Genel filtre stratejisi olarak bu iki etiketi aynı anda kullanmak yerine URL’nin amacı belirlenmelidir.
Sayfa İndekslenmeyecekse
<meta name="robots" content="noindex,follow">
kullanılabilir.
Sayfa Başka Bir URL’nin Gerçek Anlamda Kopyasıysa
Canonical kullanılabilir.
Sayfa Bağımsız SEO Landing Page İse
index, follow
+
self canonical
kullanılmalıdır.
Bir URL’ye aynı anda “Bu sayfayı indeksleme” ve “Bu URL’yi başka sayfanın temsilcisi olarak değerlendir” sinyallerini göndermek yerine mimari mümkün olduğunca sade tutulmalıdır.
Sıralama Parametreleri Nasıl Yönetilmeli?
Şu URL’lerin ayrı bir SEO değeri yoktur:
?sort=price_asc
?sort=price_desc
?sort=newest
?sort=popular
Çünkü temel içerik kümesi aynıdır; yalnızca ürünlerin sırası değişmiştir.
Bu parametrelerin;
- sitemap’e eklenmemesi,
- indekslenebilir landing page gibi kullanılmaması,
- gereksiz crawl alanı üretmesinin engellenmesi
gerekir.
Mümkünse kullanıcı sıralama işlemi gerçekleştirirken uygulama URL oluşturmak zorunda değilse sıralama durumu istemci tarafında yönetilebilir.
URL gerekiyorsa teknik crawl kuralları devreye alınmalıdır.
Fiyat Filtreleri Neden Genellikle İndekslenmemeli?
Örneğin:
/laptop?min_price=15000&max_price=20000
bugün 35 ürün gösterebilir.
Bir ay sonra fiyat değişiklikleri sonucunda aynı URL:
- 3 ürün,
- 1 ürün,
- hatta 0 ürün gösterebilir.
Ayrıca filtre aralıkları kullanıcı tarafından serbest seçilebiliyorsa:
?min_price=15243&max_price=19876
gibi teorik olarak sınırsız kombinasyon üretilebilir.
Bu nedenle dinamik fiyat filtrelerinin organik landing page haline getirilmesi genellikle doğru değildir.
Fakat arama talebi bulunan:
/20000-tl-alti-telefonlar
gibi editoryal olarak kontrol edilen, kalıcı bir ticari landing page oluşturulabilir.
Burada kritik fark şudur:
SEO sayfası filtre motorunun rastgele çıktısı değil, yönetilen bir arama landing page’idir.
Marka Filtreleri İndekslenebilir mi?
Evet, en güçlü adaylardan biridir.
Örneğin:
/laptop/lenovo
/televizyon/samsung
/spor-ayakkabi/nike
sayfaları ciddi arama talebi taşıyabilir. Ancak bütün marka × kategori kombinasyonları otomatik olarak açılmamalıdır. Örneğin 500 kategori ve 300 markaya sahip bir sitede teorik olarak:
150.000 marka-kategori kombinasyonu oluşturulabilir.
Bunların büyük kısmında ürün bulunmaması veya yalnızca birkaç ürün bulunması mümkündür.
Bu nedenle sistem bir SEO whitelist mantığıyla çalışmalıdır.
Örneğin:
kategori: televizyon
marka: samsung
seo_index: true
ancak:
kategori: hdmi-kablo
marka: bilinmeyen-marka
seo_index: false
şeklinde yönetilebilir.
Çoklu Filtre Kombinasyonları Nasıl Yönetilmeli?
Tek bir filtre anlamlı olabilir:
/kadin-ayakkabi/siyah
İki filtre de anlamlı olabilir:
/kadin-kosu-ayakkabisi/nike
Fakat filtre sayısı arttıkça SEO değeri çoğu zaman hızla düşer:
/kadin-ayakkabi?renk=siyah&numara=39&marka=nike&taban=kaucuk&stok=1
Bu nedenle indeksleme politikası “en fazla X filtre” gibi yalnızca matematiksel bir kurala bağlanmamalıdır.
Bunun yerine onaylı kombinasyon listesi kullanılmalıdır.
INDEX:
kategori + marka
kategori + cinsiyet
kategori + kullanim_alani
CONDITIONAL:
kategori + renk
kategori + materyal
NOINDEX / BLOCK:
kategori + beden
kategori + fiyat
kategori + stok
kategori + sort
3+ rastgele filtre kombinasyonu
Bu yaklaşım milyonlarca otomatik URL yerine sınırlı ve ticari değeri yüksek organik landing page ağı oluşturur.
Bulmayan Filtre URL’leri Ne Yapmalı?
Geçersiz veya hiçbir ürün göstermeyen anlamsız filtre kombinasyonlarının normal bir kategori sayfası gibi 200 OK döndürmesi önlenmelidir.
Örneğin:
/ayakkabi?renk=mor&numara=63
kombinasyonu gerçekten geçersiz ve sonuçsuzsa uygun HTTP durum kodu uygulanabilir.
HTTP/1.1 404 Not Found
Ancak kullanıcı deneyimi açısından sayfa boş bırakılmak zorunda değildir.
Ekranda:
Aradığınız filtre kombinasyonuna uygun ürün bulunamadı.
mesajıyla birlikte;
- filtreyi kaldır,
- benzer ürünleri göster,
- kategoriye dön seçenekleri sunulabilir.
Geçersiz Filtreler de Kontrol Edilmeli
Şu adres:
?renk=siyah&renk=siyah
veya sistemde bulunmayan:
?renk=gecersiz-renk-999
gibi anlamsız kombinasyonlar otomatik olarak ana kategoriye yönlendirilmemelidir.
Gerçekte eşdeğer olmayan bütün URL’leri:
301 → /kategori
ile ana kategoriye yönlendirmek doğru bir URL temizleme yöntemi değildir.
Filtre URL’leri XML Sitemap’e Eklenmeli mi?
Yalnızca organik aramada bulunmasını istediğiniz canonical URL’ler XML sitemap’e dahil edilmelidir.
Bu nedenle:
?sort=
?price=
?stock=
?view=
?limit=
gibi teknik filtre adresleri sitemap içerisinde bulunmamalıdır.
SEO landing page olarak onaylanan:
/kadin-ayakkabi
/kadin-ayakkabi/nike
/kadin-ayakkabi/siyah
gibi URL’ler ise diğer koşulları da sağlıyorsa sitemap’e eklenebilir.
Filtre Sayfalarında İç Linkleme Nasıl Yapılmalı?
İndekslenebilir filtre sayfalarının yalnızca kullanıcı filtreye tıkladığında ulaşılabilen gizli URL’ler olarak bırakılması doğru değildir.
Önemli SEO landing page’lere normal HTML bağlantıları verilmelidir.
Örneğin kategori sayfasında:
Popüler seçimler
- Nike Koşu Ayakkabıları
- Kadın Koşu Ayakkabıları
- Siyah Koşu Ayakkabıları
- Trail Koşu Ayakkabıları gibi bağlantılar bulunabilir.
Buna karşılık bütün filtre seçeneklerini crawl edilebilir bağlantılarla site çapında çoğaltmak URL patlamasına neden olabilir.
Örneğin her kategori sayfasının HTML kaynağında:
- 300 marka,
- 50 renk,
- 40 ölçü,
- 20 materyal kombinasyonunun otomatik bağlantı olarak üretilmesi gerekmez.
SEO landing page olan filtreler ile yalnızca arayüz filtresi olan seçenekler bağlantı mimarisinde ayrılmalıdır.
Bu yapının genel iç bağlantı mimarisiyle nasıl birleştirileceği E-Ticaret Sitesinde İç Linkleme Nasıl Yapılır? rehberinde ayrıca ele alınmaktadır.
Filtre Sayfaları JavaScript ile Çalışıyorsa Ne Kontrol Edilmeli?
Modern e-ticaret sitelerinde filtreler çoğunlukla AJAX veya JavaScript kullanır.
Burada şu iki yapı birbirinden ayrılmalıdır:
SEO Değeri Olmayan Filtre
Kullanıcı ürün listesini daraltır ancak yeni SEO landing page gerekmez.
Bu durumda kullanıcı deneyimi JavaScript üzerinden yönetilebilir.
SEO Değeri Bulunan Filtre
Örneğin:
/laptop/gaming
organik aramada bulunması isteniyorsa sayfa yalnızca JavaScript state içerisinde yaşamamalıdır.
Kalıcı URL bulunmalı ve Google’ın keşfedebileceği HTML bağlantılarla erişilebilir olmalıdır.
Filtre URL’leri ile Ürün Varyasyonları Aynı Şey Değildir
Bu iki yapı sık karıştırılır.
Örneğin:
/tisort?renk=siyah
iki farklı anlama gelebilir.
Kategori Filtresi
Siyah renkli tüm tişörtleri listeliyor olabilir.
Ürün Varyasyonu
Tek bir tişört ürününün siyah varyasyonunu gösteriyor olabilir.
Renk, beden ve model varyasyonlarının URL ve canonical yapısı Ürün Varyasyonları SEO: Renk, Beden ve Model URL’leri Nasıl Yönetilmeli? içeriğinde ayrıntılı olarak incelenmiştir.
Filtre URL stratejisi ise ürün listeleme alanının tarama ve indeksleme mimarisidir.
Bu nedenle iki sistem için aynı teknik kurallar otomatik olarak kullanılmamalıdır.
Filtre Motoru SEO Kuralları Yazılım Seviyesinde Nasıl Yönetilebilir?
Büyük e-ticaret sitelerinde filtre kontrolünü yalnızca SEO eklentilerine bırakmak yerine uygulama seviyesinde bir URL policy engine oluşturmak daha güvenli olabilir.
Basitleştirilmiş bir kural yapısı şu şekilde tasarlanabilir:
<?php
$filterRules = [
'brand' => [
'seo' => 'whitelist'
],
'gender' => [
'seo' => 'whitelist'
],
'color' => [
'seo' => 'conditional'
],
'size' => [
'seo' => 'noindex'
],
'min_price' => [
'seo' => 'block'
],
'max_price' => [
'seo' => 'block'
],
'stock' => [
'seo' => 'block'
],
'sort' => [
'seo' => 'block'
]
];
Ardından URL aşağıdaki statülerden birine atanabilir:
SEO_LANDING
UX_FILTER
DUPLICATE
BLOCKED_FILTER
INVALID_FILTER
EMPTY_RESULT
Her statü farklı HTTP ve SEO davranışı üretir.
| Durum | HTTP | Robots | Canonical | Sitemap |
|---|---|---|---|---|
| SEO_LANDING | 200 | index, follow | Self | Evet |
| UX_FILTER | 200 | noindex, follow | Gerekmeyebilir | Hayır |
| DUPLICATE | 200 | index/follow | Ana URL | Hayır |
| BLOCKED_FILTER | 200 | Crawl engeli | — | Hayır |
| EMPTY_RESULT | 404 | — | — | Hayır |
| INVALID_FILTER | 404 | — | — | Hayır |
Bu modelin önemli avantajı şudur:
SEO davranışı URL’nin tesadüfen nasıl oluştuğuna değil, sistem tarafından verilen statüye göre belirlenir.
SEO Landing Page Whitelist Nasıl Çalışabilir?
Örneğin veritabanında:
seo_filter_pages
tablosu oluşturulabilir.
Basitleştirilmiş yapı:
id
category_id
filter_key
filter_value
slug
seo_title
h1
meta_description
canonical_url
index_status
active
Örnek kayıt:
category_id: 42
filter_key: brand
filter_value: nike
slug: /spor-ayakkabi/nike
index_status: index
active: 1
Böylece kullanıcı filtre motorunda Nike seçtiğinde sistem:
/spor-ayakkabi?brand=nike
yerine onaylanmış SEO landing page’i:
/spor-ayakkabi/nike
kullanabilir.
Fakat henüz SEO sayfası olarak tanımlanmamış bir marka:
?brand=marka-x
normal filtre davranışında kalır.
Bu mimari kontrolsüz programatik SEO ile bilinçli programatik landing page üretimini birbirinden ayırır.
URL Normalizasyonu Uygulama Katmanında Yapılmalı
Uygulama şu iki URL’nin aynı olduğunu bilmelidir:
?brand=nike&color=black
?color=black&brand=nike
Normalize işleminden sonra sistem her zaman:
?brand=nike&color=black
üretmelidir.
Aynı şekilde:
?brand=nike&brand=nike
gibi yinelenen filtreler kabul edilmemelidir.
Sistem URL oluştururken:
- izin verilen parametreleri doğrulamalı,
- parametreleri standart sıraya dizmeli,
- yinelenenleri temizlemeli,
- geçersiz değerleri reddetmeli,
- boş sonuçları kontrol etmeli,
- SEO landing page eşleşmesi varsa temiz URL’ye geçmelidir.
Böylece SEO problemi oluşmadan uygulama seviyesinde engellenmiş olur.
Shopify Filtre URL’leri Nasıl Yönetilmeli?
Shopify mağazalarında filtre stratejisini değiştirirken platformun kendi tarama altyapısı dikkate alınmalıdır.
Filtre SEO çalışması yapılırken doğrudan geniş kapsamlı robots.txt kuralları eklemek yerine önce:
- tema tarafından oluşturulan filtre URL’leri,
- kullanılan Search & Discovery yapısı,
- canonical çıktıları,
- indekslenen parametreler,
- Search Console URL örnekleri incelenmelidir.
Platform varsayımlarına göre değil, mağazanın gerçekten ürettiği HTML ve URL davranışına göre karar verilmelidir.
WooCommerce Filtre URL’leri Nasıl Yönetilmeli?
WooCommerce sitelerinde filtre URL’lerinin gerçek davranışı;
- kullanılan tema,
- blok yapısı,
- layered navigation sistemi,
- filtre eklentisi,
- SEO eklentisi tarafından değiştirilebilir.
Bu nedenle WooCommerce sitesinde yalnızca WordPress yönetim paneline bakmak yeterli değildir.
Gerçek URL çıktısı test edilmelidir:
?filter_color=black
?filter_size=large
?orderby=price
gibi URL’lerin;
- canonical,
- robots meta,
- internal link,
- sitemap,
- HTTP durum kodu çıktıları tek tek incelenmelidir.
Kontrolsüz filtre keşfi yalnızca indeks problemi değil, uygulama performansı açısından da değerlendirilmelidir.
Özel Yazılım E-Ticaret Sitelerinde En Doğru Mimari Nedir?
Özel yazılımda platform sınırlaması olmadığı için en güçlü yaklaşım uygulanabilir.
Filtre sistemi baştan şu üç alanı birbirinden ayırmalıdır:
1. Kullanıcı Filtresi
Yalnızca ürün bulmayı kolaylaştırır.
2. SEO Landing Page
Arama talebi bulunan filtre kombinasyonudur.
3. Sistem Parametresi
Sıralama, görünüm, pagination state veya teknik parametredir.
Böyle bir sistemde;
filter_engine
seo_filter_registry
url_normalizer
canonical_resolver
robots_policy
sitemap_generator
katmanları aynı URL politikası üzerinden çalıştırılabilir.
Bunun sonucu olarak sitemap başka URL, canonical başka URL, filtre motoru başka URL üretmez.
Özellikle büyük kataloglu mağazalarda filtre SEO’sunun yalnızca içerik düzenlemesi değil yazılım mimarisi problemi olarak ele alınması gerekir.
Bu tür tarama ve indeksleme problemleri daha geniş teknik altyapı kapsamında Teknik SEO Hizmeti içerisinde de değerlendirilmektedir.
Filtre URL Yönetimi İçin Karar Ağacı
Bir filtre kombinasyonu oluştuğunda aşağıdaki sırayla karar verilebilir:
Filtre URL oluştu
↓
Geçerli kombinasyon mu?
Hayır → 404
↓ Evet
Ürün sonucu var mı?
Hayır → 404
↓ Evet
Bağımsız arama talebi var mı?
Hayır → UX filtresi
↓ Evet
Ürün kümesi yeterli ve kalıcı mı?
Hayır → UX filtresi
↓ Evet
Ana kategoriden farklı arama niyeti var mı?
Hayır → Ayrı SEO sayfası oluşturma
↓ Evet
SEO landing page olarak yönetilebilir mi?
Hayır → UX filtresi
↓ Evet
Temiz URL oluştur
↓
Self canonical
↓
index, follow
↓
XML sitemap
↓
İç link
Bu karar ağacı sayesinde sistemin üretebildiği her URL’nin Google’a sunulması engellenir.
E-Ticaret Sitesinde Filtre URL Denetimi Nasıl Yapılır?
Mevcut bir mağazada filtre SEO problemi olup olmadığını anlamak için yalnızca Search Console indeks sayısına bakılmamalıdır.
Aşağıdaki alanlar birlikte kontrol edilmelidir.
URL Envanteri
Sunucunun üretebildiği filtre parametreleri belirlenir.
Google İndeksi
Hangi filtre kombinasyonlarının indekslendiği incelenir.
Googlebot Crawl Davranışı
Sunucu loglarından Googlebot’un zamanını hangi URL tiplerinde harcadığı analiz edilir.
Internal Link Graph
Filtre URL’lerine kaç farklı sayfadan bağlantı verildiği bulunur.
Canonical Çıktıları
Ana kategori ve filtre sayfalarındaki canonical hedefleri karşılaştırılır.
Robots.txt
Engellenen ve izin verilen parametre alanları kontrol edilir.
Robots Meta
index, noindex ve follow davranışları test edilir.
Sitemap
Filtre URL’lerinin sitemap’e yanlışlıkla eklenip eklenmediğine bakılır.
HTTP Status
Boş ve geçersiz filtrelerin doğru HTTP durum kodunu döndürüp döndürmediği kontrol edilir.
Parametre Normalizasyonu
Aynı sonucu gösteren URL’lerin farklı parametre sıralarıyla çoğalıp çoğalmadığı test edilir.
Filtre URL SEO Kontrol Listesi
- Bütün filtre parametreleri envantere çıkarıldı.
- SEO değeri taşıyan filtreler ayrıca belirlendi.
- Marka × kategori kombinasyonları otomatik olarak indekslenmiyor.
- Fiyat parametreleri kontrol altında.
- Stok parametreleri indekslenebilir değil.
- Sıralama URL’leri indekslenebilir değil.
- Görünüm seçenekleri yeni SEO URL’si oluşturmuyor.
- Parametre sırası normalize ediliyor.
- Aynı parametre iki kez kullanılamıyor.
- Geçersiz filtre değerleri doğru şekilde ele alınıyor.
- Sıfır ürün döndüren anlamsız kombinasyonlar geçerli kategori gibi sunulmuyor.
- İndekslenebilir filtre landing page’ler self canonical kullanıyor.
- Canonical bütün filtrelerde otomatik olarak kategoriye verilmiyor.
- Robots.txt ile noindex arasındaki fark doğru uygulanıyor.
- Robots.txt nedeniyle Google’ın görmesi gereken noindex engellenmiyor.
- Sitemap yalnızca indekslenebilir canonical URL’leri içeriyor.
- SEO landing page’lere crawl edilebilir HTML bağlantıları veriliyor.
- Değersiz filtre kombinasyonları site çapında linklenmiyor.
- Search Console indeks raporları kontrol ediliyor.
- Crawl logları URL tipine göre analiz ediliyor.
- Shopify, WooCommerce veya özel yazılım davranışı platform özelinde test ediliyor.
En Sık Yapılan Filtre URL Hataları
- Her filtre kombinasyonunu indekslemek.
- Bütün filtreleri istisnasız noindex yapmak.
- Her filtre URL’sini ana kategoriye canonical vermek.
- Robots.txt ve noindex’i aynı amaçla birlikte kullanmak.
- Sıralama URL’lerini Googlebot’a sürekli linklemek.
- Fiyat slider’ının sınırsız URL üretmesine izin vermek.
- Parametre sırasını normalize etmemek.
- Boş filtre sonuçlarını normal kategori gibi sunmak.
- Filtre URL’lerini XML sitemap’e eklemek.
- Arama talebi bulunan değerli filtreleri de crawl alanından çıkarmak.
- Filtre sayfasıyla ürün varyasyonunu aynı yapı olarak değerlendirmek.
- SEO landing page oluşturup site içerisinden bağlantı vermemek.
Büyük sitelerde tek bir yanlış kural yüz binlerce gereksiz URL oluşturabileceği için filtre SEO’su sayfa bazlı değil sistem bazlı yönetilmelidir.
Filtre URL’leri SEO İçin Avantaja Dönüştürülebilir mi?
Evet.
Doğru yönetildiğinde filtre sistemleri yalnızca teknik bir risk değildir. Büyük e-ticaret sitelerinin uzun kuyruklu ticari aramalarda görünürlük kazanmasını sağlayan güçlü bir landing page altyapısına dönüşebilir.
Örneğin:
/telefon
/telefon/samsung
/telefon/iphone
/telefon/5g
/telefon/256-gb
gibi gerçekten talep bulunan sayfalar kontrollü biçimde oluşturulabilir.
Ancak aynı sistem:
?brand=x&color=y&stock=1&sort=price&min=12345&max=19274
gibi SEO değeri olmayan yüz binlerce URL’yi Google’a açmamalıdır.
Aradaki fark filtre sayısında değil, URL politikasındadır.
Filtre URL Yönetimi Neden E-Ticaret SEO’nun Teknik Bir Parçasıdır?
Filtre navigasyonu yanlış yapılandırıldığında sorun yalnızca birkaç gereksiz sayfanın Google’a girmesi değildir.
Kontrolsüz yapı;
- crawl alanını büyütebilir,
- yeni ürünlerin keşfini yavaşlatabilir,
- yinelenen URL’ler oluşturabilir,
- internal link sinyallerini dağıtabilir,
- canonical karmaşası yaratabilir,
- Search Console indeks raporlarını gereksiz URL’lerle doldurabilir,
- sunucu kaynaklarını tüketebilir.
Bu yüzden özellikle binlerce ürün ve çok sayıda özellik barındıran mağazalarda filtre yönetimi, yalnızca SEO metni yazılarak çözülebilecek bir problem değildir.
URL motoru, filtre sorguları, crawl politikası, canonical sistemi, sitemap üretimi ve iç bağlantılar birlikte analiz edilmelidir.
Optimia’nın E-Ticaret SEO Hizmeti kapsamında teknik e-ticaret altyapısını ayrıca incelememizin nedeni de budur. Amaç yalnızca ürün veya kategori metinlerini optimize etmek değil; Google’ın sitenin doğru bölümlerini verimli biçimde keşfedebileceği bir mimari oluşturmaktır.