HTML Dil & Charset Manifestosu: Çok Dilli ve Doğru Kodlama

Tarayıcıların ve arama motorlarının içeriği hangi dilde anlamlandıracağını ve hangi karakter haritasıyla görselleştireceğini belirleyen kritik teknik kimlik kartıdır.

Paylaş:
HTML Dil & Charset Manifestosu: Çok Dilli ve Doğru Kodlama - SEOSKOR Rehber

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

  1. <html lang="..."> etiketi var mı ve doğru mu?
  2. Dil kodu içerik diliyle birebir örtüşüyor mu?
  3. <meta charset="UTF-8"> tanımı yapılmış mı?
  4. Charset tanımı <head> içinde en üstte mi?
  5. 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.

Sıkça Sorulan Sorular

Görünür ancak Google dili tahmin etmek zorunda kalır. Bu da özellikle Türkiye dışından gelen aramalar veya bölgesel hedeflemelerde sayfanızın yanlış sıralanmasına veya otoritesinin düşmesine neden olabilir.
Çünkü UTF-8 evrenseldir. Türkçe, İngilizce, Çince ve emojileri tek bir kodlama altında sorunsuz barındırır. Diğer setler (ISO vb.) kısıtlıdır ve modern cihazlarda karakter bozulmalarına yol açar.
Genellikle lang="tr" kullanımı en güvenli ve yeterli olandır. Siteniz sadece Türkiye sınırları içindeki Türkçe konuşanlara hitap ediyorsa "tr-TR" de tercih edilebilir ancak global standart "tr" yönündedir.

Çerez Kullanımı

Size en iyi deneyimi sunmak ve güvenliğinizi sağlamak için çerezleri kullanıyoruz. Sitemizi kullanarak Çerez Politikamızı kabul etmiş olursunuz.

Premium Analiz

Alt sayfaları (iç sayfaları) analiz etmek için üye girişi yapmanız gerekmektedir. Misafir kullanıcılar sadece ana sayfa analizi yapabilir.