
E-Ticaret SEO: Ürün Sayfası Optimizasyonu ve Kategori Stratejileri
WooCommerce e-ticaret sitelerinde ürün sayfası title tag, Product Schema JSON-LD, kategori canonical ve LSCache warm-up ile organik sıralama ve satış artırma rehberi.
E-Ticaret SEO: Ürün Sayfası Optimizasyonu ve Kategori Stratejileri (2026)
1000 ürünü olan e-ticaret sitenizde sadece 50 tanesi Google'a indexleniyor mu? Ya da ürün sayfalarınız arama sonuçlarında görünüyor ama tıklanmıyor; ziyaretçi geliyor ama satın almıyor? Sorun çoğunlukla teknik altyapı değil — ürün sayfası ve kategori sayfası SEO'su. Bu yazıda WooCommerce 8.x + WordPress 6.4 kullanan e-ticaret sitelerinde uyguladığımız adım adım ürün sayfası optimizasyonu, kategori stratejisi ve structured data kurulumunu ele alıyoruz. Buyukweb cPanel paketlerimizde LiteSpeed + LSCache altyapısı bu süreçte önemli rol oynuyor; o kısma da geleceğiz.
Buyukweb perspektifi: cPanel hosting paketlerimizde WooCommerce 8.x + WordPress 6.4 + Yoast SEO 22.x / Rank Math 1.0.x sorunsuz çalışır. LSCache crawler ile kategori ve ürün sayfaları önceden warm-up yapılır; Google bot sayfayı her ziyaretinde gerçek sayfa süresiyle karşılaşır. Tercih etmeyin: sayfanıza 1500 kelime zorla keyword doldurmayı — Google Helpful Content Update bunu zayıf içerik olarak değerlendirir. Kategori sayfanızın built-in WordPress şablonu yetersizse, küçük ama elle yazılmış bir giriş metni sayfanın değerini ciddi artırır.
Ürün Sayfası Anatomisi — Eksik Kalan Unsurlar
Çoğu e-ticaret sitesinde ürün başlığı ve fotoğraf var ama kritik SEO unsurları atlanmış oluyor. Ürün sayfasının SEO açısından tam olması için şu tablo bir kontrol listesi olarak kullanılabilir:
| Sayfa Unsuru | SEO Rolü | Yaygın Hata |
|---|---|---|
| H1 — Ürün Adı | Birincil keyword hedefi | Marka adı + model + varyant yok |
| Title Tag | SERP'te tıklanma | Sadece ürün adı, marka/kategori eklenmemiş |
| Meta Description | CTR artışı | Otomatik oluşturulan kısa snippet |
| Özgün Ürün Açıklaması | Duplicate content önleme | Üretici metni kopyalanmış (scraper duplicate) |
| Görseller (alt text) | Google Images trafiği | product-001.jpg gibi boş alt text |
| Product Schema (JSON-LD) | Rich snippet (fiyat/puan) | Hiç yok veya eksik field'lar |
| Breadcrumb | Navigasyon + site hiyerarşisi | Şablonda var ama Schema işaretlemesi yok |
| Canonical URL | Varyant duplicate sorunu | /urun?renk=kirmizi ayrı indexleniyor |
| Dahili linkler | PageRank akışı | İlgili ürün önerisinde nofollow hatası |
Title Tag Formülü
Ürün sayfası için en iyi title tag formatı:
[Ürün Adı] — [Marka/Model] | [Kategori] | [Mağaza Adı]
Örneğin: Erkek Koşu Ayakkabısı — Nike Air Zoom 40 | Spor Ayakkabı | Mağaza Adı
55-65 karakter hedefleyin. Yoast SEO 22.x'te snippet editörde yeşil ölçek gördüğünüzde doğru uzunluktasınız.
Meta Description Yazmanın Gerçeği
Meta description doğrudan sıralama faktörü değildir ama tıklanma oranını (CTR) doğrudan etkiler. CTR ise dolaylı olarak sıralamayı etkiler. Fiyat, elde edilebilirlik, fayda — üçünü 150-155 karaktere sığdırın:
Erkek Nike Air Zoom 40 koşu ayakkabısı 42-46 numara seçeneği ile stokta.
Hızlı kargo, 2 yıl garanti. Fiyat: 2.499 ₺.
Özgün Ürün Açıklaması: 300 Kelime Neden Önemli
Üretici metin kopyalamak duplicate content oluşturur. Google aynı metni başka 200 sitede görüyorsa sizin sayfanızı rel=canonical kaynaklı sayfanın altına iter. Kısa ama özgün bir açıklama her zaman kopya uzun açıklamadan iyidir.
Yazmak için pratik yöntem: Müşteri yorumlarından çıkan 3-4 somut fayda alın, bunları kısa paragraflar halinde yazın. "Bu ürünü alanlar genellikle şunu söylüyor: ..." tarzı özgün içerik hem Google'a hem ziyaretçiye değer sunar.
Product Schema (JSON-LD) — Tam Kurulum
Google arama sonuçlarında fiyat, stok durumu ve yıldız puanını görmek için schema.org/Product işaretlemesi zorunlu. Yoast SEO 22.x WooCommerce entegrasyonunda temel Schema otomatik üretiyor; ancak eksik kalan field'lar var.
Tam bir Product Schema örneği:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Nike Air Zoom 40 Erkek Koşu Ayakkabısı",
"image": [
"https://siteniz.com/images/nike-air-zoom-40-yan.webp",
"https://siteniz.com/images/nike-air-zoom-40-ust.webp"
],
"description": "Hafif taban ve hava yastıklı solea sahip erkek koşu ayakkabısı.",
"sku": "NAZ40-BLK-42",
"brand": {
"@type": "Brand",
"name": "Nike"
},
"offers": {
"@type": "Offer",
"url": "https://siteniz.com/nike-air-zoom-40/",
"priceCurrency": "TRY",
"price": "2499",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Mağaza Adı"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "89",
"bestRating": "5",
"worstRating": "1"
}
}
</script>
Eksik Bırakılan Kritik Field'lar
| Field | Zorunlu mu? | Google'da Gösterilen? |
|---|---|---|
offers.priceCurrency |
Evet | Fiyat snippet |
offers.availability |
Evet | "Stokta" etiketi |
offers.priceValidUntil |
Hayır (önerilen) | Fiyat geçerlilik tarihi |
aggregateRating.reviewCount |
Evet (yıldız için) | Yıldız + yorum sayısı |
sku |
Hayır (önerilen) | Google Merchant Center eşleşmesi |
brand |
Hayır (önerilen) | Marka filtresi |
Doğrulama için Google'ın Rich Results Test aracını kullanın: search.google.com/test/rich-results. Tüm field'lar yeşil görünmeli; "Warning" statüsündekiler optimize edilebilir fırsatlardır.
WooCommerce'de Product Schema PHP Filtresi
Rank Math veya Yoast SEO'nun ürettiği Schema'ya ek field eklemek için:
// functions.php veya özel eklentiye ekleyin
add_filter( 'rank_math/json_ld', function( $data, $jsonld ) {
if ( isset( $data['Product'] ) && is_product() ) {
global $product;
$data['Product']['sku'] = $product->get_sku();
$data['Product']['mpn'] = get_post_meta(
$product->get_id(), '_mpn', true
);
}
return $data;
}, 10, 2 );
Kategori Sayfası Stratejisi — Google'ın Gözünden
Kategori sayfaları e-ticaret SEO'sunun en çok ihmal edilen kısmı. Yüksek hacimli head keyword'ler (örn. "erkek spor ayakkabı") kategori sayfasına gelir, ürün sayfasına değil. Ama çoğu site kategori sayfasına sıfır metin koymuş, sadece ürün listesi var. Google bu sayfaları "thin content" (zayıf içerik) olarak değerlendirebilir.
Kategori Sayfası Anatomisi
| Bölüm | Ne Yazılmalı | Kelime Aralığı |
|---|---|---|
| H1 | Kategori adı + birincil keyword | 3-7 kelime |
| Üst Giriş Metni | Kategori açıklaması, ana faydalar | 80-150 kelime |
| Ürün Listesi | Ürün kartları (platform şablonu) | — |
| Alt Açıklama | Satın alma rehberi, sık sorulan sorular | 150-250 kelime |
| Dahili Linkler | Alt kategoriler, öne çıkan ürünler | 3-6 link |
| Breadcrumb | Navigasyon + Schema işaretli | — |
Üst giriş metni 80-150 kelime sayfaya büyük bir değer katar: ziyaretçi "doğru yerdeyim" sinyali alır, Google ise sayfa konusunu daha net anlar.
Kategori URL Hiyerarşisi
URL yapısı hem tarayıcı hem de kullanıcı için okunaklı olmalı:
/ayakkabi/ ← Ana kategori
/ayakkabi/erkek/ ← Alt kategori
/ayakkabi/erkek/kosu-ayakkabisi/ ← Alt-alt kategori
/ayakkabi/erkek/kosu-ayakkabisi/nike-air-zoom-40/ ← Ürün
WooCommerce'de varsayılan yapı /product-category/ prefix'i ekler. Yoast SEO > Search Appearance > Taxonomies bölümünden bu prefix kaldırılabilir. Değişiklikten sonra eski URL'ler 301 yönlendirmesi almalı — permalink değişikliği sonrası Google Search Console'da Coverage raporunu takip edin.
Faceted Navigation (Filtreli Navigasyon) — En Kritik Teknik Sorun
Çoğu WooCommerce sitesinde filtre eklentisi (örn. FiboSearch, WooCommerce native filter) URL'ye parametre ekler:
/ayakkabi/erkek/?renk=siyah&numara=42&marka=nike
Bu URL'lerin indexlenmesi duplicate content ve crawl budget israfı demektir. Çözüm:
Seçenek 1 — Canonical: Her filtre kombinasyonu için ana kategori URL'sini canonical göster.
<link rel="canonical" href="https://siteniz.com/ayakkabi/erkek/" />
Seçenek 2 — Noindex: Filtre URL'lerine noindex, follow ekle (PageRank akışını koru ama indexten çıkar).
// WooCommerce filtre URL'lerini noindex yap
add_action( 'wp_head', function() {
if ( is_shop() || is_product_category() ) {
$query_string = $_SERVER['QUERY_STRING'] ?? '';
if ( ! empty( $query_string ) ) {
echo '<meta name="robots" content="noindex, follow" />' . PHP_EOL;
}
}
} );
Seçenek 3 — Disallow: Google Search Console'daki URL parametreleri aracıyla veya robots.txt'te filtre parametrelerini hariç tut.
En temiz yaklaşım Seçenek 1 + 2 kombinasyonu: canonical ile Google doğru URL'yi bilir, noindex ile crawl bütçesi korunur.
Sitemap Stratejisi — Ürün ve Kategori Sayfaları
Büyük e-ticaret sitelerinde ürün sayısı artınca sitemap yönetimi kritik olur. Yoast SEO 22.x ve Rank Math 1.0.x WooCommerce entegrasyonunda otomatik sitemap üretir.
Sitemap Yapısı Önerisi
# sitemap_index.xml içinde alt sitemap'ler
sitemap-products.xml:
- Yalnızca yayında ("publish") ve stokta olan ürünler
- lastmod: son güncelleme tarihi
- priority: 0.8
sitemap-categories.xml:
- Tüm aktif kategoriler
- priority: 0.9
sitemap-posts.xml:
- Blog yazıları
- priority: 0.6
# Dışında bırakılmalı:
- /urun?renk=... (filtre URL'leri)
- /checkout/, /cart/, /my-account/
- /urun-etiketi/ (etiket arşivleri — genelde thin content)
Google Search Console > Sitemaps bölümünde sitemap URL'nizi ekleyin ve "Submitted" sayısı ile "Indexed" sayısını karşılaştırın. Büyük fark varsa (örn. 1000 submit, 200 indexli) crawl budget sorunu veya duplicate content var demektir.
LiteSpeed LSCache ile Kategori Warm-Up — Buyukweb Perspektifi
Buyukweb cPanel hosting paketlerinde LiteSpeed Web Server + LSCache kurulu gelir. WooCommerce için LSCache, kategori sayfalarını otomatik crawler ile önceden ısıtır. Yani Google bot sitenizi crawl ettiğinde sayfaları sıfırdan build etmek yerine cache'den saniyeler içinde alır.
WooCommerce'e özgü LSCache ayarları:
- Cache Vary — WooCommerce: Sepete ürün ekleyen kullanıcı için cache bypass aktif (sepetli kullanıcıya yanlış cache sunulmasın)
- Private Cache:
woocommerce_items_in_cartcookie varsa o oturum için özel cache - Crawler sırası: Kategori sayfaları ürün sayfalarından önce warm-up edilmeli (trafik ağırlığı orada)
Bu yapı sayesinde kategori sayfaları için LCP (Largest Contentful Paint) değeri büyük ölçüde düşer. PageSpeed Insights'ta 2.5 saniye altı LCP hedefi bu altyapıyla gerçekçidir.
Core Web Vitals Hedefleri (E-Ticaret için)
| Metrik | Hedef | Yaygın Sorun Kaynağı |
|---|---|---|
| LCP | < 2.5s | Hero görsel optimize edilmemiş, lazy load yanlış |
| INP | < 200ms | Çok fazla JS eklentisi, chat widget'ları |
| CLS | < 0.1 | Görsel boyutları belirtilmemiş, font swap |
Ürün görselleri için WebP formatı ve boyut attribute'u zorunlu:
<img
src="/images/nike-air-zoom-40.webp"
width="600"
height="600"
alt="Nike Air Zoom 40 Erkek Koşu Ayakkabısı Siyah"
loading="lazy"
decoding="async"
/>
İlk ekranda görünen (above the fold) hero görsel için loading="eager" kullanın — lazy loading ilk görseli geciktirir, LCP'yi kötüleştirir.
Breadcrumb Structured Data
Breadcrumb hem kullanıcı navigasyonu hem de Google'ın site hiyerarşisini anlaması için kritik. WooCommerce + Yoast SEO 22.x kombinasyonunda otomatik olarak BreadcrumbList Schema üretiliyor. Rank Math 1.0.x'te de aynı şekilde.
Çıktı şu formatta olmalı:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Ana Sayfa",
"item": "https://siteniz.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Ayakkabı",
"item": "https://siteniz.com/ayakkabi/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Erkek Koşu Ayakkabısı",
"item": "https://siteniz.com/ayakkabi/erkek/kosu-ayakkabisi/"
},
{
"@type": "ListItem",
"position": 4,
"name": "Nike Air Zoom 40"
}
]
}
</script>
Son öğede (ürünün kendisi) item field'ı opsiyonel — genellikle mevcut sayfa URL'si zaten biliniyor.
Dahili Linkleme Stratejisi
E-ticaret sitelerinde PageRank akışı kategori → ürün yönünde olmalı. Ama çoğu sitede dahili link haritası kaotik:
- Ana menüde 50+ kategori link (link dilution)
- Ürün sayfasında "İlgili ürünler" bölümünde
nofollowattribute (yanlış) - Blog içeriklerinden ürün sayfalarına sıfır link
Önerilen yapı:
- Ana menü → yalnızca ana kategori sayfaları (6-8 link)
- Kategori sayfası → alt kategoriler + öne çıkan ürünler (iç link)
- Ürün sayfası → ilgili ürünler (
dofollow,nofollowKULLANMAYIN) - Blog yazıları → ilgili ürün/kategori sayfaları (bağlamsal anchor text)
Blog'dan ürün linklerken anchor text doğal olmalı: "Bu tür koşu ayakkabıları için incelediğimiz modeller" gibi, "tıkla al" değil.
Google Search Console ile Performans Takibi
Tüm bu optimizasyonların etkisini ölçmek için Google Search Console Performance raporu kullanın:
- Queries — hangi aramalar sitenize trafik getiriyor
- Pages — hangi sayfalar en çok impression/tıklama alıyor
- Devices — masaüstü vs mobil CTR farkı (mobil CTR düşükse UX sorunu)
- Coverage — indexlenen, hariç tutulan, hatalı sayfalar
Aylık rutin: kategori sayfalarının impression artıyor mu? Ürün sayfalarında CTR ortalamanın üstünde mi? Düşük CTR + yüksek impression → title/meta description güncelleme zamanı.
Sıkça Sorulan Sorular
Ürün sayfasının title tag'i nasıl olmalı?
Ürün Adı + Marka/Model + Kategori formatı işe yarıyor. 55-65 karakter hedefleyin. Yoast SEO 22.x'te her ürün sayfası için otomatik şablon tanımlayabilirsiniz: %%title%% — %%cf_marka%% | %%category%%. Bu şablonu Yoast SEO > Search Appearance > Post Types > Product kısmında yapılandırın.
WooCommerce kategori canonical sorununu nasıl çözerim?
Filtreli URL'ler (?pa_renk=siyah gibi) için iki yöntem: (1) Yoast SEO "Noindex Taxonomies" ayarından etiket ve filtreleri noindex yapın; (2) filtre URL'lerinde canonical'ı ana kategori URL'sine yönlendirin. Rank Math 1.0.x > Sitemap bölümünden filtre URL'lerini sitemap dışı bırakmayı unutmayın.
Faceted navigation ile canonical çelişiyor mu?
Hayır, çelişmiyor. Canonical filtreyi noindex yapmadan önce bile Google'a "doğru sayfanın hangisi" olduğunu söyler. Noindex + canonical kombinasyonu en güvenli yaklaşım: canonical ile orijinal URL korunur, noindex ile crawl bütçesi harcanmaz.
Product Schema'ya AggregateRating eklemek için gerçek yorum mu gerekiyor?
Evet, Google yıldız puanını SERP'te göstermek için gerçek kullanıcı yorumlarına dayalı aggregateRating istiyor. Sahte yorum Schema'sı (hiç yorum yokken 4.9 puan belirtmek) Google'ın spam politikasını ihlal eder ve rich result cezasıyla sonuçlanabilir. WooCommerce'de en az 1 yorum varsa Schema otomatik oluşturulur.
LSCache ile WooCommerce sepet sorunu yaşıyorum, nasıl çözerim?
LSCache > Cache > Excludes > Do Not Cache bölümüne /cart, /checkout, /my-account URL'lerini ekleyin. Ayrıca woocommerce_items_in_cart cookie'yi "Private Cache" listesine alın. Buyukweb cPanel paketlerinde LSCache zaten yüklü gelir; bu ayarlar LSCache > WooCommerce sekmesinden kolayca yapılabilir.
Google Search Console'da "crawled but not indexed" ürün sayfalarım var, neden?
İki ana sebep: (1) Thin content — ürün açıklaması çok kısa veya kopyalanmış. Özgün 200+ kelime içerik ekleyin. (2) Crawl budget sorunu — fazla faceted navigation URL'si bütçeyi tüketmiş. Sitemap'i temizleyin, filtre URL'lerini canonical/noindex yapın. Google Search Console > Coverage raporunda "Crawled — currently not indexed" sayısını haftalık takip edin.
Ürün görselleri Google Images'ta neden çıkmıyor?
Alt text eksik veya jenerik (product-001.jpg). Her görsel için tanımlayıcı alt text yazın: "Nike Air Zoom 40 erkek koşu ayakkabısı siyah 42 numara yan görünüm". Ayrıca görsel boyutlarını HTML attribute olarak belirtin; CLS skoru da iyileşir.
Buyukweb ile E-Ticaret Hosting
E-ticaret SEO stratejiniz ne kadar güçlü olursa olsun, altyapı sizi desteklemiyorsa sonuçlar sınırlı kalır. Buyukweb'in cPanel hosting paketleri LiteSpeed Web Server, LSCache, NVMe SSD ve CloudLinux ile WooCommerce'in ihtiyaç duyduğu her şeyi sağlıyor. LSCache crawler özelliği, kategori sayfalarınızı bot geldiğinde hazır buluyor; PageSpeed Insights skorunuz rakiplerinizden önde başlıyor.
Daha fazla ürün, daha fazla sipariş ve yüksek eş zamanlı ziyaretçi için e-ticaret VDS paketlerimiz KVM sanallaştırma, günlük otomatik Veeam yedekleme ve L3+L4+L7 DDoS koruması ile geliyor.
17 yılı aşkın tecrübemiz ve Bursa Pendc Tier 3 veri merkezimizle e-ticaret sitenizin SEO altyapısını güçlendirmek için bizimle iletişime geçin: 0850 302 60 70.
İlgili Büyükweb Hizmetleri
- cPanel Web Hosting — LiteSpeed + LSCache + WooCommerce uyumlu
- E-Ticaret Hosting — WooCommerce için optimize edilmiş paketler
- E-Ticaret VDS — Yüksek trafik için KVM tabanlı sanal sunucu
- WordPress Hosting — WordPress + WooCommerce tam uyum
- Tüm Hosting Paketleri — Karşılaştırmak için
Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.
SEO & Dijital Pazarlama İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

