Kontrol listesi

126 kontrol. Her biri çürütülebilir.

Bir denetimdeki her bulgu bu kurallardan birinden gelir. Skorlar bunlardan deterministik olarak hesaplanır; skoru hiçbir zaman bir dil modeli belirlemez. Her kural yanlış olduğunu nasıl anlayacağınızı söyler; yani bir bulgu hüküm değil, test edebileceğiniz bir iddiadır.

Teknik 30 kontrol

  1. Dizine girebilir içerik sayfası noindex taşıyor

    KritikSayfa başınaSEOAEOGEOtechnical.noindex-accident

    Yanlışsa nasıl anlarız: Bu sayfalar bilerek dışarıda tutuluyorsa (hazırlık ortamı, ince yardımcı sayfa) bulguyu yeniden sınıflandırın, değilse noindex kaldırıldığında GSC'de dizine girmenin geri gelmesi gerekir.

  2. canonical, yayındaki adresten farklı bir adres biçimini gösteriyor

    YüksekSayfa başınaSEOtechnical.canonical-inconsistent

    Yanlışsa nasıl anlarız: canonical'ı yayındaki (sitemap'teki) biçimle hizalayın; GSC'nin bu adresler için verdiği yinelenen/canonical uyarıları haftalar içinde kapanmalı.

  3. Sayfa noindex ama başka bir adrese canonical veriyor

    YüksekSayfa başınaSEOtechnical.canonical-noindex-conflict

    Yanlışsa nasıl anlarız: GSC URL İnceleme'de canonical hedefine bakın: hâlâ dizinde ve yayındaysa çelişkili sinyal soğurulmuş demektir. Tek bir niyet seçin, kendine canonical veren noindex ya da başkasına canonical veren index, ve yeniden inceleyin.

  4. İçerik sayfaları önbelleklenemez sunuluyor (no-store / private)

    YüksekSite geneliSEOtechnical.content-pages-uncached

    Yanlışsa nasıl anlarız: Rotada ISR/s-maxage'i açın; yanıt başlıkları önbelleklenebilire döner ve CDN önbellek isabet oranı gözlemlenebilir hale gelir.

  5. Karışık içerik: https sayfada http:// varlıklar

    YüksekSayfa başınaSEOtechnical.mixed-content

    Yanlışsa nasıl anlarız: Tarayıcı konsolu düzeltmeden önce karışık içerik uyarısı verir, sonra vermez.

  6. Sayfa 4xx/5xx dönüyor

    YüksekSite geneliSEOtechnical.page-error-status

    Yanlışsa nasıl anlarız: Düzeltmeden sonra yeniden çekin: 200 durumu ve GSC kapsam raporunda yeniden dizine girme çözümü doğrular.

  7. XML sitemap bulunamadı

    YüksekSite geneliSEOtechnical.sitemap-missing

    Yanlışsa nasıl anlarız: /sitemap.xml ekleyin (ve robots.txt'ten işaret edin); GSC'nin site haritası raporu bunu kabul etmeli ve keşif kapsamı genişlemeli.

  8. viewport meta etiketi eksik (mobil görüntüleme)

    YüksekSayfa başınaSEOtechnical.viewport-missing

    Yanlışsa nasıl anlarız: Mobil uyumluluk testi bu etiket olmadan başarısız olur, eklendiğinde geçer, ikili bir kontrol.

  9. hreflang'in kendine işareti sayfanın canonical'ıyla çelişiyor

    OrtaSayfa başınaSEOhreflang.canonical-mismatch

    Yanlışsa nasıl anlarız: canonical, hreflang'in kendine işaret eden satırından başka bir yeri gösterdiğinde Google dil kümesini atar. İkisini aynı yapın ve bir hreflang test aracında yeniden doğrulayın.

  10. hreflang değerlerinde geçersiz ya da kanonik olmayan kodlar

    OrtaSayfa başınaSEOhreflang.invalid-codes

    Yanlışsa nasıl anlarız: Bir hreflang test aracında doğrulayın: geçersiz kodları Google tamamen yok sayar; kanonik biçim lang-REGION'dır (tr-TR).

  11. hreflang karşılıklı etiketleri kırık (taranan örneklem içinde)

    OrtaSite geneliSEOhreflang.return-tags-broken

    Yanlışsa nasıl anlarız: B→A olmadan A→B, Google için çifti geçersiz kılar; tarama örneklemi bağlantı verenleri gizleyebilir, büyük düzeltmelerden önce site geneli bir hreflang taramasıyla doğrulayın.

  12. hreflang kümesi sayfanın kendisine işaret etmiyor

    OrtaSayfa başınaSEOhreflang.self-reference-missing

    Yanlışsa nasıl anlarız: Google'ın hreflang belgeleri her sayfanın kendisini de listelemesini şart koşar; kendine işaret eden satırı ekleyip yeniden doğrulayın.

  13. canonical eksik

    OrtaSayfa başınaSEOtechnical.canonical-missing

    Yanlışsa nasıl anlarız: GSC bu sayfalar için yinelenen adres kümelenmesi göstermiyorsa etki düşüktü; yine de ucuz bir sigorta.

  14. Farklı adreslerde bayt bayt aynı yinelenen sayfalar

    OrtaSite geneliSEOtechnical.duplicate-content-pages

    Yanlışsa nasıl anlarız: canonical/yönlendirme ile birleştirin ya da yayından kaldırın; düzeltmeden sonra dizine girebilen hiçbir iki adres aynı içerik özetini paylaşmaz.

  15. Tanımlı favicon yok

    OrtaSite geneliSEOtechnical.favicon-missing

    Yanlışsa nasıl anlarız: İkon setini ekledikten sonra SERP'teki genel dünya simgesinin günler içinde favicon ile değişmesi gerekir (site: sorgusuyla kontrol edin).

  16. HTML, 2 MB işleme sınırından büyük

    OrtaSayfa başınaSEOGEOAEOtechnical.html-size-cap

    Yanlışsa nasıl anlarız: Google bir HTML dosyasının kabaca ilk 2 MB'ını işler. Sayfayı çekip asıl içeriğinizin ve JSON-LD'nin bu sınırdan önce kalıp kalmadığına bakın: kalıyorsa bu yalnızca bir yük ağırlığı sorunudur, kesilme riski değil.

  17. robots.txt açılmayan bir sitemap duyuruyor

    OrtaSite geneliSEOtechnical.robots-sitemap-declaration-broken

    Yanlışsa nasıl anlarız: robots.txt'teki her Sitemap: adresini tarayıcıda açın, yayında bir sitemap XML döner, 404 ya da HTML sayfası değil. Adresi düzeltin ya da satırı kaldırın; GSC'nin Site Haritaları raporu artık çekme hatası göstermemeli.

  18. Taranan sayfalar sitemap'te yok

    OrtaSite geneliSEOtechnical.sitemap-coverage-gap

    Yanlışsa nasıl anlarız: Listelenen adresleri sitemap'e ekleyin; GSC'de bu adreslerin keşfe bağlı dizine girme gecikmesi azalmalı.

  19. Sitemap http:// adresleri içeriyor

    OrtaSite geneliSEOtechnical.sitemap-http-urls

    Yanlışsa nasıl anlarız: Her http girdisi tarama sırasında bir yönlendirme adımına mal olur; https'e çevirin, adım ortadan kalkar.

  20. Sitemap var ama boş ya da ayrıştırılamıyor

    OrtaSite geneliSEOtechnical.sitemap-invalid

    Yanlışsa nasıl anlarız: XML'i doğrulayın; en az bir <url><loc> ile ayrıştırıldığı anda bu bulgu bir sonraki denetimde kaybolur.

  21. Keşfedilen adres başka bir adrese yönleniyor

    OrtaSite geneliSEOtechnical.sitemap-url-redirects

    Yanlışsa nasıl anlarız: Sitemap ve iç bağlantıları son adreslerle güncelleyin; yeniden tarayın, sıfır yönlenen girdi bunu doğrular.

  22. hreflang kümelerinde x-default yok

    DüşükSite geneliSEOhreflang.x-default-missing

    Yanlışsa nasıl anlarız: x-default, dili eşleşmeyen kullanıcıları yönlendirir; olmadığında Google keyfî seçer, ekleyin ve uluslararası gösterimleri izleyin.

  23. Open Graph etiketleri eksik

    DüşükSayfa başınaSEOtechnical.og-tags-missing

    Yanlışsa nasıl anlarız: Adresi bir sosyal platformda paylaşın: OG olmadan önizleme kartı tahmine düşer.

  24. robots.txt yok

    DüşükSite geneliSEOGEOtechnical.robots-missing

    Yanlışsa nasıl anlarız: Tarayıcılar dosya olmadan her şeye izinli varsayar, ama sitemap ve yapay zekâ tarayıcı politikasını duyuracağınız yeri kaybedersiniz; bir tane ekleyin, bulgu kapanır.

  25. Güvenlik başlıkları eksik (HSTS / nosniff / XFO)

    DüşükSite geneliSEOtechnical.security-headers-missing

    Yanlışsa nasıl anlarız: Kendi başına bir sıralama etkeni değil; güven hijyeni sayın. Başlıklar CDN'de var ama sunucuda yoksa canlı yanıtı doğrulayın.

  26. Sitemap <priority>/<changefreq> taşıyor (Google yok sayıyor)

    DüşükSite geneliSEOtechnical.sitemap-deprecated-tags

    Yanlışsa nasıl anlarız: Google ikisini de yok saydığını belgeliyor; kaldırmak dosyayı küçültür ve yanlış sinyalleri temizler.

  27. Bütün sitemap lastmod değerleri aynı

    DüşükSite geneliSEOtechnical.sitemap-identical-lastmod

    Yanlışsa nasıl anlarız: Google yalnızca doğrulanabilir biçimde doğru olan lastmod'u dikkate alır; tek tip damgalar derleme anında üretilmiş gürültü olarak okunur.

  28. Sitemap <lastmod> değerleri geçerli W3C tarih-saati değil

    DüşükSite geneliSEOtechnical.sitemap-lastmod-invalid

    Yanlışsa nasıl anlarız: Sitemap'i herhangi bir XML sitemap doğrulayıcıdan (ya da GSC'nin Site Haritaları raporundan) geçirin: geçerli lastmod YYYY-AA-GG ya da tam ISO 8601 damgasıdır. Yayındaki dosyada değerler zaten geçerliyse tarama eski bir kopyayı örneklemiştir.

  29. Site sondaki eğik çizgili ve çizgisiz adresleri karıştırıyor

    DüşükSite geneliSEOtechnical.trailing-slash-inconsistent

    Yanlışsa nasıl anlarız: Bir adresin iki biçimini de isteyin: biri diğerine 301 ile gidiyorsa site sunucu düzeyinde tutarlıdır ve bu bulgu kozmetiktir. Gitmiyorsa iki biçim de yinelenen olarak dizine girebilir: birini seçip diğerini yönlendirin.

