تعريب 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 تفاعلياً.
التحقق
تحقق من كل مسار ثقافي قبل النشر
تحقق من صحة HTML المعروض، وليس فقط كود Razor.
- افتح عنوان URL واحد على الأقل لكل ثقافة مدعومة.
- تحقق من علامات canonical و hreflang في المصدر المعروض.
- أكد أن مخطط FAQ يتطابق مع الأسئلة والأجوبة المرئية.
- افحص عمليات إعادة التوجيه حتى لا تدخل الثقافات غير المدعومة في حلقات.
- راجع العناوين المترجمة، الأوصاف، نص H1، والكلمات المفتاحية.
الأسئلة الشائعة
هل عناوين URL الخاصة بالثقافة أفضل من الكوكيز لتحسين محركات البحث؟
نعم. عناوين URL الخاصة بالثقافة تخلق صفحات قابلة للزحف والمشاركة.
ما الفرق بين اللغة والمنطقة؟
اللغة تتحكم في النص. المنطقة تتحكم في الأمثلة والعروض المحلية.
هل ما زلت بحاجة إلى hreflang مع مسارات الثقافة؟
نعم. مسارات الثقافة تجعل عناوين URL واضحة. hreflang يربط بينها.
إلى ماذا يجب أن يشير canonical في الصفحات المترجمة؟
عادةً، يشير canonical إلى نفس الصفحة المترجمة.
كيف أتجنب حلقات إعادة التوجيه؟
أعد توجيه الثقافات غير المدعومة مرة واحدة، ثم توقف.