Blazor yerelleştirme
Blazor'da SEO dostu kültür URL'leri oluşturun
Doğrudan erişim için /en-us/sayfa-adi/ rotalarını kullanın.
Amaç sadece çevrilmiş metin değil, kararlı bir URL sistemi sağlamaktır.
Neden önemli
Kültür URL'leri, kullanıcıların ve tarayıcıların doğru sayfayı seçmesine yardımcı olur
Bir çerez, isteğin ardından dili değiştirebilir.
Bir URL paylaşılabilir, taranabilir, dizine eklenebilir, önbelleğe alınabilir ve denetlenebilir.
Kültür rotaları, genel makaleler, ürün sayfaları, dokümanlar ve araçlar için uygundur.
İçindekiler
Temel kavramlar
Dil, bölge, rota ve içerik sürümünü ayrı tutun
Yönlendirme kodunu yazmadan önce bu terimleri ayrı tutun.
Okunabilir metin için dili kullanın.
İngilizce, Almanca ve Fransızca dil seçenekleridir.
Yerel niyet için bölgeyi kullanın.
en-us ve en-gb farklı yazım, örnek ve teklifler gerektirebilir.
Keşif için rotaları kullanın.
/de-de/blazor/ gibi bir rota herkese tek bir sabit adres verir.
Niyet farklıysa içeriği kullanın.
Yasal notlar, fiyatlar veya örnekler farklıysa ayrı bir sürüm yazın.
SEO sinyalleri
Kültür rotalarını canonical ve hreflang kurallarıyla bağlayın
URL sadece bir sinyaldir. Meta veriler onunla uyumlu olmalıdır.
Canonical URL
Her yerelleştirilmiş sayfayı kendi tercih edilen URL'sine yönlendirin.
hreflang
Her gerçek dil veya bölge sürümünü hreflang ile bağlayın.
x-default
Nötr bir seçimci veya genel yedek için x-default kullanın.
BreadcrumbList
Breadcrumb'leri kültüre duyarlı tutun, böylece şema görünür rota hiyerarşisiyle eşleşir.
İlgili referans
Meta veriler ve şema aynı hikayeyi anlatmalıdır
Meta veriler ve yapılandırılmış veriler eklerken bu rehberleri kullanın.
Uygulama
Yönlendirme kurallarını küçük parçalara ayırarak oluşturun
Bir hizmet, bir yönlendirme ve bir rota deseni ile başlayın.
Kültür hizmet sözleşmesi
Desteklenen kültürleri ve URL ayrıştırmayı merkezileştirin.
public sealed class CultureRouteService
{
private static readonly string[] SupportedCultures = ["en-us", "en-gb", "de-de"];
public string ResolveCulture(string? routeCulture)
{
if (SupportedCultures.Contains(routeCulture, StringComparer.OrdinalIgnoreCase))
{
return routeCulture!.ToLowerInvariant();
}
return "en-us";
}
}Kültür yönlendirme uç noktası
Çerezi ayarlayın, ardından kültür rotasına geri dönün.
[Route("culture")]
public sealed class CultureController : Controller
{
[HttpGet("set")]
public IActionResult Set(string culture, string returnUrl)
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)));
return LocalRedirect(returnUrl);
}
}Program kurulumu
Denetleyici rotalarını eşlemeden önce yerelleştirmeyi kaydedin.
builder.Services.AddLocalization();
builder.Services.AddScoped<CultureRouteService>();
app.UseRequestLocalization(options =>
{
options.SetDefaultCulture("en-us");
options.AddSupportedCultures("en-us", "en-gb", "de-de");
options.AddSupportedUICultures("en-us", "en-gb", "de-de");
});
app.MapControllers();Sayfa rotası
Kültür segmentini her genel rotanın bir parçası yapın.
@page "/{Culture}/pricing/"
<a href="@BuildCultureLink(PageLinks.Blazor)">
Blazor guides
</a>Rota gerçekliği
Blazor içeriği yerelleştirebilir, rota şablonlarını değil
Kültür segmenti değişir; slug sabit kalır. Çevrilmiş slug'lar kendi yönlendirme katmanına ihtiyaç duyar.
Razor @page rotaları literal şablonlar kullanır. Yerelleştirme sadece sayfa metnini çevirir. PageLinks ve @page dizeleri kod tarafından yönetilmeye devam eder.
/de-de/seo-friendly-culture-links-in-blazor/
Sadece kültür değişir.
/de-de/seo-freundliche-culture-links-in-blazor/
Çevrilmiş slug'lar bir slug tablosu gerektirir. Ayrıca yönlendirmeler, canonical'lar, site haritaları ve hreflang gerekir.
BuildCultureLink(PageLinks.Blazor)
BuildCultureLink kültürü değiştirir, slug'ları değil.
Yaygın hatalar
Çoğu kültür URL hatası rota uyumsuzluklarından kaynaklanır
Rota şablonu nadiren zor kısımdır.
Dil değişikliğinden sonra her sinyalin uyumlu kalmasını sağlayın.
Geçerli bir kültürü sonsuza kadar yönlendirmeyin.
Kültürü bir kez normalleştirin, ardından rota zaten eşleşiyorsa durun.
Varsayılan kültürü geç geç tahmin etmeyin.
Yönlendirme, meta veriler, site haritası ve yedekleme mantığı için tek bir varsayılan kültür kullanın.
İki sayfanın aynı kültür slug'ına sahip olmasına izin vermeyin.
Merkezi sayfa bağlantıları, kazara rota çakışmalarını incelemeyi kolaylaştırır.
Dil rotalarını sadece istemci durumunda gizlemeyin.
Blazor etkileşimli hale gelmeden önce tarayıcılar ve kullanıcılar gerçek href değerlerine ihtiyaç duyar.
Doğrulama
Yayınlamadan önce her kültür rotasını kontrol edin
Sadece Razor kodunu değil, oluşturulan HTML'i de doğrulayın.
- Desteklenen her kültür için en az bir URL açın.
- Render edilmiş kaynakta canonical ve hreflang etiketlerini kontrol edin.
- SSS şemasının görünür soru ve cevaplarla eşleştiğini doğrulayın.
- Desteklenmeyen kültürlerin döngüye girmemesi için yönlendirmeleri tarayın.
- Çevrilmiş başlıkları, açıklamaları, H1 metinlerini ve anahtar kelimeleri gözden geçirin.
Sık sorulan sorular
SEO için kültür URL'leri çerezlerden daha mı iyidir?
Evet. Kültür URL'leri taranabilir ve paylaşılabilir sayfalar oluşturur.
Dil ile bölge arasındaki fark nedir?
Dil metni kontrol eder. Bölge yerel örnekleri ve teklifleri kontrol eder.
Kültür rotalarıyla hâlâ hreflang gerekli mi?
Evet. Kültür rotaları URL'leri netleştirir. hreflang onları bağlar.
Yerelleştirilmiş sayfalarda canonical neyi göstermeli?
Genellikle canonical aynı yerelleştirilmiş sayfaya işaret eder.
Yönlendirme döngülerinden nasıl kaçınırım?
Desteklenmeyen kültürleri bir kez yönlendirip sonra durdurun.