Organization ve Person schema: marka ve yazar kimliği
Bir sitenin kim tarafından yayınlandığı ve yazıları kimin yazdığı, Google'ın sayfayı değerlendirirken baktığı sinyallerden biri. Bu bilgi elbette önce sayfada, okuyucunun gördüğü yerde olmalı: hakkımızda sayfası, yazar kutusu, iletişim bilgileri. Yapılandırılmış veri ise aynı bilgiyi makinenin hatasız okuyacağı biçimde tekrar eder.
Çoğu sitede sorun işaretlemenin olmaması değil, dağınık olması. Tema bir Organization basıyor, SEO eklentisi başka bir tane, makale şablonu yazarı düz metin olarak veriyor. Bu yazıda kurum ve yazar kimliğini tutarlı bir yapıya nasıl oturttuğumu anlatıyorum.
Genel yapı
Kurduğum model üç parçadan oluşuyor:
- Ana sayfa: Organization (ya da kişisel sitede Person) ve WebSite.
- Yazar sayfası: ProfilePage,
mainEntityolarak Person. - Makale sayfası: Article;
authoralanı yazarın Person düğümüne,publisheralanı Organization düğümüne işaret ediyor.
Bu parçaları birbirine bağlayan şey @id. Her varlığa sabit, benzersiz bir kimlik veriyorum: genellikle o varlığın ana sayfasının URL'si ve sonuna bir parça tanımlayıcı. Örneğin https://ornek.com/#organization ya da https://ornek.com/yazar/ayse-yilmaz/#person. Bu adreslerin gerçekten açılan bir sayfa olması gerekmiyor; @id bir kimliktir, link değildir. Ama tahmin edilebilir ve değişmeyen bir biçimde olması işinizi kolaylaştırır.
Ana sayfada Organization
Google'ın belgelerine göre Organization işaretlemesini ana sayfaya ya da kurumu anlatan tek bir sayfaya (hakkımızda gibi) koymak öneriliyor. Her sayfaya eklemek zorunlu değil. Ben ana sayfada @graph ile hem Organization'ı hem WebSite'ı veriyorum:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://ornek.com/#organization",
"name": "Örnek Yazılım",
"legalName": "Örnek Yazılım Ltd. Şti.",
"url": "https://ornek.com/",
"logo": {
"@type": "ImageObject",
"url": "https://ornek.com/img/logo-512.png",
"width": 512,
"height": 512
},
"sameAs": [
"https://www.linkedin.com/company/ornek-yazilim",
"https://x.com/ornekyazilim",
"https://github.com/ornekyazilim"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "[email protected]",
"telephone": "+90-212-000-0000",
"availableLanguage": ["tr", "en"]
},
"address": {
"@type": "PostalAddress",
"streetAddress": "Örnek Cad. No: 1",
"addressLocality": "İstanbul",
"postalCode": "34000",
"addressCountry": "TR"
}
},
{
"@type": "WebSite",
"@id": "https://ornek.com/#website",
"url": "https://ornek.com/",
"name": "Örnek Yazılım",
"publisher": { "@id": "https://ornek.com/#organization" }
}
]
}Birkaç not:
- logo: Google'ın logo için beklediği en küçük boyut 112x112 piksel. Görsel taranabilir olmalı; robots.txt ile engellediğiniz bir klasörde durmamalı. Beyaz arka planda da okunabilen bir sürüm kullanıyorum.
- sameAs: Sadece kurumun gerçekten kontrol ettiği resmi profilleri yazıyorum. Yıllardır güncellenmeyen ya da size ait olmayan hesapları eklemek bir şey kazandırmaz.
- contactPoint ve address: İsteğe bağlı. Fiziksel bir adresiniz yoksa ya da paylaşmak istemiyorsanız yazmayın. Yazarsanız sayfadaki iletişim bilgileriyle birebir aynı olmalı.
- Yerel işletme: Müşterinin ziyaret ettiği bir mağaza ya da ofisiniz varsa Organization yerine uygun bir LocalBusiness alt türü düşünebilirsiniz. Online mağazalar için
OnlineStorealt türü de mevcut.
Kişisel bir blogda, sitenin arkasında bir kurum yoksa Organization yerine Person kullanmak daha dürüst. WebSite'ın publisher alanı o durumda Person düğümüne işaret eder.
Yazar sayfasında ProfilePage ve Person
Her yazarın, yazılarının listelendiği ve kim olduğunun anlatıldığı bir sayfası olmalı. Bu sayfada ProfilePage türünü, mainEntity olarak da Person'ı kullanıyorum:
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"@id": "https://ornek.com/yazar/ayse-yilmaz/",
"url": "https://ornek.com/yazar/ayse-yilmaz/",
"dateModified": "2026-09-01T10:00:00+03:00",
"mainEntity": {
"@type": "Person",
"@id": "https://ornek.com/yazar/ayse-yilmaz/#person",
"name": "Ayşe Yılmaz",
"jobTitle": "Teknik SEO Uzmanı",
"image": "https://ornek.com/img/yazar/ayse-yilmaz.jpg",
"description": "Teknik SEO ve site taşıma projeleri üzerine çalışıyor.",
"url": "https://ornek.com/yazar/ayse-yilmaz/",
"worksFor": { "@id": "https://ornek.com/#organization" },
"sameAs": [
"https://www.linkedin.com/in/ayseyilmaz-ornek",
"https://github.com/ayseyilmaz-ornek"
]
}
}jobTitle ve worksFor, Google'ın ProfilePage belgelerindeki önerilen alanlar arasında değil ama schema.org'da geçerli ve sayfadaki bilgiyi doğru anlatıyor. Ben ekliyorum; zararı yok. image alanındaki fotoğrafın sayfada da görünmesine, description metninin de sayfadaki biyografiyle uyumlu olmasına dikkat ediyorum.
Yazar sayfasının içeriği işaretlemeden daha önemli. Yazarın deneyimi, uzmanlık alanı, varsa yayınları ve iletişim yolu sayfada açıkça yazmalı. Bu konuyu E-E-A-T pratikte yazısında daha geniş ele aldım.
Makalede yazarı bağlamak
Makale sayfasında Article işaretlemesinin author alanını Person düğümüne bağlıyorum:
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://ornek.com/blog/site-tasima/#article",
"headline": "Site taşıma kontrol listesi",
"datePublished": "2026-08-10T09:00:00+03:00",
"dateModified": "2026-09-01T10:00:00+03:00",
"image": "https://ornek.com/img/blog/site-tasima.jpg",
"author": {
"@type": "Person",
"@id": "https://ornek.com/yazar/ayse-yilmaz/#person",
"name": "Ayşe Yılmaz",
"url": "https://ornek.com/yazar/ayse-yilmaz/"
},
"publisher": { "@id": "https://ornek.com/#organization" }
}Burada bilerek bir tekrar yapıyorum. @id aynı olduğu için teorik olarak sadece {"@id": "..."} yazmak yeterli olmalı. Ancak Google'ın @id referanslarını farklı sayfalar arasında her durumda çözeceğine dair bir garanti yok. Bu yüzden makalede yazarın name ve url alanlarını da açıkça yazıyorum. Google'ın Article belgesi de yazar için name ve yazar sayfasına giden url vermeyi öneriyor. url değerinin yazar sayfasıyla birebir aynı olması, iki düğümün aynı kişi olduğunu netleştiriyor.
publisher için sadece @id bıraktım; isterseniz orada da name ekleyebilirsiniz. Birden fazla yazar varsa author bir dizi olabilir, her biri ayrı bir Person nesnesi olarak.
Tutarlılık kuralları
İşaretlemenin değeri, görünen içerikle ve diğer sayfalarla tutarlı olmasından geliyor. Kontrol ettiğim noktalar:
- Makalede JSON-LD'deki yazar adı, sayfadaki yazar kutusunda yazan adla aynı.
- Aynı kişi her yerde aynı
@idve aynı yazımla geçiyor; bir yerde "A. Yılmaz", başka yerde "Ayşe Yılmaz" olmuyor. - Sitede tek bir Organization düğümü var. Tema ve eklenti ayrı ayrı Organization basıyorsa birini kapatıyorum.
- Logo, iletişim bilgileri ve sosyal profiller, hakkımızda ve iletişim sayfalarındakiyle birebir aynı.
- Yazar ayrıldığında ya da unvanı değiştiğinde yazar sayfası ve işaretleme birlikte güncelleniyor.
Kodu elle yazmak yerine iskeleti schema oluşturucu ile çıkarıp @id değerlerini kendi düzenime göre değiştiriyorum. Yayından önce Zengin Sonuçlar Testi ve Schema Markup Validator ile kontrol ediyorum. Organization ve Person tek başına gösterişli bir zengin sonuç üretmez; ama logo, bilgi paneli ve yazar bilgisi gibi yerlerde Google'ın varlığı doğru tanımasına yardım eder.
Sık gördüğüm hatalar
Denetimlerde en sık karşılaştığım sorunlar birbirine benziyor. İlki, yazarın Organization olarak işaretlenmesi: bazı eklentiler yazar bilgisi bulamayınca author alanına site adını basıyor. Yazıyı gerçek bir kişi yazdıysa yazar Person olmalı; kurum adına yayımlanan bir duyuruda ise Organization kullanmak doğru.
İkincisi, name alanına ad dışında şeyler yazılması. "Ayşe Yılmaz - Teknik SEO Uzmanı" ya da "Yazan: Ayşe Yılmaz" gibi değerler yanlış; unvan jobTitle alanına gider, name sadece addır. Aynı şekilde yazarın adını url alanına ya da URL'yi name alanına koyan şablonlar da görüyorum.
Üçüncüsü, var olmayan ya da sayfada görünmeyen bilgiler: sayfada adresi olmayan bir işletme için uydurma adres, yazar sayfasında hiç bahsedilmeyen unvanlar, kapanmış sosyal medya hesapları. İşaretleme yeni bilgi üretmek için değil, sayfadaki bilgiyi netleştirmek için var.
Özetle
| Sayfa | Tür | Kritik alanlar |
|---|---|---|
| Ana sayfa | Organization + WebSite | name, url, logo, sameAs, isteğe bağlı contactPoint ve address |
| Yazar sayfası | ProfilePage + Person | mainEntity, name, image, sameAs, url, isteğe bağlı jobTitle |
| Makale | Article | author (name, url, @id), publisher (@id), tarihler, görsel |
| Tüm sayfalar | - | Aynı varlık için aynı @id, görünen içerikle birebir uyum |
Comments / questions
If you have a question about any topic or wish to contact me: Telegram or send an email to [email protected] Thanks!
Related pages
- Tarandı, şu anda dizine eklenmedi: gerçek sebepler ve çözümler (2026)
- Hangi schema türü gerçekten zengin sonuç getiriyor? (2026) (2026)
- Ürün ve inceleme schema'sında sık yapılan hatalar (2026)
- Yapay zekâyla içerik: Google'ın tutumu ve kaliteli kullanım (2026)
- E-E-A-T pratikte: yazar sayfası, kaynak, deneyim kanıtı (2026)