dev.to

DEV Community

AI DEV Community SEO analizi: 82 puan, DOM boyutu ve aşırı bağlantı sayısı kritik sorunlar.

tarama: süre: 149.1 sn kural: 251 · kategori: 20
AI ile onar — hazır prompt PDF indir
geçmiş taramalar — tıklayınca o günün raporu açılır
06.08 17:48 82

Hata bildir

dev.to raporunda gördüğünüz hatayı yazın. E-posta adresinizi yalnızca gerekirse size dönmek için kullanırız.

Sorunları yapay zekâ ajanıyla düzeltin Claude Code · Codex · Cursor için hazır prompt

Bu prompt, rapordaki tüm hata ve uyarıları çalışma kurallarıyla birlikte içerir. Kopyalayıp sitenizin kod tabanında çalışan bir yapay zekâ kodlama ajanına verin; bulguları önem sırasıyla düzeltir.

Google PageSpeed

✓ Resmî PageSpeed Insights API
Mobil
69 Performans
85 Erişilebilirlik
100 En İyi Uygulamalar
92 SEO
LCP9,1 sn. CLS0 TBT70 ms. FCP2,4 sn. Hız Endeksi4,5 sn.
Gerçek kullanıcı verisi (CrUX · son 28 gün) — genel: Orta
LCP3,0 sn · Orta INP287 ms · Orta CLS0,00 · Hızlı FCP1,9 sn · Orta TTFB944 ms · Orta
Öneriler ve teşhisler 12 bulgu
0
Kullanılmayan JavaScript'i azaltın Performans
Tahmini tasarruf: 387 KiB · ~2,3 sn kazanç

Ağ etkinliğinin kullandığı bayt sayısını azaltılmaları gerekene kadar kullanılmayan JavaScript'i azaltıp komut dosyalarını erteleyin. Kullanılmayan JavaScript'i nasıl azaltacağınızı öğrenin.

0
Resim yayınlamayı kolaylaştırın Performans
Tahmini tasarruf: 420 KiB · ~1,8 sn kazanç

Resimlerin indirme süresini kısaltmak, sayfanın algılanan yükleme süresini ve LCP'yi daha iyi hale getirebilir. Resim boyutunu optimize etme hakkında daha fazla bilgi edinin.

0
Oluşturma engelleme istekleri Performans
Tahmini tasarruf: 660 ms. · ~0,7 sn kazanç

İstekler sayfanın ilk oluşturma işlemini engelliyor. Bu durum, LCP'yi geciktirebilir. Erteleme veya satır içine yerleştirme, bu ağ isteklerini kritik yoldan uzaklaştırabilir.

0
Kullanılmayan CSS'yi azaltın Performans
Tahmini tasarruf: 89 KiB · ~0,5 sn kazanç

Ağ etkinliğinin kullandığı bayt sayısını azaltmak üzere stil sayfalarında kullanılmayan kuralları azaltıp ekranın üst kısmında içerik için kullanılmayan CSS'yi erteleyin. Kullanılmayan CSS'yi nasıl azaltacağınızı öğrenin.

0
Eski JavaScript Performans
Tahmini tasarruf: 22 KiB · ~0,2 sn kazanç

Polyfill'ler ve dönüşümler, daha eski tarayıcıların yeni JavaScript özelliklerini kullanmasını sağlar. Ancak, çoğu modern tarayıcılar için gerekli değildir. Daha eski tarayıcıları desteklemeniz gerekmediğinden eminseniz JavaScript derleme işleminizi Baseline özelliklerini çevirecek şekilde değiştirm

0
Zorunlu yeniden düzenleme Performans

DOM durumunda yapılan bir değişiklik nedeniyle stiller geçersiz kılındıktan sonra JavaScript, geometrik özellikler (ör. offsetWidth) sorguladığında zorunlu yeniden düzenleme gerçekleşir. Bu durum, performansın düşmesine neden olabilir. Zorunlu yeniden düzenlemeler ve olası çözümleri hakkında daha fa

0
LCP istek keşfi Performans

LCP resmini HTML'den anında bulunabilir hale getirerek ve geç yüklemeden kaçınarak LCP'yi optimize edin.

0
`[aria-*]` özellikleri geçerli değerlere sahip değil Erişilebilirlik

Ekran okuyucular gibi yardımcı teknolojiler geçersiz değerlere sahip ARIA özelliklerini yorumlayamaz. ARIA özellikleri için geçerli değerler hakkında daha fazla bilgi edinin.

0
Resim öğelerinin `[alt]` özellikleri yok Erişilebilirlik

Bilgilendirme amaçlı öğelerin hedefi, kısa ve açıklayıcı alternatif metinler olmalıdır. Dekoratif öğeler boş bir alt özelliğiyle yok sayılabilir. alt özelliği hakkında daha fazla bilgi edinin.

0
Dokunma hedefleri, yeterli boyut veya boşluğa sahip değil. Erişilebilirlik

Yeterli boyut ve boşluğa sahip dokunma hedefleri, küçük kontrol düğmelerini kullanmakta sorun yaşayan kullanıcıların hedefleri etkinleştirmesine yardımcı olur. Dokunma hedefleri hakkında daha fazla bilgi edinin.

0
Büyük birinci taraf JavaScript'te kaynak eşlemeleri eksik En İyi Uygulamalar

Kaynak eşlemeleri, küçültülmüş kodu orijinal kaynak koduna çevirir. Bu, geliştiricilerin üretimde hata ayıklamasına yardımcı olur. Ek olarak, Lighthouse daha detaylı bilgi sağlayabilir. Bu avantajlardan yararlanmak için kaynak eşlemelerini dağıtmayı düşünün. Kaynak haritaları hakkında daha fazla bil

0
Resim öğelerinin `[alt]` özellikleri yok SEO

Bilgilendirme amaçlı öğelerin hedefi, kısa ve açıklayıcı alternatif metinler olmalıdır. Dekoratif öğeler boş bir alt özelliğiyle yok sayılabilir. alt özelliği hakkında daha fazla bilgi edinin.

Masaüstü
92 Performans
76 Erişilebilirlik
100 En İyi Uygulamalar
92 SEO
LCP1,6 sn. CLS0 TBT120 ms. FCP0,6 sn. Hız Endeksi1,0 sn.
Gerçek kullanıcı verisi (CrUX · son 28 gün) — genel: Hızlı
LCP2,1 sn · Hızlı INP124 ms · Hızlı CLS0,02 · Hızlı FCP1,2 sn · Hızlı TTFB596 ms · Hızlı
Öneriler ve teşhisler 16 bulgu
0
Resim yayınlamayı kolaylaştırın Performans
Tahmini tasarruf: 876 KiB · ~0,4 sn kazanç

Resimlerin indirme süresini kısaltmak, sayfanın algılanan yükleme süresini ve LCP'yi daha iyi hale getirebilir. Resim boyutunu optimize etme hakkında daha fazla bilgi edinin.

0
Oluşturma engelleme istekleri Performans
Tahmini tasarruf: 340 ms. · ~0,4 sn kazanç

İstekler sayfanın ilk oluşturma işlemini engelliyor. Bu durum, LCP'yi geciktirebilir. Erteleme veya satır içine yerleştirme, bu ağ isteklerini kritik yoldan uzaklaştırabilir.

0
Kullanılmayan JavaScript'i azaltın Performans
Tahmini tasarruf: 387 KiB · ~0,3 sn kazanç

Ağ etkinliğinin kullandığı bayt sayısını azaltılmaları gerekene kadar kullanılmayan JavaScript'i azaltıp komut dosyalarını erteleyin. Kullanılmayan JavaScript'i nasıl azaltacağınızı öğrenin.

0
Eski JavaScript Performans
Tahmini tasarruf: 22 KiB

Polyfill'ler ve dönüşümler, daha eski tarayıcıların yeni JavaScript özelliklerini kullanmasını sağlar. Ancak, çoğu modern tarayıcılar için gerekli değildir. Daha eski tarayıcıları desteklemeniz gerekmediğinden eminseniz JavaScript derleme işleminizi Baseline özelliklerini çevirecek şekilde değiştirm

0
Kullanılmayan CSS'yi azaltın Performans
Tahmini tasarruf: 87 KiB

Ağ etkinliğinin kullandığı bayt sayısını azaltmak üzere stil sayfalarında kullanılmayan kuralları azaltıp ekranın üst kısmında içerik için kullanılmayan CSS'yi erteleyin. Kullanılmayan CSS'yi nasıl azaltacağınızı öğrenin.

