1. Anasayfa
  2. Blog
  3. Hatalar ve Sorun Giderme

Ayrıştırılamayan Yapılandırılmış Veri Hatası Çözümü

Ayrıştırılamayan Yapılandırılmış Veri Hatası Çözümü

Search Console raporlarında zaman zaman Ayrıştırılamayan Yapılandırılmış Veri hatası uyarıları görebilirsiniz. Yalnız bu konuda endişelenmenize gerek yok. Çünkü bu çözülmesi en kolay yapısal veri sorunlarından biridir. Bu sorunun sebebi ise genellikle yapısal verilerde anlamsal veya yazım hataları bulunması, geçersiz karakterlerin kullanılması vs.’dir. Bu rehberde, yapılandırılmış veri hatalarının ne anlama geldiğinden başlayarak, en sık karşılaşılan hata türlerini, bunların gerçek nedenleri ve adım adım çözüm yöntemlerini paylaşacağız.

Yapılandırılmış Veri Nedir ve Neden Önemli?

Yapılandırılmış veri, web sitenizin içeriğini arama motorlarının daha iyi anlaması için kullandığınız özel kod parçacıklarıdır. Bunu sitenize yapıştırdığınız etiketler gibi düşünebilirsiniz. Örneğin bir tarif paylaşıyorsanız, yapılandırılmış veri sayesinde Google’a “bu bir tarif, işte malzemeleri, pişirme süresi ve kalori bilgisi” diyebilirsiniz. Peki bunun sizin için ne faydası var? Öncelikle, Google arama sonuçlarında zengin snippet’ler (yıldızlı yorumlar, resimler, fiyat bilgileri gibi) elde edebilirsiniz. Bu da tıklama oranını ciddi şekilde artırır. Bazı araştırmalar zengin sonuçların tıklama oranını %30’a kadar yükseltebildiğini gösteriyor.

Ancak yapılandırılmış veriniz düzgün çalışmıyorsa veya ayrıştırılamıyorsa, tüm bu avantajları kaybedersiniz. Google kodunuzu okuyamaz, dolayısıyla zengin sonuçlar gösteremez. Üstelik Search Console’da sürekli hata mesajları görmeye başlarsınız. İşte bu yüzden bu hataları çözmek kritik önem taşıyor.

Ayrıştırılamayan Yapılandırılmış Verileriler için gerekli açıklamayı Google aşağıdaki gibi listeler:

Hata türüAçıklama
Geçersiz JSON dokümanıJSON dokümanı üst düzey bir söz dizimi hatası içeriyordu.
Yanlış değer türüBir mülk için belirtilen değerin türü yanlıştı. Örneğin, bir sayı veya dizi beklenirken bir dize belirttiniz.
Ayrıştırma hatası: “:” eksik“:” işareti eksik.
Ayrıştırma hatası: “,” veya “}” eksik“,” veya parantez kapatma işareti (“}”) eksik.
Ayrıştırma hatası: “}” veya nesne üyesinin adı eksikParantez kapatma işareti veya nesne üyesinin adı eksik.
Ayrıştırma hatası: Dizi bildiriminde “,” veya “]” eksikDizi değerini ayrıştırma hatası: Dizi bildiriminde “,” veya “]” eksik.
Jeton uzunluğu ayrıştırılamıyorBazı nedenlerden dolayı bir mülkün veya değerin başlangıcı ve bitişi bulunamadı.
Geçersiz sayıMülk değerinin sayı olması beklenirken başka bir değer türü kullanıldı.
Dizede boş kod dışına alma dizilimi varBir dize değeri, boş kod dışına alma dizilim karakteri içeriyor. Örneğin:"description" : "Beni ara \ Can" yerine "description" : "Beni ara \"Can\"".
Dizede hatalı bir şekilde yapılandırılmış kod dışına alma dizilimi varBir dize değerinde geçersiz bir kod dışına alma dizilimi kullanılmış. Örneğin: “description” : “Bilinmeyen \q bir dizilim”
Kesik Unicode karakterBir Unicode vekil çiftinin son 6 karakteri eksik.
Geçersiz Unicode karakterBir Unicode vekil çiftinin ikinci yarısının başlangıcında bir \u jetonu eksik.
Geçersiz Unicode kod dışına alma dizilimi: Dört rakam bekleniyorBir Unicode kod dışına alma diziliminde sözdizimi hatası var: Dört rakam içermesi gerekiyor.
Geçersiz Unicode kod dışına alma dizilimi: Onaltılık rakam bekleniyorBir Unicode kod dışına alma diziliminde söz dizimi hatası var: Onaltılık rakam bekleniyordu, ancak sağlanmadı.
Yinelenen benzersiz mülkYapılandırılmış veri nesnenizde benzersiz bir mülk için iki tanım sağladınız. Örneğin, iki @context değeri.
Geçersiz üst düzey öğeJSON-LD dokümanınızdaki üst düzey öğelerden biri geçersiz.
Var olmayan öğeye referansBir itemref özelliği, var olmayan bir tanımlayıcıyı işaret ediyor.

