Sitenize daha önce yapılandırılmış veri uyguladıysanız, muhtemelen Google Search Console'da schema hatalarıyla karşılaşmışsınızdır. Denk geldiğim en yaygın schema hatalarını ve çözüm önerilerini bu yazımda bir araya getirmek istedim. Hata ve uyarıları gidererek SEO görünürlüğünüze katkı sağlayabilirsiniz.

Yapılandırılmış veriler, doğru ve yönergelere uygun entegre edildiğinde SERP’te görünürlük açısından elinizde en güçlü araç olabilir. Bu durum da sitenin organik trafiğini ve tıklama oranlarını artırabilir. Her ne kadar detaylı baksanız da zaman zaman sayfalara schema eklenmesi bazı tuzakları da beraberinde getirir ve birçok web sitesi çok farklı hatalar alabilir. Özellikle e-ticaret sitelerinde yaygın schema sorunlarını sıklıkla görmekteyiz.

Temel kuralınız her zaman Google'ın dökümantasyonlarını ve yapılandırılmış veri yönergelerini detaylıca okumak olmalıdır. Bazen teknik olarak sorun olmasa da içerik açısından uygulanan schema kodları yönerge ihali sayılabilir ve manuel işlem bildirimleri alabilirsiniz.

Hatalar ve Uyarılar

Google Search Console'da, yapısal veri sorunları kırmızı veya sarı renklerle işaretlenmektedir. Kırmızı renkteki öğelerin öncelikli olarak çözülmesini sağlamak önemlidir. Aksi takdirde schema kodları arama motorları tarafından doğru bir şekilde ayrıştırılmayacak ve dolayısıyla zengin sonuçlara uygun olmayacaktır.

  • Hatalar:  Zengin sonuçların gösterilmemesine neden olabilecek, düzeltilmesi gereken ciddi bir sorun var.
  • Uyarılar: Önerilen bir özellik kullanılmamıştır ve önemli olmayan bir soruna işaret eder.

Ayrıştırılamayan yapılandırılmış veri

Search Console'da yaygın raporlardan biri "Ayrıştırılamayan yapılandırılmış veri" raporudur. Bu rapor, Google'ın verilerinizi doğru şekilde yorumlamasını engelleyen bir sorun olduğunu göstermektedir. 

İşte en yaygın schema hatalarından bazıları ve çözüm önerileri:

Ayrıştırma hatası: "," veya "}" eksik & (Parsing error: Missing ',' or '}' )

Bu özel hata, yapılandırılmış verilerinizdeki belirli karakterlerin ayrıştırılmasıyla ilgili bir sorun olduğunu gösterir. Ayrıştırma hatası alan sitelerin çok büyük bir kısmında bu hata yer alır. Virgüller ya da köşeli parantezler, JSON-LD’nin önemli parçalarıdır. Bunlardan birinin eksik olması veya yanlış uygulanması, işaretlemenizin tamamını geçersiz kılabilir.

Ayrıştırma hatası:

Ayrıştırma hatası nasıl çözülür?

Bahsettiğim üzere bu hatayı çözmek için virgül ya da parantezleri kontrol etmelisiniz. Aşağıda sadece bir virgülü silerek hatadan nasıl kurtulabileceğinizi görebilirsiniz:

Hatadan nasıl kurtulabilirsiniz

Yine bu konuyla benzer “Missing ',' or ']' in array declaration” hatasını da aşağıdaki gibi çözebilirsiniz. Burada yine parantezlere dikkat edin ve fazlalık olanları silin:

Dizi bildiriminde eksik ',' veya ']'

Ayrıştırma hatası: ")" veya nesne üyesinin adı eksik & (Parsing error: Missing '}' or object member name) hatasını da bu alt başlık altından vermek istedim:

Ayrıştırma hatası:

Hatanın olduğu satıra gidin ve hatalı eklenen virgül ya da parantezi silin:

Dizede hatalı bir şekilde yapılandırılmış kod dışına alma dizilimi var & (Bad escape sequence in string)

