Search Console'da "Ayrıştırılamayan yapılandırılmış veri" uyarısı gördüyseniz, sitenizdeki JSON-LD şemasında bir sözdizimi hatası var demektir. Bu genellikle küçük ama etkisi büyük bir hatadır.
Geçtiğimiz gün kendi sitemde tam olarak bu hatayla karşılaştım: bir sayfanın schema kodunda fazladan bir virgül vardı, ]},, şeklinde. Tarayıcı bu satırı görmezden gelip sayfayı normal gösteriyordu, ama Google'ın yapılandırılmış veri ayrıştırıcısı JSON'u geçersiz sayıp o schema bloğunun tamamını reddediyordu. Bu deneyimden yola çıkarak en sık karşılaşılan schema hatalarını ve düzeltme yöntemlerini burada topluyorum.
JSON-LD neden bu kadar hassas?
Schema.org işaretlemesi genellikle <script type="application/ld+json"> etiketi içinde, JSON formatında yazılır. JSON, HTML'in aksine hataya toleranslı değildir: fazladan bir virgül, eksik bir kapanış parantezi veya tırnak işareti hatası, JSON'un tamamını geçersiz kılar. Tarayıcı bu hatayı sessizce yutar ve sayfayı normal render eder, bu yüzden hata gözle fark edilmez — ancak Google'ın ayrıştırıcısı JSON'u kelimesi kelimesine doğru bekler.
En sık karşılaşılan dört hata
Fazladan virgül: Bir dizinin veya nesnenin son elemanından sonra virgül bırakmak ([1, 2, 3,]) veya iki kapanış arasında yanlışlıkla ekstra virgül eklemek (},,) JSON'u bozar. Bu, kod düzenlerken veya kopyala-yapıştır yaparken en sık yapılan hatadır.
Kapanmamış parantez veya süslü parantez: Her { bir } ile, her [ bir ] ile eşleşmelidir. İç içe geçmiş @graph yapılarında bu dengeyi elle takip etmek zorlaşır, bir parantez unutulabilir.
Tırnak işareti hataları: JSON'da anahtar ve metin değerleri çift tırnak (") ile yazılmalıdır, tek tırnak (') kabul edilmez. Metin içinde çift tırnak geçiyorsa (örneğin bir başlıkta) bunun kaçış karakteriyle (\") yazılması gerekir.
Yanlış @type veya eksik zorunlu alan: JSON sözdizimi doğru olsa bile, Google'ın beklediği zorunlu alanlar (örneğin bir Review için reviewRating) eksikse, bu "ayrıştırılamayan veri" değil ama "geçersiz öğe" uyarısı olarak görünür, farklı bir hata sınıfıdır, karıştırılmamalı.
Nasıl bulunur ve düzeltilir?
En pratik yöntem, şüphelenilen JSON-LD bloğunu kopyalayıp bir JSON doğrulayıcıya (herhangi bir metin düzenleyicinin JSON modu veya çevrimiçi bir doğrulama aracı) yapıştırmaktır. Doğrulayıcı, hatanın tam olarak hangi satırda ve karakterde olduğunu gösterir. Google'ın kendi "Zengin Sonuç Testi" aracı da hem sözdizimi hem de eksik zorunlu alan hatalarını ayrı ayrı raporlar.
Düzeltme sonrası Search Console'daki ilgili sorun sayfasından "Düzeltmeyi Doğrula" butonuna basmak, Google'ın sayfayı yeniden taramasını hızlandırır, beklemek yerine bu adımı atlamayın.
Schema hataları küçük görünse de, "ayrıştırılamayan veri" durumunda o sayfanın zengin sonuçlarda (rich snippet) hiç görünmemesine yol açar. Sitenizin teknik SEO altyapısını düzenli kontrol ettirmek, bu tür sessiz hataları erken yakalamanın tek yolu.