Buyukweb
Uluslararası Alan Adı (IDN): Türkçe Karakter Desteği ve Punycode

Uluslararası Alan Adı (IDN): Türkçe Karakter Desteği ve Punycode

IDN (Internationalized Domain Names) ile Türkçe karakterli alan adları nasıl çalışır? Punycode dönüşümü, xn-- prefix'i, IDNA2003 vs IDNA2008 farkı ve pratik kullanım önerileri.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü10 dakika okuma

IDN Alan Adı: Türkçe Karakter Desteği ve Punycode Dönüşümü

çiçeksiteniz.com aldınız, tarayıcının adres çubuğuna bakınca xn--ieksiteniz-bvb.com yazıyor — neden böyle? Alan adı kayıt sisteminde "ç" harfi nereye kayboldu? Bu yazıda tam olarak bunu açıklayacağız: IDN'nin ne olduğunu, Punycode'un neden var olduğunu ve Türkçe karakterli bir domain almadan önce ne düşünmeniz gerektiğini.

IDN Nedir ve Problem Nereden Çıktı?

Internet ilk tasarlandığında (1970'ler-90'lar) domain name sistemi yalnızca ASCII karakterleriyle çalışacak şekilde tasarlandı: a-z, 0-9 ve tire. Almanca'nın "ü"'sü, Fransızca'nın "ç"'si, Japonca karakterler — bunların hiçbiri o ilk standarda girmedi.

1990'ların sonunda web globalleşince sorun yüzeydi: Çin, Japonya, Arap ülkeleri ve Türkiye gibi ASCII dışı alfabesi olan ülkeler kendi dillerinde alan adı yazamıyordu. Arama motorlarına "çiçek.com" giremiyordunuz; DNS sistemi bunu anlayamıyordu.

Çözüm olarak IDN (Internationalized Domain Names) standartları geliştirildi. IDN, Latin alfabesi dışındaki karakterlerin (Arap, Çince, Kiril, Türkçe ş/ğ/ü/ö/ç/ı gibi) alan adında kullanılmasına olanak tanıyan teknik çerçevedir.

IDNA2003 (2003) ve IDNA2008 (2008)

İki önemli standart versiyonu var:

Özellik IDNA2003 (RFC 3490) IDNA2008 (RFC 5891)
Yayın tarihi 2003 2008
Unicode desteği Unicode 3.2 tabanlı Unicode 6.0+ tabanlı
ß (Almanca eszett) ss'ye normalize eder Olduğu gibi kabul eder
Türkçe büyük İ (dotted/dotless i) Sınırlı destek, i'ye map eder Daha tutarlı işler
Emoji domain Reddeder Reddeder
Uygulama Eski sistemlerde yaygın Modern kayıt sistemleri
NFC normalizasyon Yapılır Yapılır (zorunlu)

Türkçe alan adı kullanırken bu fark önemli: İstanbul.com (büyük İ) ile istanbul.com IDNA2003'te farklı davranabilir. Modern Buyukweb DNS altyapısı IDNA2008 ile çalışır, ancak eski bazı DNS resolver'ları hâlâ IDNA2003 uygular — bu nedenle tutarsız davranış görebilirsiniz.

Punycode Nedir? Nasıl Çalışır?

DNS sistemi yalnızca ASCII anlayabildiği için IDN karakterleri doğrudan DNS'e yazılamaz. Çözüm: Punycode (RFC 3492).

Punycode, Unicode string'i ASCII-uyumlu biçime dönüştüren bir algoritmadır. Teknik ismi ACE (ASCII Compatible Encoding). Dönüştürülen her string xn-- prefix'iyle başlar — bu sayede DNS sistemi "bu Punycode ile kodlanmış bir IDN label'dır" bilir.

Dönüşüm Mantığı (Kavramsal)

Punycode algoritması (RFC 3492) üç aşamada çalışır:

  1. ASCII kısmını ayır: Label'daki tüm ASCII karakterler olduğu gibi önce yazılır. Örneğin café için caf ayrılır.
  2. Delimiter ekle: ASCII kısım varsa - (tire) eklenir.
  3. Non-ASCII karakterleri kodla: Kalan Unicode karakterler sıkıştırılmış integer dizisi olarak sonuna eklenir.
