تعريب Blazor
إنشاء عناوين URL صديقة لتحسين محركات البحث في Blazor
استخدم مسارات /en-us/page-name/ للوصول المباشر.
الهدف هو نظام عناوين URL مستقر، وليس مجرد نص مترجم.
لماذا هذا مهم
تساعد عناوين URL حسب الثقافة الأشخاص ومحركات البحث على اختيار الصفحة الصحيحة
يمكن لملف تعريف الارتباط تغيير اللغة بعد الطلب.
يمكن مشاركة عنوان URL، وزحفه، وفهرسته، وتخزينه مؤقتًا، وتدقيقه.
تناسب مسارات الثقافة المقالات العامة وصفحات المنتجات والوثائق والأدوات.
فهرس المحتويات
المفاهيم الأساسية
فصل اللغة والمنطقة والمسار وإصدار المحتوى
احتفظ بهذه المصطلحات منفصلة قبل كتابة كود التوجيه.
استخدم اللغة للنصوص القابلة للقراءة.
الإنجليزية، والألمانية، والفرنسية هي خيارات للغة.
استخدم المنطقة للنية المحلية.
en-us و en-gb قد يحتاجان إلى إملاء، وأمثلة، وعروض مختلفة.
استخدم المسارات للاكتشاف.
مسار مثل /de-de/blazor/ يمنح الجميع عنوانًا ثابتًا واحدًا.
استخدم المحتوى عندما يختلف الهدف.
اكتب نسخة منفصلة عندما تختلف الملاحظات القانونية أو الأسعار أو الأمثلة.
إشارات تحسين محركات البحث
ربط مسارات الثقافة بقواعد Canonical URL و hreflang
العنوان هو إشارة واحدة فقط. يجب أن تتطابق البيانات الوصفية معه.
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 ترجمة المحتوى، وليس قوالب المسارات
يتغير جزء الثقافة؛ يبقى الجزء الثابت (slug) مستقراً. تحتاج الأجزاء الثابتة المترجمة إلى طبقة توجيه خاصة بها.
تستخدم مسارات Razor @page قوالب حرفية. الترجمة تحوّل نص الصفحة فقط. تظل PageRegistry وسلاسل @page مملوكة للكود.
/de-de/seo-friendly-culture-links-in-blazor/
يتغير فقط جزء الثقافة.
/de-de/seo-freundliche-culture-links-in-blazor/
تحتاج الأجزاء الثابتة المترجمة إلى جدول خاص بها. كما تحتاج إلى إعادة توجيه، canonical، خرائط مواقع، و hreflang.
BuildCultureLink(PageRegistryKey.Blazor)
BuildCultureLink يغير الثقافة، وليس الأجزاء الثابتة.
الأخطاء الشائعة
معظم أخطاء عناوين URL الخاصة بالثقافة هي عدم تطابق في التوجيه
قالب المسار نادراً ما يكون الجزء الصعب.
حافظ على توافق كل إشارة بعد تغيير اللغة.
لا تعيد توجيه ثقافة صحيحة إلى الأبد.
قم بتطبيع الثقافة مرة واحدة، ثم توقف عندما يتطابق المسار بالفعل.
لا تخمن الثقافة الافتراضية في وقت متأخر.
استخدم ثقافة افتراضية واحدة للتوجيه والبيانات الوصفية وخريطة الموقع ومنطق الاحتياط.
لا تسمح لصفحتين بامتلاك نفس سلاج الثقافة.
روابط الصفحات المركزية تجعل مراجعة تصادمات المسارات العرضية أسهل.
لا تخفِ مسارات اللغة في حالة العميل فقط.
يحتاج الزواحف والمستخدمون إلى قيم href حقيقية قبل أن يصبح Blazor تفاعلياً.
- افتح على الأقل عنوان URL واحد لكل ثقافة مدعومة.
- تحقق من علامات canonical و hreflang في المصدر المعروض.
- أكد أن مخطط FAQ يتطابق مع الأسئلة والأجوبة المرئية.
- افحص عمليات إعادة التوجيه حتى لا تدخل الثقافات غير المدعومة في حلقات.
- راجع العناوين المترجمة، الأوصاف، نص H1، والكلمات المفتاحية.
الأسئلة الشائعة
هل عناوين URL الخاصة بالثقافة أفضل من الكوكيز لتحسين محركات البحث؟
نعم. عناوين URL الخاصة بالثقافة تُنشئ صفحات قابلة للفهرسة والمشاركة.
ما الفرق بين اللغة والمنطقة؟
اللغة تتحكم في النص. المنطقة تتحكم في الأمثلة والعروض المحلية.
هل ما زلت بحاجة إلى hreflang مع مسارات الثقافة؟
نعم. مسارات الثقافة تجعل عناوين URL واضحة. hreflang يربط بينها.
إلى ماذا يجب أن تشير canonical في الصفحات المترجمة؟
عادةً، تشير canonical إلى نفس الصفحة المترجمة.
كيف أتجنب حلقات إعادة التوجيه؟
أعد توجيه الثقافات غير المدعومة مرة واحدة، ثم توقف.