HTML lang Özelliği Nedir?
<html lang="..."> özelliği, web sayfanızın hangi ana dilde yazıldığını belirten global bir niteliktir. Sayfanın en başında, tarayıcıya "Bu içerik Türkçe (tr) olarak hazırlanmıştır" mesajını veren teknik bir pasaporttur.
Karakter Seti (Charset) Nedir?
Karakter seti, metinlerin dijital ortamda nasıl kodlandığını belirleyen sistemdir. Bilgisayarlar aslında harfleri değil sayıları anlar; charset, bu sayıların hangi harfe, sembole veya emojice karşılık geleceğini tanımlayan bir sözlüktür.
lang ve charset SEO İçin Neden Kritiktir?
Arama motorları, arama sonuçlarını kullanıcıların dil ve bölge ayarlarına göre filtreler. Doğru bir lang bildirimi, sayfanızın hedef kitleyle doğru coğrafyada eşleşmesini sağlar. Karakter seti ise içeriğin okunabilirliğini garantileyerek kullanıcı deneyimini doğrudan etkiler.
HTML lang Tanımlı Değilse Ne Olur?
Bu alanın boş bırakılması teknik bir ihmaldir. Google dili içerikten tahmin etmeye çalışır ama yanılabilir. Dil bildirilmezse, siteniz yanlış ülke sonuçlarında kaybolabilir. Ayrıca görme engelli kullanıcıların kullandığı ekran okuyucular (screen readers), dili bilemedikleri için içeriği saçma sapan bir aksanla okuyarak sitenizi tamamen erişilemez hale getirir.
Yanlış Dil Tanımı: Bir SEO Felaketi
Türkçe olan bir sitede lang="en" bırakılması, en sık yapılan "tema-default" hatalarından biridir. Bu, Google'a "Ben İngilizce içerik sunuyorum" deyip tamamen Türkçe konuşmak gibidir. Algoritmalar bu tutarsızlığı düşük kalite sinyali olarak algılar.
Dil Kodu Nasıl Yazılmalı?
Dil kodları ISO 639-1 standartlarına uygun olmalıdır. Örneğin Türkçe için tr, İngilizce için en, Almanca için de kullanılır. Kodlar her zaman küçük harfle yazılmalıdır.
Bölgesel Dil Kodlarının Gücü
Sadece dil değil, bölge de belirtmek isterseniz tr-TR veya en-US gibi yapılar kullanabilirsiniz. Ancak genel bir hedef kitle için sadece tr kullanımı genellikle en güvenli ve temiz yoldur.
Çok Dilli Sitelerde lang Kullanımı
Her sayfa kendi dilini barındırmalıdır. Ana sayfanız tr iken, İngilizce alt dizininiz mutlaka en olarak tanımlanmalıdır. Bu yapı, hreflang etiketleriyle de desteklenerek dil mimarisini tamamlar.
Aynı Sayfada Birden Fazla Dil Olur mu?
Bir sayfada farklı dillerden bölümler olabilir (Örn: Alıntılar). Ancak ana lang tanımı, sayfanın %50'den fazlasını temsil eden dile göre yapılmalıdır. Karmaşık dil yapıları Google botu için kafa karıştırıcıdır.
Erişim İçin lang Zorunluluğu
Screen reader yazılımları, lang etiketine bakarak hangi telaffuz kütüphanesini yükleyeceğine karar verir. WCAG erişilebilirlik standartlarına göre bu etiket olmadan bir sitenin "erişilebilir" sayılması imkansızdır.
UTF-8: Modern Webin Standart Dili
<meta charset="UTF-8">, bugün internet dünyasının ortak dilidir. Dünya üzerindeki hemen hemen her dili, karakteri ve sembolü destekleyen tek evrensel şifreleme biçimidir.
UTF-8 Neden Zorunludur?
Eski karakter setleri Türkçe'deki "ğ, ş, ı, ö, ç" gibi karakterleri desteklemezdi. Ayrıca modern dünyanın parçası olan **Emoji** desteği sadece UTF-8 ile sağlıklı çalışır. Emoji kullanılan bir başlıkta UTF-8 yoksa, karşınıza bozuk bir kare sembolü çıkar.
Yanlış Charset Kullanımı
Eski sistemlerden kalma ISO-8859-9 veya Windows-1254 gibi tanımlar artık terk edilmelidir. Bu setler küresel standartlarla uyumsuzdur ve farklı tarayıcılarda bozulmalara yol açabilir.
Charset Tanımlı Değilse Ne Olur?
Eğer karakter seti bildirilmezse, tarayıcı "kendi kafasına göre" bir set seçer. Bu da metinlerin içinde soru işaretleri (?), bozuk karakterler () görünmesine neden olur. Kullanıcı gözünde "bozuk bir site" daha ilk cümleden güven kaybeder.
Charset Nerede Tanımlanmalı?
Charset etiketi, <head> etiketinin en başında, tercihen ilk 1024 bayt içerisinde yer almalıdır. Tarayıcı içeriği okumaya başlamadan önce hangi karakter haritasını kullanacağını bilmelidir.
HTTP Header vs Meta Charset
Sunucu (Server) yanıt başlığında (HTTP Header) gönderilen charset, HTML içindeki meta tanımından daha baskındır. Eğer sunucunuz farklı, HTML'iniz farklı konuşuyorsa bu bir teknik çatışmaya yol açar.
Veritabanı ile Charset Uyumu
HTML'iniz UTF-8 olsa bile veritabanınız (MySQL vb.) latin1 veya eski bir set ise veriler çekilirken bozulur. Uçtan uca bir karakter kalitesi için veritabanı collation ayarı mutlaka utf8mb4 olmalıdır.
CMS ve Tema Hataları
WordPress gibi sistemlerde dil ayarları panelden yapılsa da, bazı temalar lang özelliğini en olarak statik bir şekilde kodlamıştır. Bu durum binlerce sitenin Google tarafından yanlış hedeflemesine neden olur.
Teknik Analizlerde Dil ve Charset Kontrolü
Analiz araçları şu hiyerarşi ile rapor çıkarmalıdır:
- lang Tanımı Yok: HATA (Erişim ve hedefleme kaybı).
- Yanlış Dil Tanımı: HATA (Anlamsal uyumsuzluk).
- Charset Yok: HATA (Görsel bozulma riski).
- UTF-8 Dışı Charset: UYARI (Modernizasyon eksikliği).
Yanlış Analiz Araçlarının Yanılgıları
Sadece etiketin "var" olduğunu kontrol eden araçlar yetersizdir. Doğru bir analiz, lang değeri ile sayfa içeriğinin gerçekten uyuşup uyuşmadığını denetleyen analizdir.
Dil Algısı ve Google Search
Google, arama sonuçlarını kullanıcı diline (U-L) göre şekillendirir. Doğru bir lang="tr" bildirimi, Türkiye tabanlı aramalarda sayfanızın "bu içerik kullanıcıya hitap ediyor" sinyali göndermesini sağlar.
HTML lang ile Hreflang Farkı
En büyük karmaşadır: lang sayfanın "ne dilde" olduğunu söyler. hreflang ise bu sayfanın "farklı dillerdeki versiyonlarının" nerede olduğunu söyler. İkisi birbirinin yerine geçmez, birlikte çalışır.
Okunabilirlik ve İçerik Kalitesi
Karakter seti düzgün olmayan bir sayfadan yapılan kopyalamalarda da sorun yaşanır. Başka bir yere yapıştırılan metin bozuluyorsa, bu sizin sitenizin teknik altyapısındaki charset zayıflığından kaynaklanabilir.
Dil & Charset Kontrol Checklist’i
<html lang="...">etiketi var mı ve doğru mu?- Dil kodu içerik diliyle birebir örtüşüyor mu?
<meta charset="UTF-8">tanımı yapılmış mı?- Charset tanımı
<head>içinde en üstte mi? - Sunucu (HTTP Header) ile HTML tanımları uyumlu mu?
25. HTML Dil & Charset Manifestosu – Net Hüküm
"Dil bildirimi bir süs, karakter seti ise bir detay değildir. Bunlar, webin iletişim kurabilmesi için gereken ilk iki cümledir. Yanlış dilde konuşursanız yanlış insanlara hitap edersiniz; yanlış karakter seti kullanırsanız kimseye bir şey anlatamazsınız."
DİLİNE VE KARAKTERİNE SAHİP ÇIK.