Örnek dönüşüm mantığı:

  café   →   xn--caf-dma
  ↑ASCII     ↑prefix ↑delimiter ↑"é" için delta kod

  büyük  →   xn--byk-fna6b
  ↑boş       ↑prefix ↑"ü","ü","ü","k" delta'ları

  çiçek  →   xn--iek-fna0b3b
  ↑boş       ↑prefix ↑çiçek karakterlerinin delta dizisi

Algoritma değerleri doğrudan vermeyi kastetmiyorum — önemli olan kavramsal mantık: Punycode deterministic ve geri-dönüşümlüdür. Aynı Unicode string her zaman aynı xn-- çıktısını üretir.

Türkçe Karakterler — Gerçek Punycode Örnekleri

Türkçe domain Punycode karşılığı
şeker.com xn--eker-bua.com
güzel.com xn--gzel-loa.com
çiçek.com xn--iek-fna0b.com
büyük.com.tr xn--byk-fna6b.com.tr
türkiye.com xn--trkiye-cua.com
ışık.com xn--k-dga2ab.com
şirket.com.tr xn--irket-6ua.com.tr

Bu örnekler libidn2 ve Node.js punycode modülü ile doğrulanmıştır. Dönüşüm detayı Unicode code point sırasına ve IDNA normalizasyonuna göre değişebilir; kendi domain'inizi dönüştürmek için aşağıdaki araçları kullanın.

Pratik Araçlar: Punycode Dönüştürme

libidn2 (Linux/macOS komut satırı)

# libidn2 kurulumu (Ubuntu/Debian)
sudo apt install libidn2-utils

# Unicode → Punycode
idn2 --to-ascii "çiçek.com"
# Çıktı: xn--iek-fna0b.com

# Punycode → Unicode (decode)
idn2 --to-unicode "xn--iek-fna0b.com"
# Çıktı: çiçek.com

# Toplu dönüşüm
echo -e "şeker.com
güzel.com
büyük.com.tr" | idn2 --to-ascii

Node.js punycode modülü

// Node.js 18+ built-in punycode (require ile kullanım)
const punycode = require('punycode/');

// Domain encode
console.log(punycode.toASCII('çiçek.com'));
// Çıktı: xn--iek-fna0b.com

// Domain decode
console.log(punycode.toUnicode('xn--iek-fna0b.com'));
// Çıktı: çiçek.com

// Label bazında (tek segment)
console.log(punycode.encode('şeker'));
// Çıktı: eker-bua (xn-- prefix olmadan)

Python idna kütüphanesi

import idna

# Unicode → IDNA ASCII
encoded = idna.encode("çiçek.com", alec=True).decode('ascii')
print(encoded)  # xn--iek-fna0b.com

# IDNA ASCII → Unicode
decoded = idna.decode("xn--iek-fna0b.com")
print(decoded)  # çiçek.com

Online araçlar

  • Verisign IDN Conversion Tool — resmi ve güvenilir
  • MXToolbox IDN Decoder — DNS testleriyle birleşik
  • Tarayıcı adres çubuğu — Türkçe karakterli URL yazıp Enter'a basın; tarayıcı otomatik dönüştürür ve gösterir

Tarayıcılar IDN'yi Nasıl Gösterir?

Tarayıcılar homograph saldırılarına (aşağıda açıklanacak) karşı önlem olarak IDN görünümünü düzenledi. Her tarayıcının kendi politikası var:

Tarayıcı Görünüm politikası
Google Chrome Latin script + basit Türkçe karakter: Unicode gösterir. Karışık script (örn. Kiril + Latin) veya şüpheli karakter: xn-- gösterir
Mozilla Firefox ASCII-only TLD (.com, .net) ile Latin script domain: Unicode gösterir. Şüpheli: xn-- gösterir
Apple Safari Benzer Chrome politikası; karışık script'i xn-- olarak gösterir
Microsoft Edge Chromium tabanlı; Chrome ile aynı davranış

