Web sitemi, farklı dillerdeki insanlar için daha faydalı hâle getirmek ve arama motorlarının ile yapay zekâ sistemlerinin onu bulup anlamasını kolaylaştırmak için yerelleştirdim. Amaç, SEO ve GEO sayesinde daha iyi keşfedilebilirlik; daha yüksek sıralama veya atıf vaadi değil.
Neden yerelleştirdim?
İnsanlar kendi dillerinde arama yapıyor ve soru soruyor. Bu dillerde net ve ilgili sayfalar sunmak, arama motorlarına öne çıkarabilecekleri daha faydalı içerik, üretken yapay zekâ sistemlerine ise soruları yanıtlarken daha iyi bağlam sağlar. Yerelleştirme, çalışmalarımı yalnızca İngilizce aramalarla sınırlamak yerine doğru kitlenin bulmasına yardımcı olur.
Nasıl yaptım?
Yerelleştirmeyi yalnızca bir çeviri turu olarak değil, site yapısının bir parçası olarak ele aldım. Aşağıdaki örnekler, Next.js ile kullandığım kurulumdan sadeleştirilmiş alıntılardır.
1. Her dile öngörülebilir bir URL verin
İngilizce varsayılan dildir ve kök dizinde kalır. Diğer dillere bir önek verilir; böylece aynı sayfa her dilde sabit bir URL’ye sahip olur. Desteklenen dilleri tek bir listede tutmak, yönlendirme ve dil bağlantıları için de ortak bir doğruluk kaynağı sağlar.
export const locales = ['en', 'de', 'es', 'fr', 'ja', 'pt'] as const;
export type Locale = (typeof locales)[number];
export const defaultLocale: Locale = 'en';
export function localizedPath(locale: Locale, pathname = '') {
const path = pathname === '/' ? '' : pathname;
return locale === defaultLocale ? path || '/' : `/${locale}${path}`;
}2. Çevrilmiş içeriği sözlüklerde tutun
Her dilin sayfa başlıkları, açıklamalar, gezinme ve makale metinleri için kendi sözlüğü vardır. Bileşenler, kullanıcıya görünen metni kendi içlerine gömmek yerine etkin sözlükten okur; böylece çevrilmiş sayfalar aynı yerleşimle uyumlu kalır.
// src/locales/de.ts
pageTitles: {
'blog/how-and-why-i-localized-my-website':
'Warum und wie ich meine Website lokalisiert habe',
}
// In the page component
const title = t.pageTitles[articleKey];3. Tarayıcılara hangi sürümün hangisi olduğunu söyleyin
Her yerelleştirilmiş sayfa için kendi canonical URL’sini belirliyor ve eşdeğer dil URL’lerini hreflang alternatifleriyle listeliyorum. Bu rotaları site haritasına da ekliyorum. Bu, çeviriler arasındaki ilişkiyi açık hâle getirir; sıralama veya yapay zekâ atıfı garantisi vermez.
const pathname = `/${articleKey}`;
const url = localizedUrl(locale, pathname);
return {
alternates: {
canonical: url,
languages: getLanguageAlternates(pathname),
},
};Aynı desen blog yazılarının ötesinde de geçerlidir: yerelleştirilmiş gezinme ve sayfa metinleri deneyimi ziyaretçiler için faydalı kılarken, tutarlı URL’ler ve meta veriler her sürümün tanımlanmasını kolaylaştırır. Yine de çevirileri doğru ve faydalı tutmam gerekiyor; teknik SEO keşfe yardımcı olabilir ama iyi içeriğin yerini tutamaz.