0
Zorunlu yeniden düzenleme Performans

DOM durumunda yapılan bir değişiklik nedeniyle stiller geçersiz kılındıktan sonra JavaScript, geometrik özellikler (ör. offsetWidth) sorguladığında zorunlu yeniden düzenleme gerçekleşir. Bu durum, performansın düşmesine neden olabilir. Zorunlu yeniden düzenlemeler ve olası çözümleri hakkında daha fa

0
LCP istek keşfi Performans

LCP resmini HTML'den anında bulunabilir hale getirerek ve geç yüklemeden kaçınarak LCP'yi optimize edin.

0
`[aria-*]` özellikleri geçerli değerlere sahip değil Erişilebilirlik

Ekran okuyucular gibi yardımcı teknolojiler geçersiz değerlere sahip ARIA özelliklerini yorumlayamaz. ARIA özellikleri için geçerli değerler hakkında daha fazla bilgi edinin.

0
Arka plan ve ön plan renkleri yeterli kontrast oranına sahip değil. Erişilebilirlik

Birçok kullanıcı, düşük kontrastlı metni okumakta zorlanır veya okuyamaz. Yeterli renk kontrastını nasıl sağlayacağınızı öğrenin.

0
Resim öğelerinin `[alt]` özellikleri yok Erişilebilirlik

Bilgilendirme amaçlı öğelerin hedefi, kısa ve açıklayıcı alternatif metinler olmalıdır. Dekoratif öğeler boş bir alt özelliğiyle yok sayılabilir. alt özelliği hakkında daha fazla bilgi edinin.

0
Bağlantılar renge dayalı olarak ayırt edilebilir. Erişilebilirlik

Birçok kullanıcı, düşük kontrastlı metni okumakta zorlanır veya okuyamaz. Ayırt edilebilen bağlantı metinleri, az gören kullanıcıların deneyimini iyileştirir. Bağlantıları nasıl ayırt edilebilir hale getireceğinizi öğrenin.

0
Bağlantıların ayırt edilebilir adları yok Erişilebilirlik

Ayırt edilebilir, benzersiz ve odaklanılabilir bağlantı metni (ve bağlantı olarak kullanıldığında resimler için alternatif metin), ekran okuyucu kullanıcılarına daha iyi bir gezinme deneyimi sunar. Bağlantıları nasıl erişilebilir hale getireceğinizi öğrenin.

0
Dokunma hedefleri, yeterli boyut veya boşluğa sahip değil. Erişilebilirlik

Yeterli boyut ve boşluğa sahip dokunma hedefleri, küçük kontrol düğmelerini kullanmakta sorun yaşayan kullanıcıların hedefleri etkinleştirmesine yardımcı olur. Dokunma hedefleri hakkında daha fazla bilgi edinin.

0
`img` rolü olan SVG öğelerinin erişilebilir metin alternatifi yok Erişilebilirlik

img, graphics-document veya graphics-symbol rolüne sahip SVG öğelerinin erişilebilir metin alternatifi olmasını sağlar. SVG alternatif metni hakkında daha fazla bilgi edinin.

0
Büyük birinci taraf JavaScript'te kaynak eşlemeleri eksik En İyi Uygulamalar

Kaynak eşlemeleri, küçültülmüş kodu orijinal kaynak koduna çevirir. Bu, geliştiricilerin üretimde hata ayıklamasına yardımcı olur. Ek olarak, Lighthouse daha detaylı bilgi sağlayabilir. Bu avantajlardan yararlanmak için kaynak eşlemelerini dağıtmayı düşünün. Kaynak haritaları hakkında daha fazla bil

0
Resim öğelerinin `[alt]` özellikleri yok SEO

Bilgilendirme amaçlı öğelerin hedefi, kısa ve açıklayıcı alternatif metinler olmalıdır. Dekoratif öğeler boş bir alt özelliğiyle yok sayılabilir. alt özelliği hakkında daha fazla bilgi edinin.

Genel puan 82/100 bileşenleri
Kural denetimi85/100 · ağırlık %35 Lighthouse mobil78/100 · ağırlık %35 Lighthouse masaüstü91/100 · ağırlık %15 Gerçek kullanıcı (mobil)68/100 · ağırlık %11 Gerçek kullanıcı (masaüstü)100/100 · ağırlık %5

Kategori skorları

B · Çok İyi — genel 82/100

Başlık yapısı

31 başlık · H1→H6 ana hattı
H2 DEV Community
H2 DEV Community is a community of 4,033,789 amazing ...
H2 Other
H3 Popular Tags
H1 Posts
H4 Open a restaurant that doesn't exist.
H2 Join our latest Frontend Challenge: Comfort Food E...
H2 When Your VPS Never Had the Resources It Was Sold ...
H2 Stop Calling Everything Impostor Syndrome: The Myt...
H2 How would you decide, whether the content is good ...
H2 General Challenge Updates Moving Forward
H2 How I Smashed a Bug in a Shared Authentication Lib...
H2 I Recreated Management With AI: 9 Things I Do Diff...
H2 Your SPA probably leaks memory. Your Playwright su...
H2 Dev log #15 Refining the Craft: A week of Neovim U...
H2 The Crash JavaScript Couldn't Catch: Fixing Androi...
H2 My First Paying Customer Failed 4 Times: Quality I...
H2 Sidewalk to Summit: reviving my founder-year idea ...
H2 I gave two AI agents a way to talk to each other. ...
H2 Your agent writes Python. The Ruby rule cuts that ...
H2 I built a RAG engine that refuses to answer with g...
H2 Why you cannot copy a Claude Code session to anoth...
H2 What Developer Experience Actually Means
H2 A playlist has 124 videos. My tool imported 15, th...
H2 How to Make Your App Look Good When You’re Not a D...
H3 Livestreams 🎥
H3 Happening Now! 🚀
H3 Coming Up 👀
H4 Have a great week ❤️
H3 #discuss
H4 trending guides/resources

Sosyal medya önizlemesi

bağlantı paylaşılınca böyle görünür

Kural detayları

yalnız hata ve uyarılar gösteriliyor
Temel SEO 17 geçti · 2 uyarı · 0 hata — skor 97

Title, meta açıklama, canonical ve temel HTML etiketlerinin doğruluğu.

uyarı
Title uzunluğu
Başlık çok kısa (13 karakter). Önerilen: 30-60 karakter
ayrıntılar · 4 öğe
Uzunluk: 13 En az: 30 En çok: 60 Başlık: DEV Community
Nasıl düzeltirim?

Neden önemli: Çok kısa title değerlendirilebilir sinyal taşımaz; çok uzunu arama sonuçlarında kesilir.

Çözüm: Başlığı 30-60 karakter aralığında tutun; önemli kelimeleri başa alın, marka adını sona koyun.

uyarı
Meta açıklama uzunluğu
Meta açıklama çok kısa (83 karakter). Önerilen: 120-160 karakter
ayrıntılar · 4 öğe
Uzunluk: 83 En az: 120 En çok: 160 Açıklama: A space to discuss and keep up software development and manage your software career
Nasıl düzeltirim?

Neden önemli: Kısa açıklama alanı boşa harcar; uzun açıklama sonuçlarda "..." ile kesilir.

Çözüm: Açıklamayı 120-160 karakter aralığında yazın; her sayfa için benzersiz olsun.

geçti
Title etiketi
Title etiketi mevcut
geçti
Meta açıklama
Meta açıklama etiketi mevcut
geçti
Canonical etiketi
Kanonik URL etiketi mevcut
geçti
Canonical geçerliliği
Kanonik URL geçerli bir mutlak URL
geçti
Viewport etiketi
Viewport meta etiketi mevcut
geçti
Favicon
Favicon link etiketi mevcut
geçti
H1 başlığı
H1 etiketi mevcut
geçti
Tek H1 kuralı
Dokümanda tam olarak bir adet <h1> etiketi var
geçti
Canonical header çakışması
Tek kanonik sinyal mevcut (çelişki yok)
geçti
Snippet izni
Sayfa arama motoru snippet'lerine izin veriyor
geçti
Robots meta etiketi
Robots meta etiketi bulunamadı (varsayılan: index, follow)
geçti
Title benzersizliği
Sayfa başlığı benzersiz
geçti
Çakışan canonical URL'ler
Çelişen kanonik URL yok (en fazla tek kanonik kaynak mevcut)
geçti
Anasayfaya canonical
Sayfa zaten ana sayfa; ana sayfaya kanonik beklenen durum
geçti
Canonical protokol uyumu
Sayfa ve kanonik aynı protokolü kullanıyor (https)
geçti
Canonical döngüsü
Kanonik kendine referans veriyor (en iyi uygulama)
geçti
Canonical–noindex çakışması
Noindex yönergesi yok; kanonik ile çelişki yok
Teknik SEO 13 geçti · 0 uyarı · 0 hata — skor 100