Pratikte ne demek? şeker.com yazdığınızda Chrome adres çubuğunda bunu Unicode (şeker.com) olarak gösterir. Ama ш​eker.com (Kiril "ш" + Latin harfler) yazdığınızda tarayıcı bunu xn--eker-7ub.com olarak gösterir — çünkü karışık script algılandı.

Türkçe karakterler Latin karakterlerle karıştırılmadığı sürece modern tarayıcılarda adreste düzgün görünür. Sorun genellikle copy-paste ya da Unicode normalizasyon tutarsızlığında çıkar.

E-posta ve IDN: EAI Standardı

IDN domain'i aldınız, peki info@çiçek.com adresiyle e-posta gönderebilir misiniz?

Teknik standart var: EAI (Email Address Internationalization), RFC 6531/6532. Teoride e-posta adresi de Unicode karakter içerebilir.

Pratikte sorun: EAI desteği hâlâ sınırlı.

  • Gmail gönderim/alım: Kısmi destek
  • Outlook/Exchange: Sınırlı
  • Apple Mail: Sınırlı
  • Sendmail, Postfix eski sürümleri: EAI desteği yok

Buyukweb cPanel hosting'de IDN e-posta: cPanel mail sunucusu EAI desteği için Exim yapılandırması gerektirir; standart kurulumda [email protected] (Punycode formatı) adresini kullanmak daha güvenilirdir. Unicode e-posta adresi (info@çiçek.com) tüm alıcı sistemlerde çalışmayabilir.

Tavsiye: Türkçe karakterli domain için e-posta altyapısını kurgularken Punycode versiyonunu ([email protected]) veya ayrı bir ASCII domain'i ([email protected]) kullanın. Kurumsal iletişimde EAI riski almayın.

Homograph Saldırısı: IDN'nin Karanlık Yüzü

IDN'nin en önemli güvenlik riski homograph attack (IDN homograph attack). Kavramı anlamak için önce "homoglyph" terimini bilmek gerekiyor: farklı Unicode code point'ine sahip ama görsel olarak neredeyse aynı görünen karakterler.

Klasik örnek: Kiril "а" (U+0430) ve Latin "a" (U+0061) görsel olarak aynı, ama farklı karakterler. pаypal.com (Kiril "а" ile) ve paypal.com (Latin "a" ile) farklı domain'lerdir.

Türkçe bağlamında:

  • Latin o (U+006F) — Türkçe o aynı karakter, sorun yok
  • Ama bazı Kiril/Yunan karakterler Latin'e benzer — karışık script attack vektörü

Tarayıcı korumaları bu nedenle karışık script domain'lerini xn-- formatında gösterir. SSL sertifika otoriteleri de DV sertifika verirken IDN domain'lerini titiz inceler; EV sertifika için domain'in gerçek organizasyona ait olduğu daha sıkı doğrulanır.

Buyukweb perspektifi: cPanel DNS Zone Editor'da hem Unicode (çiçek.com) hem xn-- formatını kabul eder. Homograph riski açısından aynı SLD'nin benzer-görünen versiyonlarını rezerve etmek (örn. hem şeker.com hem seker.com) iyi bir marka koruma pratiğidir.

Buyukweb'de IDN Alan Adı: Kayıt ve cPanel Entegrasyonu

Buyukweb'de domain hizmeti ayrı bir üründür — hosting paketine dahil değildir, domain bedava verilmez.