Tüm bu hatalar temelde aynı şeyi söylüyor, “Kodunuzda bir noktalama işareti veya yazım hatası var.” Bu hatalar, Google’ın yapılandırılmış veri türünü tanımlamasını engeller. Google Search Console, yapılandırılmış verilerinizde herhangi bir hata tespit ettiğinde sizi e-posta yoluyla uyarır. Örneğin:

…… sitesi için yeni Ayrıştırılamayan yapılandırılmış veri sorunu tespit edildi.
En Önemli Hatalar
Hatalar, sayfanızın veya özelliğinizin Arama sonuçlarında görünmesini engelleyebilir. Sitenizde aşağıdaki hatalar bulundu:
Ayrıştırma hatası: “,” veya “}” eksik
Sitenizin Google Arama’da en iyi deneyimi yaşamasını ve en kapsamlı şekilde görünmesini sağlamak için bu sorunları mümkün olduğunda düzeltmenizi öneririz.

En Sık Karşılaşılan Ayrıştırma Hataları

Yapılandırılmış veri hataları genellikle birkaç ana kategoriye ayrılır. Her birinin kendine özgü belirtileri ve çözümleri vardır. Hangi hatayla karşılaştığınızı anlamak, sorunu çözmenin yarısı demektir.

  • Sözdizimi Hataları– JSON-LD, Microdata veya RDFa kodunuzda virgül, tırnak işareti veya parantez eksikliği/fazlalığı. En yaygın hata türüdür.
    • Eksik veya fazla virgül
    • Kapatılmayan süslü parantezler
    • Yanlış tırnak işareti kullanımı
  • Gerekli Alan Eksiklikleri– Google’ın belirli schema türleri için zorunlu kıldığı alanların bulunmaması. Örneğin Product schema için ‘name’ alanı şarttır.
    • Ürünlerde fiyat bilgisi eksikliği
    • Tariflerde malzeme listesi olmaması
    • Etkinliklerde tarih bilgisi eksikliği
  • Geçersiz Değer Türleri– Bir alana yanlış veri tipi girilmesi. Örneğin sayı beklenen yere metin yazılması veya tarih formatının yanlış olması.
    • Tarih formatı hataları (ISO 8601 kullanın)
    • Fiyat alanına text yazılması
    • URL alanına geçersiz link girilmesi
  • Uyumsuz Schema Türleri– Birbirleriyle çelişen veya uyumsuz schema türlerinin aynı sayfada kullanılması. Google bu durumda kafası karışır.
    • Çakışan schema tanımları
    • Güncel olmayan schema versiyonları
    • Eksik veya hatalı nested schema

Bu hata türlerinin her biri farklı çözüm yaklaşımları gerektirse de, ortak noktaları detaylı kontrol ve doğrulama süreçlerinden geçirilmeleridir. Şimdi bu hataları nasıl tespit edeceğinize bakalım.

Hataları Tespit Etme: Kullanmanız Gereken Araçlar