Sayfa içi 28 kontrol

  1. H1 eksik

    YüksekSayfa başınaSEOAEOonpage.h1-missing

    Yanlışsa nasıl anlarız: Başka yerlere H1 eklendikten sonra bu sayfaların sıralaması ve yapay zekâ alıntıları değişmiyorsa kısıt H1 değildi.

  2. <title> eksik

    YüksekSayfa başınaSEOAEOonpage.title-missing

    Yanlışsa nasıl anlarız: Başlıksız sayfalar yine de normal SERP snippet'i ve tıklama oranı alıyorsa bu bulgu ilgisizdi.

  3. Yüklemede mobil ekranı kaplayan katman

    YüksekSayfa başınaSEOrender.intrusive-interstitial

    Yanlışsa nasıl anlarız: Sayfayı 375x812 mobil görüntü alanında açıp ilk ekrana bakın. Etkileşimden önce ekranın yarısını kaplayan bir katman yoksa ya da katman yasal bir bildirimse (çerez / KVKK / GDPR / yaş kapısı: bunları dışarıda bırakıyoruz) bu bulgu yanlıştır.

  4. Yapay zekâ üretimi ürün görselinde IPTC DigitalSourceType yok

    OrtaSayfa başınaSEOimages.iptc-ai-source-missing

    Yanlışsa nasıl anlarız: Dosyanın XMP'sini exiftool ile okuyun: DigitalSourceType bir IPTC yapay zekâ değeriyle (örn. trainedAlgorithmicMedia) varsa bu bulgu yanlıştır. Görsel yapay zekâ üretimi değilse eşleştirdiğimiz üretici imzası yanlıştır: dosyayı bize gönderin, deseni kaldıralım.

  5. Görseller yalnızca JavaScript ile yükleniyor (HTML'de src yok)

    OrtaSayfa başınaSEOGEOimages.js-lazy-without-src

    Yanlışsa nasıl anlarız: Sayfayı JavaScript kapalıyken çekin (curl) ve <img src> arayın: görseller oradaysa sorun çözülmüştür. Adresi src'ye taşıyıp loading=lazy'yi korumak ikisini birden verir.

  6. html lang niteliği eksik

    OrtaSayfa başınaSEOGEOonpage.html-lang-missing

    Yanlışsa nasıl anlarız: Motorlar dili yine de tutarlı biçimde doğru algılıyorsa bu hijyendir, ama düzeltmenin de bir maliyeti yok.

  7. Alt metni olmayan görseller

    OrtaSayfa başınaSEOonpage.img-alt-missing

    Yanlışsa nasıl anlarız: Görsel arama trafiği ve erişilebilirlik denetimleri bir boşluk göstermiyorsa kalan görseller dekoratiftir.

  8. Meta açıklama eksik

    OrtaSayfa başınaSEOonpage.meta-description-missing

    Yanlışsa nasıl anlarız: Bu sayfaların SERP snippet'leri (otomatik çıkarılmış hâliyle) iyi okunuyorsa etki yalnızca snippet denetimini kaybetmekle sınırlıdır.

  9. og:url yayındaki adresten başka bir sayfayı gösteriyor

    OrtaSayfa başınaSEOonpage.og-url-mismatch

    Yanlışsa nasıl anlarız: Adresi paylaşın: önizleme ana sayfaya değil bu sayfaya çözümlenmeli; düzeltmeden sonra og:url canonical adrese eşit olur.

  10. Sayfalar arasında yinelenen başlıklar

    OrtaSite geneliSEOonpage.title-duplicate

    Yanlışsa nasıl anlarız: Başlıklar benzersizleştiğinde GSC'deki 'yinelenen başlık' kümelenmesi kaybolur; sayfalar bilerek aynı sorguları hedefliyorsa bunun yerine birleştirin.

  11. Başlık 60 karakterden uzun

    OrtaSayfa başınaSEOonpage.title-too-long

    Yanlışsa nasıl anlarız: Google bu sayfalarda tam başlığı kısaltmadan gösteriyorsa uzunluk sorun değildi.

  12. Mobilde 24x24 pikselden küçük dokunma hedefleri

    OrtaSayfa başınaSEOrender.touch-targets-small

    Yanlışsa nasıl anlarız: Sayfayı 375px genişlikte açıp listelenen öğeleri ölçün. Her biri en az 24x24 CSS pikseliyse ya da bir cümlenin içinde duruyorsa (WCAG 2.5.8 satır içi istisnası: onu zaten dışarıda bırakıyoruz) bu bulgu yanlıştır.

  13. Erişilebilir adı olmayan etkileşimli denetimler

    OrtaSayfa başınaSEOAEOrender.unnamed-controls

    Yanlışsa nasıl anlarız: Listelenen öğeleri erişilebilirlik ağacında inceleyin (tarayıcı geliştirici araçları > Accessibility). Her biri metin, aria-label, aria-labelledby, alt ya da title yoluyla bir ad sunuyorsa bu bulgu yanlıştır. aria-hidden ile gizlenmiş öğeler zaten dışarıda.

  14. Görsel alt metni 10-125 karakter bandının dışında

    DüşükSayfa başınaSEOimages.alt-length-band

    Yanlışsa nasıl anlarız: 10 karakterin altı erişim için anlam taşımaz; 125'in üstünü ekran okuyucular keser. Yeniden yazın ve görsel SERP gösterimlerinden doğrulayın.

  15. Fotoğraf makinesi varsayılanı ya da anlamsız görsel dosya adları

    DüşükSayfa başınaSEOimages.filename-syntax

    Yanlışsa nasıl anlarız: Açıklayıcı, tireli dosya adları görsel aramada bir alaka girdisidir; yeniden adlandırın (ya da CDN takma adıyla sunun) ve o varlıkların görsel gösterimlerini izleyin.

  16. IPTC DigitalSourceType var ama IPTC NewsCodes değeri değil

    DüşükSayfa başınaSEOimages.iptc-source-type-invalid

    Yanlışsa nasıl anlarız: Değeri IPTC DigitalSourceType NewsCodes sözlüğüyle karşılaştırın. Değer o sözlükteyse ve biz yine de işaretlediysek bu bulgu yanlıştır.

  17. İçerik sayfaları ana sayfadan 3 tıktan uzakta

    DüşükSite geneliSEOonpage.crawl-depth-deep

    Yanlışsa nasıl anlarız: Buradaki derinlik yalnızca taranan örneklem üzerinden ölçüldü, taranmamış bir sayfadan gelen bağlantı yolu kısaltabilir. Tam taramayla doğrulayın; derinlik gerçekse sayfayı bir merkez sayfadan ya da ana menüden bağlayıp GSC'de tarama sıklığını izleyin.

  18. Uzun yazı hiçbir dış kaynak göstermiyor

    DüşükSayfa başınaSEOGEOonpage.external-citations-missing

    Yanlışsa nasıl anlarız: Birincil kaynaklara verilen dış bağlantılar hem insanlar hem motorlar için bir otorite sinyalidir. Gerçekten kullandığınız kaynakları bağlayın; bir çeyrek boyunca o sayfada hiçbir şey değişmezse eksik olan kaynak gösterimi değildi.

  19. Genel bağlantı metni (“buraya tıklayın” tarzı)

    DüşükSayfa başınaSEOonpage.generic-anchor-text

    Yanlışsa nasıl anlarız: Açıklayıcı bağlantı metinleri alaka taşır, genel olanlar bunu harcar. Değiştirin ve GSC'de bağlanan sayfaların sorgularını izleyin.

  20. Birden çok H1 öğesi

    DüşükSayfa başınaSEOonpage.h1-multiple

    Yanlışsa nasıl anlarız: Modern motorlar birden çok H1'i tolere eder; başlık çıkarımı gözle görülür biçimde bozulmadıkça bunu hijyen sayın.

  21. Başlık düzeyi atlanmış (örn. H2 → H4)

    DüşükSayfa başınaSEOAEOonpage.heading-skip

    Yanlışsa nasıl anlarız: Ana hat ayrıştırıcıları (ve yapay zekâ pasaj çıkarımı) sayfayı yine de doğru bölümlüyorsa atlama kozmetiktir.

  22. Yinelenen meta açıklamalar

    DüşükSite geneliSEOonpage.meta-description-duplicate

    Yanlışsa nasıl anlarız: Benzersiz açıklamalar sayfa başına snippet denetimini geri verir; motorlar snippet'i yine de yeniden yazıyorsa etki sınırlıdır.

  23. Meta açıklama 120-160 karakter bandının dışında

    DüşükSayfa başınaSEOonpage.meta-description-length

    Yanlışsa nasıl anlarız: Bant içinde Google daha az kısaltır ve daha seyrek yeniden yazar; SERP snippet'inden doğrulayın.

  24. Kendisine iç bağlantı olmayan sayfalar (taranan örneklem içinde)

    DüşükSite geneliSEOonpage.orphan-pages

    Yanlışsa nasıl anlarız: Tarama örneklemi bağlantı verenleri gizleyebilir; tam bir taramayla ya da GSC iç bağlantılar raporuyla doğrulayın, sonra bağlamsal bağlantılar ekleyip keşif/tarama sıklığını izleyin.

  25. Başlık 30 karakterden kısa

    DüşükSayfa başınaSEOonpage.title-too-short

    Yanlışsa nasıl anlarız: Kalite bandı 30-60 karakter; daha uzun ve açıklayıcı bir başlık SERP tıklama oranını ölçülebilir biçimde artırmalı.

  26. twitter:card meta etiketi yok

    DüşükSayfa başınaSEOonpage.twitter-card-missing

    Yanlışsa nasıl anlarız: Adresi X'te paylaşın: kart işaretlemesi olmadan önizleme bozulur, olduğunda özet kartı çizilir.

  27. Adres 100 karakterden uzun

    DüşükSayfa başınaSEOonpage.url-too-long

    Yanlışsa nasıl anlarız: Uzun adresler SERP'te kısaltılır ve daha az kopyalanıp bağlanır; slug'ı kısaltıp eskisini 301 ile yönlendirin.

İçerik 18 kontrol

  1. İlk sayfada sıralanıyor ama neredeyse hiç tıklanmıyor

    YüksekSayfa başınaSEOcontent.first-page-no-clicks

    Yanlışsa nasıl anlarız: Bu adres için Search Console'u açın: tıklama oranı kendi sorguları için normalse (markalı gezinme terimleri doğası gereği düşük olabilir) bu bulgu yanlıştır. Sayfa hiç hedeflememesi gereken sorgularda sıralanıyorsa da yanlıştır: o zaman düzeltilecek şey başlık değil hedeflemedir.

  2. Blog yazısının gövdesinde kazanç sayfasına bağlantı yok

    YüksekSayfa başınaSEOonpage.body-cta-missing

    Yanlışsa nasıl anlarız: Bu yazıların sonuna eylem çağrısı ekleyin; 4-6 haftada destekli dönüşümler ve iç bağlantı akışı kıpırdamazsa bulgu yanlıştı.

  3. Mobil sayfa masaüstünden çok daha az içerik gösteriyor

    YüksekSayfa başınaSEOAEOrender.mobile-content-parity

    Yanlışsa nasıl anlarız: Sayfayı 375px ve 1280px'te açıp görünen metni karşılaştırın. Mobil görünüm aynı içeriği taşıyorsa (yalnızca akordeon ya da sekme arkasına katlanmışsa: bu DOM'da var sayılır ama gizlidir; display:none olup olmadığına bakın) bu bulgu yanlıştır.

  4. Blog yazısında görünür yazar adı yok

    OrtaSayfa başınaSEOGEOcontent.byline-missing

    Yanlışsa nasıl anlarız: E-E-A-T göstergesi: adı ve kısa özgeçmişi olan imzalar ekleyin; 'editörlerimiz' imzalı anonim içerik yapay zekâ motorlarınca daha az alıntılanır.

  5. Tarama boyunca hiçbir yerde iletişim bilgisi yok (tel:/mailto: yok)

    OrtaSite geneliSEOGEOcontent.contact-info-missing

    Yanlışsa nasıl anlarız: Güven (E-E-A-T) tabanı: sitede bir yerde çalışan bir e-posta/telefon. Google'ın kalite kılavuzu ulaşılamayan işletmeleri düşük güvenli sayar.

  6. Gizlilik ya da kullanım şartları sayfası bulunamadı

    OrtaSite geneliSEOcontent.legal-pages-missing

    Yanlışsa nasıl anlarız: Gizlilik/şartlar sayfalarını yayımlayıp altbilgiden bağlayın; sayfalar varsa ve tarama onları kaçırdıysa bunu çözülmüş sayın, bu check yalnızca taramanın görebildiğini bildirir.

  7. Blog yazısı yayın tarihi göstermiyor

    OrtaSayfa başınaSEOGEOcontent.publish-date-missing

    Yanlışsa nasıl anlarız: Tazelik, yapay zekâ alıntısına uygunluğu belirler; makine okunabilir bir tarih (meta/time/şema) yazıyı tarihlenebilir kılar.

  8. Sayfalar çoğunlukla ortak şablon metni, özgün içerik az

    OrtaSite geneliSEOAEOcontent.template-heavy-pages

    Yanlışsa nasıl anlarız: Beş sayfaya, yalnızca o sayfada bulunabilecek 2-3 paragraf ekleyin (somut sayılar, yerel ayrıntı, birinci elden notlar); 6-8 haftada kendi sorgularındaki gösterimler kıpırdamazsa engel şablon oranı değildi.

  9. İnce içerikli sayfa (<300 kelime)

    OrtaSayfa başınaSEOAEOcontent.thin-content

    Yanlışsa nasıl anlarız: Genişletin ya da birleştirin; sayfa bu hâliyle sıralanıp dönüşüm getiriyorsa (yardımcı sayfa) bunu bilinçli olarak yeniden sınıflandırın.

  10. İlk mobil ekranda neredeyse hiç metin yok

    OrtaSayfa başınaSEOAEOrender.empty-first-screen

    Yanlışsa nasıl anlarız: Sayfayı 375x812'de açıp ilk ekranı okuyun. Kaydırmadan okunabilir metin varsa bu bulgu yanlıştır: metnin yalnızca istemci tarafı hidrasyondan sonra çizilip çizilmediğine bakın.

  11. Ana sayfa H1'i markadan söz etmiyor

    DüşükSite geneliGEOcontent.brand-inconsistent-h1

    Yanlışsa nasıl anlarız: Varlık netliği: yapay zekâ cevapları siteyi zaten doğru markaya atfediyorsa bu bulguyu atlayın.

  12. Uygulamalı içerikte birinci elden deneyim izi yok

    DüşükSayfa başınaSEOGEOcontent.first-hand-experience-missing

    Yanlışsa nasıl anlarız: E-E-A-T'nin ilk E'si deneyimdir: neyin gerçekten denendiğini hiç söylemeyen incelemeler ve nasıl-yapılır yazıları masa başı araştırması gibi okunur. Somut bir birinci elden pasaj ekleyin (ne yaptınız, ne oldu, hangi sayıyı ölçtünüz) ve 6-8 hafta sonra o sayfanın kendi sorgularındaki sıralamasını yeniden kontrol edin.

  13. İngilizce içerik zor okunuyor (Flesch 30'un altında)

    DüşükSayfa başınaSEOcontent.readability-hard

    Yanlışsa nasıl anlarız: Flesch yalnızca İngilizce için ayarlıdır, bu check başka dillerde hiç koşmaz. Cümleleri kısaltın ve yaygın kelimeleri tercih edin; etkileşim ölçüleri kıpırdamazsa sorun okunabilirlik değildi.

  14. Ticari sayfada müşteri kanıtı yok

    DüşükSite geneliSEOcontent.social-proof-missing

    Yanlışsa nasıl anlarız: Değerlendirmeler, referanslar ya da vaka örnekleri hem insanlar hem motorlar için güven sinyalidir. Gerçek olanları ekleyin (gerçekse Review/AggregateRating işaretlemesiyle): bir çeyrekte dönüşüm ve sıralama kıpırdamazsa eksik olan kanıt değildi. Asla uydurmayın.

  15. 12 aydan eski, görünür bir güncellemesi olmayan yazı

    DüşükSayfa başınaGEOcontent.stale-content

    Yanlışsa nasıl anlarız: 6+ ay bayat bırakılan sayfalar yapay zekâ alıntısına uygunluğunu kaybeder (SE Ranking); tazeleme + dateModified bunu geri getirmeli.

  16. Tıklanan sıraların hemen dışında sıralanıyor

    DüşükSayfa başınaSEOcontent.striking-distance

    Yanlışsa nasıl anlarız: Bu sayfanın arkasındaki sorgulara Search Console'dan bakın. Sayfanın amacıyla ilgisizlerse yukarı çıkmak işe yaramaz ve bu bir fırsat değildir. Sayfa mevcut sırasından zaten dönüşüm getiriyorsa öncelik rakamın gösterdiğinden düşüktür.

  17. Paragraflar 2-4 cümle ölçüsünün çok üstünde

    DüşükSayfa başınaAEOcontent.wall-of-text

    Yanlışsa nasıl anlarız: Kısa paragraflar yapay zekâ çıkarımı için yapısal bir sinyaldir; bölün ve pasaj düzeyindeki alıntıları izleyin.

  18. İçerik, sayfa türü için belirlenen kelime tabanının altında

    DüşükSayfa başınaSEOcontent.word-count-floor

    Yanlışsa nasıl anlarız: Tabanlar (ana sayfa 500 / hizmet 800 / blog 1500) rekabetçi ortancalardır, kanun değil; sayfa GSC'de kendi sorgu sınıfını zaten kazanıyorsa bunu bilinçli kısalık olarak yeniden sınıflandırın.

Şema 21 kontrol

  1. Product şemasında zorunlu alanlar eksik (name / image / offers)

    YüksekSayfa başınaSEOecom.product-required-fields

    Yanlışsa nasıl anlarız: Google satıcı listelemesi üçünü de zorunlu tutar; Rich Results Test de aynı eksik alanları bildirir.

  2. LocalBusiness şemasında zorunlu alanlar eksik (name / address)

    YüksekSayfa başınaSEOlocal.localbusiness-required

    Yanlışsa nasıl anlarız: Google'ın LocalBusiness belgeleri name + PostalAddress'i zorunlu tutar; Rich Results Test de aynısını bildirir.

  3. Article şemasında zorunlu alanlar eksik (image / datePublished / publisher.logo)

    YüksekSayfa başınaSEOGEOschema.article-required-fields

    Yanlışsa nasıl anlarız: Rich Results Test düzeltmeden önce eksik zorunlu alanları tek tek listeler, sonra geçer.

  4. Geçersiz JSON-LD (ayrıştırma hatası)

    YüksekSayfa başınaSEOGEOschema.jsonld-invalid

    Yanlışsa nasıl anlarız: Düzeltmeden sonra Rich Results Test geçmeli; öncesinde aynı ayrıştırma hatasını bildirir.

  5. Teklif alanları bozuk biçimde (price / currency / availability)

    OrtaSayfa başınaSEOecom.offer-format

    Yanlışsa nasıl anlarız: price sayısal olmalı (sembolsüz), priceCurrency ISO-4217, availability bir schema.org enum adresi, Rich Results Test her birini işaretler.

  6. aggregateRating içinde ratingValue ya da reviewCount eksik

    OrtaSayfa başınaSEOlocal.aggregaterating-fields

    Yanlışsa nasıl anlarız: Yıldızlı zengin sonuçlar için iki alan da zorunludur; Rich Results Test eksik olanı bildirir.

  7. Şemadaki telefon numarası sayfadaki numarayla aynı değil

    OrtaSayfa başınaSEOlocal.phone-mismatch

    Yanlışsa nasıl anlarız: Yerel sıralama tutarlı ad-adres-telefona bağlıdır. Görünen tel: bağlantısıyla şemadaki telephone'u aynı yapın; iki numara bilerek farklıysa (satış / destek) bunu bilinçli olarak yeniden sınıflandırın.

  8. Şema adresleri, yayındaki adresten farklı bir eğik çizgi biçimi kullanıyor

    OrtaSayfa başınaSEOschema.jsonld-url-slash-mismatch

    Yanlışsa nasıl anlarız: Şema adreslerini canonical biçimle hizalayın; Rich Results Test'teki varlık adresleri yayındaki adreslerle birebir eşleşmeli.

  9. Yapılandırılmış veride hijyen sorunları (context / göreli adres / yer tutucu / bozuk tarih)

    OrtaSayfa başınaSEOschema.markup-hygiene

    Yanlışsa nasıl anlarız: Rich Results Test tam olarak bu hata sınıflarını raporlar; temiz işaretleme sessizce doğrulanır.

  10. Ana sayfada Organization şeması yok

    OrtaSite geneliSEOGEOschema.organization-missing

    Yanlışsa nasıl anlarız: Varlık netliği: Organization (@id, logo, sameAs) var olduğunda ve makaleler ona işaret ettiğinde bilgi paneli/varlık sinyallerinin tutunacağı bir kök oluşur.

  11. SaaS sayfası SoftwareApplication yerine Product şeması kullanıyor

    OrtaSayfa başınaSEOGEOschema.product-on-saas

    Yanlışsa nasıl anlarız: Google'ın yazılım zengin sonuç belgeleri bu durum için Product'ı açıkça kabul ediyorsa bulguyu düşürün; aksi hâlde belgelenmiş tür SoftwareApplication'dır.

  12. İçerik sayfasında hiç yapılandırılmış veri yok

    OrtaSayfa başınaSEOGEOschema.structured-data-missing

    Yanlışsa nasıl anlarız: Rich Results Test düzeltmeden önce sıfır öğe algılar, sonra en az bir tane.

  13. Ürün teklifinde kargo ya da iade politikası bildirilmemiş

    DüşükSayfa başınaSEOecom.merchant-policies-missing

    Yanlışsa nasıl anlarız: Teklife shippingDetails ve hasMerchantReturnPolicy ekleyin; Search Console'un Satıcı listeleri raporu bunları eksik bildirmeyi bırakmalı ve kargo/iade açıklamaları uygun hale gelmeli.

  14. Product şeması, satıcıların eşleştirildiği alanları atlıyor

    DüşükSayfa başınaSEOecom.product-completeness

    Yanlışsa nasıl anlarız: brand, sku/gtin ve description, alışveriş yüzeylerinin bir ürünü eşleştirip göstermek için kullandığı alanlardır. Gerçekten sahip olduklarınızı ekleyin; satıcı listeleme raporları bunları işaretlemeyi bırakmalı.

  15. LocalBusiness koordinatları 4 ondalık basamağın altında

    DüşükSayfa başınaSEOlocal.geo-precision

    Yanlışsa nasıl anlarız: 4-5 ondalık ≈ 10 m doğruluk; daha kaba iğneler işletmeyi harita yüzeylerinde yanlış yere koyar, düzeltin ve harita iğnesini yeniden kontrol edin.

  16. LocalBusiness priceRange kısa sembolik bir aralık değil

    DüşükSayfa başınaSEOlocal.pricerange-format

    Yanlışsa nasıl anlarız: Google'ın kılavuzu “$$” ya da “₺₺-₺₺₺” gibi derli toplu bir gösterge bekler; cümle ya da tam fiyat listesi değil. Kısaltıp Rich Results Test'i yeniden koşun.

  17. Makale yazarı bir Person varlığı değil

    DüşükSayfa başınaSEOGEOschema.author-not-a-person

    Yanlışsa nasıl anlarız: Google'ın makale kılavuzu da yapay zekâ atfı da yazarları varlık olarak çözer. author alanına adı olan (tercihen url/sameAs da taşıyan) bir Person nesnesi verin; Rich Results Test artık düz metin yazar bildirmemeli.

  18. BlogPosting şemasında datePublished yok

    DüşükSayfa başınaSEOGEOschema.blogposting-missing-dates

    Yanlışsa nasıl anlarız: Tazelik, yapay zekâ alıntısına uygunluğu belirler; tarihli yazılar taze kaynak olarak çıkarılabilir.

  19. Kullanımdan kaldırılmış şema türleri kullanılıyor (HowTo / SpecialAnnouncement / …)

    DüşükSayfa başınaSEOschema.deprecated-types

    Yanlışsa nasıl anlarız: Google bu zengin sonuçları kaldırdı (HowTo 2023, SpecialAnnouncement 2025, SSS zengin sonuçları 2026); işaretleme hiçbir şey kazandırmıyor.

  20. Yapılandırılmış veri JSON-LD yerine Microdata/RDFa kullanıyor

    DüşükSayfa başınaSEOAEOschema.microdata-only

    Yanlışsa nasıl anlarız: Sayfayı Rich Results Test'e yapıştırın: varlık algılanıyor ve uygunsa işaretleme çalışıyordur ve bu bir kusur değil sürdürülebilirlik tercihidir. Google JSON-LD'yi önerir çünkü satır içi nitelikleri bozan şablon düzenlemelerinden etkilenmez.

  21. Organization şemasında sameAs bağlantısı yok

    DüşükSite geneliGEOSEOschema.organization-sameas-missing

    Yanlışsa nasıl anlarız: sameAs, bir motorun markanızı bildiği varlıkla (Wikipedia, LinkedIn, X, Crunchbase) eşleştirme yoludur. 2-4 gerçek profil adresi ekleyin; bir çeyrek sonra marka bahisleri hâlâ varlığınıza çözülmüyorsa boşluk başka yerdeydi.

Performans 6 kontrol

  1. İlk (büyük olasılıkla LCP) görsel geç yükleniyor

    OrtaSayfa başınaSEOimages.hero-image-lazy

    Yanlışsa nasıl anlarız: Hero görselini geç yüklemek LCP'yi bir gidiş-dönüş kadar geciktirir. İlk görünen görselden loading=lazy'yi kaldırın (fetchpriority=high ekleyin) ve LCP'yi bir izlemede ya da CrUX'ta önce/sonra karşılaştırın.

  2. Genişlik/yükseklik verilmemiş görseller (CLS riski)

    OrtaSayfa başınaSEOperformance.img-dimensions-missing

    Yanlışsa nasıl anlarız: Ayrılmış boyutlar geç düzen kaymalarını ortadan kaldırır; düzeltmeden sonra saha CLS verisi iyileşir.

  3. Ön yüklenen varlık sayfada hiç kullanılmıyor

    OrtaSayfa başınaSEOperformance.wasted-preload

    Yanlışsa nasıl anlarız: DevTools konsolu 'preloaded but not used within a few seconds' uyarısı verir, düzeltmeden önce görünür, sonra kaybolur.

  4. İçerik görsellerinde decoding=async yok

    DüşükSayfa başınaSEOimages.decoding-async-missing

    Yanlışsa nasıl anlarız: decoding=async, ana iş parçacığının görsel çözülmesini beklemeden boyamasını sağlar; ekleyin ve bir izlemede ana iş parçacığı çözme süresinin düştüğünü doğrulayın.

  5. Görsel yoğun sayfa bütün görselleri hemen yüklüyor

    DüşükSayfa başınaSEOimages.lazy-loading-missing

    Yanlışsa nasıl anlarız: Ekranın altındaki görsellere loading=lazy ekleyin; ilk yükte aktarılan bayt ölçülebilir biçimde düşer.

  6. Görseller çoğunlukla JPEG/PNG; duyarlı ya da modern sunum yok

    DüşükSayfa başınaSEOperformance.legacy-image-formats

    Yanlışsa nasıl anlarız: WebP/AVIF ya da srcset görsel baytlarını %30-70 azaltır; görsel başına aktarım boyutu doğrulanabilir biçimde düşer.

AEO 8 kontrol

  1. Soru başlıkları bütün yazılarda aynı şablon metni

    OrtaSite geneliAEOGEOaeo.boilerplate-question-headings

    Yanlışsa nasıl anlarız: 5 yazıda şablon soruları sayfaya özgü sorularla değiştirin; 4-6 hafta içinde yapay zekâ cevapları o bölümleri alıntılamaya başlarsa engel benzerlikti, başlamazsa bunu tasarım tercihi olarak yeniden sınıflandırın.

  2. Uzun içerikte liste ya da tablo yok

    OrtaSayfa başınaAEOGEOaeo.no-extractable-structure

    Yanlışsa nasıl anlarız: Yapay zekâ cevapları çıkarılabilir blokları tercih eder; en çok okunan sayfalara liste/tablo ekleyin ve o sorgulardaki alıntı payını izleyin.

  3. Etkileşimli olmayan öğelerde tıklama işleyicisi (ajana görünmez)

    DüşükSayfa başınaAEOGEOaeo.div-onclick

    Yanlışsa nasıl anlarız: Yapay zekâ ajanları ve ekran okuyucular gerçek <a>/<button> üzerinden davranır; onclick taşıyan bir div ikisine de görünmez.

  4. Sayfada SSS içeriği var ama FAQPage şeması yok

    DüşükSayfa başınaAEOaeo.faq-schema-without-questions

    Yanlışsa nasıl anlarız: Sayfanın soru-cevap bloğu şemasız da yapay zekâ alıntısı alıyorsa işaretleme isteğe bağlı bir pekiştirmedir.

  5. Açılış paragrafı cevabı gömüyor (BLUF)

    DüşükSayfa başınaAEOGEOaeo.first-answer-too-long

    Yanlışsa nasıl anlarız: Yapay zekâ alıntılarının %44'ü sayfanın ilk %30'undan gelir; 40-60 kelimelik bir cevabı öne alın ve alıntı payını izleyin.

  6. Etiketsiz form alanları

    DüşükSayfa başınaAEOaeo.inputs-unlabeled

    Yanlışsa nasıl anlarız: Etiketli alanlar ajanlar ve yardımcı teknolojiler tarafından kullanılabilir; erişilebilirlik denetimi de aynı alanları işaretler.

  7. <main>/<article> işareti yok

    DüşükSayfa başınaAEOGEOaeo.no-main-landmark

    Yanlışsa nasıl anlarız: İşaretler, çıkarıcıların asıl içeriği kenar öğelerinden ayırmasını sağlar; şablon ayıklama kalitesi ölçülebilir biçimde artar.

  8. İçerik sayfasında soru biçiminde başlık yok

    DüşükSayfa başınaAEOaeo.no-question-headings

    Yanlışsa nasıl anlarız: Soru başlıkları sorgu kalıplarıyla eşleşir; bu sayfalar zaten PAA/yapay zekâ cevaplarında alıntılanıyorsa yapı yeterlidir.

GEO 15 kontrol

  1. robots.txt'te yapay zekâ tarayıcıları engelli

    KritikSite geneliGEOAEOgeo.ai-crawler-blocked

    Yanlışsa nasıl anlarız: Engelleme bilinçli bir lisans kararıysa bunu politika olarak yeniden sınıflandırın; değilse engeli kaldırdığınızda kayıtlarda yapay zekâ tarayıcısı isteklerinin görünmesi gerekir.

  2. İçerik yapay zekâ tarayıcılarına görünmüyor (istemci tarafında üretiliyor)

    KritikSite geneliGEOAEOSEOgeo.content-invisible-to-ai

    Yanlışsa nasıl anlarız: Adresi curl ile çekin: cevap içeriği ham HTML'de yoksa JavaScript çalıştırmayan hiçbir ajan onu alıntılayamaz. SSR/prerender bunu ölçülebilir biçimde düzeltir.

  3. Karşılaştırma amaçlı sayfada karşılaştırma tablosu yok

    YüksekSayfa başınaGEOAEOgeo.comparison-table-missing

    Yanlışsa nasıl anlarız: Bir HTML tablosu ekleyin; 'X vs Y / X alternatifleri' sorgularındaki yapay zekâ cevapları 4-6 hafta sonra da sayfayı hiç alıntılamıyorsa engel yapı değildi.

  4. Snippet denetimleri motorların sayfadan alıntı yapmasını engelliyor

    YüksekSayfa başınaGEOAEOSEOgeo.snippets-suppressed

    Yanlışsa nasıl anlarız: nosnippet / max-snippet:0 / data-nosnippet, motorlara metni alıntılayamayacaklarını söyler, oysa bir yapay zekâ cevabının ihtiyacı tam olarak budur. Kaldırın ve sayfanın cevaplarda alıntılanabilir hale gelip gelmediğine bakın.

  5. Soru amaçlı sayfa açılış pasajında cevap vermiyor

    OrtaSayfa başınaGEOAEOgeo.direct-answer-missing

    Yanlışsa nasıl anlarız: Motorların çıkardığı şey öne alınmış cevaptır (ilk 40-60 kelime); doğrudan cevabı metnin en üstüne taşıyın ve o sorgu için yapay zekâ cevaplarını yeniden kontrol edin.

  6. Hiçbir bölüm alıntılanabilir pasaj aralığında değil (~134-167 kelime)

    DüşükSayfa başınaGEOgeo.citable-passage-band

    Yanlışsa nasıl anlarız: Parça bölümleri birleştirin, dev bölümleri bölün; hedef 100-200 kelimelik pasajlar. Sayfanın yapay zekâ alıntısı 4-6 haftada kıpırdamıyorsa engel pasaj boyu değildi.

  7. Tanım sayfası bir tanım cümlesiyle başlamıyor

    DüşükSayfa başınaGEOAEOgeo.definition-pattern-missing

    Yanlışsa nasıl anlarız: Cevap motorları terimi tanımlayan cümleyi alır. Açılışı “X ...dır / X, ...” biçiminde yeniden yazın ve 4-6 hafta içinde sayfanın tanım cevaplarında görünmeye başlayıp başlamadığına bakın.

  8. ProvenVisible IndexNow anahtarınız kurulu değil

    DüşükSite geneliSEOGEOgeo.indexnow-missing

    Yanlışsa nasıl anlarız: Üretilen anahtar dosyasını yayımlayıp bir kez ping atın: Bing Webmaster Tools'un IndexNow raporu günler içinde alınan gönderimleri göstermeli. IndexNow'ı zaten başka bir araçla kullanıyorsanız ya da motorlarınız yok sayıyorsa bu bulguyu kapatın.

  9. llms.txt yok

    DüşükSite geneliGEOgeo.llmstxt-missing

    Yanlışsa nasıl anlarız: Google, llms.txt'i sıralama girdisi olarak açıkça reddediyor; değeri onu okuyan Google dışı ajanlarla sınırlı. Hedef motorlarınızın hiçbiri onu çekmiyorsa (sunucu kayıtları) bu bulguyu atlayın.

  10. Bölümlere ayrılmış yazıda soru biçiminde başlık yok

    DüşükSayfa başınaAEOGEOgeo.question-headings-missing

    Yanlışsa nasıl anlarız: Yapay zekâ cevap motorları soru biçimli H2/H3'leri kullanıcı sorgularıyla eşler; 2-3 başlığı soru olarak yeniden yazın ve o bölümlerin pasaj düzeyindeki alıntılarını izleyin.

  11. Uzun yazıda alıntılanabilir somut rakam yok

    DüşükSayfa başınaGEOAEOgeo.quotable-facts-missing

    Yanlışsa nasıl anlarız: Cevap motorları somut sayıları (yüzde, fiyat, süre, tarih) alıntılar. Kaynağıyla birlikte 2-3 gerçek rakam ekleyin; 4-6 hafta sonra sayfa hâlâ cevaplarda görünmüyorsa engel alıntılanabilirlik değildi.

  12. robots.txt eksik ya da bozuk bir RSL lisansı duyuruyor

    DüşükSite geneliGEOgeo.rsl-license-broken

    Yanlışsa nasıl anlarız: robots.txt'teki License: adresini açın: kökü https://rslstandard.org/rsl ad alanında <rsl> olan, en az bir <content> ve <license> içeren bir XML belgesi dönmelidir. Dönüyorsa ve bu bulgu hâlâ çıkıyorsa check yanlıştır.

  13. RSL lisans belgeniz sıradan istemcileri reddediyor

    DüşükSite geneligeo.rsl-license-unreadable

    Yanlışsa nasıl anlarız: License: adresini curl ile (tarayıcı başlıkları olmadan) çekin. XML dönüyorsa sorun çözülmüştür; bizde olduğu gibi 403 dönüyorsa lisansınızın yazıldığı tarayıcılar da onu okuyamaz.

  14. RSL lisansınız bu içeriğin yapay zekâ tarafından kullanılmasını yasaklıyor

    DüşükSite geneligeo.rsl-prohibits-ai

    Yanlışsa nasıl anlarız: Bu bir kusur değil lisans kararıdır: dosya, cevap motorlarının içeriğinizi kullanamayacağını söylüyor. Yapay zekâ görünürlüğü istiyorsanız <prohibits type=… satırını değiştirin; istemiyorsanız bu bulguyu politika olarak yeniden sınıflandırın.

Bu sayfa canlı kontrol listesinden üretilir; denetimin çalıştırdığı kuralları her zaman birebir gösterir.