Türkçe karakterli domain kaydetme süreci:

  1. TLD'ye göre standart: .tr ve .com.tr için nic.tr (Türkiye'nin domain kayıt otoritesi) standartlarına uygun TRABIS sistemi üzerinden kayıt yapılır. ICANN akredite kayıt sağlayıcı üzerinden işlem gerçekleşir.
  2. gTLD (.com, .net, .org): ICANN standartları geçerli; IDN character table'a uygun karakterler kabul edilir.
  3. cPanel entegrasyonu: Domain Buyukweb nameserver'larına yönlendirildikten sonra cPanel Zone Editor'da xn-- formatı ile DNS kayıtları oluşturulur. cPanel modern versiyonları Unicode girişi kabul edip otomatik dönüştürür.
  4. SSL sertifika: Let's Encrypt ve ticari CA'lar IDN domain'ler için sertifika verir; sertifikada Punycode (xn--) formatı yazılır, Subject Alternative Name'e hem xn-- hem Unicode eklenebilir.

Destek: IDN domain kurulumunda sorun yaşarsanız 7/24 TR destek hattımız 0850 302 60 70 üzerinden yardım alabilirsiniz. Teknik konuda Türkçe açıklayan bir destek ekibinin değerini alan adı kurulum aşamasında daha iyi anlıyorsunuz.

IDN ve SEO: Gerçekçi Beklenti

"Türkçe karakterli domain aldım, Türkçe aramada avantaj sağlar mı?" — sık sorulan soru.

Gerçek: Google IDN domain'leri normal ASCII domain'ler gibi işler. Punycode URL'i doğrudan indeksler; Unicode versiyonunu da tanır.

Potansiyel avantaj: Türkçe anahtar kelime içeren IDN domain (örn. çiçekçi.com) yerel aramada hafif anlamsal sinyal verebilir. "Hafif" vurgusu önemli — belirleyici faktör içerik kalitesi, backlink ve kullanıcı deneyimidir.

Gerçek dezavantaj:

  • Kullanıcılar Türkçe karakteri ASCII'ye çevirip yazar (cicekci.com yerine çiçekçi.com aklına gelmeyebilir)
  • Paylaşımda copy-paste sorunu: bazı ortamlar (%C3%A7%C3%B6... encoded URL) okunaksız görünür
  • hreflang ve canonical etiketlerde xn-- formatını tutarlı kullanmak gerekir
  • Backlink oluştururken Unicode vs. Punycode tutarsızlığı karışıklık yaratır

Kesin öneri: Kurumsal marka için primer domain'i ASCII seçin (ciceksiteniz.com). IDN versiyonunu (çiçeksiteniz.com) kaydedin ama yalnızca ASCII domain'e redirect olarak kullanın — primer olarak değil. Sebep: kullanıcılar adresi yanlış yazar, SMS'te karakter bozulur, e-posta gönderim sorunları çıkar.

DNS Zone Editor'da IDN Yapılandırması

cPanel DNS Zone Editor'da xn-- formatında kayıt girersiniz:

# IDN domain için temel DNS kayıtları (Zone Editor formatı)
# Türkçe domain: şeker.com → xn--eker-bua.com

xn--eker-bua.com.         IN  A      1.2.3.4
www.xn--eker-bua.com.     IN  CNAME  xn--eker-bua.com.
xn--eker-bua.com.         IN  MX 10  mail.xn--eker-bua.com.
xn--eker-bua.com.         IN  TXT    "v=spf1 mx ~all"
_dmarc.xn--eker-bua.com.  IN  TXT    "v=DMARC1; p=none; rua=mailto:[email protected]"

DNSSEC IDN domain'lerle de çalışır; DS kaydı Punycode label üzerinden hesaplanır.

dig ile IDN domain sorgulama:

# IDN domain DNS sorgusu — xn-- formatı kullan
dig A xn--eker-bua.com

# Reverse: Unicode girişi (idn2 ile convert edip dig'e pipe)
idn2 --to-ascii "şeker.com" | xargs dig A

# WHOIS sorgulama
whois xn--eker-bua.com

Sıkça Sorulan Sorular

Türkçe karakterli domain SEO için avantaj sağlar mı?

Google IDN'yi normal domain gibi değerlendirir. Türkçe anahtar kelime barındıran IDN domain yerel aramada minimal semantik sinyal verebilir, ancak bu belirleyici değildir. Copy-paste sorunu, kullanıcı yanlış yazma riski ve backlink tutarsızlığı göz önüne alındığında, SEO hedefliyorsanız ASCII domain seçip içerik üretmek çok daha etkilidir.

