Denetim kuralları
Site denetiminin baktığı 95 kuralın tam listesi. Her kuralın ne demek olduğunu ve nasıl düzelteceğinizi buradan okursunuz.
Site denetimi her sayfaya ve sitenin bütününe 95 kuralla bakar. Kurallar üç gruba ayrılır. Kritik (10 kural), Google'ın sayfayı göremediği ya da anlayamadığı durumlardır. Önce bunları düzeltin. Uyarı (48 kural) sıralamayı ve tıklamayı yavaş yavaş düşürür. Bilgi (37 kural) küçük iyileştirme fırsatlarını gösterir. Puanda kritik 40, uyarı 15, bilgi 3 ağırlığındadır. Bir kuralın kaç sayfayı etkilediği de puana girer.
Tabloda her kuralın ekrandaki adını, ne demek olduğunu ve düzeltmenin ilk adımını görürsünüz. Tam düzeltme metni ekrandaki bulgu kartındadır. Son sütun, CSV dosyasında ve asistan yanıtlarında görünen kural kimliğidir.
Sık geçen sözler
- canonical: Google'a "asıl adres bu" demenin yolu.
- noindex: sayfayı aramadan gizleyen etiket.
- hreflang: dil sürümü etiketi. Sayfanın başka dillerdeki karşılığını gösterir.
- meta açıklama: arama sonucunda başlığın altındaki gri özet.
- yapısal veri (JSON-LD): Google'a sayfanın ne olduğunu (ürün, yazı gibi) anlatan gizli not. Aramada yıldız ya da görsel gibi ek öğeler çıkarabilir (zengin sonuç).
- robots.txt: Google'a hangi sayfalara girebileceğini söyleyen dosya. "Disallow" satırı yasak koyan satırdır.
- site haritası: sitenizdeki sayfaların listesi. lastmod: sayfanın son değişiklik tarihi.
- yönlendirme: bir adrese gelenleri başka adrese göndermek.
- kullanıcı aracısı: tarayıcının kendini tanıttığı ad.
- title (başlık etiketi): sekmede ve aramada görünen başlık. H1: sayfanın ana başlığı. alt metin: görselin ne gösterdiğini anlatan kısa yazı.
- nofollow: "bu bağlantıyı izleme" diyen etiket. head: sayfa kaynağının üst bölümü.
- LCP: sayfanın ana içeriğinin görünme süresi. CLS: yüklenirken içeriğin kayması. INP: tıklamaya yanıt süresi.
- Lighthouse: Google'ın sayfa ölçüm aracı. SSL sertifikası: sitenizi https (güvenli adres) yapan belge.
Kritik
| Kural | Ne demek | Nasıl düzeltilir | Kimlik |
|---|---|---|---|
| Tarama robotu engellendi | Sitenizin bot koruması tarayıcıyı durdurdu. Google da engellenebilir. | Güvenlik duvarında "seotracker-audit" kullanıcı aracısına izin verin. | blocked-page |
| Sunucu hatası (5xx) | Sayfa sunucu hatası veriyor. Google böyle sayfaları aramadan çıkarır. | Sunucu kayıtlarında bu adresin hatasını bulup giderin. | server-error |
| robots.txt dosyası sunucu hatası veriyor | Google dosyayı okuyamazsa siteyi taramayı tamamen bırakabilir. | Hatayı giderin. robots.txt adresinin normal açıldığını kontrol edin. | robots-txt-server-error |
| Başlangıç adresi robots.txt ile engellenmiş | Taramanın başladığı adres robots.txt'te yasaklı. | Taranması gerekiyorsa ilgili "Disallow" satırını silin. | robots-txt-blocks-start-url |
| Site haritasındaki sayfa açılmıyor | Google'a "bu sayfa var" dediğiniz sayfa hata veriyor. | Sayfa olmalıysa hatayı giderin. Olmayacaksa site haritasından çıkarın. | sitemap-broken-page |
| Sayfanın ihtiyaç duyduğu dosya robots.txt ile engellenmiş | Google sayfayı görüntülemek için gereken tasarım ya da kod dosyasına ulaşamıyor. | robots.txt'te bu dosyaları kapsayan kuralı silin. | blocked-resource |
| Güvenli sayfada güvensiz kaynak | Güvenli (https) sayfa bir dosyayı güvensiz (http) adresten yüklüyor. Tarayıcılar bunu engeller. | Dosyanın adresini https ile başlayacak şekilde değiştirin. | mixed-content-resource |
| Asıl adres olarak gizlenmiş bir sayfa gösterilmiş | Asıl adres olarak gösterilen sayfa aramadan gizli. İkisi birbirini iptal eder. | Hedef sayfadaki noindex'i kaldırın ya da asıl adresi sayfanın kendi adresi yapın. | canonical-to-noindex |
| Google sayfayı boş sayıyor (soft 404) | Google sayfayı "yok" sayıyor ve aramaya almıyor. | Sayfa gerçekten yoksa 404 ya da 410 hata kodu verin. Varsa gerçek içerik koyun. | google-soft-404 |
| Google sayfayı robots.txt yüzünden tarayamıyor | Google'ın yanıtı: robots.txt engelliyor. | robots.txt'te bu adresi kapsayan "Disallow" satırını bulup silin. | google-blocked-by-robots |
Uyarı
| Kural | Ne demek | Nasıl düzeltilir | Kimlik |
|---|---|---|---|
| İstek sınırına takıldı (429) | Site tarayıcıya "çok fazla istek" dedi. | Sunucuda istek sınırını yükseltin ya da "seotracker-audit"i sınırın dışında tutun. | rate-limited-page |
| Tarama erken durdu: istek sınırı | Bekleme süresi 30 dakikayı geçince tarama durdu. | Sitenin istek sınırı sıfırlanınca denetimi yeniden başlatın. | crawl-rate-limited |
| Kırık iç bağlantı | Sitenizdeki bir bağlantı açılmayan sayfaya gidiyor. | Bağlantıyı doğru adrese çevirin ya da silin. | broken-internal-link |
| Sayfa açılırken hata veriyor (4xx) | Sayfa "bulunamadı" gibi bir hata veriyor. | Sayfa olmalıysa yeniden yayımlayın. Yoksa ona giden bağlantıları silin. | broken-page |
| Yönlendirme zinciri | Adres, son sayfaya varmadan birkaç kez yönleniyor. | İlk adresi ve ona bağlantı verenleri doğrudan son sayfaya yönlendirin. | redirect-chain |
| Yönlendirme döngüsü | Adres kendine ya da birbirine yönleniyor. | Yönlendirme kurallarını izleyip döngüyü kırın. | redirect-loop |
| Hiçbir sayfadan bağlantı almayan sayfa | Sayfa yalnızca site haritasında var. Google ona değer vermez. | Menüden, ilgili yazılardan ya da kategori sayfasından bağlantı verin. | orphan-page |
| robots.txt'ye ulaşılamadı | Dosya hiç yanıt vermedi. | robots.txt adresini tarayıcıda açıp yanıt verdiğini kontrol edin. | robots-txt-unreachable |
| robots.txt 500 KB sınırını aşıyor | Google dosyanın sonunu okumaz. | Dosyayı kısaltın. | robots-txt-truncated |
| Site haritasındaki sayfa yönlendiriyor | Haritada başka adrese yönlenen bir adres var. | Haritaya yönlendirmenin son adresini yazın. | sitemap-redirect-page |
| Site haritasındaki adres robots.txt ile engellenmiş | Harita "gel" diyor, robots.txt "gelme" diyor. | Aramada çıkacaksa engeli kaldırın. Çıkmayacaksa haritadan silin. | sitemap-disallowed-page |
| Site haritası dosyası okunamayacak kadar büyük | Dosya 10 MB sınırını aşıyor. | Haritayı parçalara bölün. | sitemap-too-large |
| Site haritasında 50.000'den fazla adres var | Google bir dosyada en çok 50.000 adres kabul eder. | Dosyayı 50.000'in altında parçalara bölün. Parçaları bir ana harita dosyasıyla bağlayın. | sitemap-too-many-urls |
| Site haritasında gelecek tarihli lastmod var | Tarih bugünden ileride. Google tarihlere güvenmeyi bırakır. | Tarihleri üreten yeri kontrol edin. | sitemap-lastmod-future |
| Sayfa güvenli olmayan http ile açılıyor | Sayfa güvenli (https) değil. | Barındırma firmanızdan ücretsiz SSL sertifikasını açtırın. | not-https |
| Başlık etiketi yok | Sayfanın başlık etiketi (title) yok. | Konuyu anlatan, sayfaya özel bir başlık ekleyin. 50-60 karakter iyi bir ölçüdür. | missing-title |
| Meta açıklama yok | Arama sonucundaki gri özet yok. | Sayfayı özetleyen, tıklatacak bir açıklama yazın. | missing-meta-description |
| Alt metni olmayan görseller | Görsellerin ne gösterdiği yazılmamış. | Anlamlı her görsele kısa bir alt metin yazın. | images-missing-alt |
| Sayfada birden fazla başlık etiketi (title) | İki başlık etiketi var. Google birini rastgele seçer. | Sayfa kaynağında "title" arayıp yalnızca birini bırakın. | multiple-titles |
| Sayfada birbirinden farklı birden fazla meta açıklama | İki açıklama var. | Sayfa kaynağında name="description" arayıp yalnızca birini bırakın. | multiple-meta-descriptions |
| Başlık etiketi yer tutucu bir yazı | Başlık "Ana sayfa" ya da "Untitled" gibi. | Sayfanın konusunu anlatan kendi başlığınızı yazın. | placeholder-title |
| Yinelenen başlık | Birden çok sayfa aynı başlığı kullanıyor. | Her sayfaya kendi içeriğini anlatan ayrı bir başlık yazın. | duplicate-title |
| Yinelenen ana başlık (H1) | Birden çok sayfanın ana başlığı aynı. | Her sayfanın H1'ini ayrı yazın. | duplicate-h1 |
| Yinelenen meta açıklama | Birden çok sayfa aynı açıklamayı kullanıyor. | Her sayfaya kendi açıklamasını yazın ya da tekrar edeni silin. | duplicate-meta-description |
| Yinelenen sayfa içeriği | İki sayfa aynı metni taşıyor. | Asıl sayfayı seçin. Diğerini canonical ile ona bağlayın. | duplicate-content |
| Asıl adres bildirimleri birbiriyle çelişiyor | HTML ile sunucunun yanıtı farklı asıl adres söylüyor. | Tek bir asıl adres seçin ve yalnızca bir yerde belirtin. | canonical-conflict |
| Asıl adres olarak gösterilen sayfa açılmıyor | Asıl adres olarak gösterilen sayfa hata veriyor. | Asıl adresi çalışan bir sayfaya çevirin ya da hedefi yeniden yayımlayın. | canonical-to-broken |
| Asıl adres olarak yönlendiren bir sayfa gösterilmiş | Asıl adres, başka sayfaya yönlenen bir adres. | Asıl adresi yönlendirmenin vardığı son sayfa yapın. | canonical-to-redirect |
| Google sayfada gizleme etiketi (noindex) görüyor | Google'ın yanıtı: sayfada noindex görmüş. | Sayfa kaynağını Google'ın gördüğüyle karşılaştırın. Bir eklenti ya da şablon etiketi ekliyor olabilir. | google-blocked-by-meta |
| Google başka bir adresi asıl adres seçti | Google sizin asıl adresinizi beğenmedi. | Google'ın seçtiği adrese bakın. Ya onu asıl adres yapın ya da iki sayfayı birbirinden ayırın. | google-chose-different-canonical |
| Dil sürümü kodu (hreflang) geçersiz | "en-UK" gibi var olmayan bir kod yazılmış. | Doğru kodu yazın. Birleşik Krallık için "en-GB". | hreflang-invalid-code |
| Dil sürümleri arasında sayfa kendini listelemiyor (hreflang) | Sayfa diğer dilleri listeliyor ama kendini listelemiyor. | Sayfanın kendi adresini, kendi dil koduyla listeye ekleyin. | hreflang-missing-self |
| Sayfa robots yönergesiyle bağlantılarını kapatıyor | Sayfa, bağlantılarının izlenmesini kapatmış (nofollow). | Bağlantıların izlenmesini istiyorsanız "nofollow" yazısını silin. | nofollow-page |
| Sayfalanmış sayfa, asıl adres olarak ilk sayfayı gösteriyor | 2. sayfa asıl adres olarak 1. sayfayı gösteriyor. Google 2. sayfayı yok sayar. | Her sayfanın asıl adresini kendi adresi yapın. | paginated-canonical-to-first-page |
| Dil sürümü karşılıklı bağlanmamış (hreflang) | A sayfası B'yi gösteriyor ama B, A'yı göstermiyor. | B sayfasına, A'yı gösteren bir hreflang satırı ekleyin. | hreflang-no-return-tag |
| Dil sürümü açılmayan ya da dizinden çıkarılmış bir sayfayı gösteriyor | Gösterilen dil sürümü hata veriyor ya da aramadan gizli. | Ayrıntıdaki adrese bakın. Düzeltin ya da listeden çıkarın. | hreflang-target-broken |
| Asıl adres (canonical) başka bir alan adını ya da http'yi gösteriyor | Asıl adres başka bir siteyi ya da güvensiz (http) adresi gösteriyor. | Bilerek yapmadıysanız asıl adresi sayfanın kendi https adresi yapın. | canonical-cross-host-or-http |
| Yapısal veri bloğu bozuk | Yapısal veri bloğu (JSON-LD) okunamıyor. | Bloğu bir JSON denetleyicisine yapıştırın. Genelde fazladan bir virgül çıkar. | structured-data-invalid-json |
| Google taradı ama dizine almadı | Google'ın yanıtı: içeriği yeterli bulmadı. | Google'ın "URL Denetleme Aracı"nda noindex, engellenen dosya ya da boş görünen içerik var mı bakın. | google-crawled-not-indexed |
| Google keşfetti ama henüz taramadı | Google adresi biliyor ve sıraya koymuş. | Çoğu zaman beklemek yeterlidir. Sık taranan sayfalardan bağlantı verin. | google-discovered-not-indexed |
| Google yinelenen içerik gördü, asıl adres belirtilmemiş | Google kopya sayfa buldu, siz asıl adres belirtmemişsiniz. | Kopya gruptaki her sayfaya asıl adresi gösteren canonical ekleyin. | google-duplicate-no-canonical |
| Google bu adresi hiç bilmiyor | Adres Google'a hiç ulaşmamış. | Site haritasına ekleyin ve haritayı Search Console'a gönderin. | google-url-unknown |
| Google yapısal veride hata buldu | Zengin sonuç için yazılan işarette eksik alan var. | Adresi Google'ın Zengin Sonuç Testi'nde açın. Eksik alanı orada gösterir. | google-rich-results-invalid |
| Sayfa birbiriyle çelişen asıl adresler bildiriyor | Sayfada birden çok canonical etiketi var. | Hangisinin doğru olduğuna karar verin. Diğerini üreten eklentiyi kapatın. | multiple-canonical-tags |
| Sayfanın ana içeriği geç yükleniyor (LCP) | En büyük öğe 4 saniyeden geç geliyor. | PageSpeed raporunda en büyük öğeye bakın. Genelde bir görseldir. Küçültüp WebP biçimine çevirin. | cwv-lcp-poor |
| Sayfa yüklenirken içerik kayıyor (CLS) | Kayma puanı 0,25'ten büyük. | Görsellere ve gömülü kutulara genişlik ile yükseklik verin. | cwv-cls-poor |
| Sayfa tıklamalara geç yanıt veriyor (INP) | Tıklamaya yanıt 500 milisaniyeden uzun sürüyor. | Sayfayı en çok yoran kod parçalarını bulun. Erteleyin ya da kaldırın. | cwv-inp-poor |
| Google'ın SEO denetim puanı düşük | Lighthouse SEO puanı 90'ın altında. | Sayfayı PageSpeed Insights'ta açın. SEO bölümünde başarısız kontrollere bakın. | lighthouse-seo-low |
Bilgi
| Kural | Ne demek | Nasıl düzeltilir | Kimlik |
|---|---|---|---|
| Sunucu yanıtı yavaş | Sunucunun ilk yanıtı geç geliyor. | Sunucu ve veritabanı süresine bakın. Önbelleği (hazır tutma) açın. | slow-response |
| Site haritasındaki sayfa, asıl adres olarak başka sayfayı gösteriyor | Haritada kopya bir adres var. | Haritada yalnızca asıl adresler kalsın. | sitemap-canonicalized-page |
| Site haritasındaki sayfa arama sonuçlarından gizlenmiş | Haritada aramadan gizli bir sayfa var. | Aramada çıkacaksa noindex'i kaldırın. Çıkmayacaksa haritadan silin. | sitemap-noindex-page |
| Sayfa site yapısında çok derinde | Sayfa ana sayfadan çok tıklama uzakta. | Kategori, menü ya da öne çıkan listelerden bağlantı verip yolu kısaltın. | deep-page |
| Site haritasında hiç lastmod tarihi yok | Google son değişiklik tarihini bilmiyor. | Haritayı üreten ayarda her adres için lastmod'u açın. | sitemap-lastmod-missing |
| İç bağlantı yönlendirmeye gidiyor | Bağlantı eski adrese gidiyor, oradan yönleniyor. | Bağlantıyı yönlendirmenin vardığı yeni adresle değiştirin. | internal-link-to-redirect |
| Karakter kodlaması belirtilmemiş | Türkçe karakterler bazı tarayıcılarda bozulabilir. | head bölümünün başına meta charset="utf-8" satırını ekleyin. | missing-charset |
| Sayfa adresi çok uzun | Adres çok uzun, okunması zor. | Adresi kısa ve anlamlı tutun. | url-too-long |
| Adreste büyük harf ya da alt çizgi var | Aynı sayfanın iki ayrı yazımı oluşabilir. | Adresleri küçük harf ve tireyle yazın. | url-uppercase-or-underscore |
| H1 başlığı yok | Sayfanın ana başlığı yok. | Konuyu anlatan tek bir H1 ekleyin. | missing-h1 |
| Birden çok H1 başlığı | Birden çok ana başlık var. | Tek H1 bırakın. Diğerlerini H2 ya da H3 yapın. | multiple-h1 |
| Sayfada neredeyse hiç metin yok | Tarayıcı metin bulamadı. Metin sonradan JavaScript ile geliyor olabilir. | Sayfa kaynağında metnin görünüp görünmediğine bakın. | thin-content |
| Sayfadan başka hiçbir yere bağlantı yok | Çıkmaz sayfa: başka hiçbir yere gitmiyor. | İlgili sayfalara, üst kategoriye ya da ana sayfaya bağlantı ekleyin. | no-outgoing-links |
| Başlık çok uzun | Google 60 karakterden sonrasını keser. | Başlığı 50-60 karaktere indirin. Önemli kelimeleri başa koyun. | title-too-long |
| Başlık çok kısa | Başlık sayfayı anlatmıyor. | 30-60 karakterlik, ne sunduğunuzu söyleyen bir başlık yazın. | title-too-short |
| Meta açıklama çok uzun | Google 160 karakterden sonrasını keser. | Ana mesajı başa alıp 70-160 karaktere indirin. | meta-description-too-long |
| Meta açıklama çok kısa | Açıklama tıklamak için bir neden vermiyor. | Sayfayı özetleyen 70-160 karakter yazın. | meta-description-too-short |
| Başlık seviyeleri atlanmış | H1'den doğrudan H3'e atlanmış. | Başlıkları sırayla kullanın: H1, H2, H3. | heading-order-skip |
| Mobil görünüm etiketi (viewport) yok | Telefonda sayfa küçücük görünür. | head bölümüne viewport satırını ekleyin. | missing-viewport |
| Sayfa dili belirtilmemiş | Sayfanın hangi dilde olduğu yazılmamış (html etiketinde lang yok). | Türkçe sayfa için html lang="tr" yazın. | missing-lang |
| Görsellerde genişlik ve yükseklik yok | Sayfa yüklenirken içerik zıplar. | Her img etiketine görselin gerçek boyutunu yazın. | images-missing-dimensions |
| Uzun metinde alt başlık yok | Uzun yazı tek blok halinde. | Metni konularına bölün. Her bölüme H2 başlığı verin. | no-subheadings |
| Görselin alt metni bir dosya adı | Alt metin "IMG_1234.jpg" gibi. | Alt metne görselde ne olduğunu yazın. | alt-is-filename |
| Görsel alt metni çok uzun | Alt metin paragraf kadar uzun. | Görseli bir cümleyle anlatın. Yaklaşık 125 karakter yeter. | alt-too-long |
| Ana başlık (H1) çok uzun | H1 paragraf kadar uzun. | H1'i tek cümlelik kısa bir başlığa indirin. | h1-too-long |
| Metni olmayan iç bağlantılar | Bağlantıda yazı yok ya da yalnızca simge var. | Görünür bir yazı ya da aria-label (ekran okuyucular için gizli ad) ekleyin. | empty-anchor-text |
| "Buraya tıklayın" gibi anlamsız bağlantı metinleri | Bağlantı metni gideceği yeri anlatmıyor. | Bağlantı metnini hedef sayfanın konusuyla değiştirin. | generic-anchor-text |
| Sayfada çok fazla bağlantı | Sayfada yüzlerce bağlantı var. | Menüyü ve alt bilgiyi en önemli sayfalarla sınırlayın. | too-many-links |
| Kendi sitenizin sayfalarına nofollow bağlantılar | Kendi sayfalarınıza giden bir bağlantıda nofollow var. | Bu bağlantılardan rel="nofollow" ifadesini silin. | internal-nofollow-links |
| Sayfada canonical (asıl adres) etiketi yok | Google asıl adresi tahmin eder. | head bölümüne, sayfanın kendi tam adresini gösteren canonical satırını ekleyin. | missing-canonical |
| Sayfa arama sonuçlarından gizlenmiş (noindex) | Sayfa bilerek ya da yanlışlıkla aramadan gizli. | Aramada çıkmalıysa noindex'i kaldırın. | noindex-page |
| Sayfa, asıl adres olarak başka bir sayfayı gösteriyor | Sayfa kendini kopya ilan ediyor. | Kendi adıyla aramada çıkacaksa asıl adresi kendi adresi yapın. | canonicalized-page |
| Dil sürümlerinde varsayılan sürüm (x-default) yok | Dili eşleşmeyen ziyaretçi için varsayılan sürüm yok. | hreflang listesine x-default satırını ekleyin. | hreflang-missing-x-default |
| Google'ın bazı sayfalar hakkındaki yanıtı eskimiş | Kayıtlı Google yanıtları 3 ya da 14 günden eski. | Dizin durumu sekmesinde "Google'da durumunu kontrol et" düğmesine basın. | stale-google-verdicts |
| Sitede sosyal medya paylaşım etiketleri (Open Graph) yok | Paylaşılınca görsel ve başlık çıkmaz. | Şablonun head bölümüne og:title, og:description ve 1200x630 piksellik og:image ekleyin. | open-graph-missing-site |
| Sitede hiç yapısal veri yok | Aramada zengin sonuç görünme şansı yok. | Sayfa türüne uyan bir işaretle başlayın (Organization, Product, Article gibi). | structured-data-missing-site |
| Google bu sayfayı uzun süredir taramadı | Google'ın son ziyareti 90 günden eski. | Sık taranan sayfalardan bağlantı verin. Sayfanın site haritasında olduğundan emin olun. | google-crawl-stale |
Kurallar nasıl çalışır?
Çoğu kural sayfa başına çalışır ve etkilediği her sayfayı listeler. Bazıları sitenin bütünüyle ilgilidir ve tek bir bulgu üretir. Bunlar robots.txt kuralları, site haritası kuralları, "Sitede sosyal medya paylaşım etiketleri yok" ve "Sitede hiç yapısal veri yok" kurallarıdır.
Adı "Google" ile başlayan kurallar uygulamanın taramasından gelmez. Dizin durumu sekmesinde Google'dan alınan yanıtlardan çıkar. O sekmede Google'a hiç soru sormadıysanız bu kurallar çalışmaz. Hız kuralları (LCP, CLS, INP, SEO puanı) yalnızca "Sayfa hızını da ölç" açıkken ve telefon ölçümüne göre çalışır.