dev.to
DEV Community
AI DEV Community SEO analizi: 82 puan, DOM boyutu ve aşırı bağlantı sayısı kritik sorunlar.
DEV Community'nin SEO skoru 82 olarak belirlenmiştir. En kritik sorunlar arasında büyük DOM boyutu ve sayfadaki aşırı bağlantı sayısı yer almaktadır. Ayrıca, görsellerde alt metin eksiklikleri ve erişilebilirlik sorunları da dikkat çekmektedir.
DOM boyutunu azaltın
DOM boyutunu 800'ün altına indirmek için gereksiz öğeleri kaldırın.
Bağlantı sayısını azaltın
Sayfadaki bağlantı sayısını 300'ün altına çekmek için gereksiz bağlantıları kaldırın.
Görsellerde alt metin ekleyin
Eksik alt metinleri tamamlayarak görsel erişilebilirliğini artırın.
Erişilebilirlik sorunlarını giderin
Form etiketleri ve başlık hiyerarşisi sorunlarını çözerek erişilebilirliği artırın.
Anahtar kelime yoğunluğunu dengeleyin
Anahtar kelime yoğunluğunu azaltarak içerik kalitesini artırın.
HTML yapısını düzeltin
HTML yapı sorunlarını gidererek sayfanın düzgün çalışmasını sağlayın.
Başlık ve meta açıklama uzunluğunu ayarlayın
Başlık ve meta açıklama uzunluklarını önerilen değerler arasına getirin.
› 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› Öneriler ve teşhisler 12 bulgu
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.
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.
İ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.
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.
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
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
LCP resmini HTML'den anında bulunabilir hale getirerek ve geç yüklemeden kaçınarak LCP'yi optimize edin.
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.
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.
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.
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
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.
› Öneriler ve teşhisler 16 bulgu
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.
İ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.
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.
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
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.
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
LCP resmini HTML'den anında bulunabilir hale getirerek ve geç yüklemeden kaçınarak LCP'yi optimize edin.
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.
Birçok kullanıcı, düşük kontrastlı metni okumakta zorlanır veya okuyamaz. Yeterli renk kontrastını nasıl sağlayacağınızı öğrenin.
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.
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.
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.
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.
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.
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
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.
Kategori skorları
B · Çok İyi — genel 82/100Başlık yapısı
31 başlık · H1→H6 ana hattıSosyal medya önizlemesi
bağlantı paylaşılınca böyle görünürKural detayları
› Temel SEO 17 geçti · 2 uyarı · 0 hata — skor 97
Title, meta açıklama, canonical ve temel HTML etiketlerinin doğruluğu.
ayrıntılar · 4 öğe
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.
ayrıntılar · 4 öğe
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.
› Teknik SEO 13 geçti · 0 uyarı · 0 hata — skor 100
robots.txt, sitemap, yönlendirmeler ve sunucu yanıtları gibi teknik altyapı.
› Performans 13 geçti · 8 uyarı · 1 hata — skor 88
Core Web Vitals ve sayfa hızı metrikleri.
ayrıntılar · 5 öğe
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).
ayrıntılar · 2 öğe
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.
ayrıntılar · 9 öğe
- assets.dev.to/assets/minimal-b74fc990bceac4211a1cd56dba292c86ef40489947…
- assets.dev.to/assets/views-53fd5c62260337fdcc0cd283567529e2d0145374447e…
- assets.dev.to/assets/crayons-cd641458c515ed65f655e4222ec89a7e0394593a54…
- assets.dev.to/assets/minimal-b74fc990bceac4211a1cd56dba292c86ef40489947…
- assets.dev.to/assets/views-53fd5c62260337fdcc0cd283567529e2d0145374447e…
- assets.dev.to/assets/crayons-cd641458c515ed65f655e4222ec89a7e0394593a54…
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.
ayrıntılar · 6 öğe
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.
ayrıntılar · 2 öğe
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).
ayrıntılar · 7 öğe
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.
ayrıntılar · 1 öğe
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).
ayrıntılar · 7 öğe
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.
ayrıntılar · 5 öğe
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
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.
› Bağlantılar 16 geçti · 2 uyarı · 1 hata — skor 97
İç ve dış bağlantıların sağlığı ve kalitesi.
ayrıntılar · 2 öğe
Nasıl düzeltirim?
Neden önemli: Sayfa başına yüzlerce bağlantı her birinin değerini seyreltir ve kullanıcıyı boğar.
Çözüm: Gezinme ve içerik bağlantılarını sadeleştirin; en önemli hedeflere odaklanın.
ayrıntılar · 5 öğe
- twitch.com/thepracticaldev HTTP 405
- bsky.app/profile/dev.to HTTP 404
Nasıl düzeltirim?
Neden önemli: Erişilemeyen dış bağlantılar kullanıcı deneyimini bozar ve bakımsız içerik izlenimi verir.
Çözüm: Listelenen dış bağlantıları güncelleyin, arşiv sürümüne (web.archive.org) bağlayın ya da kaldırın.
ayrıntılar · 11 öğe
- / Empty anchor text
- /#open-a-restaurant-that-doesnt-exist Empty anchor text
- /devteam?bb=263949 Empty anchor text
- /jess?bb=263949 Empty anchor text
- /++?bb=263949 Empty anchor text
- /pascal_cescato_692b7a8a20 Empty anchor text
- /++ Empty anchor text
- /sylwia-lask Empty anchor text
- /francistrdev Empty anchor text
Nasıl düzeltirim?
Neden önemli: "Tıkla", "buraya" gibi bağlantı metinleri hedef sayfanın konusu hakkında hiçbir sinyal taşımaz.
Çözüm: Bağlantı metnini hedef sayfayı tarif edecek şekilde yazın (ör. "buraya tıklayın" yerine "SEO rehberini inceleyin").
› Görseller 7 geçti · 6 uyarı · 1 hata — skor 85
Görsellerin optimizasyonu, alt metinleri ve formatları.
ayrıntılar · 6 öğe
- assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463…
- assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0e…
- assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234…
- assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e32…
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.
ayrıntılar · 10 öğe
- media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazo…
- assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d6548772708…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
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.
ayrıntılar · 9 öğe
- assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d6548772708…
- assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463…
- assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0e…
- assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234…
- media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=aut…
- assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e32…
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).
ayrıntılar · 4 öğe
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.
ayrıntılar · 9 öğe
- media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=aut… Filename suggests large image (contains "cover")
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f… Filename suggests large image (contains "cover")
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f… Filename suggests large image (contains "cover")
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f… Filename suggests large image (contains "cover")
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f… Filename suggests large image (contains "cover")
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f… Filename suggests large image (contains "cover")
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.
ayrıntılar · 11 öğe
- media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazo…
- media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgrav…
- assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d6548772708…
- media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=aut…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
- media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,f…
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.
ayrıntılar · 3 öğe
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.
› Güvenlik 14 geçti · 2 uyarı · 0 hata — skor 97
HTTPS, güvenlik başlıkları ve içerik güvenliği.
ayrıntılar · 6 öğe
- frame-ancestors
- default-src
- script-src
- style-src
- img-src
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.
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=()).
› Taranabilirlik 18 geçti · 0 uyarı · 0 hata — skor 100
Arama motorlarının siteyi tarama ve indeksleme yeteneği.
› Yapısal Veri 8 geçti · 5 uyarı · 0 hata — skor 88
JSON-LD yapısal veri ve zengin sonuç uygunluğu.
ayrıntılar · 4 öğe
- RDFa
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.
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.
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).
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).
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).
› Erişilebilirlik 7 geçti · 3 uyarı · 2 hata — skor 91
Sitenin tüm kullanıcılar için erişilebilirliği.
ayrıntılar · 3 öğe
| Tür | Ad | ID | Placeholder |
|---|---|---|---|
| text | q | search-input | Search... |
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.
ayrıntılar · 4 öğe
- First heading is H2, should be H1
- H1 → H4 (skipped H2): "Open a restaurant that doesn't exist."
| From | To | Metin | Position |
|---|---|---|---|
| 1 | 4 | Open a restaurant that doesn't exist. | 6 |
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.
ayrıntılar · 7 öğe
| Etiket | Neden | Tür | ID | Sınıf |
|---|---|---|---|---|
| a | Links need accessible names to describe their destination | |||
| a | Links need accessible names to describe their destination | |||
| a | Links need accessible names to describe their destination | |||
| a | Links need accessible names to describe their destination | |||
| input | Form inputs need labels for screen readers | text | search-input | crayons-header--search-input |
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.
ayrıntılar · 11 öğe
- /devteam/join-our-latest-frontend-ch "(empty)" · Link text too short or empty
- /bugsmash?bb=263965 "(empty)" · Link text too short or empty
- /challenges/weekend-2026-08-13?bb=26 "(empty)" · Link text too short or empty
| Metin | Adet |
|---|---|
| aug 5 | 3 |
| aug 6 | 13 |
- "(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
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.
ayrıntılar · 11 öğe
| Öğe | Sorun |
|---|---|
| a | CSS sets small dimension (16px) on interactive elements |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
| img: image | Image link/button is 18x18px (min 44x44) |
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.
› İçerik 8 geçti · 4 uyarı · 5 hata — skor 90
İçerik kalitesi, uzunluğu ve yapısı.
ayrıntılar · 13 öğe
| Kelime | Adet | Yoğunluk |
|---|---|---|
| comments | 23 | %3,75 |
| follow | 19 | %3,09 |
| min | 19 | %3,09 |
| read | 19 | %3,09 |
| aug | 18 | %2,93 |
| comment | 15 | %2,44 |
| Kelime | Adet | Yoğunluk |
|---|---|---|
| comments | 23 | %3,75 |
| follow | 19 | %3,09 |
| min | 19 | %3,09 |
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).
ayrıntılar · 21 öğe
| Tür | Öğe | Details |
|---|---|---|
| tekrarlanan id | #svg2 | ID "svg2" appears 2 times (IDs must be unique) |
| tekrarlanan id | #defs6 | ID "defs6" appears 2 times (IDs must be unique) |
| tekrarlanan id | #clipPath18 | ID "clipPath18" appears 2 times (IDs must be unique) |
| tekrarlanan id | #path20 | ID "path20" appears 2 times (IDs must be unique) |
| tekrarlanan id | #g12 | ID "g12" appears 2 times (IDs must be unique) |
| tekrarlanan id | #g14 | ID "g14" appears 2 times (IDs must be unique) |
| tekrarlanan id | #g16 | ID "g16" appears 2 times (IDs must be unique) |
| tekrarlanan id | #g22 | ID "g22" appears 2 times (IDs must be unique) |
| tekrarlanan id | #path24 | ID "path24" appears 2 times (IDs must be unique) |
| tekrarlanan id | #g26 | ID "g26" appears 2 times (IDs must be unique) |
| tekrarlanan id | #path28 | ID "path28" appears 2 times (IDs must be unique) |
| tekrarlanan id | #g30 | ID "g30" appears 2 times (IDs must be unique) |
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.
ayrıntılar · 1 öğe
| Etiket | Content |
|---|---|
| <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.
ayrıntılar · 5 öğe
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.
ayrıntılar · 5 öğe
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.
ayrıntılar · 5 öğe
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.
ayrıntılar · 7 öğe
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.
ayrıntılar · 18 öğe
- Document should start with an <h1>, but starts with <h2>
- Skipped heading level: <h1> followed by <h4> (missing h2)
| Seviye | Metin |
|---|---|
| 2 | DEV Community |
| 2 | DEV Community is a community of 4,033,789 amazing ... |
| 2 | Other |
| 3 | Popular Tags |
| 1 | Posts |
| 4 | Open a restaurant that doesn't exist. |
| 2 | Join our latest Frontend Challenge: Comfort Food E... |
| 2 | When Your VPS Never Had the Resources It Was Sold ... |
| 2 | Stop Calling Everything Impostor Syndrome: The Myt... |
| 2 | How would you decide, whether the content is good ... |
| 2 | General Challenge Updates Moving Forward |
| 2 | How I Smashed a Bug in a Shared Authentication Lib... |
| 2 | I Recreated Management With AI: 9 Things I Do Diff... |
| 2 | Your SPA probably leaks memory. Your Playwright su... |
| 2 | Dev log #15 Refining the Craft: A week of Neovim U... |
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.
ayrıntılar · 15 öğe
| Seviye | Metin | Uzunluk | Sorun |
|---|---|---|---|
| 2 | Other | 5 | çok kısa |
| 1 | Posts | 5 | çok kısa |
| 2 | Stop Calling Everything Impostor Syndrome: The Myth of "Just Push Harder" | 73 | çok uzun |
| 2 | Dev log #15 Refining the Craft: A week of Neovim UI hacking and portfolio archit... | 86 | çok uzun |
| 2 | The Crash JavaScript Couldn't Catch: Fixing Android Native Crashes in a React Na... | 88 | çok uzun |
| 2 | Sidewalk to Summit: reviving my founder-year idea by building it in public | 74 | çok uzun |
| 2 | I gave two AI agents a way to talk to each other. Then one of them fixed a bug w... | 93 | çok uzun |
| 2 | I built a RAG engine that refuses to answer with garbage context (and it cost me... | 114 | çok uzun |
| 2 | A playlist has 124 videos. My tool imported 15, then 100, then finally 124. | 75 | çok uzun |
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ı).
› Sosyal Medya 8 geçti · 1 uyarı · 0 hata — skor 97
Open Graph ve Twitter kart etiketleri, sosyal sinyaller.
ayrıntılar · 3 öğe
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).
› E-E-A-T & Güven 10 geçti · 4 uyarı · 0 hata — skor 92
Deneyim, uzmanlık, otorite ve güven sinyalleri.
ayrıntılar · 3 öğe
- aistudio.google.com/?utm_source=partner&utm_medium=partner&utm_campaign=
- neon.tech/?ref=devto&bb=146443
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.
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.
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ı.
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.
› URL Yapısı 14 geçti · 0 uyarı · 0 hata — skor 100
URL'lerin SEO dostu yapısı.
› Mobil Uyumluluk 2 geçti · 2 uyarı · 1 hata — skor 83
Mobil cihaz uyumluluğu ve kullanılabilirlik.
ayrıntılar · 10 öğe
| Öğe | Sorun | Cause |
|---|---|---|
| img: Frontend Challenge: Comfort Food Edition | Width attribute exceeds mobile viewport | width="800" |
| img: Cover image for When Your VPS Never Had the Resources It Was Sold With | Width attribute exceeds mobile viewport | width="1000" |
| img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdp20m6p4yxanh49qm6p9.png | Width attribute exceeds mobile viewport | width="800" |
| img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ykd0ehvj6x4jhr7iezs.png | Width attribute exceeds mobile viewport | width="800" |
| img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8688gg51gsz1lxzjjdpy.png | Width attribute exceeds mobile viewport | width="800" |
| img: Google AI - Official AI Model and Platform Partner | Width attribute exceeds mobile viewport | width="2048" |
| img: Neon - Official Database Partner | Width attribute exceeds mobile viewport | width="2286" |
| img: Algolia - Official Search Partner | Width attribute exceeds mobile viewport | width="2286" |
| img: https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6yucxyr5yil1l8gxe3uc.png | Large image without max-width: 100% | width="1000" without responsive constraint |
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.
ayrıntılar · 7 öğe
| Konum | Sorun | Değer |
|---|---|---|
| p: "Thank you to our Dia..." | Font size below 16px may require zooming on mobile | 0.8em |
| div: "Google AI is the off..." | Font size below 16px may require zooming on mobile | 0.8em |
| div: "Neon is the official..." | Font size below 16px may require zooming on mobile | 0.8em |
| div: "Algolia is the offic..." | Font size below 16px may require zooming on mobile | 0.8em |
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.
ayrıntılar · 2 öğe
| Öğe | Tür | Evidence |
|---|---|---|
| div.hamburger__overlay | Popup/Modal overlay | overlay |
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.
› Uluslararasılaştırma 10 geçti · 0 uyarı · 0 hata — skor 100
Çok dillilik ve hreflang yapılandırması.
› Yasal Uyum 1 geçti · 0 uyarı · 0 hata — skor 100
Çerez onayı ve yasal gereklilikler.
› JavaScript Render 13 geçti · 0 uyarı · 0 hata — skor 100
JavaScript sonrası render edilen içeriğin SEO uyumu.
› Yönlendirmeler 8 geçti · 0 uyarı · 0 hata — skor 100
Yönlendirme zincirleri ve türleri.
› HTML Doğrulama 7 geçti · 1 uyarı · 1 hata — skor 97
HTML belgesinin yapısal geçerliliği.
ayrıntılar · 16 öğe
- DEV Community
- Navigation menu
- Search
- Search
- Close
- mlh-logo-color-dark
- Github
- Twitch
- Mastodon
- Bluesky
- Dropdown menu
- x
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.
ayrıntılar · 3 öğe
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.
› AI / GEO Hazırlığı 4 geçti · 1 uyarı · 0 hata — skor 94
Yapay zeka arama motorlarına ve üretken aramaya hazırlık.
ayrıntılar · 1 öğe
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).