SEO ve yapılandırılmış veri

Sürüm 1.0.0 · Bu sayfa whmcs-musteri-yorumlari-1.0.0.zip paketindeki docs/SEO-SEMA.md dosyasının HTML görünümüdür.

Google kuralları (2026-10-05'te resmi belgeden kontrol edildi)

Kaynak: developers.google.com/search/docs/appearance/structured-data/review-snippet (son güncelleme 2026-09-08) ve product-snippet.

  • Desteklenen itemReviewed türleri arasında Service yoktur. Hizmet kategorisine Service + puan üretilmez.
  • İşletme kendi sitesinde kendisi hakkındaki yorumları Organization/LocalBusiness olarak işaretlerse yıldızlı sonuç için uygun değildir. Ana sayfa ve genel yorum sayfası için hiçbir puan şeması üretilmez.
  • Yorum bilgisi belirli bir öğe hakkında olmalıdır; kategori ya da öğe listesi için toplu puan verilmez.
  • Görünür yorum, yazar adı, puan ve sayılar şemayla eşleşmelidir.
  • Teknik olarak doğru JSON-LD yıldız gösterileceği anlamına gelmez.

Modülün davranışı

Yüzey Şema
{$musteri_yorumlari}, {$musteri_yorumlari_ozet}, genel API, /musteri-yorumlari Yok (şirket yorumları)
{$musteri_yorumlari_<anahtar>} ve _ozet Yok
{$musteri_yorumlari_<anahtar>_sema} / data-sema="1" / Embed::block(…, true) Yalnızca aşağıdaki koşulların hepsi sağlanırsa tek Product

Koşullar (yönetim panelinde kategori ekranı engelleyen nedenleri listeler): 1. Kategori şema modu Product + AggregateRating (varsayılan kapalı). 2. Kategoriye bağlı tek ürün var ya da yönetici "aynı ürünün varyantlarıdır" onayını vermiş. 3. Product adı girilmiş. 4. Hizmet sayfası adresi ya da sayfadaki mevcut Product @id değeri girilmiş (önerilen: mevcut @id; böylece şema sayfanın kendi Product varlığıyla birleşir, ikinci bir ürün oluşturulmaz). 5. En az bir yayındaki yorum.

Üretilen nesne: @context, @type: Product, @id, name, aggregateRating (ratingValue = görünen ortalama 1 ondalık, reviewCount = görünen sayı, bestRating 5, worstRating 1) ve blokta görünen yorumlar için review[] (author.name = görünen ad, adı kaldırılmış anonim yorumlar review[]'e girmez).

Tekilleştirme: aynı istekte/sayfada aynı kategori için ikinci kez basılmaz (sunucuda istek durumu, JS'te script[data-myr-sema] ve @id denetimi). Güvenli birleşme mümkün değilse (koşullar sağlanmıyorsa) şema kapatılır, içerik gösterimi sürer.

Yorum sayfası: canonical ve dizinleme

Adres Robots Canonical
/musteri-yorumlari index kendisi
?sayfa=N index kendisi (?sayfa=N) — bütün sayfalar ilk sayfaya canonical yapılmaz
?kategori=x (+sayfa) index (ayar: "Tek kategori filtresi dizine eklenebilir") kendisi
puan, donem, varsayılan dışı sirala içeren her kombinasyon, geçersiz parametre noindex, follow temiz eşdeğer
var olmayan kategori / sayfa 404 + noindex, nofollow —

Canonical modu: head (modül <head>'e basar), var (temanın değişkenine verir — netx'te netxKanonik; tema SEO modülünün canonical/hreflang/og:url'ünü onunla değiştirir) ya da none. Title/meta açıklaması WHMCS sayfa başlığından ya da SEO modülünden gelir; modül mevcut sayfaların title/meta/canonical/H yapısına dokunmaz.

Yorum sayfasında tek H1 ("Müşteri Yorumları"), bölümler H2'dir; bloklar eklendikleri sayfaya başlık etiketi eklemez. İçerik sunucuda HTML olarak çizilir; JS modu da kullanıcı etkileşimi olmadan yüklenir.

Doğrulama adımları (yayına alındıktan sonra)

  1. Çizilmiş HTML: curl -s https://www.ornek.com/musteri-yorumlari | grep -c 'class="myr-card"' — sunucu çizimi içeriği HTML'de vermeli.
  2. Rich Results Test (search.google.com/test/rich-results): şema açılan tek ürün sayfasının gerçek adresiyle; "Review snippets" / "Product snippets" sonucu ve uyarılar. JS widget kullanılan sayfada test aracının çizilmiş HTML'inde blok ve JSON-LD görünmeli.
  3. URL Denetimi (Search Console): "Canlı URL'yi test et" → "Test edilen sayfayı görüntüle" → HTML'de yorumlar.
  4. Search Console → Geliştirmeler: "Ürün snippet'leri" / "Yorum snippet'leri" raporlarında hata yok.
  5. Filtre kombinasyonlarının noindex aldığını ve canonical'ın tek olduğunu curl -s … | grep -iE 'canonical|robots' ile denetleyin (SEO modülü kendi etiketini de basıyorsa canonical modunu var yapın).

Bu adımlar canlı ortamda modül etkinleştirildikten sonra yapılmalıdır; bu teslimde modül canlıda etkinleştirilmediği için çalıştırılmadı.

İnternet bağlantınız kesildi