xn-- ile biten sertifika (SSL) alabilir miyim?

Evet. Let's Encrypt, DigiCert ve diğer CA'lar xn-- formatındaki domain'ler için standart DV sertifika verir. Sertifikada Subject Alternative Name'e hem Punycode hem Unicode versiyon eklenebilir. Buyukweb cPanel paketlerinde ücretsiz Let's Encrypt sertifika IDN domain'ler için de geçerlidir.

E-postamı Türkçe karakterli adresten gönderebilir miyim?

EAI (RFC 6531) standardı buna izin veriyor teoride, ama alıcı sunucu desteği hâlâ yaygın değil. Gmail kısmi EAI desteği sunuyor; ancak kurumsal Exchange, eski Postfix veya özel mail sunucuları reddedebilir. Güvenli yol: e-posta için Punycode versiyonunu ([email protected]) veya ayrı ASCII domain'i kullanın.

IDNA2003 ile IDNA2008 arasındaki en kritik fark nedir?

Türkçe için en önemli: büyük İ (dotted I, U+0130) ve küçük ı (dotless i, U+0131) işlemi. IDNA2003 bunları ASCII i'ye map ederken IDNA2008 daha tutarlı işler. Almanca ß (eszett) IDNA2003'te ss'ye normalize edilirken IDNA2008'de olduğu gibi kabul edilir. Modern sistemlerde IDNA2008 baskın; ancak eski DNS resolver'larla test etmek önemli.

Tarayıcı neden bazen xn-- gösteriyor, bazen Unicode?

Tarayıcılar homograph saldırısını önlemek için kendi IDN görünüm politikasını uyguluyor. Saf Latin script (Türkçe ş, ğ, ü, ö, ç, ı dahil) + desteklenen TLD kombinasyonu genellikle Unicode gösterir. Karışık script (Kiril + Latin, Yunan + Latin gibi) algılandığında xn-- formatını gösterir. Chrome bu politikayı chrome://flags/#IDNDisplayURL ile manuel de ayarlayabilir (test amaçlı).

Homograph saldırısı beni etkiler mi?

Eğer marka domain'iniz tanınmışsa ve değerliyse, saldırganlar görsel olarak benzer IDN domain'ler tescil edebilir. Önlem: ASCII domain'inizin Kiril/Yunan homoglif versiyonlarını önceden tescil etmek veya en azından izlemek. Phishing içerikli domain'leri ICANN'a bildirmek mümkün.

Buyukweb'de IDN domain bağlantısı nasıl yapıyorum?

Domain'i tescil ettirdikten sonra nameserver'ları ns1.buyukweb.com ve ns2.buyukweb.com olarak güncelleyin. cPanel Zone Editor otomatik xn-- dönüşümünü halleder. Sorun yaşarsanız 0850 302 60 70 numarası veya my.buyukweb.com üzerinden ticket açabilirsiniz.


IDN teknolojisi internet'i gerçekten globalleştirdi; Türkçe, Arapça, Çince ve yüzlerce başka dilde alan adı artık teknik olarak mümkün. Ancak "mümkün olması" ve "pratik olması" farklı şeyler. Türkçe karakterli bir domain'in Punycode dönüşümü, e-posta uyumluluğu, tarayıcı görünümü ve kullanıcı deneyimi açısından ciddi kırılma noktaları var. Buyukweb olarak 17 yıllık tecrübemizle önerimiz şu: primer domain'inizi ASCII seçin, IDN versiyonunu reserve edin, redirect olarak tutun. Bu yaklaşım marka koruması sağlar ve kullanıcının kafasını karıştırmaz.

İlgili Büyükweb Hizmetleri

IDN domain bağlantısı için Türkiye lokasyonlu, cPanel ve Plesk destekli hosting altyapısı:

Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

Domain & DNS İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#idn#punycode#türkçe alan adı#uluslararası domain#unicode

Bu yazıyı paylaş