Blazor lokalisatie
Bouw SEO-vriendelijke cultuur-URL's in Blazor
Gebruik /en-us/pagina-naam/ routes voor directe toegang.
Het doel is een stabiel URL-systeem, niet alleen vertaalde tekst.
Waarom het belangrijk is
Cultuur-URL's helpen mensen en crawlers de juiste pagina te kiezen
Een cookie kan de taal na een verzoek wijzigen.
Een URL kan gedeeld, gecrawld, geïndexeerd, gecachet en gecontroleerd worden.
Cultuurroutes passen bij openbare artikelen, productpagina's, documentatie en tools.
Inhoudsopgave
Kernconcepten
Scheid taal, regio, route en inhoudsversie
Houd deze termen gescheiden voordat je routingcode schrijft.
Gebruik taal voor leesbare tekst.
Engels, Duits en Frans zijn taalkeuzes.
Gebruik regio voor lokale intentie.
en-us en en-gb kunnen verschillende spelling, voorbeelden en aanbiedingen nodig hebben.
Gebruik routes voor ontdekking.
Een route zoals /de-de/blazor/ geeft iedereen één stabiel adres.
Gebruik inhoud wanneer de intentie verschilt.
Schrijf een aparte versie wanneer juridische opmerkingen, prijzen of voorbeelden verschillen.
SEO-signalen
Verbind cultuurroutes met canonical- en hreflang-regels
De URL is slechts één signaal. Metadata moet hiermee overeenkomen.
Canonical URL
Verwijs elke gelokaliseerde pagina naar zijn eigen voorkeurs-URL.
hreflang
Koppel elke echte taal- of regioversie met hreflang.
x-default
Gebruik x-default voor een neutrale selector of globale fallback.
BreadcrumbList
Houd breadcrumbs cultuurbewust zodat schema overeenkomt met de zichtbare route-hiërarchie.
Gerelateerde referentie
Metadata en schema moeten hetzelfde verhaal vertellen
Gebruik deze handleidingen wanneer u metadata en gestructureerde gegevens toevoegt.
Implementatie
Bouw de routeregels in kleine stukjes
Begin met één service, één omleiding en één routeringspatroon.
Cultuur servicecontract
Centraliseer ondersteunde culturen en URL-analyse.
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";
}
}Cultuur omleidingsendpoint
Stel de cookie in en keer dan terug naar de cultuurroute.
[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);
}
}Programma-instelling
Registreer lokalisatie voordat u controller-routes in kaart brengt.
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();Paginaroute
Maak het cultuursegment onderdeel van elke openbare route.
@page "/{Culture}/pricing/"
<a href="@BuildCultureLink(PageRegistryKey.Blazor)">
Blazor guides
</a>Route realiteit
Blazor kan inhoud lokaliseren, niet routetemplates
Het cultuursegment verandert; de slug blijft stabiel. Vertaalde slugs hebben een eigen routeringslaag nodig.
Razor @page-routes gebruiken letterlijke templates. Lokalisatie vertaalt alleen paginatekst. PageRegistry en @page-strings blijven code-eigendom.
/de-de/seo-friendly-culture-links-in-blazor/
Alleen de cultuur verandert.
/de-de/seo-freundliche-culture-links-in-blazor/
Vertaalde slugs hebben een slugtabel nodig. Ze hebben ook redirects, canonicals, sitemaps en hreflang nodig.
BuildCultureLink(PageRegistryKey.Blazor)
BuildCultureLink verandert cultuur, niet slugs.
Veelvoorkomende fouten
De meeste cultuur-URL-fouten zijn routeringsafwijkingen
De routeringssjabloon is zelden het moeilijke deel.
Houd elk signaal op één lijn na een taalwijziging.
Redirect een geldige cultuur niet voor altijd.
Normaliseer de cultuur één keer en stop dan als de route al overeenkomt.
Raad de standaardcultuur niet laat.
Gebruik één standaardcultuur voor routing, metadata, sitemap en fallback-logica.
Laat niet twee pagina's dezelfde cultuur-slug bezitten.
Centrale paginalinks maken het makkelijker om onbedoelde routebotsingen te beoordelen.
Verberg taalroutes niet alleen in client-only toestand.
Crawlers en gebruikers hebben echte href-waarden nodig voordat Blazor interactief wordt.
Validatie
Controleer elke cultuurroute vóór publicatie
Valideer gerenderde HTML, niet alleen Razor-code.
- Open minstens één URL voor elke ondersteunde cultuur.
- Controleer canonical en hreflang-tags in de gerenderde bron.
- Bevestig dat FAQ-schema overeenkomt met de zichtbare vragen en antwoorden.
- Crawl redirects zodat niet-ondersteunde culturen niet in een lus terechtkomen.
- Beoordeel vertaalde titels, beschrijvingen, H1-tekst en trefwoorden.
Veelgestelde vragen
Zijn cultuur-URL's beter dan cookies voor SEO?
Ja. Cultuur-URL's creëren doorzoekbare en deelbare pagina's.
Wat is het verschil tussen taal en regio?
Taal bepaalt de tekst. Regio bepaalt lokale voorbeelden en aanbiedingen.
Heb ik nog steeds hreflang nodig bij cultuurroutes?
Ja. Cultuurroutes maken URL's duidelijk. hreflang verbindt ze.
Waar moet canonical naar verwijzen op gelokaliseerde pagina's?
Gewoonlijk verwijst canonical naar dezelfde gelokaliseerde pagina.
Hoe voorkom ik redirect-lussen?
Redirect niet-ondersteunde culturen één keer, stop daarna.