İstenmeyen karakterin schema içinde olması yüzünden bu hatayı alabilirsiniz. Aşağıdaki örnekte “\” karakteri yüzünden bu hatanın alındığını görebilirsiniz::

"title":"SEO Manager - Samet\Özsüleyman",

Hata türüne benzer şekilde “Dizede boş kod dışına alma dizilimi var” hatası da alabilirsiniz.

Bad escape sequence in string hatası nasıl çözülür?

Bu hatayı düzeltmek için “\” karakterini değiştirin ve kodu düzenleyin. Ardından bu hata düzelecektir:

Yanlış değer türü & (Incorrect value type)

Bildirilen değerin o özellik için geçerli bir tür olmadığı anlamına gelir. Yani eklediğiniz kod yanlış bir değeri içeriyor. Schema kodlarında her özelliğin beklenen bir değeri vardır ve her birinin doğru şekilde eşleştirilmesi önemlidir. Schema.org'un dokümantasyonunda tüm olası özellikler için beklenen değerleri inceleyebilirsiniz.

Yanlış değer türü & (Incorrect value type) hatası nasıl çözülür?

Sorunu çözmek için örneğin "articleBody": içinde bulunan kısımları inceleyip alakasız değerler varsa bunları kaldırmalısınız. JS kodları burada yer alabileceği gibi çok daha farklı senaryolar bu hataya neden olabilir. Bunları JSON-LD içerisinde bulundurmamalısınız:

Geçersiz üst düzey öğe "string" & (Invalid top level element "string")

Schema türlerinin birden fazla kullanılması durumlarında bazen dikkatten kaçan durumlarda bu hatayı sıklıkla görebilirsiniz:

Çok farklı türler de bu hatayı alabilirsiniz; ancak ben aşağıdaki görseldeki gibi göstermek istedim. React ile yapılan schema eklemesinde NewsArticle ve BreadcrumbList beraber kullanılmak istenmiş; ancak BreadcrumbList içindeki hata yüzünden bu schema türü geçersiz sayılmış:

Geçersiz üst düzey öğe hatası nasıl düzeltilir?

Aksiyon olarak bu örnekte yer alan BreadcrumbList schema içindeki kod kısmını doğru bir şekilde kapatıp test ettikten sonra bu hatayı düzeltmiş olursunuz. Geçersiz üst düzey öğe "null" gibi hataları da bu bağlamda tespit edip düzeltebilirsiniz.

Yazıda yer almayan; ancak çok niche olan diğer hata türleri de aşağıdaki gibidir. Zaten bazılarının hata isminden nasıl bir hata olduğu bile anlaşılıyor:

  • Geçersiz JSON dokümanı
  • Jeton uzunluğu ayrıştırılamıyor 
  • Geçersiz sayı   
  • Kesik Unicode karakter
  • Geçersiz Unicode karakter   
  • Geçersiz Unicode kod dışına alma dizilimi: Dört rakam bekleniyor    
  • Geçersiz Unicode kod dışına alma dizilimi: Onaltılık rakam bekleniyor   
  • Yinelenen benzersiz mülk    


Zaman zaman schema.org ile kodları validate ederken “There was an error validating your markup” hatası alabilirsiniz. Kod içindeki bazı karakterler kontrole izin vermediğinde bu hatayı alabiliyorsunuz. Alternatif olarak zengin sonuçlar test aracına geçebilirsiniz.

Tüm hataları test edip düzelttiğini teyit ettikten sonra “validate fix” butonu ile Google’a bunu bildirebilirsiniz. Birkaç tane hata için bence sprintleri çok iş ile doldurmaya gerek yok. Önceliği her zaman çok daha fazla sayfayı etkileyen hata türlerine göre belirleyebilirsiniz:

Son olarak "itemtype" alanındaki değer geçersiz gibi JSON-LD olmayan kod yapılarında hatalarınız varsa bunları derinlemesine incelemeniz gerekiyor. Makalem sadece JSON-LD özelinde olduğu için bunları ekledim. Sizlerin de kapsamlı bir schema audit ya da analiz gibi işlemlere ihtiyacınız varsa bizimle iletişime geçmekten çekinmeyin.

Faydalı kaynaklar: