Merhaba sevgili tarif severler ve değerli site sahipleri!
Bugün sizlerle, yemek tarifi sitelerinin kalbinde yer alan, Google'da parlamanızı sağlayacak o büyülü konuyu, yani JSON-LD Recipe şemasını hatasız bir şekilde entegre etme sanatını konuşacağız. Bana gelen sayısız sorudan ve kendi tecrübelerimden biliyorum ki, bu konu başlangıçta biraz karmaşık gelebilir. Özellikle de sizlerin yaşadığı gibi, "önerilen alanları doldurun" uyarıları can sıkıcı olabilir. Ama hiç endişelenmeyin, bu yazının sonunda her şey çok daha net olacak!
Birçoğunuzun tarif sitelerinde harikalar yarattığını, binlerce kişinin hayatına lezzet kattığını biliyorum. Peki, bu enfes tariflerinizi Google arama sonuçlarında da "bir yıldız gibi parlatmaya" ne dersiniz? İşte JSON-LD Recipe şeması tam da burada devreye giriyor. Gelin, bu yolculuğa birlikte çıkalım.
Neden JSON-LD Recipe Şeması Bu Kadar Önemli?
Öncelikle, neden bu konuya bu kadar kafa yorduğumuzu anlayalım. Yemek tarifi sitenizde JSON-LD şemasını doğru kullanmak, sadece teknik bir gereklilik değil, aynı zamanda sizin ve tariflerinizin keşfedilme potansiyelini katlayan stratejik bir adımdır.
Düşünün ki bir kullanıcı, "kolay mercimek çorbası tarifi" arıyor. Google'da karşısına çıkan sonuçlar arasında, sadece başlık ve link olan bir site mi, yoksa hemen altında fotoğrafı, puanı, pişirme süresi ve hatta kaç kalori olduğu gibi bilgileri gösteren bir site mi daha çok dikkatini çeker? Elbette ikincisi! İşte biz bu görünen ekstra bilgilere "zengin sonuçlar" diyoruz.
Bu zengin sonuçlar sayesinde:
Daha Fazla Görünürlük: Arama sonuçlarında siteniz rakiplerinizden ayrışır, adeta "ben buradayım!" der.
Yüksek Tıklama Oranı (CTR): Kullanıcılar daha fazla bilgi gördükleri için sitenize daha çok tıklama eğiliminde olurlar.
Daha İyi Kullanıcı Deneyimi: Kullanıcı arama sayfasından tarife ait temel bilgilere ulaşır ve beklentisi karşılanırsa sitenizde daha uzun kalır.
Google'ın Sizi Daha İyi Anlaması: Şema işaretlemesi, Google'ın sitenizdeki içeriğin ne hakkında olduğunu "okumasını" ve anlamasını kolaylaştırır. Bu da sıralamanıza olumlu yansıyabilir.
Kısacası, şema işaretlemesi siteniz için bir kimlik kartı gibidir. Ne kadar eksiksiz ve doğru doldurursanız, Google sizi o kadar iyi tanır ve başkalarına o kadar iyi tanıtır.
JSON-LD Temelleri: Nedir Bu Sihirli Kod?
JSON-LD (JavaScript Object Notation for Linked Data), web sitenizdeki verileri yapılandırmanın ve arama motorları için anlamlandırmanın bir yoludur. Tarayıcınızın anlaması için değil, Google gibi arama motorlarının tarayıcıları için bir dildir. Genellikle HTML kodunuzun <head> veya <body> etiketleri arasına yerleştirilen bir <script type="application/ld+json"> bloğu içindedir.
Bir tarif için temel JSON-LD yapısı şuna benzer:
`json
{
" @context": "https://schema.org",
" @type": "Recipe",
"name": "Fırında Sebzeli Tavuk",
"image": "https://siteniz.com/tarifler/fırında-tavuk.jpg",
"description": "Tavuk ve sebzelerin mükemmel uyumuyla hazırlanan, pratik ve lezzetli bir fırın yemeği.",
"keywords": "fırında tavuk, sebzeli tavuk, kolay tavuk tarifi",
"author": {
" @type": "Person",
"name": "Ayşe Yılmaz"
},
"prepTime": "PT15M",
"cookTime": "PT45M",
"totalTime": "PT60M",
"recipeYield": "4 porsiyon",
"recipeIngredient": [
"500 gr tavuk göğsü",
"2 adet patates",
"1 adet soğan",
"1 adet kırmızı biber",
"1 adet yeşil biber",
"2 diş sarımsak",
"Yarım çay bardağı zeytinyağı",
"Tuz, karabiber, kekik, pul biber"
],
"recipeInstructions": [
{
" @type": "HowToStep",
"text": "Tavukları küp küp doğrayın ve marine edin."
},
{
" @type": "HowToStep",
"text": "Sebzeleri doğrayıp tavuklarla karıştırın."
},
{
" @type": "HowToStep",
"text": "Fırın tepsisine yayın ve önceden ısıtılmış 180 derece fırında 45 dakika pişirin."
}
]
}
`
Bu temel yapıya dikkat ederseniz, Google'ın bir tariften ne kadar detayı anlayabileceğini görebilirsiniz. Ancak sizlerin de fark ettiği gibi, "önerilen alanlar" bazen bu temel yapının ötesine geçiyor.
Zorlandığınız Noktalar: 'Önerilen Alanlar', aggregateRating ve Nutrition
"Dün birkaç tarif için Schema Markup uyguladım ama Google Zengin Sonuçlar testinde hep 'önerilen alanları doldurun' uyarısı alıyorum. Özellikle 'aggregateRating' ve 'nutrition' kısımlarını doğru yapılandıramadım." diyorsunuz. Bu, inanın bana, sektördeki birçok site sahibinin ortak derdi.
1. 'Önerilen Alanlar' Uyarısı Neden Çıkar?
Google, kullanıcılarına en iyi deneyimi sunmak ister. Bir tarif arayan kişi, sadece malzemeleri değil, o tarife kaç kişinin kaç puan verdiğini, kaç kalori olduğunu, hazırlama süresini, hatta bir videosu olup olmadığını bilmek isteyebilir. İşte "önerilen alanlar", Google'ın bu ihtiyacı karşılamak için size sunduğu "lütfen bu bilgileri de eklerseniz daha iyi olur" tavsiyesidir.
Bu uyarılar genellikle şu gibi alanlar için çıkar:
prepTime, cookTime, totalTime: Hazırlık, pişirme ve toplam süreler.
recipeCategory, recipeCuisine: Tarifin kategorisi (ana yemek, tatlı) ve mutfağı (Türk, İtalyan).
video: Tarifin videosu varsa.
calories (nutrition içinde): Kalori bilgisi.
* aggregateRating: Kullanıcı puanlaması.
Unutmayın: Bu alanlar zorunlu değildir, ancak eklediğinizde tarifinizin arama sonuçlarında daha zengin ve çekici görünme şansı artar. Google, ne kadar çok ilgili ve doğru bilgi sağlarsanız, o tarifi o kadar güvenilir ve kapsamlı bulur.
2. aggregateRating'i Doğru Yapılandırmak: Tariflerinize Can Katın
Bu, birçok kişinin kafasını karıştıran bir alan. aggregateRating alanı, tarifinize kullanıcılar tarafından verilen ortalama puanı ve kaç kişinin oy verdiğini gösterir.
Yanlış Yapılan Şey: Birçok site sahibi, henüz bir oylama sistemi olmamasına rağmen, bu alanı manuel olarak "4.5 puan ve 100 oy" gibi rastgele değerlerle doldurmaya çalışır. Bu büyük bir hata! Google, sahte puanlamaları tespit edebilir ve bu, sitenizin sıralamasına olumsuz yansıyabilir, hatta zengin sonuçlardan tamamen men edilmenize neden olabilir.
Doğru Yapılandırma Adımları:
- Önce Bir Oylama Sistemi Kurun: Eğer sitenizde kullanıcıların tariflerinizi puanlayabildiği bir sistem yoksa, önceliğiniz bu olmalı. WordPress kullanıyorsanız, yorum eklentileri veya özel tarif eklentileri (örneğin WP Recipe Maker) genellikle bu özelliği sunar.
- Gerçek Verileri Kullanın: Oylama sistemi kurulduktan ve tarifleriniz gerçek kullanıcı oyları almaya başladıktan sonra, bu oyların ortalamasını ve toplam oy sayısını
aggregateRating alanına işleyin.
Örnek (Doğru Kullanım):
`json
"aggregateRating": {
" @type": "AggregateRating",
"ratingValue": "4.7", // Ortalama puan (örn: 1-5 arası)
"reviewCount": "125", // Toplam oy sayısı
"bestRating": "5", // En yüksek puan değeri
"worstRating": "1" // En düşük puan değeri
}
`
Önemli Not: Eğer sitenizde henüz bir oylama sistemi yoksa ve bu alana ekleyecek gerçek veriniz yoksa, bu alanı JSON-LD şemanızdan tamamen çıkarın. Yanlış bilgi vermektense, hiç vermemek çok daha iyidir. Google, bir alanın eksik olmasından dolayı size ceza vermez, ancak yanlış bilgi verdiğinizde sorun yaşarsınız.
3. nutrition Bilgilerini Eklemek: Sağlıklı Yaşamın Anahtarı
Günümüzde insanlar yedikleri yemeklerin besin değerlerine çok dikkat ediyor. Kalori, protein, karbonhidrat, yağ miktarı gibi bilgiler, özellikle diyet yapan veya belirli beslenme düzenlerine uyan kullanıcılar için kritik öneme sahip.
Yanlış Yapılan Şey: Bu bilgileri tahmin yoluyla yazmak veya başka bir siteden kopyalamak. Her tarifin, kullanılan malzemelere ve miktarlarına göre kendi besin değerleri vardır.
Doğru Yapılandırma Adımları:
- Doğru Hesaplama Yapın: Besin değerleri hesaplamak için güvenilir araçlar kullanmalısınız. Birçok çevrimiçi besin değeri hesaplayıcısı (örneğin, USDA FoodData Central gibi kaynakları kullananlar) veya WordPress için bu konuda uzmanlaşmış eklentiler mevcuttur. Tarifinizdeki her bir malzemenin miktarını girerek toplam değeri elde edebilirsiniz.
- Minimum Bilgiyi Ekleyin: Eğer tüm besin değerlerini hesaplayamıyorsanız, en azından
calories (kalori) bilgisini eklemeye çalışın. Bu, genellikle en çok aranan bilgidir.
Örnek (Doğru Kullanım):
`json
"nutrition": {
" @type": "NutritionInformation",
"calories": "350 calories",
"fatContent": "15g",
"saturatedFatContent": "5g",
"carbohydrateContent": "30g",
"proteinContent": "25g",
"fiberContent": "4g",
"sugarContent": "5g"
}
`
Önemli Not: aggregateRating örneğinde olduğu gibi, eğer doğru ve güvenilir besin değerlerine sahip değilseniz, bu alanı da şemanızdan çıkarın. Kullanıcıları veya Google'ı yanıltmaktan kaçının. Bu bilgileri eklemek için zaman ve kaynak ayırmanız gerekebilir, ancak uzun vadede sitenizin güvenilirliği için buna değer.
WordPress ve Eklentiler: Yardımcınız mı, Köstekleyiciniz mi?
"Acaba WordPress'te kullandığım SEO eklentisi mi sorun yaratıyor yoksa manuel kodlamada mı hata yapıyorum?" sorunuz da çok yerinde.
WordPress, SEO eklentileri sayesinde şema işaretlemesini kolaylaştıran harika bir platformdur. Yoast SEO, Rank Math, All in One SEO gibi popüler eklentiler, temel şema türlerini (makale, sayfa, tarif vb.) otomatik olarak ekleme yeteneğine sahiptir. Ancak, bu eklentiler her zaman her tarife özel "önerilen" alanları veya tüm detayları kapsamayabilir.
Eklentilerin Avantajları:
Kolaylık: Çoğu zaman kod yazmanıza gerek kalmaz, arayüzden seçimler yaparsınız.
Tutarlılık: Her tarif için aynı temel şema yapısını sağlar.
* Otomatik Güncellemeler: Eklenti güncellemeleriyle birlikte yeni şema gereksinimlerine adapte olabilirler.
Eklentilerin Sınırları ve Potansiyel Sorunları:
Önerilen Alan Eksikliği: Eklentiler genellikle zorunlu alanları kolayca girmenizi sağlar, ancak aggregateRating için entegre bir oylama sistemine veya nutrition için bir hesaplama modülüne sahip olmayabilirler. Bu durumda, eklenti sizin yerinize bu alanları eklemez ve "önerilen alanlar eksik" uyarısını alırsınız.
Özelleştirme Zorluğu: Her tarifin kendine özgü detayları olabilir. Eklentiler, bazen bu detayları esnek bir şekilde eklemenize izin vermeyebilir.
* Çakışmalar (Nadiren): Birden fazla SEO eklentisi veya şema eklentisi kullanıyorsanız, bunlar birbirleriyle çakışabilir ve yanlış şema çıktısı verebilir.
Peki Ne Yapmalısınız?
- Eklentinizin Ayarlarını Kontrol Edin: Kullandığınız SEO eklentisinin tarif şeması ayarlarını detaylıca inceleyin.
aggregateRating ve nutrition ile ilgili herhangi bir giriş alanı veya entegrasyon seçeneği var mı? Bazı eklentiler (özellikle tariflere özel eklentiler, örneğin WP Recipe Maker gibi), bu alanları doldurmanız için özel bölümler sunar.
- Manuel Eklemeyi Düşünün (Dikkatli Olun): Eğer eklentiniz belirli bir alanı eklemenize izin vermiyorsa ve siz bu bilgileri sitenizde gösterebiliyorsanız (örn. oylama sistemi var), JSON-LD kodunu manuel olarak eklemeyi düşünebilirsiniz.
- Nasıl Yapılır? Birçok WordPress teması veya eklentisi (Code Snippets gibi), sayfa veya yazı bazında özel HTML/JavaScript kodları eklemenize olanak tanır. İlgili tarifin düzenleme ekranında, sayfanın sonuna veya özel bir alan kullanarak JSON-LD bloğunu yerleştirebilirsiniz. Ancak burada çok dikkatli olmalısınız: Eğer eklentiniz zaten bir tarif şeması üretiyorsa, sizin manuel olarak eklediğiniz kodla çakışabilir ve Google'ın birden fazla şema görmesine neden olabilir. Bu durum kafa karışıklığı yaratabilir ve zengin sonuçlarınızı olumsuz etkileyebilir.
- En İyi Uygulama: Eğer eklenti kullanıyorsanız ve eksik alanlar için manuel ekleme yapacaksanız, ya eklentinin tarif şeması özelliğini kapatıp tamamen manuel olun, ya da eklentinin ürettiği şemayı kontrol edip, eksik alanları eklentinin üzerine yazmayacak şekilde (örneğin eklentinin desteklediği özel alanlar aracılığıyla) eklemeye çalışın.
- Güvenilir Bir Tarif Eklentisi Kullanın: Eğer yemek tarifi siteniz ana odağınızsa, özel olarak tarifler için geliştirilmiş (örneğin WP Recipe Maker, Cooked Pro gibi) eklentiler kullanmak çok daha faydalı olacaktır. Bu eklentiler, genellikle tüm Recipe şema alanlarını (rating, nutrition, video vb.) doldurmanız için özel arayüzler sunar ve JSON-LD çıktısını hatasız bir şekilde oluştururlar.
Özetle: Eklentiniz size bir başlangıç noktası verir, ama tam ve hatasız entegrasyon için sizin aktif kontrolünüz ve doğrulamalarınız şarttır.
Hatasız Entegrasyon İçin Pratik İpuçları ve En İyi Uygulamalar
- Google Zengin Sonuçlar Testi (Rich Results Test) En Yakın Arkadaşınızdır: Her bir tarife şema uyguladıktan sonra, Google'ın kendi Zengin Sonuçlar Testi aracını kullanarak mutlaka test edin. Bu araç size hataları ve eksik "önerilen" alanları net bir şekilde gösterir. Sürekli kullanın!
- Google'ın Dokümantasyonunu Okuyun: Şema işaretlemesi konusunda en güncel ve doğru bilgi kaynağı, Google'ın resmi Recipe Schema dokümantasyonudur. Hangi alanın ne anlama geldiğini, hangi formatta olması gerektiğini buradan öğrenin.
- Tutarlılık ve Gerçekçilik: Şemadaki bilgiler, tarif metninizdeki bilgilerle birebir aynı olmalı ve kesinlikle doğru olmalıdır. Örneğin, tarifte 45 dakika yazıp şemaya 20 dakika yazmayın. Oylama veya besin değeri yoksa eklemeyin.
- Mobil Uyumluluğu Test Edin: Zengin sonuçlar genellikle mobil cihazlarda daha belirgin görünür. Google'ın mobil uyumluluk testi aracını da kullanarak sitenizin genel mobil performansını kontrol edin.
- Düzenli Güncellemeler: Tariflerinizde veya sitenizde bir değişiklik yaptığınızda (malzeme değişikliği, yeni video ekleme, oylama sistemi güncellemesi vb.), şema kodunuzu da bu değişikliklere göre güncellemeyi unutmayın.
Sonuç: Sabır ve Dikkatle Lezzetli Sonuçlar!
Değerli dostlar, JSON-LD Recipe şeması entegrasyonu, ilk başta biraz teknik gelebilir ama sitenizin geleceği için atacağınız en önemli adımlardan biridir. "Önerilen alanlar" uyarıları, Google'ın size "daha da iyi olabilirsiniz!" diyen bir dost eli gibi düşünün. aggregateRating ve nutrition gibi alanlar, biraz daha fazla çaba gerektirse de, sitenizin güvenilirliğini ve kullanıcılara sağladığı değeri katlayacaktır.
Unutmayın, her büyük başarı, küçük ama doğru adımlarla başlar. Sabırla, dikkatle ve Google'ın araçlarını etkin bir şekilde kullanarak, tariflerinizi arama motorlarında adeta birer yıldız gibi parlatabilirsiniz. Bu süreçte takıldığınız her yerde, bilginin ve deneyimin rehberliğinde doğru yola ulaşacağınızdan eminim.
Afiyetle kalın ve bol bol tarifler paylaşın!