robots.txt, sitemap, yönlendirmeler ve sunucu yanıtları gibi teknik altyapı.

geçti
robots.txt varlığı
robots.txt dosyası mevcut ve erişilebilir
geçti
robots.txt sözdizimi
robots.txt söz dizimi geçerli
geçti
Sitemap varlığı
Site haritası bulundu: 1 site haritası erişilebilir
geçti
Sitemap yapısı
Site haritasının XML yapısı geçerli (253 sitemaps)
geçti
URL yapısı
URL, SEO en iyi uygulamalarına uygun
geçti
Sondaki eğik çizgi tutarlılığı
Sondaki eğik çizgi kullanımı tutarlı (without-slash)
geçti
WWW yönlendirmesi
Kanonik URL non-www sürümüne ayarlı
geçti
Özel 404 sayfası
Sitede uygun gezinme ve içeriğe sahip özel bir 404 sayfası var
geçti
Soft 404 tespiti
Sayfa soft 404 görünmüyor
geçti
Sunucu hatası kontrolü
Sayfa başarılı yanıt döndürdü
geçti
4xx istemci hataları
İstemci hatası tespit edilmedi
geçti
Yanıt süresi
Sayfa yanıt süresi 315 ms
geçti
Content-Type başlığı
Content-Type doğru: text/html; charset=utf-8
Performans 13 geçti · 8 uyarı · 1 hata — skor 88

Core Web Vitals ve sayfa hızı metrikleri.

hata
DOM boyutu
DOM boyutu çok büyük: 1,822 DOM nodes (recommended: <800)
ayrıntılar · 5 öğe
Toplam düğüm: 1822 En derin seviye: 22 En çok alt öğe: 30 En derin seçici: img.crayons-avatar__image En geniş seçici: div#sidebar-nav-default-tags
Nasıl düzeltirim?

Neden önemli: Aşırı büyük DOM (çok sayıda HTML öğesi) belleği şişirir, stil hesaplamalarını ve etkileşimi yavaşlatır.

Çözüm: Gereksiz sarmalayıcı öğeleri kaldırın; uzun listeleri sayfalayın ya da sanallaştırın (~800 öğe altını hedefleyin).

uyarı
INP – Etkileşim Gecikmesi
Interaction to Next Paint (INP) ölçülemedi (kullanıcı etkileşimi yok veya metrik mevcut değil)
ayrıntılar · 2 öğe
Ölçüm: INP Neden: Etkileşim olmadı ya da ölçüm alınamadı
Nasıl düzeltirim?

Neden önemli: INP, kullanıcı etkileşimine tepki gecikmesini ölçer; yavaş tepki site "donuk" hissettirir.

Çözüm: Uzun JavaScript görevlerini bölün, ağır işlemleri web worker'a taşıyın, gereksiz üçüncü parti betikleri kaldırın.

uyarı
CSS dosya boyutu
CSS optimize edilebilir: 6 external CSS files - consider bundling
ayrıntılar · 9 öğe
Dış CSS URL'leri
Dış CSS dosyası: 6 Satır içi stil: 6 Satır içi CSS (KB): 8
Nasıl düzeltirim?

Neden önemli: Çok sayıda/büyük CSS dosyası indirme ve işleme süresini uzatır.

Çözüm: CSS dosyalarını birleştirip küçültün, kullanılmayan kuralları ayıklayın (PurgeCSS vb.), 3 dosyadan azı hedefleyin.

uyarı
LCP optimizasyon ipuçları
LCP adayı (header img) optimize edilebilir: no preload or fetchpriority
ayrıntılar · 6 öğe
Tür: image Öğe: header img Kaynak: https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png Ön yükleme: hayır fetchpriority: hayır Geç yükleme (lazy): hayır
Nasıl düzeltirim?

Neden önemli: LCP adayı görsel önceliklendirilmezse tarayıcı onu geç indirir.

Çözüm: Ana görsele <link rel="preload"> ya da fetchpriority="high" ekleyin; CSS arkaplanı yerine <img> tercih edin.

uyarı
Brotli sıkıştırma
Gzip kullanılıyor ama Brotli yok — Brotli metin varlıklarında ~%15-20 daha iyi sıkıştırma sağlar
ayrıntılar · 2 öğe
Content encoding: gzip Current encoding: gzip
Nasıl düzeltirim?

Neden önemli: Brotli, gzip'e göre metinde ~%15-20 daha iyi sıkıştırır; aynı içerik daha hızlı iner.

Çözüm: Sunucu/CDN yapılandırmasında brotli'yi etkinleştirin (Apache: mod_brotli, Nginx: brotli modülü, çoğu CDN'de tek tık).

uyarı
JS küçültme
Satır içi JavaScript küçültülmemiş görünüyor (2430 bayt, ~20% whitespace) — küçültme ~480 bayt kazandırabilir
ayrıntılar · 7 öğe
Script etiketi: 2 Toplam bayt: 2430 Min bytes to check: 500 Boşluk oranı: %15 Boşluk oranı: %19,8 Block comment bytes: 0 Tahmini kazanç (bayt): 480
Nasıl düzeltirim?

Neden önemli: Küçültülmemiş JavaScript indirme ve ayrıştırma süresini uzatır.

Çözüm: Yayın sürecinde JS'i minify edin (terser, esbuild); büyük satır içi blokları harici sürümlenmiş dosyalara taşıyın.

uyarı
HTTP/2 – HTTP/3 desteği
alt-svc başlığı bulunamadı — sunucu HTTP/2 veya HTTP/3 desteklemiyor olabilir (bilgilendirme)
ayrıntılar · 1 öğe
Alt svc: not set
Nasıl düzeltirim?

Neden önemli: HTTP/2-3 çoklama sayesinde çok sayıda kaynağı tek bağlantıda paralel indirir; HTTP/1.1 kuyruk bekletir.

Çözüm: Sunucu/CDN'de HTTP/2 veya HTTP/3'ü etkinleştirin (günümüz sunucularında yapılandırma meselesi).

uyarı
Sayfa ağırlığı
HTML dokümanı 272KB boyutunda (önerilen: <100KB) — satır içi kaynakları harici dosyalara taşımayı düşünün
ayrıntılar · 7 öğe
HTML bayt: 278270 HTML boyutu: 272KB Dış script: 17 Dış CSS: 6 Görsel sayısı: 91 İyi eşik: 100KB Uyarı eşiği: 300KB
Nasıl düzeltirim?

Neden önemli: Ağır HTML dokümanı ilk yüklemeyi ve ayrıştırmayı yavaşlatır; mobilde veri harcar.

Çözüm: Satır içi devasa CSS/JS/SVG bloklarını harici dosyalara taşıyın, gereksiz işaretlemeyi azaltın, 100KB altı HTML hedefleyin.

uyarı
Animasyonlar için video
4 GIF görsel bulundu — çok daha küçük dosya boyutları için <video> (MP4/WebM) veya animasyonlu WebP/AVIF kullanmayı düşünün
ayrıntılar · 5 öğe
Gif urls
Gif count: 4
Nasıl düzeltirim?

Neden önemli: GIF'ler aynı animasyonun MP4/WebM sürümünden 5-10 kat büyüktür.

Çözüm: Animasyonlu GIF'leri <video autoplay loop muted playsinline> ile MP4/WebM'e ya da animasyonlu WebP/AVIF'e çevirin.

