PHP’de filtreli kategori sayfalarının canonical adresini nasıl kuruyorsunuz?

0 Yanıt 0 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Ürün listeleme sayfalarında sıralama, filtre ve sayfalama parametreleri kısa sürede yüzlerce URL üretebiliyor. PHP tarafında hepsine aynı canonical etiketi basmak kolay; ama sayfa 2’yi sayfa 1’e canonical göstermek, ikinci sayfadaki ürünlerin arama motorlarınca keşfedilmesini zorlaştırabilir.

Ben önce parametreleri niyetlerine göre ayırıyorum:

  • Sayfalama: İçerik gerçekten değişiyorsa her sayfa kendi canonical adresini almalı. Sayfa 1’in adresini gereksiz yere ?page=1 şeklinde üretmemek de URL tutarlılığını artırır.
  • Sıralama ve takip parametreleri: İçeriği yalnızca sunum biçimi açısından değiştiren sort, utm_source gibi parametreleri canonical’dan çıkarıyorum.
  • Ürün kümesini değiştiren filtreler: Bunları otomatik olarak kategori ana sayfasına canonical yapmak yerine, filtre sayfasının arama hedefi olup olmadığını ayrıca değerlendiriyorum. Her filtre kombinasyonunu indeksletmek de genelde iyi fikir değil.


Basit bir sayfalama örneği:

KOD
1234
$page = max(1, (int)($_GET['page'] ?? 1));
$canonical = 'https://www.ornek.com/kategori'
    . ($page > 1 ? '?page=' . $page : '');


Gerçek projede URL’yi istekten gelen Host başlığıyla kurmamak ve çıktıyı HTML’e yazarken uygun şekilde kaçışlamak önemli. Siz filtreli listelemelerde hangi parametreleri indekslenebilir bırakıyor, hangilerini canonical’dan çıkarıyorsunuz?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi