Blazor-lokalisering
Skapa SEO-vänliga kultur-URL:er i Blazor
Använd /en-us/sidnamn/ rutter för direktåtkomst.
Målet är ett stabilt URL-system, inte bara översatt text.
Varför det är viktigt
Kultur-URL:er hjälper användare och sökrobotar att välja rätt sida
En cookie kan ändra språk efter en förfrågan.
En URL kan delas, genomsökas, indexeras, cachas och granskas.
Kulturrutter passar för offentliga artiklar, produktsidor, dokumentation och verktyg.
Innehållsförteckning
Kärnbegrepp
Separera språk, region, rutt och innehållsversion
Håll dessa termer åtskilda innan du skriver ruttkod.
Använd språk för läsbar text.
Engelska, tyska och franska är språkval.
Använd region för lokal avsikt.
en-us och en-gb kan behöva olika stavning, exempel och erbjudanden.
Använd rutter för upptäckt.
En rutt som /de-de/blazor/ ger alla en stabil adress.
Använd innehåll när avsikten skiljer sig åt.
Skriv en separat version när juridiska anteckningar, priser eller exempel skiljer sig åt.
SEO-signaler
Koppla kulturrutter med canonical- och hreflang-regler
URL:en är bara en signal. Metadata måste stämma överens.
Canonical URL
Peka varje lokaliserad sida till sin egen föredragna URL.
hreflang
Länka varje verklig språk- eller regionsversion med hreflang.
x-default
Använd x-default för en neutral väljare eller global reserv.
BreadcrumbList
Håll brödsmulor kulturmedvetna så att schemat matchar den synliga routhierarkin.
Relaterad referens
Metadata och schema måste berätta samma historia
Använd dessa guider när du lägger till metadata och strukturerad data.
Implementering
Bygg ruttreglerna i små delar
Börja med en tjänst, en omdirigering och ett ruttmönster.
Kulturtjänstkontrakt
Centralisera stöd för kulturer och URL-parsning.
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";
}
}Kultur-omdirigeringsendpoint
Sätt cookien och återgå sedan till kulturrutten.
[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);
}
}Programinställning
Registrera lokalisering innan du mappar kontrollantrutter.
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();Sidrutt
Gör kultursegmentet till en del av varje offentlig rutt.
@page "/{Culture}/pricing/"
<a href="@BuildCultureLink(PageRegistryKey.Blazor)">
Blazor guides
</a>Ruttverklighet
Blazor kan lokalisera innehåll, inte ruttmallar
Kulturdelen ändras; sluggen förblir stabil. Översatta sluggar behöver ett eget ruttlager.
Razor @page-rutter använder bokstavliga mallar. Lokalisering översätter endast sidans text. PageRegistry och @page-strängar förblir kodägda.
/de-de/seo-friendly-culture-links-in-blazor/
Endast kulturen ändras.
/de-de/seo-freundliche-culture-links-in-blazor/
Översatta sluggar behöver en slug-tabell. De behöver också omdirigeringar, canonicals, sitemaps och hreflang.
BuildCultureLink(PageRegistryKey.Blazor)
BuildCultureLink ändrar kultur, inte sluggar.
Vanliga misstag
De flesta kultur-URL-fel är ruttmatchningsproblem
Ruttmallen är sällan den svåra delen.
Håll alla signaler synkroniserade efter ett språkbyte.
Omdirigera inte en giltig kultur för evigt.
Normalisera kulturen en gång, och stoppa sedan när routen redan matchar.
Gissa inte standardkulturen sent.
Använd en standardkultur för routing, metadata, sitemap och reservlogik.
Låt inte två sidor äga samma kulturslug.
Centrala sidlänkar gör oavsiktliga routhändelser enklare att granska.
Dölj inte språkrutter i klientendast-läge.
Crawler och användare behöver verkliga href-värden innan Blazor blir interaktivt.
Validering
Kontrollera varje kulturrutt innan publicering
Validera renderad HTML, inte bara Razor-koden.
- Öppna minst en URL för varje stödd kultur.
- Kontrollera canonical- och hreflang-taggar i den renderade källan.
- Bekräfta att FAQ-schema matchar de synliga frågorna och svaren.
- Genomsök omdirigeringar så att icke-stödda kulturer inte fastnar i loop.
- Granska översatta titlar, beskrivningar, H1-text och nyckelord.
Vanliga frågor
Är kultur-URL:er bättre än cookies för SEO?
Ja. Kultur-URL:er skapar genomsökningsbara och delbara sidor.
Vad är skillnaden mellan språk och region?
Språk styr texten. Region styr lokala exempel och erbjudanden.
Behöver jag fortfarande hreflang med kulturvägar?
Ja. Kulturvägar gör URL:er tydliga. hreflang kopplar ihop dem.
Vad ska canonical peka på på lokaliserade sidor?
Vanligtvis pekar canonical på samma lokaliserade sida.
Hur undviker jag omdirigeringsloopar?
Omdirigera icke-stödda kulturer en gång, sedan stopp.