Yapılandırılmış veri hatalarını tespit etmek için Google ve diğer şirketlerin sunduğu ücretsiz araçlardan yararlanabilirsiniz. Bu araçlar sadece hataları göstermekle kalmaz, hangi satırda ne tür bir sorun olduğunu da detaylıca açıklar.

  • Google Rich Results Test– Google’ın resmi test aracı. Bir URL veya kod parçası girerek yapılandırılmış verinizi test edebilirsiniz. Hangi zengin sonuç türlerinin desteklendiğini ve hangi hataların olduğunu gösterir.
    • Nasıl Kullanılır: search.google.com/test/rich-results adresine gidin, URL’nizi veya kodunuzu yapıştırın ve “Test URL” butonuna tıklayın. Sonuçlar birkaç saniye içinde gelir.
  • Schema Markup Validator– Schema.org’un kendi doğrulama aracı. Daha teknik detaylar sunar ve tüm schema türlerini kapsar. Özellikle karmaşık nested schema yapıları için idealdir.
    • Avantajı: Google’ın desteklemediği schema türlerini bile test edebilirsiniz. Ayrıca sözdizimi hatalarını satır satır gösterir.
  • Google Search Console– Sitenizin genel sağlığını izlediğiniz yer. “Geliştirmeler” bölümünde tüm yapılandırılmış veri hatalarını kategorilere ayırarak listeler.
    • Önemli Not: Search Console verileri gerçek zamanlı değildir, birkaç gün gecikme olabilir. O yüzden değişiklik yaptıktan sonra sabırlı olun.
  • Browser Developer Tools– Tarayıcınızın geliştirici araçları (F12 tuşu ile açılır) sayfanızdaki JavaScript hatalarını gösterir. Bazen yapılandırılmış veri sorunları JS hatalarından kaynaklanabilir.
    • İpucu: Console sekmesinde kırmızı hata mesajlarını arayın. Bunlar genellikle sorunun kaynağına işaret eder.

Bu araçları düzenli olarak kullanarak sitenizin yapılandırılmış veri sağlığını takip edebilirsiniz. Her güncelleme veya yeni içerik ekledikten sonra mutlaka test edin.

Ayrıştırılamayan Yapılandırılmış Veri Hatası Çözümü

Google, bu hataları Search Consol  ‘Ayrıştırılamayan Yapılandırılmış Veriler‘ bölümünde listeleyecektir. Listelenen hatalara tıklamak size hataların bulunduğu URL’yi ve hatanın nerede olduğunu söyleyecektir.

ayristirilamayan yapilandirilmis veri hatasi

1. JSON-LD Sözdizimi Hatalarını Adım Adım Çözme

JSON-LD günümüzde en çok tercih edilen yapılandırılmış veri formatıdır çünkü HTML kodunuza karışmaz ve yönetmesi kolaydır. Ancak küçük bir hata bile tüm yapıyı bozabilir. Şimdi en yaygın JSON-LD hatalarını ve çözümlerini inceleyelim.

  • Virgül Hatalarını Kontrol Edin– JSON’da her özellik-değer çiftinden sonra virgül gelir, ancak son elemandan sonra virgül konmamalıdır. Bu en sık yapılan hatadır.
  • Tırnak İşaretlerini Doğrulayın– JSON’da hem anahtarlar hem de string değerler çift tırnak içinde olmalıdır. Tek tırnak kullanımı hataya yol açar.
  • Parantezleri Eşleştirin– Her açılan süslü veya köşeli parantezin mutlaka kapanması gerekir. Nested yapılarda bu kontrolü yapmak zordur, bir JSON formatter kullanın.
  • Özel Karakterleri Escape Edin– String değerlerde çift tırnak, ters slash gibi özel karakterler varsa bunların önüne ters slash eklemelisiniz.
  • Online Validator Kullanın– JSONLint.com gibi araçlar kodunuzu yapıştırdığınızda hemen hangi satırda hata olduğunu gösterir ve düzeltme önerir.

# Örnek Hatalı ve Düzeltilmiş Kod

❌ Hatalı Kod✅ Düzeltilmiş Kod
{
"@context":
"https://schema.org",
"@type": "Product",
"name": "Örnek Ürün",
"description": 'Bu bir açıklama', "price": "150",
}

Sorun: Tek tırnak kullanımı, son virgül fazlalığı.
{
"@context":
"https://schema.org",
"@type": "Product",
"name": "Örnek Ürün",
"description": "Bu bir açıklama",
"price": "150"
}

Çözüm: Çift tırnak kullanıldı, son virgül kaldırıldı.

2. Gerekli Alan Eksikliklerini Giderme

Google, her schema türü için bazı alanları zorunlu kılar. Bu alanlar eksikse, zengin sonuçlar gösterilmez ve Search Console’da uyarı alırsınız. Her schema türünün kendine özgü gereksinimleri vardır.

  • Product Schema Zorunlu Alanları:
    • name: Ürün adı (string)
    • image: Ürün görseli URL’si (mutlaka HTTPS)
    • offers: Fiyat ve stok durumu bilgisi
    • review veya aggregateRating: En az biri olmalı
  • Recipe Schema Zorunlu Alanları:
    • name: Tarif adı
    • image: Yemek görseli (en az 1200px genişliğinde)
    • recipeIngredient: Malzeme listesi
    • recipeInstructions: Pişirme talimatları
  • Event Schema Zorunlu Alanları:
    • name: Etkinlik adı
    • startDate: Başlangıç tarihi (ISO 8601 formatı)
    • location: Etkinlik yeri (fiziksel veya online)

Bu eksiklikleri gidermek için schema.org dokümanlarını düzenli olarak kontrol edin. Google ayrıca her schema türü için detaylı rehberler yayınlar. Search Console’da “Hangi alan eksik” şeklinde açık bildirimler göreceksiniz, bunları takip ederek kolayca düzeltebilirsiniz.

📌 WordPress kullanıyorsanız, RankMath veya Yoast SEO gibi eklentiler zorunlu alanları otomatik olarak doldurur ve eksiklikleri uyarır. Bu özellikle çok sayıda içeriğiniz varsa büyük zaman tasarrufu sağlar.

3. Tarih ve Değer Formatı Hatalarının Çözümü

Yapılandırılmış veride kullandığınız değerlerin belirli formatlara uyması gerekir. Özellikle tarih, fiyat, URL gibi alanlarda format hatası yapmak çok kolaydır. Google bu formatları çok katıdır ve ufak bir sapma bile hataya neden olur.

# Tarih ve Saat Formatı (ISO 8601)

Tüm tarih ve saat değerlerinde ISO 8601 standardını kullanmalısınız. Bu format dünya çapında kabul gören evrensel bir standarttır ve şu şekildedir: YYYY-MM-DDTHH:MM:SS

Durum❌ Yanlış Format✅ Doğru Format
Sadece Tarih15/03/2024 veya 15.03.20242024-03-15
Tarih + Saat15/03/2024 14:302024-03-15T14:30:00
Saat Dilimi ile15/03/2024 14:30 GMT+32024-03-15T14:30:00+03:00
Sadece Yıl20242024-01-01

# Fiyat ve Para Birimi Formatı

Ürün veya hizmet fiyatları için ‘offers’ schema’sı içinde ‘price’ ve ‘priceCurrency’ alanlarını doğru kullanmalısınız. Fiyat değeri sayısal olmalı, para birimi ise ISO 4217 kodları ile belirtilmelidir.

  • Price Alanı: Sayısal değer olmalı, TL sembolü veya virgül içermemeli. Nokta ondalık ayırıcı olarak kullanılır.
    • Doğru: “price”: “149.99”
    • Yanlış: “price”: “149,99 TL”
  • PriceCurrency Alanı: 3 harfli ISO 4217 para birimi kodu kullanın. Türk Lirası için TRY, Amerikan Doları için USD, Euro için EUR.
    • Doğru: “priceCurrency”: “TRY”
    • Yanlış: “priceCurrency”: “₺”
  • Availability (Stok Durumu): Schema.org’un tanımladığı değerlerden birini kullanın. Bunlar tam URL formatında olmalıdır.
    • Doğru: “availability”: “https://schema.org/InStock”
    • Yanlış: “availability”: “Stokta var”

4. WordPress ve CMS Tabanlı Hataların Çözümü

WordPress, Shopify, Wix gibi CMS platformları genellikle otomatik olarak yapılandırılmış veri ekler. Ancak bazen tema, eklenti veya platform kaynaklı sorunlar ortaya çıkabilir. Bu tür hataları çözmek biraz farklı bir yaklaşım gerektirir.

  • Çakışan Eklenti Sorunları– WordPress’te birden fazla SEO eklentisi kullanmak veya temanızın zaten yapılandırılmış veri eklemesi durumunda çakışmalar olabilir. Sonuç olarak aynı schema birden fazla kez eklenir veya çelişkili veriler oluşur.
    • Çözüm: Tüm eklentileri teker teker devre dışı bırakarak hangisinin soruna yol açtığını tespit edin. Sadece bir SEO eklentisi kullanın ve temanızın schema ayarlarını kontrol edin.
  • Önbellek (Cache) Problemleri– Değişiklik yaptığınız halde hata devam ediyorsa, sitenizin önbelleğini temizlemeniz gerekebilir. Önbellek sunucular ve CDN’ler eski kod versiyonunu göstermeye devam edebilir.
  • Dinamik İçerik Sorunları– AJAX veya JavaScript ile yüklenen içeriklerde yapılandırılmış veri eksik kalabilir veya yanlış renderlanabilir. Google bot’u her zaman JavaScript’i tam olarak çalıştıramayabilir.
    • Çözüm: Yapılandırılmış verinizi mümkünse sunucu tarafında (server-side) ekleyin. Client-side ekleme yerine PHP ile HTML içine yazdırın. Schema markup’ı <head> veya <body> içinde statik olarak bulundurun.

# Platform-Spesifik Çözümler:

  • WordPress:
    • functions.php’ye özel kod ekleyerek kontrol kazanın
    • Schema Pro gibi gelişmiş eklentiler kullanın
    • Tema güncellemelerinden sonra mutlaka test edin
  • Shopify:
    • theme.liquid dosyasını düzenleyin
    • Shopify App Store’dan schema uygulamaları kullanın
    • Snippet dosyalarını gözden geçirin
  • Custom CMS:
    • Template dosyalarına JSON-LD ekleyin
    • Dinamik değerler için backend değişkenlerini kullanın
    • Her sayfa tipine özel schema oluşturun

Hataları Düzelttikten Sonra: Doğrulama ve Takip

Hata düzenltmelerini yaptıktan sonra, değişikliklerin gerçekten işe yaradığından emin olmanız ve Google’ın bunları tanımasını beklemeniz gerekiyor. Bu süreç birkaç gün sürebilir, sabırlı olun.

  • Değişiklikleri Test Edin– Rich Results Test ve Schema Validator ile düzelttiğiniz kodları tekrar test edin. Hiçbir hata kalmamalı. Uyarılar olabilir ama kritik hatalar tamamen temizlenmiş olmalı.
  • Sayfayı Canlıya Alın– Staging veya test ortamında çalışıyorsanız, değişiklikleri canlı siteye uygulayın. Tüm önbellekleri temizleyin ve tarayıcınızın incognito modunda sayfanın kaynak kodunu kontrol edin.
  • Search Console’da Doğrulama İsteyin– Google Search Console’da ilgili hatanın yanındaki “Validate Fix” (Düzeltmeyi Doğrula) butonuna tıklayın. Google birkaç gün içinde sayfanızı tekrar tarayacaktır.
  • İndekslemeyi Hızlandırın– Search Console’daki URL Inspection aracını kullanarak sayfayı manuel olarak indeksleme talebinde bulunun. “Request Indexing” butonuna basın, bu süreci hızlandırabilir.
  • Takip ve İzleme– Önümüzdeki 7-14 gün boyunca Search Console’u düzenli kontrol edin. Hata sayısı azalıyorsa doğru yoldasınız demektir. Bazı hatalar kaybolurken yenileri çıkabilir, bu normaldir.

📌 Google’ın yapılandırılmış verinizi tanıması ve zengin sonuçları göstermesi hemen olmaz. Bazen 2-4 hafta sürebilir. Bu süreçte sık sık değişiklik yapmayın, Google’ın sitenizi yeniden değerlendirmesine izin verin.

Yapılandırılmış veri yönetimi sürekli öğrenme gerektiren bir süreçtir. Bugün çözdüğünüz sorunlar yarın farklı şekillerde karşınıza çıkabilir, ancak doğru araçlar ve metotlarla her zaman üstesinden gelebilirsiniz. Unutmayın, Google’ın amacı kullanıcılarına en iyi deneyimi sunmaktır ve siz de doğru yapılandırılmış veri ile bu amaca katkıda bulunuyorsunuz.


Editör Notu: İçeriğimiz okuyucu desteğiyle finanse edilmektedir. Bu, bağlantılarımızdan bazılarına tıkladığınızda komisyon kazanabileceğimiz anlamına gelir.

Burada sadece teorik bilgiler değil, gerçek deneyimlere dayanan pratik çözümler var. Burada yol arkadaşı olacağız. Karmaşık konuları birlikte çözecek, teknik detayları birlikte aşacağız...

Yazarın Profili