geçti
LCP – En Büyük İçerik Boyaması
LCP değeri 0.58 sn (iyi; 2,5 sn altında)
geçti
CLS – Kümülatif Düzen Kayması
CLS değeri 0.000 (iyi; 0.1'in altında)
geçti
TTFB – İlk Bayt Süresi
TTFB değeri 28 ms (iyi; 800 ms altında)
geçti
FCP – İlk İçerik Boyaması
FCP değeri 0.32 sn (iyi; 1,8 sn altında)
geçti
Font yükleme
Özel yazı tipi tespit edilmedi
geçti
Preconnect ipuçları
2 üçüncü taraf kaynak tespit edildi (preconnect gerektiren kritik kaynak yok)
geçti
Render engelleyen kaynaklar
Render engelleyen script yok (17 async/defer/module)
geçti
Ekran üstü lazy loading
No above-fold images use lazy loading
geçti
Metin sıkıştırma
Metin sıkıştırma etkin (gzip)
geçti
Önbellek politikası
Önbellek politikası "public, no-cache" — dinamik HTML içerik için uygun
geçti
CSS küçültme
Satır içi CSS küçültülmüş (8389 bayt, %7 boşluk)
geçti
Sunucu yanıt süresi
Yanıt süresi 315 ms — ideal aralıkta
geçti
JS dosya boyutu
Satır içi JavaScript 2 script içinde 2KB — ideal aralıkta
Görseller 7 geçti · 6 uyarı · 1 hata — skor 85

Görsellerin optimizasyonu, alt metinleri ve formatları.

hata
Alt metin varlığı
39 görselde alt özniteliği eksik (görsellerin %42.9'si)
ayrıntılar · 6 öğe
Missing count: 39 Total images: 91
Nasıl düzeltirim?

Neden önemli: Alt metni ekran okuyucular ve arama motorları için görselin tek açıklamasıdır; Google Görseller trafiğinin anahtarıdır.

Çözüm: Her anlamlı <img> etiketine içeriği tarif eden alt="..." ekleyin; dekoratif görsellere boş alt="" verin.

uyarı
Görsel boyut öznitelikleri
44 görselde width ve/veya height özniteliği eksik (görsellerin %48.4'si)
ayrıntılar · 10 öğe
Sorun sayısı: 44 Total images: 91 Missing both count: 44 Missing width only count: 0 Missing height only count: 0
Nasıl düzeltirim?

Neden önemli: width/height verilmeyen görseller yüklenince sayfa zıplar (CLS artar).

Çözüm: Tüm <img> etiketlerine gerçek en-boy oranını koruyan width ve height öznitelikleri ekleyin.

uyarı
Lazy loading
Ekran altındaki 43 görsel tembel yükleme kullanmıyor (%48.9)
ayrıntılar · 9 öğe
Not lazy loaded count: 43 Below fold count: 88 Total images: 91
Nasıl düzeltirim?

Neden önemli: Ekran altındaki görsellerin hemen yüklenmesi ilk yüklemeyi gereksiz şişirir.

Çözüm: Ekran altında kalan görsellere loading="lazy" ekleyin (ilk görünümdekilere eklemeyin).

uyarı
Modern formatlar (WebP/AVIF)
Modern formatlara kısmi geçiş (%39.6 WebP/AVIF)
ayrıntılar · 4 öğe
Legacy image count: 55 Modern image count: 36 Picture elements: 0 Picture sources with modern formats: 0
Nasıl düzeltirim?

Neden önemli: WebP/AVIF, JPEG/PNG'ye göre %25-50 küçüktür; eski formatlar bant genişliği israfıdır.

Çözüm: Görselleri WebP ya da AVIF'e dönüştürün; eski tarayıcılar için <picture> ile yedek sunabilirsiniz.

uyarı
Görsel dosya boyutu
40 olası büyük boyutlu görsel bulundu (200KB'yi aşabilir)
ayrıntılar · 9 öğe
Potentially oversized count: 40 Total images: 91 Max recommended size kb: 200
Nasıl düzeltirim?

Neden önemli: Gösterim boyutundan çok daha büyük görseller gereksiz veri indirtir.

Çözüm: Görselleri gösterildikleri boyuta göre yeniden ölçekleyin ve sıkıştırın; srcset ile farklı boyutlar sunun.

uyarı
Duyarlı görseller
Duyarlı görsel tekniği tespit edilmedi (görsellerin %57.1'i bundan yararlanabilir)
ayrıntılar · 11 öğe
Non responsive count: 52 Total images: 91 Picture elements: 0 Images with srcset: 0
Nasıl düzeltirim?

Neden önemli: Tek boyut görsel, mobil cihazlara masaüstü boyutunda iner.

Çözüm: <img srcset="..." sizes="..."> ile cihaz genişliğine uygun görsel sürümleri sunun.

uyarı
Figure altyazıları
1 figure öğesinde figcaption açıklaması eksik
ayrıntılar · 3 öğe
Total figures: 1 Without captions: 1 Empty figures: 0
Nasıl düzeltirim?

Neden önemli: <figure> içindeki görsellerde <figcaption> içerik bağlamı ekler ve erişilebilirliği artırır.

Çözüm: Anlamlı görselleri <figure> + <figcaption> ile açıklayın.

geçti
Alt metin kalitesi
52 görselin tamamında nitelikli alt metni var
geçti
Kırık görseller
Kontrol edilen 20 görselin tamamı erişilebilir
geçti
Dosya adı kalitesi
91 görselin tamamının dosya adı açıklayıcı
geçti
Satır içi SVG boyutu
95 satır içi SVG'nin tamamı uygun boyutta (toplam 57.8KB)
geçti
Picture elementi
Sayfada picture öğesi bulunamadı
geçti
Alt metin uzunluğu
33 görselin tamamının alt metni önerilen uzunlukta (125 karakter)
geçti
CSS arka plan görselleri
Satır içi CSS arka plan görseli tespit edilmedi
Güvenlik 14 geçti · 2 uyarı · 0 hata — skor 97

HTTPS, güvenlik başlıkları ve içerik güvenliği.

uyarı
Content-Security-Policy
Content-Security-Policy mevcut ama önerilen yönergeler eksik: default-src, script-src, style-src, img-src
ayrıntılar · 6 öğe
Yönergeler
  • frame-ancestors
Eksik önerilen
  • default-src
  • script-src
  • style-src
  • img-src
Header value: frame-ancestors https://forem.com https://version-feb-19-mjhc7.b-cdn.net https://codenewbie.forem.com https://coss.forem.com https://bookclub.forem.com https…
Nasıl düzeltirim?

Neden önemli: Content-Security-Policy, XSS saldırılarında enjekte edilen betiklerin çalışmasını engelleyen en güçlü savunmadır.

Çözüm: CSP başlığı tanımlayın; önce Content-Security-Policy-Report-Only ile test edip kaynak listenizi (script-src vb.) netleştirin.

uyarı
Permissions-Policy
Permissions-Policy başlığı eksik. Tarayıcı özelliklerini denetlemek için eklemeyi düşünün.
Nasıl düzeltirim?

Neden önemli: Permissions-Policy, kamera/mikrofon/konum gibi API'lere erişimi sınırlar; yoksa gömülü içerikler bunları isteyebilir.

Çözüm: Kullanmadığınız özellikleri kapatan bir Permissions-Policy başlığı ekleyin (ör. camera=(), microphone=()).

geçti
HTTPS kullanımı
Sayfa HTTPS üzerinden sunuluyor
geçti
HTTP→HTTPS yönlendirmesi
HTTP, HTTPS'e yönlendiriyor (301 -> https://dev.to/)
geçti
HSTS başlığı
HSTS doğru yapılandırılmış: max-age=31557600
geçti
X-Frame-Options (clickjacking)
CSP frame-ancestors yönergesi tanımlı (X-Frame-Options'ın modern karşılığı)
geçti
X-Content-Type-Options
X-Content-Type-Options doğru şekilde nosniff olarak tanımlı
geçti
Dış bağlantı noopener güvenliği
target="_blank" olan tüm dış bağlantılarda noopener/noreferrer var
geçti
Form güvenliği
1 formun tamamı güvenli action kullanıyor
geçti
Karışık içerik
Karışık içerik (mixed content) tespit edilmedi
geçti
Referrer-Policy
Referrer-Policy "strict-origin-when-cross-origin" olarak tanımlı (recommended)
geçti
Sızdırılmış gizli anahtarlar
İfşa olmuş gizli anahtar tespit edilmedi
geçti
Parola alanı güvenliği
Sayfa HTTPS üzerinden sunuluyor; parola alanları güvende
geçti
Protokol-bağımsız URL'ler
Kaynak referanslarında protokol-göreli URL bulunamadı
geçti
SSL sertifika geçerliliği
SSL sağlık göstergeleri iyi: HSTS max-age 365 gün
geçti
SSL protokol güvenliği
HSTS bulgusu security-hsts kuralında raporlanıyor (yinelenen ölçüm)
Taranabilirlik 18 geçti · 0 uyarı · 0 hata — skor 100

Arama motorlarının siteyi tarama ve indeksleme yeteneği.

geçti
Şema–noindex çakışması
Sayfada zengin sonuç şeması yok
geçti
Sayfalama canonical kullanımı
Sayfa sayfalanmış görünmüyor
geçti
Sitemap alan adı uyumu
Site haritasındaki 253 URL'nin tamamı beklenen alan adına ait
geçti
Sitemap'te noindex sayfalar
Sayfa indekslenebilir (noindex yönergesi yok)
geçti
İndekslenebilirlik çakışması
İndekslenebilirlik çelişkisi tespit edilmedi
geçti
Canonical yönlendirme hedefi
Canonical kendi adresini gösteriyor ve yönlendirme yapmıyor
geçti
Sitemap URL limiti
Site haritasında 0 URL var (50,000 sınırının içinde)
geçti
Sitemap boyut limiti
Site haritası boyutu 22.5 KB (50 MB sınırının içinde)
geçti
Sitemap yinelenen URL'ler
Site haritasındaki 253 URL'nin tamamı benzersiz
geçti
Sitemap yetim URL'ler
Site haritası adresleri için yetim kanıtı yok
geçti
Engellenen kaynaklar
robots.txt önemli CSS/JS kaynaklarını engellemiyor
geçti
Crawl-delay direktifi
robots.txt içinde Crawl-delay yönergesi bulunamadı
geçti
robots.txt'de sitemap
robots.txt 1 site haritasına referans veriyor
geçti
Kırık sayfalama
Sayfalama bağlantısı bulunamadı (rel="next"/"prev")
geçti
Sayfalama döngüsü
Sayfalama bağlantısı bulunamadı (rel="next"/"prev")
geçti
Sayfalama sırası
Sayfalama bağlantısı bulunamadı
geçti
Sayfalama noindex
Sayfa sayfalanmış değil (rel="next"/"prev" bağlantısı yok)
geçti
Yetim sayfalama
Sayfa sayfalanmış görünmüyor
Yapısal Veri 8 geçti · 5 uyarı · 0 hata — skor 88

JSON-LD yapısal veri ve zengin sonuç uygunluğu.

uyarı
Yapısal veri varlığı
Yapısal veri bulundu (RDFa) ancak daha iyi uyumluluk için JSON-LD kullanmayı düşünün
ayrıntılar · 4 öğe
Formats
  • RDFa
Json ld count: 0 Microdata count: 0 Rdfa count: 9
Nasıl düzeltirim?

Neden önemli: JSON-LD yapısal veri, arama motoruna içeriğinizi "anlatır" ve zengin sonuçların (yıldız, SSS, fiyat) kapısını açar.

Çözüm: Sayfa türünüze uygun JSON-LD ekleyin (Article, Product, Organization…); Google'ın Rich Results Test aracıyla doğrulayın.

uyarı
JSON-LD geçerliliği
Doğrulanacak JSON-LD script'i bulunamadı
Nasıl düzeltirim?

Neden önemli: Söz dizimi bozuk JSON-LD tamamen yok sayılır; emek boşa gider.

Çözüm: JSON'u doğrulayın (virgül/tırnak hataları tipiktir); Rich Results Test ile kontrol edin.

uyarı
Şema türü (@type)
@type kontrolü için JSON-LD script'i bulunamadı
Nasıl düzeltirim?

Neden önemli: Bilinmeyen ya da yanlış @type değeri şemanın işlenmemesine neden olur.

Çözüm: schema.org'da tanımlı doğru türü kullanın (ör. BlogPosting, Product, LocalBusiness).

uyarı
Zorunlu şema alanları
Zorunlu alan kontrolü için JSON-LD script'i bulunamadı
Nasıl düzeltirim?

Neden önemli: Zorunlu alanları eksik şema zengin sonuç üretmez; önerilen alanlar sonucu zenginleştirir.

Çözüm: Uyarıda listelenen alanları şemaya ekleyin (ör. Organization için sameAs, address).

uyarı
WebSite/SearchAction şeması
Ana sayfada WebSite şeması eksik
Nasıl düzeltirim?

Neden önemli: WebSite şemasındaki potentialAction, arama sonucunda site içi arama kutusu (sitelinks searchbox) çıkarabilir.

Çözüm: WebSite şemasına SearchAction tanımı ekleyin (urlTemplate ile site içi arama adresiniz).

geçti
Article şeması
Article şeması bulunamadı (zorunlu değil)
geçti
Breadcrumb şeması
Ana sayfa — içerik haritası (breadcrumb) zorunlu değil
geçti
FAQ şeması
FAQPage şeması bulunamadı (zorunlu değil)
geçti
LocalBusiness şeması
LocalBusiness şeması bulunamadı (zorunlu değil)
geçti
Organization şeması
Organization şeması bulunamadı (zorunlu değil)
geçti
Product şeması
Product şeması bulunamadı (zorunlu değil)
geçti
Review/AggregateRating şeması
Review/AggregateRating şeması bulunamadı (zorunlu değil)
geçti
VideoObject şeması
VideoObject şeması bulunamadı (zorunlu değil)
Erişilebilirlik 7 geçti · 3 uyarı · 2 hata — skor 91

Sitenin tüm kullanıcılar için erişilebilirliği.

hata
Form etiketleri
1 form alanının 1 tanesinde düzgün etiket yok
ayrıntılar · 3 öğe
Etiketsiz alanlar
TürAdIDPlaceholder
textqsearch-inputSearch...
Etiketsiz toplamı: 1 Alan toplamı: 1
Nasıl düzeltirim?

Neden önemli: Etiketsiz form alanları ekran okuyucuda "boş kutu" olarak okunur.

Çözüm: Her inputa <label for> bağlayın ya da aria-label verin; placeholder tek başına yeterli değildir.

hata
Başlık hiyerarşisi
2 başlık hiyerarşisi sorunu bulundu
ayrıntılar · 4 öğe
Sorunlar
  • First heading is H2, should be H1
  • H1 → H4 (skipped H2): "Open a restaurant that doesn't exist."
Skips
FromToMetinPosition
14Open a restaurant that doesn't exist.6
Total headings: 31
Nasıl düzeltirim?

Neden önemli: Atlayan başlık seviyeleri (H1→H4) ekran okuyucu gezinme yapısını bozar.

Çözüm: Başlıkları hiyerarşik sırayla kullanın; seviye atlamayın.

uyarı
ARIA etiketleri
Erişilebilir adı olmayan 5 etkileşimli öğe bulundu
ayrıntılar · 7 öğe
Etiketsiz öğeler
EtiketNedenTürIDSınıf
aLinks need accessible names to describe their destination
aLinks need accessible names to describe their destination
aLinks need accessible names to describe their destination
aLinks need accessible names to describe their destination
inputForm inputs need labels for screen readerstextsearch-inputcrayons-header--search-input
Eksik toplamı: 5 Denetlenen öğe: 329
Nasıl düzeltirim?

Neden önemli: Etiketi olmayan etkileşimli öğeler ekran okuyucu kullanıcıları için anlamsızdır.

Çözüm: Metinsiz düğme ve bağlantılara aria-label ekleyin ya da görünür metin verin.

uyarı
Bağlantı metni erişilebilirliği
5 bağlantı metni erişilebilirlik sorunu bulundu
ayrıntılar · 11 öğe
Duplicates
MetinAdet
aug 53
aug 613
Sorunlar
  • "(empty)" - Link text too short or empty
  • "(empty)" - Link text too short or empty
  • "(empty)" - Link text too short or empty
  • "aug 5" used 3 times for different destinations
  • "aug 6" used 13 times for different destinations
Total links: 364
Nasıl düzeltirim?

Neden önemli: "Tıkla" gibi bağlamsız bağlantılar ekran okuyucunun bağlantı listesinde anlamsızdır.

Çözüm: Bağlantı metnini hedefi tarif edecek şekilde yazın.

uyarı
Dokunma hedefi boyutları
32 olası dokunma hedefi boyutu sorunu bulundu
ayrıntılar · 11 öğe
Sorunlar
ÖğeSorun
aCSS sets small dimension (16px) on interactive elements
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
img: imageImage link/button is 18x18px (min 44x44)
Toplam sorun: 32
Nasıl düzeltirim?

Neden önemli: Küçük dokunma hedefleri mobilde yanlış tıklamalara yol açar.

Çözüm: Tıklanabilir öğeleri en az 44×44 px yapın; aralarına boşluk koyun.

geçti
Renk kontrastı
Belirgin bir renk kontrastı sorunu tespit edilmedi
geçti
Odak göstergesi
Odak göstergesi sorunu tespit edilmedi
geçti
Landmark bölgeleri
Tüm temel işaret bölgeleri (landmark) mevcut
geçti
Atlama bağlantısı
Atlama bağlantısı (skip link) mevcut
geçti
Tablo başlıkları
Sayfada veri tablosu bulunamadı
geçti
Video altyazıları
Sayfada video veya ses öğesi bulunamadı
geçti
Yakınlaştırma izni
Viewport kullanıcı yakınlaştırmasına izin veriyor
İçerik 8 geçti · 4 uyarı · 5 hata — skor 90

İçerik kalitesi, uzunluğu ve yapısı.

hata
Anahtar kelime yığması
Anahtar kelime yığması tespit edildi: 6 kelimenin yoğunluğu aşırı
ayrıntılar · 13 öğe
Aşırı kullanılan kelimeler
KelimeAdetYoğunluk
comments23%3,75
follow19%3,09
min19%3,09
read19%3,09
aug18%2,93
comment15%2,44
Top offenders
KelimeAdetYoğunluk
comments23%3,75
follow19%3,09
min19%3,09
Toplam kelime: 936 İçerik kelimesi: 614 Uyarı eşiği: %2 Hata eşiği: %5
Nasıl düzeltirim?

Neden önemli: Aynı kelimenin aşırı tekrarı doğal olmayan metin sinyalidir; sıralama düşüşüne yol açabilir.

Çözüm: Listelenen kelimelerin tekrarını azaltın; eş anlamlılar ve doğal anlatım kullanın (%2 altı yoğunluk hedefleyin).

hata
Bozuk HTML yapısı
HTML structure issues found: 12 issue(s)
ayrıntılar · 21 öğe
Sorunlar
TürÖğeDetails
tekrarlanan id#svg2ID "svg2" appears 2 times (IDs must be unique)
tekrarlanan id#defs6ID "defs6" appears 2 times (IDs must be unique)
tekrarlanan id#clipPath18ID "clipPath18" appears 2 times (IDs must be unique)
tekrarlanan id#path20ID "path20" appears 2 times (IDs must be unique)
tekrarlanan id#g12ID "g12" appears 2 times (IDs must be unique)
tekrarlanan id#g14ID "g14" appears 2 times (IDs must be unique)
tekrarlanan id#g16ID "g16" appears 2 times (IDs must be unique)
tekrarlanan id#g22ID "g22" appears 2 times (IDs must be unique)
tekrarlanan id#path24ID "path24" appears 2 times (IDs must be unique)
tekrarlanan id#g26ID "g26" appears 2 times (IDs must be unique)
tekrarlanan id#path28ID "path28" appears 2 times (IDs must be unique)
tekrarlanan id#g30ID "g30" appears 2 times (IDs must be unique)
Sorun sayısı: 12 Kritik sayısı: 14 Küçük sorun sayısı: 0 Duplicate-id: 12 Invalid-nesting: 2 Missing-attribute: 0 Empty-element: 0 Accessibility: 0 Deprecated-element: 0
Nasıl düzeltirim?

Neden önemli: Kapanmamış/iç içe bozuk etiketler sayfanın farklı tarayıcılarda farklı bozulmasına yol açar.

Çözüm: HTML'i W3C validator ile denetleyip bildirilen yapısal hataları düzeltin.

hata
Body içinde meta etiketleri
1 meta öğesi yanlışlıkla doküman gövdesine (body) yerleştirilmiş
ayrıntılar · 1 öğe
Sorunlar
EtiketContent
<title>Navigation menu
Nasıl düzeltirim?

Neden önemli: <body> içine kaçmış meta etiketleri işlenmez; genelde bozuk şablon işaretidir.

Çözüm: Tüm meta etiketlerini <head> bölümüne taşıyın.

hata
Metin/HTML oranı
Metin/HTML oranı çok düşük: %4.5 (12592 bayt metin / 278075 bayt HTML)
ayrıntılar · 5 öğe
Text length: 12592 Html length: 278075 Ratio: 4,5 İyi eşik: 25 Low: 10
Nasıl düzeltirim?

Neden önemli: Metnin HTML koduna oranı çok düşükse sayfa "içerikten çok kod" taşıyor demektir.

Çözüm: Gereksiz sarmalayıcı ve satır içi kod bloklarını azaltın; gerçek metin içeriğini artırın.

hata
Title piksel genişliği
Başlık arama sonuçlarında kesilecek: tahmini 2263px (en fazla ~580px)
ayrıntılar · 5 öğe
Başlık: DEV CommunityNavigation menuSearchSearchClosemlh-logo-color-darkTwitterFacebookGithubInstagramTwitchMastodonBlueskyDropdown menuxCommentsCommentsCommentsComm… Tahmini genişlik (px): 2263 Karakter sayısı: 294 İyi eşik: 580 Uyarı eşiği: 620
Nasıl düzeltirim?

Neden önemli: Arama sonuçları başlığı karakter değil piksel genişliğiyle keser (~580px).

Çözüm: Başlığı kısaltın; geniş harflerden (W, M) yoğun başlıklarda daha da kısa tutun.

uyarı
Okunabilirlik düzeyi
İçerik fazla karmaşık olabilir: 36.5 (Difficult (college level))
ayrıntılar · 5 öğe
Skor: 36,5 Seviye: Difficult (college level) Kelime sayısı: 936 Cümle sayısı: 26 Cümle başına kelime: 36
Nasıl düzeltirim?

Neden önemli: Aşırı karmaşık dil geniş kitlenin içeriği anlamasını zorlaştırır.

Çözüm: Cümleleri kısaltın, sade kelimeler kullanın, paragrafları bölün.

uyarı
İçerik bağlantı yoğunluğu
Bağlantı yoğunluğu çok yüksek: 100 kelimede 39.1 bağlantı (en fazla 5 önerilir)
ayrıntılar · 7 öğe
Kelime sayısı: 936 Total links: 366 Internal links: 349 External links: 17 Links per100 words: 39,1 Min: 0,5 Max: 5
Nasıl düzeltirim?

Neden önemli: Hiç bağlantısız makale, içeriğinizi sitenin geri kalanına ve kaynaklara bağlamaz.

Çözüm: Metin içinden ilgili iç sayfalara ve güvenilir dış kaynaklara bağlantı verin.

uyarı
Başlık hiyerarşisi
Başlık hiyerarşisinde sorun bulundu: 2 sorun
ayrıntılar · 18 öğe
Sorunlar
  • Document should start with an <h1>, but starts with <h2>
  • Skipped heading level: <h1> followed by <h4> (missing h2)
Yapı
SeviyeMetin
2DEV Community
2DEV Community is a community of 4,033,789 amazing ...
2Other
3Popular Tags
1Posts
4Open a restaurant that doesn't exist.
2Join our latest Frontend Challenge: Comfort Food E...
2When Your VPS Never Had the Resources It Was Sold ...
2Stop Calling Everything Impostor Syndrome: The Myt...
2How would you decide, whether the content is good ...
2General Challenge Updates Moving Forward
2How I Smashed a Bug in a Shared Authentication Lib...
2I Recreated Management With AI: 9 Things I Do Diff...
2Your SPA probably leaks memory. Your Playwright su...
2Dev log #15 Refining the Craft: A week of Neovim U...
+16 satır daha
Başlık sayısı: 31
Nasıl düzeltirim?

Neden önemli: Karışık başlık yapısı içeriğin taslağını hem kullanıcı hem arama motoru için bozar.

Çözüm: H1→H2→H3 sırasını koruyun; görsel boyut için başlık seviyesi seçmeyin, CSS kullanın.

uyarı
Başlık uzunlukları
Başlık uzunluğu sorunları: 9
ayrıntılar · 15 öğe
Sorunlar
SeviyeMetinUzunlukSorun
2Other5çok kısa
1Posts5çok kısa
2Stop Calling Everything Impostor Syndrome: The Myth of "Just Push Harder"73çok uzun
2Dev log #15 Refining the Craft: A week of Neovim UI hacking and portfolio archit...86çok uzun
2The Crash JavaScript Couldn't Catch: Fixing Android Native Crashes in a React Na...88çok uzun
2Sidewalk to Summit: reviving my founder-year idea by building it in public74çok uzun
2I gave two AI agents a way to talk to each other. Then one of them fixed a bug w...93çok uzun
2I built a RAG engine that refuses to answer with garbage context (and it cost me...114çok uzun
2A playlist has 124 videos. My tool imported 15, then 100, then finally 124.75çok uzun
Başlık sayısı: 31 Sorun sayısı: 9 Çok kısa: 3 Çok uzun: 7 En az: 10 En çok: 70
Nasıl düzeltirim?

Neden önemli: Aşırı uzun başlıklar taranabilirliği düşürür.

Çözüm: Başlıkları kısa ve öz tutun (~70 karakter altı).

geçti
Kelime sayısı
Yeterli içerik uzunluğu: 936 kelime
geçti
Charset bildirimi
Content-Type başlığı doğru yapılandırılmış
geçti
Yinelenen meta açıklama
Meta açıklama benzersiz
geçti
Başlık benzersizliği
31 başlığın tümü benzersiz içeriğe sahip
geçti
Title–H1 farklılığı
Title etiketi ile H1 başlığı birbirinden farklı
geçti
Açıklama piksel genişliği
Meta açıklama arama sonucu görünümüne sığıyor: tahmini 579px
geçti
Birebir yinelenen içerik
İçerik benzersiz (birebir kopya bulunamadı)
geçti
Benzer yinelenen içerik
İlk sayfa analiz edildi (henüz karşılaştırma yapılamıyor)
Sosyal Medya 8 geçti · 1 uyarı · 0 hata — skor 97

Open Graph ve Twitter kart etiketleri, sosyal sinyaller.

uyarı
og:image boyutları
og:image:width ve og:image:height meta etiketleri eksik. Önerilen 1200x630 boyutuyla ekleyin
ayrıntılar · 3 öğe
og:image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg Önerilen genişlik: 1200 Önerilen yükseklik: 630
Nasıl düzeltirim?

Neden önemli: Küçük og:image büyük kart yerine küçük küçük görüntülenir.

Çözüm: En az 1200×630 piksel görsel kullanın (1.91:1 oran).

geçti
og:title etiketi
Open Graph başlık etiketi mevcut
geçti
og:description etiketi
Open Graph açıklama etiketi mevcut
geçti
og:image etiketi
Open Graph görsel etiketi geçerli bir URL ile mevcut
geçti
Twitter Card etiketi
Twitter kart etiketi geçerli bir türle mevcut
geçti
og:url etiketi
Open Graph URL etiketi geçerli bir URL ile mevcut
geçti
og:url–canonical uyumu
og:url kanonik URL ile eşleşiyor
geçti
Paylaşım butonları
Sosyal paylaşım bileşeni tespit edildi
geçti
Sosyal profil bağlantıları
6 sosyal medya profiline bağlantı bulundu: Twitter/X, Facebook, GitHub, Instagram, Mastodon, Bluesky
E-E-A-T & Güven 10 geçti · 4 uyarı · 0 hata — skor 92

Deneyim, uzmanlık, otorite ve güven sinyalleri.

uyarı
Affiliate bildirimi
Bildirim olmadan 2 satış ortaklığı bağlantısı bulundu — düzenlemeler açık bildirim gerektirir
ayrıntılar · 3 öğe
Affiliate link count: 2
Nasıl düzeltirim?

Neden önemli: Satış ortaklığı bağlantılarının açıklanmaması hem yasal risk hem güven kaybıdır.

Çözüm: Ortaklık bağlantısı içeren sayfalara açık bir bilgilendirme metni ekleyin.

uyarı
Yazar imzası
Yazar imzası bulunamadı
Nasıl düzeltirim?

Neden önemli: Yazarsız içerik, özellikle uzmanlık gerektiren konularda anonim ve güvensiz görünür.

Çözüm: Makalelere görünür yazar adı ekleyin; yazar adını author şemasıyla da işaretleyin.

uyarı
Yazar uzmanlığı
Yazar bulundu ama uzmanlık göstergesi tespit edilmedi
Nasıl düzeltirim?

Neden önemli: Yazarın uzmanlığı görünmüyorsa içeriğin güvenilirliği değerlendirilemez.

Çözüm: Yazar biyografisi sayfaları oluşturun: unvan, deneyim ve sosyal/akademik profil bağlantıları.

uyarı
Editoryal politika
Editoryal politika bulunamadı — içerik odaklı siteler için önerilir
Nasıl düzeltirim?

Neden önemli: Editoryal süreç şeffaflığı içerik kalitesine dair güven verir.

Çözüm: İçeriklerin nasıl üretilip doğrulandığını anlatan bir editoryal politika sayfası yayınlayın.

geçti
Hakkında sayfası
Hakkında sayfası bağlantısı gezinme menüsünde bulundu
geçti
Otoriter kaynak atıfları
1 güvenilir kaynağa atıf yapılmış
geçti
İletişim sayfası
İletişim sayfası bulundu
geçti
İçerik tarihleri
İçerik tarihi sinyalleri bulundu (1 tür)
geçti
Yasal uyarılar
YMYL olmayan içerik — sorumluluk reddi zorunlu değil
geçti
Fiziksel adres
Fiziksel adres bulunamadı (bu site türü için gerekmeyebilir)
geçti
Gizlilik politikası
Gizlilik politikası bağlantısı alt bilgide bulundu (2 bağlantı)
geçti
Kullanım koşulları
Kullanım koşulları bağlantısı alt bilgide bulundu (2 bağlantı)
geçti
Güven sinyalleri
Güven sinyalleri bulundu: reviews, media
geçti
YMYL içerik tespiti
YMYL içerik tespit edilmedi
URL Yapısı 14 geçti · 0 uyarı · 0 hata — skor 100

URL'lerin SEO dostu yapısı.

geçti
URL anahtar kelimeleri
URL açıklayıcı anahtar kelimeler içeriyor
geçti
URL'de gereksiz kelimeler
URL etkisiz (stop) kelime içermiyor
geçti
Küçük harf kullanımı
URL yolu tamamen küçük harf
geçti
Alt çizgi kullanımı
Kök yolda alt çizgi yok
geçti
Çift eğik çizgi
URL yolunda çift eğik çizgi yok
geçti
URL'de boşluk
URL boşluk içermiyor
geçti
ASCII dışı karakterler
URL yolu yalnızca ASCII karakterler içeriyor
geçti
URL uzunluğu
URL uzunluğu 14 karakter (iyi; <= 75)
geçti
Yinelenen yol segmentleri
URL yolunda tekrar eden bölüm yok
geçti
Sorgu parametreleri
URL'de sorgu parametresi yok
geçti
Oturum kimlikleri
URL'de oturum kimliği bulunamadı
geçti
İzleme parametreleri
URL'de izleme parametresi bulunamadı
geçti
İç arama sayfaları
URL bir site içi arama sayfası görünmüyor
geçti
HTTP/HTTPS kopyaları
Kanonik URL protokolü sayfa URL protokolüyle eşleşiyor
Mobil Uyumluluk 2 geçti · 2 uyarı · 1 hata — skor 83

Mobil cihaz uyumluluğu ve kullanılabilirlik.

hata
Yatay kaydırma
Yatay kaydırmaya yol açabilecek 12 öğe bulundu
ayrıntılar · 10 öğe
Sorunlar
ÖğeSorunCause
img: Frontend Challenge: Comfort Food EditionWidth attribute exceeds mobile viewportwidth="800"
img: Cover image for When Your VPS Never Had the Resources It Was Sold WithWidth attribute exceeds mobile viewportwidth="1000"
img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdp20m6p4yxanh49qm6p9.pngWidth attribute exceeds mobile viewportwidth="800"
img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ykd0ehvj6x4jhr7iezs.pngWidth attribute exceeds mobile viewportwidth="800"
img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8688gg51gsz1lxzjjdpy.pngWidth attribute exceeds mobile viewportwidth="800"
img: Google AI - Official AI Model and Platform PartnerWidth attribute exceeds mobile viewportwidth="2048"
img: Neon - Official Database PartnerWidth attribute exceeds mobile viewportwidth="2286"
img: Algolia - Official Search PartnerWidth attribute exceeds mobile viewportwidth="2286"
img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6yucxyr5yil1l8gxe3uc.pngLarge image without max-width: 100%width="1000" without responsive constraint
Toplam sorun: 12
Nasıl düzeltirim?

Neden önemli: Yatay kaydırma mobil kullanım deneyimini ciddi bozar.

Çözüm: Sabit genişlikli öğeleri (tablo, görsel, embed) max-width:100% ve overflow kurallarıyla dizginleyin.

uyarı
Mobil yazı boyutu
4 mobil yazı boyutu sorunu bulundu
ayrıntılar · 7 öğe
Sorunlar
KonumSorunDeğer
p: "Thank you to our Dia..."Font size below 16px may require zooming on mobile0.8em
div: "Google AI is the off..."Font size below 16px may require zooming on mobile0.8em
div: "Neon is the official..."Font size below 16px may require zooming on mobile0.8em
div: "Algolia is the offic..."Font size below 16px may require zooming on mobile0.8em
Toplam sorun: 4 Küçük yazı sayısı: 4 Dar satır aralığı: 0
Nasıl düzeltirim?

Neden önemli: 12px altı metin mobilde okunmak için yakınlaştırma gerektirir; Google mobil uyumsuzluk sayar.

Çözüm: Gövde metnini en az 16px yapın; hiçbir metin 12px altına inmesin.

uyarı
Rahatsız edici ara reklamlar
1 olası ara katman sorunu bulundu
ayrıntılar · 2 öğe
Sorunlar
ÖğeTürEvidence
div.hamburger__overlayPopup/Modal overlayoverlay
Toplam sorun: 1
Nasıl düzeltirim?

Neden önemli: Ekranı kaplayan pop-up'lar mobilde içeriğe erişimi engeller; Google bunun için ceza uygular.

Çözüm: İçeriği örten geçiş reklamlarını kaldırın; küçük banner ya da yasal zorunlu bildirimlerle sınırlayın.

geçti
Viewport genişliği
Viewport genişliği device-width olarak tanımlı (duyarlı tasarım)
geçti
Çoklu viewport etiketi
Tek viewport meta etiketi bulundu (doğru)
Uluslararasılaştırma 10 geçti · 0 uyarı · 0 hata — skor 100

Çok dillilik ve hreflang yapılandırması.

geçti
HTML lang özniteliği
HTML lang özniteliği "en" olarak tanımlı
geçti
Hreflang etiketleri
Hreflang etiketi bulunamadı (tek dilli site)
geçti
Hreflang karşılıklı bağlantılar
Hreflang etiketi bulunamadı (tek dilli site)
geçti
Hreflang–noindex çakışması
Hreflang etiketi yok; çelişki mümkün değil
geçti
Hreflang–canonical uyumu
Hreflang etiketi yok; çelişki mümkün değil
geçti
Kırık hreflang hedefleri
Hreflang etiketi bulunamadı
geçti
Hreflang yönlendirme hedefleri
Hreflang etiketi bulunamadı
geçti
Çakışan hreflang bildirimleri
Hreflang etiketi bulunamadı
geçti
Hreflang dil uyumsuzluğu
Hreflang etiketi yok; uyuşmazlık mümkün değil
geçti
Çoklu hreflang yöntemi
Hreflang bildirimi bulunamadı
JavaScript Render 13 geçti · 0 uyarı · 0 hata — skor 100

JavaScript sonrası render edilen içeriğin SEO uyumu.

geçti
Render sonrası title
Title etiketi işlenmiş DOM'da mevcut
geçti
Render sonrası meta açıklama
Meta açıklama işlenmiş DOM'da mevcut
geçti
Render sonrası H1
H1 başlığı işlenmiş DOM'da mevcut
geçti
Render sonrası canonical
Kanonik link etiketi işlenmiş DOM'da mevcut
geçti
Canonical render uyumsuzluğu
Kanonik URL, ham ve işlenmiş DOM arasında tutarlı
geçti
Noindex render uyumsuzluğu
Noindex durumu, ham ve işlenmiş DOM arasında tutarlı
geçti
JS ile değişen title
Title, JavaScript çalıştıktan sonra değişmedi
geçti
JS ile değişen açıklama
Meta açıklama, JavaScript çalıştıktan sonra değişmedi
geçti
JS ile değişen H1
H1 başlığı, JavaScript çalıştıktan sonra değişmedi
geçti
Ham HTML'de içerik varlığı
Sayfa içeriği büyük ölçüde ham HTML'de mevcut
geçti
Ham HTML'de bağlantı varlığı
Bağlantılar büyük ölçüde ham HTML'de mevcut
geçti
Engellenen JS kaynakları
robots.txt hiçbir JavaScript kaynağını engellemiyor
geçti
Sunucu tarafı render (SSR)
Sayfa sunucu tarafında oluşturulmuş görünüyor; içerik ilk HTML'de mevcut
Yönlendirmeler 8 geçti · 0 uyarı · 0 hata — skor 100

Yönlendirme zincirleri ve türleri.

geçti
Meta refresh yönlendirmesi
Meta refresh yönlendirmesi bulunamadı
geçti
JavaScript yönlendirmesi
JavaScript ile sayfa yükleme yönlendirmesi yok
geçti
Refresh HTTP başlığı
Refresh HTTP başlığı yok
geçti
Yönlendirme döngüsü
Kontrol edilecek yönlendirme zinciri yok
geçti
Yönlendirme türü
Sayfa bir yönlendirme değil
geçti
Kırık yönlendirme zinciri
Kontrol edilecek yönlendirme zinciri yok
geçti
HTTP kaynak yönlendirmeleri
HTTPS sayfada HTTP kaynak bulunamadı
geçti
Büyük/küçük harf normalizasyonu
Mevcut URL kanonik URL ile eşleşiyor
HTML Doğrulama 7 geçti · 1 uyarı · 1 hata — skor 97

HTML belgesinin yapısal geçerliliği.

hata
Çoklu title elementi
Dokümanda 35 adet <title> öğesi var. Doküman başına yalnızca bir <title> olmalı
ayrıntılar · 16 öğe
Başlıklar
  • DEV Community
  • Navigation menu
  • Search
  • Search
  • Close
  • mlh-logo-color-dark
  • Twitter
  • Facebook
  • Github
  • Instagram
  • Twitch
  • Mastodon
  • Bluesky
  • Dropdown menu
  • x
+20 öğe daha
Adet: 35
Nasıl düzeltirim?

Neden önemli: Birden çok title etiketi hangisinin geçerli olduğunu belirsizleştirir.

Çözüm: Tek title bırakın; şablon/eklenti kaynaklı tekrarı bulun.

uyarı
HTML belge boyutu
HTML dokümanı 271.7 KB boyutunda. En iyi performans için 250 KB altında tutmayı düşünün
ayrıntılar · 3 öğe
Boyut (bayt): 278270 Boyut: 271.7 KB Eşik: 250 KB
Nasıl düzeltirim?

Neden önemli: Aşırı büyük HTML ayrıştırmayı yavaşlatır; bazı botlar kesip eksik işler.

Çözüm: Satır içi devasa içerikleri harici dosyalara taşıyın; işaretlemeyi sadeleştirin.

geçti
DOCTYPE bildirimi
DOCTYPE bildirimi mevcut
geçti
Charset bildirimi
Karakter kümesi <meta charset> ile bildirilmiş
geçti
Head içeriği geçerliliği
<head> yalnızca geçerli meta veri öğeleri içeriyor
geçti
Head içinde noscript
<head> içinde <noscript> öğesi bulunamadı
geçti
Çoklu head elementi
Dokümanda tek bir <head> öğesi var
geçti
Yer tutucu metin
Yer tutucu metin tespit edilmedi
geçti
Çoklu meta açıklama
Dokümanda tek bir meta açıklama var
AI / GEO Hazırlığı 4 geçti · 1 uyarı · 0 hata — skor 94

Yapay zeka arama motorlarına ve üretken aramaya hazırlık.

uyarı
llms.txt dosyası
llms.txt referansı bulunamadı — AI keşfedilebilirliği için eklemeyi düşünün
ayrıntılar · 1 öğe
Referans sayısı: 0
Nasıl düzeltirim?

Neden önemli: llms.txt, sitenizi AI sistemlerine tanıtan yeni bir standarttır; erken benimseyenler avantajlıdır.

Çözüm: Kök dizine sitenizi ve önemli sayfalarınızı özetleyen bir /llms.txt dosyası ekleyin (bkz. llmstxt.org).

geçti
Semantik HTML
Mükemmel anlamsal HTML yapısı (8 farklı anlamsal öğe bulundu)
geçti
AI için içerik yapısı
Sayfanın AI için içerik yapısı mükemmel (4 sinyalin tamamı mevcut)
geçti
AI bot erişimi
Yapay zekâ botları robots.txt ile engellenmiyor
geçti
Şema tutarlılığı
Kontrol edilecek JSON-LD yapısal verisi yok