Tüm kontroller
Taramanın baktığı bütün kontroller, gruplarıyla.
111 kontrol, 12 grup. Aşağıdaki liste taramanın baktığı her şeyi içerir. Her kontrolün kodu, raporda ve CSV/Excel dosyalarında aynen görünür.
Eşik değerleri adlarda yazar (ör. <100 karakter). Bir bulgunun önemi (Hata, Uyarı, Bilgi) ölçülen değere göre belirlenir: örneğin başlık 61–70 karakterde bilgi, 70’in üstünde uyarıdır. Bu yüzden listede tek bir sabit önem sütunu yok.
#Başlık ve açıklama
- Başlık (title) yok
title-yokArama sonucundaki mavi başlık buradan gelir; yoksa Google kendisi uydurur.
- Başlık kısa (<30)
title-kisaKısa başlık arama sonucunda az yer kaplar, anahtar kelimeleri taşımaz.
- Başlık uzun (>60 bilgi, >70 uyarı)
title-uzunArama sonucunda kesilir; önemli kısım başa alınmalı. 61–70 karakter bilgi, 70 üstü uyarıdır.
- Birden fazla title
title-cokluGoogle hangisini kullanacağını kendisi seçer.
- Tekrarlanan başlık
title-tekrarAynı başlıklı sayfalar birbiriyle yarışır; Google hangisini göstereceğini ayırt edemez.
- Meta açıklama yok
meta-yokArama sonucundaki açıklama metni sayfadan rastgele seçilir.
- Meta açıklama kısa (<100)
meta-kisaArama sonucundaki alanı doldurmaz; tıklama oranını düşürebilir.
- Meta açıklama cümle ortasında bitiyor
meta-kesikBilgi: açıklama "…in which." ya da "…ve" gibi yarım bir ifadeyle bitiyor; arama sonucunda eksik görünür, metin tamamlanmalı.
- Meta açıklama uzun (>160)
meta-uzunArama sonucunda kesilir.
- Birden fazla meta açıklama
meta-cokluGoogle hangisini kullanacağını kendisi seçer.
- Tekrarlanan meta açıklama
meta-tekrarSayfaları arama sonucunda birbirinden ayırt etmeyi zorlaştırır.
- H1 yok
h1-yokSayfanın ana konusunu belirten başlık eksik.
- Birden fazla H1
h1-cokluGenelde sorun değil; ana konu tek H1'de olmalı.
- Boş H1
h1-bosİçi boş başlık etiketi; büyük olasılıkla şablon hatası.
- Başlıklara eklenen ortak ek başlıkları uzatıyor
title-ortak-ekŞablon her başlığa aynı uzun eki ekliyor; arama sonucunda başlık kesilir. Tek ayarla kısaltılır. Ek olmadan da uzun olan sayfalar ayrıca 'başlık uzun' alır.
- Başlık düzeyi atlıyor
baslik-atlamaBilgi: H2'den sonra H4 gibi atlamalar içerik yapısını bozar; ekran okuyucular ve botlar hiyerarşiyi kaybeder.
- Şablonla üretilmiş meta açıklama
sablon-metaBilgi: açıklama başlığı tekrarlayıp hep aynı kapanışla bitiyorsa her sayfaya özgü değerini kaybeder.
#Dizinleme
- Dizine kapalı (noindex)
noindexGoogle bu sayfayı göstermez. Bilerek yapıldıysa sorun değil.
- Dizine kapalı, kanoniği dizinlenebilir başka sayfa (bilinçli olabilir)
noindex-kanonik-acikSayfa noindex ama kanoniği 200 dönen, dizinlenebilir başka bir adresi gösteriyor; kopya/filtre sayfalarında sık görülen bilinçli bir düzen. Bilerek değilse noindex ile kanonik birlikte gereksiz.
- Kanonik etiketi yok
kanonik-yokParametreli ya da kopya adreslerde Google'ın asıl sayfayı seçmesi zorlaşır.
- Kanonik başka adresi gösteriyor
kanonik-baskaBu sayfa dizinde yer almaz, gösterdiği adres alır. Bilerek değilse hata.
- Parametreli kopyalar kanonikle doğru bağlanmış
kanonik-parametreli-ozetiBilgi: ?sort= gibi parametreli adresler kanonikle asıl sayfaya bağlanmış; doğru kurulum. Bu adreslerde başlık/açıklama gibi arama kontrolleri yapılmadı.
- Birden fazla kanonik
kanonik-cokluÇelişkili kanoniklerde Google hepsini yok sayar.
- Kanonik hedefi bozuk
kanonik-hedef-hataliKanonik, 200 dönmeyen ya da noindex bir sayfayı gösteriyor.
#Çok dil
- Geçersiz hreflang kodu
hreflang-gecersiz-kodGoogle tanımadığı dil kodunu yok sayar.
- Aynı dil kodu birden fazla
hreflang-tekrarBir dil için tek adres olmalı.
- hreflang'de sayfanın kendisi yok
hreflang-kendisi-yokHer dil sürümü kendisini de listelemeli.
- x-default yok
hreflang-x-default-yokDil eşleşmeyen ziyaretçinin gideceği sürüm belirtilmemiş.
- hreflang hedefi bozuk
hreflang-hedef-hataliGösterilen dil sürümü 200 dönmüyor ya da noindex.
- hreflang karşılıklı değil
hreflang-karsilik-yokB sürümü A'yı geri göstermiyorsa Google ikisini eşleştirmez.
- Başlık çevrilmemiş
yerellestirilmemis-baslikDil sürümünün başlığı başka dildeki sürümle aynı ya da İngilizce kalmış; o dildeki aramalarda sayfa zayıf eşleşir.
- Meta açıklama çevrilmemiş
yerellestirilmemis-metaAçıklama başka dildeki sürümle aynı ya da İngilizce kalmış; arama sonucunda yabancı metin görünür.
- html lang ile hreflang çelişiyor
dil-kodu-celiskiSayfa kendi dilini iki yerde farklı söylüyor; Google hangisine güveneceğini bilemez.
#İç bağlantılar
- Kırık iç bağlantı
ic-baglanti-kirikSayfa, 4xx/5xx veren bir adrese bağlantı veriyor.
- Yönlendirmeye giden iç bağlantı
ic-baglanti-yonlendirmeHer yönlendirme tarama bütçesini harcar; bağlantı son adresi göstermeli.
- Yetim sayfa
yetimSite haritasında var ama hiçbir sayfa bağlantı vermiyor; Google önemsiz sayar.
- Menüde/şablonda kırık bağlantı
sablon-kirik-baglantiKırık bir hedefe sayfaların büyük çoğunluğundan bağlantı veriliyor; menü, üst ya da alt bilgi gibi şablondan geliyor. Tek yerden düzeltilir ve tüm sayfalardaki 'kırık iç bağlantı' bulguları birlikte kalkar.
- Menüde/şablonda yönlendirmeye giden bağlantı
sablon-yonlendirme-baglantiYönlendirmeye giden bir adrese sayfaların büyük çoğunluğundan bağlantı veriliyor (menü, üst ya da alt bilgi). Tek yerden, bağlantıyı son adrese çevirerek düzeltilir.
- Tek iç bağlantılı sayfa
tek-ic-baglantiYalnız bir sayfadan bağlantı alıyor; daha fazla iç bağlantı sıralamaya yardım eder.
- İç bağlantı nofollow
nofollow-ic-baglantiBilgi: kendi sayfalarınıza verilen nofollow bağlantı değeri aktarmaz. sponsored/ugc işaretli bağlantılar (kasıtlı) ve dış bağlantılar sayılmaz.
- Derin sayfa (>3 tık)
derin-sayfaAna sayfadan uzak sayfalar daha seyrek taranır ve daha az değer alır.
- Jenerik bağlantı metni
jenerik-baglanti-metniBilgi: 'tıklayın', 'devamı' gibi metinler hedef sayfanın konusunu Google'a anlatmaz.
#Site haritası
- Site haritasında yok
harita-disiDizinlenebilir sayfa haritada yok; Google'ın bulması gecikebilir.
- Haritada hatalı adres
harita-4xx-5xxSite haritası yalnız 200 dönen, dizinlenebilir adresleri içermeli.
- Haritada yönlenen adres
harita-3xxHaritada son adres yer almalı, yönlendiren değil.
- Haritada noindex sayfa
harita-noindexÇelişkili sinyal: haritada 'dizinle', sayfada 'dizinleme' deniyor.
- Haritada kanonik olmayan adres
harita-kanonik-degilHaritada yalnız kanonik adresler olmalı.
- Site haritası okunamıyor
harita-erisilemiyorrobots.txt'de bildirilen harita 404/5xx veriyor; Google sayfaları bu yoldan keşfedemez.
- Site haritası geçerli XML değil
harita-xml-bozukBozuk harita Google tarafından okunamaz ya da yarım okunur.
- Site haritası sınırı aşıyor
harita-boyutTek harita en fazla 50.000 adres ve 50 MB olabilir; fazlası yok sayılır, harita dizinine bölünmeli.
- Haritada lastmod hep aynı
harita-lastmod-ayniBilgi: gerçek değişiklik tarihi vermeyen lastmod'a Google güvenmez ve yok sayar.
- Haritada http:// adres
harita-http-adresSite https iken haritada http adresi olması yönlendirme ve kopya sorunu yaratır.
- Haritada başka alan adı
harita-baska-alanHarita yalnız kendi alan adının adreslerini içerebilir; diğerleri yok sayılır.
#Durum
- Sunucu hatası (5xx)
durum-5xxGoogle hata veren sayfayı dizinden çıkarır; sık tekrarlanırsa tarama hızını düşürür.
- Bulunamayan sayfa (4xx)
durum-4xxZiyaretçi ve Google boş sayfaya düşer; bu adrese verilen bağlantıların değeri boşa gider.
- Yönlendirme (3xx)
durum-3xxTek başına sorun değil; ama iç bağlantılar ve site haritası doğrudan son adresi göstermeli.
- Yanıt alınamadı
istek-basarisizZaman aşımı ya da bağlantı hatası; sunucu yavaş ya da erişilemez olabilir.
- Boş yanıt (200, 0 bayt)
bos-yanitSunucu başarılı kod döndürüyor ama sayfada hiçbir şey yok; Google bunu 'yumuşak 404' sayabilir. Sayfa ya olmalı ya da 404 dönmeli. Aynı sayfa için başlık/açıklama/H1 eksikliği ayrıca yazılmaz.
#Görseller
- Görselde alt metni yok
gorsel-alt-yokGörsel aramasında ve ekran okuyucularda görselin ne olduğu anlaşılmaz. (alt="" dekoratif sayılır, bulgu değildir.)
- Görselde width/height yok
gorsel-boyut-yokGörsel yüklenince sayfa kayabilir (CLS); tarayıcı yer ayıramaz. Kaplama sınıfı (absolute inset-0) ya da aspect-* ile yer ayrılmış görseller sayılmaz.
- Görseller WebP/AVIF değil
gorsel-eski-bicim-ozetiModern biçimler aynı kalitede belirgin küçüktür; sayfa daha hızlı açılır. Sunucu ya da görsel hattı WebP/AVIF üretmeli.
- Büyük görsel (>200 KB)
gorsel-buyukSayfa yüklemesini yavaşlatır, mobil veri harcar.
- Çok büyük görsel (>500 KB)
gorsel-cok-buyukSayfanın hızını ciddi düşürür (LCP); sıkıştırılmalı ya da küçültülmeli.
- Görsel boyut özeti
gorsel-boyut-ozetiBilgi: sitedeki benzersiz görsellerin HEAD ile ölçülen toplam ve en büyük boyutları.
- İlk görsel lazy yükleniyor
ilk-gorsel-lazyEkranın üstündeki görsele loading=lazy verilirse en büyük içerik (LCP) geç yüklenir.
#Yapısal veri
- JSON-LD bozuk
jsonld-bozukAyrıştırılamayan yapısal veri Google tarafından tümüyle yok sayılır.
- JSON-LD @context eksik
jsonld-baglam@context https://schema.org olmazsa işaretleme şema olarak tanınmaz.
- JSON-LD @type eksik
jsonld-tip-yokTürü belirtilmeyen varlık hangi zengin sonuca uygun olduğu anlaşılamadığı için kullanılmaz.
- JSON-LD'de yer tutucu metin
jsonld-yer-tutuculorem ipsum / TODO / example.com gibi değerler şablondan kalmış; yanlış bilgi yayınlar.
- JSON-LD'de göreli adres
jsonld-goreli-adresurl/image/logo alanları mutlak adres olmalı; göreli adres doğrulamada hata verir.
- Zengin sonucu kalkmış şema türleri
jsonld-kalkmis-tip-ozetiBilgi: bu türler artık Google'da zengin sonuç vermiyor. Zararsız; silmek gerekmez.
- Open Graph etiketi eksik
og-eksikSosyal ağlarda ve mesajlaşmada paylaşılan bağlantının başlığı/görseli bozuk ya da rastgele çıkar.
- og:url sayfa adresinden farklı
og-url-farkliPaylaşımlar ve beğeniler yanlış adrese yazılır; çoğunlukla şablondan kalan hatadır.
- twitter:card yok
twitter-card-yokBilgi: X/Twitter'da paylaşımda büyük görselli kart çıkmaz.
#Teknik
- robots.txt sunucu hatası
robots-5xxrobots.txt 5xx dönerse Google siteyi taramayı durdurabilir.
- robots.txt yok
robots-yokZorunlu değil; ama tarama kuralları ve site haritası bildirilemez.
- robots.txt okunamadı
robots-okunamadirobots.txt'ye ulaşılamadı; kurallar denetlenemedi.
- Googlebot tüm siteden engelli
robots-googlebot-engellirobots.txt kök dizini kapatıyor; site Google'da görünmez. Geliştirme ayarı kalmış olabilir.
- robots.txt'de Sitemap satırı yok
robots-sitemap-yokArama motorlarının site haritasını bulması için en kolay yol bu satırdır.
- Yapay zekâ botları engelli
robots-ai-engelliBilgi: bu botlar sitenizi okuyamaz, yapay zekâ yanıtlarında yer almanız azalır. Bilinçli bir tercih olabilir.
- CSS/JS robots.txt ile engelli
robots-css-js-engelliGoogle sayfayı görsel olarak oluşturamaz; mobil uyumluluk ve içerik yanlış değerlendirilebilir.
- Yönlendirme zinciri (≥2 atlama)
yonlendirme-zinciriHer atlama yavaşlatır ve tarama bütçesi harcar; bağlantı değeri her atlamada azalabilir.
- Yönlendirme döngüsü
yonlendirme-dongusuSayfa hiçbir zaman açılmaz; ziyaretçi ve Google hata görür.
- http sürümü https'e yönlenmiyor
http-https-yonlendirme-yokAynı içerik iki adreste yayında; sıralama sinyalleri bölünür, ziyaretçi güvensiz sürümde kalır.
- Ana adres yönlendirme zinciri
ana-adres-zinciriZiyaretçi ve Google ana sayfaya birden çok atlamayla ulaşır; https'ten http'ye düşüş güvenlik uyarısına ve bağlantı değeri kaybına yol açar.
- Ana adres başka siteye gidiyor
baslangic-dis-yonlendirmeGirilen alan adı başka bir siteye yönlendiriyor; bu alan adında taranacak sayfa yok ya da çok az.
- Tarama kanonik alan adından yapıldı
baslangic-kanonik-gecisGirilen alan adı açılıyor ama sayfalar kanonik olarak www'li/www'siz öbür hâli gösteriyor; tarama Google'ın dizinleyeceği alan adından yapıldı.
- http→https birden fazla atlamada
http-https-zincirİlk ziyaret gereksiz yavaşlar; tek 301 yeterli.
- www / çıplak alan adı yönlenmiyor
www-yonlendirme-yokSite iki alan adında birden açılıyor; kopya içerik ve bölünmüş sinyal riski.
- Viewport meta yok
viewport-yokMobilde sayfa masaüstü genişliğinde açılır; Google mobil öncelikli dizinler.
- HTML 2 MB'ı aşıyor
html-buyukGooglebot HTML'in yalnız ilk 2 MB'ını işler; sonrasındaki içerik ve bağlantılar görülmez.
- Sayfa script ile yönlendiriyor
istemci-yonlendirmeBilgi: içeriksiz sayfa JavaScript ile (location.replace) başka adrese yolluyor. Botlar ve bağlantı değeri için sunucu tarafı 301/302 daha güvenilir.
- Ham HTML'de içerik yok (JS kabuğu)
js-kabukİçerik yalnız JavaScript ile geliyorsa botlar ve yapay zekâ tarayıcıları boş sayfa görür. Yalnız gövde boş bir uygulama kökünden ibaretse ya da hiç metin yoksa verilir; kısa ama gerçek metinli sayfalar 'ince içerik' olur.
- Sunucu yanıt süresi dağılımı
yanit-suresi-ozetiSitenin geneli: ortanca ve %90'lık yanıt süresi. Tek sayfanın anlık dalgalanması değil, örüntü; sayfalar yeniden ölçülerek değerlendirilir.
- Render'ı engelleyen script
render-engelleyen-script<head>'deki async/defer olmayan script'ler sayfanın görünmesini geciktirir (LCP).
- Sunucu yanıtı yavaş (TTFB)
yavas-yanitYavaş sunucu hem kullanıcıyı hem Google'ın tarama hızını düşürür.
- Uzun adres (>100 karakter)
url-uzunUzun adresler paylaşılması ve okunması zor; arama sonucunda kesilir.
- Adreste büyük harf
url-buyuk-harf/Sayfa ile /sayfa farklı adres sayılabilir; kopya içerik riski.
- Adreste alt çizgi
url-alt-cizgiGoogle kelime ayırıcı olarak tireyi tercih eder; alt çizgi kelimeleri birleştirir.
- Parametreli adres dizinlenebilir
url-parametreliParametreli adresler aynı içeriği çoğaltabilir; kanonik asıl adresi göstermeli.
- Sondaki / tutarsız
sonda-egik-cizgi-tutarsizAynı sayfa /a ve /a/ adreslerinde ayrı ayrı açılıyor; biri diğerine yönlenmeli.
#Güvenlik
- Klasör dosya listesi herkese açık
dizin-listesi-acikSunucu 'Index of /…' sayfasıyla klasördeki tüm dosyaları gösteriyor; yedek, yapılandırma ya da özel dosyalar sızabilir. Dizin listelemeyi kapatın (Options -Indexes) ya da klasöre index sayfası koyun.
- Ortak http kaynak (karışık içerik)
sablon-karisik-icerikAynı http:// kaynak (şablondaki görsel, reklam, gömülü harita) çok sayıda https sayfada yükleniyor. Tek yerden düzeltilir ve o sayfalardaki 'karışık içerik' bulguları birlikte kalkar.
- Karışık içerik (http kaynak)
karisik-icerikhttps sayfa http:// kaynak yüklüyor; tarayıcı engelleyebilir ya da 'güvenli değil' uyarısı verir.
- HSTS başlığı yok
baslik-hsts-yokTarayıcı siteye her zaman https ile bağlanmayı öğrenmez; ilk ziyarette http'ye düşebilir.
- X-Content-Type-Options yok
baslik-xcto-yokTarayıcı dosya türünü tahmin edebilir; 'nosniff' bunu kapatır.
- Referrer-Policy yok
baslik-referrer-yokBaşka sitelere giderken tam sayfa adresi (parametreler dahil) aktarılabilir.
- Content-Security-Policy yok
baslik-csp-yokBilgi: XSS saldırılarına karşı ek koruma katmanı eksik. SEO'yu doğrudan etkilemez.
#Tarama
- Hız sınırına takıldı
tarama-hiz-siniriSunucu 429 döndü. Sitenin sorunu değil, tarayıcının; bu sayfalar denetlenemedi.
- Tarama sayfa sınırında durdu
tarama-sinira-takildiBilgi: sitenin bir kısmı taranmadı; rapordaki sayılar sitenin tamamını yansıtmaz.
#İçerik
- İnce içerik (<200 kelime)
ince-icerikAz metinli sayfalar sıralamada zayıf kalır. İletişim, gizlilik, etiket, sepet gibi yardımcı sayfalarda bilgi düzeyinde verilir (kısa olması doğal); bilerek kısa başka bir sayfa 'bilinçli' işaretlenebilir.