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
itemReviewedtürleri arasındaServiceyoktur. Hizmet kategorisineService+ puan üretilmez. - İşletme kendi sitesinde kendisi hakkındaki yorumları
Organization/LocalBusinessolarak 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)
- Çizilmiş HTML:
curl -s https://www.ornek.com/musteri-yorumlari | grep -c 'class="myr-card"'— sunucu çizimi içeriği HTML'de vermeli. - 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.
- URL Denetimi (Search Console): "Canlı URL'yi test et" → "Test edilen sayfayı görüntüle" → HTML'de yorumlar.
- Search Console → Geliştirmeler: "Ürün snippet'leri" / "Yorum snippet'leri" raporlarında hata yok.
- Filtre kombinasyonlarının
noindexaldığını ve canonical'ın tek olduğunucurl -s … | grep -iE 'canonical|robots'ile denetleyin (SEO modülü kendi etiketini de basıyorsa canonical modunuvaryapı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ı.