Blazor स्थानीयकरण
Blazor में SEO-अनुकूल culture URLs बनाएं
/en-us/page-name/ रूट्स का उपयोग सीधे पहुँच के लिए करें।
लक्ष्य एक स्थिर URL सिस्टम है, केवल अनुवादित पाठ नहीं।
यह क्यों महत्वपूर्ण है
Culture URLs लोगों और क्रॉलर को सही पृष्ठ चुनने में मदद करते हैं
एक कुकी अनुरोध के बाद भाषा बदल सकती है।
एक URL साझा किया जा सकता है, क्रॉल किया जा सकता है, अनुक्रमित किया जा सकता है, कैश किया जा सकता है, और ऑडिट किया जा सकता है।
Culture रूट सार्वजनिक लेखों, उत्पाद पृष्ठों, दस्तावेज़ों, और उपकरणों के लिए उपयुक्त हैं।
सामग्री सूची
मूल अवधारणाएँ
भाषा, क्षेत्र, रूट, और सामग्री संस्करण अलग रखें
रूटिंग कोड लिखने से पहले इन शब्दों को अलग रखें।
पठनीय पाठ के लिए भाषा का उपयोग करें।
अंग्रेज़ी, जर्मन, और फ्रेंच भाषा विकल्प हैं।
स्थानीय अभिप्राय के लिए क्षेत्र का उपयोग करें।
en-us और en-gb में अलग वर्तनी, उदाहरण, और ऑफ़र हो सकते हैं।
खोज के लिए रूट का उपयोग करें।
/de-de/blazor/ जैसे रूट से सभी को एक स्थिर पता मिलता है।
जब इरादा भिन्न हो तो सामग्री का उपयोग करें।
जब कानूनी नोट, कीमतें, या उदाहरण भिन्न हों तो अलग संस्करण लिखें।
SEO संकेत
Culture रूट्स को Canonical और hreflang नियमों से जोड़ें
URL केवल एक संकेत है। मेटाडेटा को इसके अनुरूप होना चाहिए।
Canonical URL
प्रत्येक स्थानीयकृत पृष्ठ को उसकी अपनी पसंदीदा URL पर इंगित करें।
hreflang
हर वास्तविक भाषा या क्षेत्र संस्करण को hreflang से लिंक करें।
x-default
एक तटस्थ चयनकर्ता या वैश्विक फॉलबैक के लिए x-default का उपयोग करें।
BreadcrumbList
ब्रेडक्रंब्स को संस्कृति-संवेदनशील रखें ताकि स्कीमा दृश्य मार्ग पदानुक्रम से मेल खाए।
संबंधित संदर्भ
मेटाडेटा और स्कीमा को एक ही कहानी बतानी चाहिए
जब आप मेटाडेटा और संरचित डेटा जोड़ें तो इन मार्गदर्शिकाओं का उपयोग करें।
इम्प्लीमेंटेशन
रूट नियमों को छोटे-छोटे हिस्सों में बनाएं
एक सेवा, एक रीडायरेक्ट, और एक रूट पैटर्न से शुरू करें।
संस्कृति सेवा अनुबंध
समर्थित संस्कृतियों और URL पार्सिंग को केंद्रीकृत करें।
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";
}
}संस्कृति रीडायरेक्ट एंडपॉइंट
कुकी सेट करें, फिर संस्कृति रूट पर वापस जाएं।
[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);
}
}प्रोग्राम सेटअप
कंट्रोलर रूट मैप करने से पहले लोकलाइज़ेशन रजिस्टर करें।
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();पृष्ठ रूट
संस्कृति खंड को हर सार्वजनिक रूट का हिस्सा बनाएं।
@page "/{Culture}/pricing/"
<a href="@BuildCultureLink(PageRegistryKey.Blazor)">
Blazor guides
</a>मार्ग वास्तविकता
Blazor सामग्री का स्थानीयकरण कर सकता है, लेकिन रूट टेम्पलेट नहीं।
संस्कृति खंड बदलता है; स्लग स्थिर रहता है। अनुवादित स्लग के लिए अपनी रूटिंग लेयर आवश्यक है।
Razor @page रूट्स लिटरल टेम्पलेट्स का उपयोग करते हैं। स्थानीयकरण केवल पृष्ठ टेक्स्ट का अनुवाद करता है। PageRegistry और @page स्ट्रिंग्स कोड के स्वामित्व में रहती हैं।
/de-de/seo-friendly-culture-links-in-blazor/
केवल संस्कृति बदलती है।
/de-de/seo-freundliche-culture-links-in-blazor/
अनुवादित स्लग के लिए स्लग तालिका की आवश्यकता होती है। उन्हें रीडायरेक्ट, कैनोनिकल, साइटमैप और hreflang की भी आवश्यकता होती है।
BuildCultureLink(PageRegistryKey.Blazor)
BuildCultureLink संस्कृति बदलता है, स्लग नहीं।
सामान्य गलतियां
अधिकांश संस्कृति URL बग रूटिंग असंगतियां होती हैं
रूट टेम्पलेट शायद ही कभी कठिन हिस्सा होता है।
भाषा परिवर्तन के बाद हर सिग्नल को संरेखित रखें।
किसी मान्य संस्कृति को हमेशा के लिए रीडायरेक्ट न करें।
संस्कृति को एक बार सामान्यीकृत करें, फिर जब मार्ग पहले से मेल खाता हो तो रोक दें।
डिफ़ॉल्ट संस्कृति का देर से अनुमान न लगाएं।
राउटिंग, मेटाडेटा, साइटमैप, और फॉलबैक लॉजिक के लिए एक डिफ़ॉल्ट संस्कृति का उपयोग करें।
दो पृष्ठों को एक ही संस्कृति स्लग का मालिक न बनने दें।
केंद्रीय पृष्ठ लिंक आकस्मिक मार्ग टकरावों की समीक्षा को आसान बनाते हैं।
क्लाइंट-ओनली स्थिति में भाषा मार्गों को छिपाएं नहीं।
Blazor इंटरैक्टिव होने से पहले क्रॉलर और उपयोगकर्ताओं को वास्तविक href मानों की आवश्यकता होती है।
मान्यता
प्रकाशन से पहले प्रत्येक संस्कृति रूट जांचें
केवल Razor कोड नहीं, रेंडर किए गए HTML को भी सत्यापित करें।
- प्रत्येक समर्थित संस्कृति के लिए कम से कम एक URL खोलें।
- रेंडर किए गए स्रोत में canonical और hreflang टैग जांचें।
- पुष्टि करें कि FAQ स्कीमा दृश्य प्रश्नों और उत्तरों से मेल खाता है।
- रीडायरेक्ट्स को क्रॉल करें ताकि असमर्थित संस्कृतियाँ लूप न करें।
- अनुवादित शीर्षक, विवरण, H1 टेक्स्ट, और कीवर्ड की समीक्षा करें।
अक्सर पूछे जाने वाले सवाल
क्या SEO के लिए संस्कृति URL कुकीज़ से बेहतर हैं?
हाँ। संस्कृति URL क्रॉल करने योग्य और साझा करने योग्य पृष्ठ बनाते हैं।
भाषा और क्षेत्र में क्या अंतर है?
भाषा टेक्स्ट को नियंत्रित करती है। क्षेत्र स्थानीय उदाहरण और ऑफ़र को नियंत्रित करता है।
क्या मुझे संस्कृति मार्गों के साथ अभी भी hreflang की आवश्यकता है?
हाँ। संस्कृति मार्ग URL को स्पष्ट बनाते हैं। hreflang उन्हें जोड़ता है।
स्थानीयकृत पृष्ठों पर कैनोनिकल किसकी ओर इशारा करना चाहिए?
आमतौर पर, कैनोनिकल उसी स्थानीयकृत पृष्ठ की ओर इशारा करता है।
मैं रीडायरेक्ट लूप से कैसे बचूं?
असमर्थित संस्कृतियों को एक बार रीडायरेक्ट करें, फिर रोक दें।