
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.
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:
- ASCII kısmını ayır: Label'daki tüm ASCII karakterler olduğu gibi önce yazılır. Örneğin
caféiçincafayrılır. - Delimiter ekle: ASCII kısım varsa
-(tire) eklenir. - 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
punycodemodü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çeoaynı 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:
- TLD'ye göre standart:
.trve.com.triç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. - gTLD (
.com,.net,.org): ICANN standartları geçerli; IDN character table'a uygun karakterler kabul edilir. - 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. - 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 hemxn--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.comyerineçiçekçi.comaklı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:

