Blazor লোকালাইজেশন
Blazor-এ SEO-বান্ধব culture URL তৈরি করুন
সরাসরি অ্যাক্সেসের জন্য /en-us/page-name/ রুট ব্যবহার করুন।
লক্ষ্য হল একটি স্থিতিশীল URL সিস্টেম, শুধুমাত্র অনূদিত টেক্সট নয়।
কেন এটি গুরুত্বপূর্ণ
Culture URL মানুষ এবং ক্রলারদের সঠিক পৃষ্ঠা বেছে নিতে সাহায্য করে
একটি কুকি অনুরোধের পরে ভাষা পরিবর্তন করতে পারে।
একটি 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(PageLinks.Blazor)">
Blazor guides
</a>রুট বাস্তবতা
Blazor কনটেন্ট লোকালাইজ করতে পারে, রুট টেমপ্লেট নয়
সংস্কৃতি অংশ পরিবর্তিত হয়; স্লাগ স্থিতিশীল থাকে। অনূদিত স্লাগগুলির নিজস্ব রাউটিং স্তর প্রয়োজন।
Razor @page রুটগুলি লিটারাল টেমপ্লেট ব্যবহার করে। লোকালাইজেশন শুধুমাত্র পৃষ্ঠার টেক্সট অনুবাদ করে। PageLinks এবং @page স্ট্রিংগুলি কোড-মালিকানাধীন থাকে।
/de-de/seo-friendly-culture-links-in-blazor/
শুধুমাত্র সংস্কৃতি পরিবর্তিত হয়।
/de-de/seo-freundliche-culture-links-in-blazor/
অনূদিত স্লাগগুলির জন্য একটি স্লাগ টেবিল প্রয়োজন। তাদের রিডাইরেক্ট, canonical, সাইটম্যাপ এবং hreflangও প্রয়োজন।
BuildCultureLink(PageLinks.Blazor)
BuildCultureLink সংস্কৃতি পরিবর্তন করে, স্লাগ নয়।
সাধারণ ভুল
অধিকাংশ কালচার URL বাগ রাউটিং মিসম্যাচ থেকে হয়
রুট টেমপ্লেট সাধারণত কঠিন অংশ নয়।
ভাষা পরিবর্তনের পর প্রতিটি সিগন্যাল সঙ্গতিপূর্ণ রাখুন।
একটি বৈধ সংস্কৃতিকে চিরতরে রিডাইরেক্ট করবেন না।
সংস্কৃতিকে একবার স্বাভাবিক করুন, তারপর রুট ইতিমধ্যেই মিলে গেলে বন্ধ করুন।
দেরিতে ডিফল্ট সংস্কৃতি অনুমান করবেন না।
রাউটিং, মেটাডেটা, সাইটম্যাপ এবং ফ্যালব্যাক লজিকের জন্য একটি ডিফল্ট সংস্কৃতি ব্যবহার করুন।
একই সংস্কৃতি স্লাগ দুইটি পৃষ্ঠাকে দখল করতে দেবেন না।
কেন্দ্রীয় পৃষ্ঠা লিঙ্ক দুর্ঘটনাক্রমে রুট সংঘর্ষ পর্যালোচনা সহজ করে।
ক্লায়েন্ট-অনলি অবস্থায় ভাষার রুট লুকাবেন না।
Blazor ইন্টারেক্টিভ হওয়ার আগে ক্রলার এবং ব্যবহারকারীদের প্রকৃত href মান প্রয়োজন।
যাচাই
প্রকাশের আগে প্রতিটি কালচার রুট পরীক্ষা করুন
শুধুমাত্র Razor কোড নয়, রেন্ডার করা HTML যাচাই করুন।
- প্রতিটি সমর্থিত সংস্কৃতির জন্য অন্তত একটি URL খুলুন।
- রেন্ডার করা সোর্সে canonical এবং hreflang ট্যাগ পরীক্ষা করুন।
- FAQ স্কিমা দৃশ্যমান প্রশ্ন ও উত্তরের সাথে মেলে কিনা নিশ্চিত করুন।
- অসামর্থিত সংস্কৃতিগুলো লুপ না করে রিডাইরেক্ট ক্রল করুন।
- অনুবাদকৃত শিরোনাম, বিবরণ, H1 টেক্সট এবং কীওয়ার্ড পর্যালোচনা করুন।
সাধারণ প্রশ্ন
SEO-এর জন্য সংস্কৃতি URL কি কুকিজের চেয়ে ভালো?
হ্যাঁ। সংস্কৃতি URL ক্রলযোগ্য এবং শেয়ারযোগ্য পৃষ্ঠা তৈরি করে।
ভাষা এবং অঞ্চল মধ্যে পার্থক্য কী?
ভাষা টেক্সট নিয়ন্ত্রণ করে। অঞ্চল স্থানীয় উদাহরণ এবং অফার নিয়ন্ত্রণ করে।
সংস্কৃতি রুট থাকলেও কি আমাকে hreflang ব্যবহার করতে হবে?
হ্যাঁ। সংস্কৃতি রুট URL স্পষ্ট করে তোলে। hreflang সেগুলোকে সংযুক্ত করে।
লোকালাইজড পৃষ্ঠাগুলিতে canonical কী নির্দেশ করা উচিত?
সাধারণত, canonical একই লোকালাইজড পৃষ্ঠাকে নির্দেশ করে।
আমি কীভাবে রিডাইরেক্ট লুপ এড়াবো?
অসামর্থিত সংস্কৃতিগুলিকে একবার রিডাইরেক্ট করুন, তারপর বন্ধ করুন।