سمة HTML lang
ما الذي تفعله سمة HTML lang، ولماذا تتجاهلها Google لاكتشاف اللغة بينما تستخدمها Bing، وكيف تختلف عن hreflang، ولماذا تظل مهمة لإمكانية الوصول ومطالبة المتصفح بالترجمة التلقائية.
اللغات
دليل واحد في هذه الصفحة
- أداة مباشرة ذات صلةOn-Page SEO Checker
تعلن سمة HTML lang، التي تُضبط على الجذر مثل <html lang="en"> أو بصيغة إقليمية مثل en-US، اللغة الطبيعية لمحتوى هذا المستند باستخدام وسم BCP 47. وهي ليست hreflang؛ إذ تصف lang الصفحة الحالية، بينما تعلن hreflang عناوين URL البديلة للصفحات الأخرى. تقول Google صراحة إنها تتجاهل lang لاكتشاف اللغة وتستخدم خوارزميات المحتوى بدلًا منها؛ وقال Mueller: "we don't use that at all… almost always wrong" _(الترجمة العربية)_ «لا نستخدم ذلك إطلاقًا… فهو خاطئ في معظم الأحيان تقريبًا». أما Bing فتستخدم <html lang> إشارة احتياطية لموقع المستند بعد وسم meta من نوع content-language، وفق تدوينة Webmaster Blog لعام 2011. وبصرف النظر عن وزن البحث، lang سمة مطلوبة لإمكانية الوصول وفق WCAG 3.1.1؛ فهي تؤثر في نطق قارئ الشاشة ومطالبة المتصفح بالترجمة التلقائية، وما زال «غياب لغة المستند» من أكثر ستة إخفاقات WebAIM Million شيوعًا. والاستثناء الوحيد لدى Google هو وسم كتل الترجمة الآلية بـlang="es-x-mtfrom-en". اضبط قيمة صالحة، وحافظ على اتساقها مع hreflang، ولا تترك lang="en" الموروثة من القالب على محتوى غير إنجليزي.
الخلاصة — تخبر سمة HTML من نوع
lang، أيlang="en"في وسم<html>الافتتاحي، المتصفحات وقارئات الشاشة باللغة المكتوب بها محتوى الصفحة. يسهل الخلط بينها وبين hreflang، لكنهما مختلفان: تصفlangهذه الصفحة، بينما يشير hreflang إلى نسخك الأخرى بلغات مختلفة. لا تستخدم Google سمةlangلاكتشاف لغة الصفحة، لكنها تظل مهمة لإمكانية الوصول ولتحديد ما إذا كان المتصفح سيعرض ترجمة الصفحة.
ما سمة lang؟
يقع قرب أعلى معظم صفحات الويب وسم يبدو هكذا:
<html lang="en">تمثل lang="en" سمة HTML lang. مهمتها الوحيدة إعلان اللغة المكتوب بها محتوى الصفحة: en للإنجليزية، وes للإسبانية، وde للألمانية. ويمكن زيادة التحديد بالمنطقة: en-US للإنجليزية الأمريكية، وen-GB للبريطانية، وpt-BR للبرتغالية البرازيلية.
إنها تفصيلة صغيرة، لكن أنظمة متعددة تقرؤها:
- تستخدمها قارئات الشاشة لنطق الكلمات بصورة صحيحة؛ فقراءة نص فرنسي بصوت إنجليزي تجعله غير مفهوم. Evidence for this claim WCAG 2.2 success criterion 3.1.1 requires the default human language of a page to be programmatically determinable, and W3C lists lang on the html element as a sufficient HTML technique. Scope: WCAG 2.2 Level A language-of-page requirement for HTML documents. Confidence: high · Verified: W3C: Understanding Language of Page
- تستخدمها المتصفحات، إلى جانب النص الفعلي، لتقرر هل تعرض سؤال «هل تريد ترجمة هذه الصفحة؟».
- تتجاهلها Google في الغالب، وسنشرح السبب في تبويب المتقدم.
lang ليست hreflang
هذا هو الالتباس الذي يقود معظم الناس إلى صفحة كهذه. والفرق في سطر واحد:
lang= «محتوى هذه الصفحة بهذه اللغة». قيمة واحدة تُضبط في وسم<html>.- hreflang = «هذه هي عناوين URL الأخرى للنسخ الألمانية والإسبانية والفرنسية من الصفحة». مجموعة روابط تشير إلى صفحات أخرى.
lang وصف ذاتي، أما hreflang فخريطة للصفحات البديلة. يحتاج الموقع البسيط أحادي اللغة إلى lang صحيحة ولا يحتاج إلى hreflang إطلاقًا. وإذا كان موقعك متعدد اللغات فستستخدم كليهما، ويجب أن تتطابق إشارتاهما.
ما القيمة التي ينبغي استخدامها؟
استخدم رمز لغة حقيقيًا، لا رمزًا من اختراعك:
- اللغة وحدها إذا لم تكن الفروق الإقليمية مهمة:
enوesوfr. - اللغة مع المنطقة إذا كانت مهمة:
en-USوen-GBوpt-BR.
لا تخترع رموزًا مثل eng أو en-UK؛ فالرمز الصحيح للمملكة المتحدة هو GB لا UK. ولا تترك القيمة الافتراضية lang="en" في صفحة ليس محتواها بالإنجليزية. هذا أكثر الأخطاء شيوعًا، ويسبب مشكلات حقيقية في مطالبات الترجمة وقارئات الشاشة.
هل تريد النسخة الأعمق: لماذا تتجاهلها Google تحديدًا، وكيف تستخدمها Bing، وقواعد إمكانية الوصول، وقصة الترجمة التلقائية في المتصفح؟ انتقل إلى تبويب المتقدم.
الخلاصة — تعلن
langاللغة الطبيعية لمحتوى هذا المستند، مثل<html lang="en">أو صيغة إقليمية مثلen-US، باستخدام وسم BCP 47. وهي آلية مختلفة عن hreflang التي تعلن عناوين URL البديلة بلغات أخرى. تجمع وثائق Google الآليتين ضمن ما لا تستخدمه لاكتشاف لغة الصفحة. قال Mueller: “we don’t use that at all… almost always wrong.” (الترجمة العربية) «لا نستخدم ذلك إطلاقًا… فهو خاطئ في معظم الأحيان تقريبًا». وبصرف النظر عن أثر البحث، فإن قابلية تحديد لغة الصفحة برمجيًا متطلب من المستوى A في WCAG 3.1.1، وسمة HTMLlangهي التقنية القياسية. وهي تدعم نطق قارئات الشاشة ومطالبة المتصفح بالترجمة التلقائية، وما زال «غياب لغة المستند» من أكثر ستة إخفاقات شيوعًا في WebAIM Million. والاستثناء الوحيد لدى Google هو وسم كتل الترجمة الآلية بـlang="es-x-mtfrom-en". اضبط قيمة صالحة، وحافظ على اتساقها مع hreflang، وأزلlang="en"الموروثة من القالب في الصفحات غير الإنجليزية.
ما الذي تعلنه سمة lang فعلًا؟
سمة HTML من نوع lang سمة عامة؛ يمكن تقنيًا وضعها على أي عنصر، لكن أهم موضع لها هو الجذر: <html lang="en">. وقيمتها وسم لغة BCP 47، إما وسمًا فرعيًا للغة وحدها (en وes وde) أو زوج لغة ومنطقة (en-US وen-GB وpt-BR وzh-Hans).
ما تعلنه محدود ودقيق: اللغة الطبيعية للمحتوى النصي في المستند الذي وُضعت عليه. ليست لغة الصفحات البديلة ولا البلد المستهدف، بل ببساطة «كلمات هذه الصفحة بهذه اللغة».
Evidence for this claim The HTML lang attribute specifies an element's language using a valid BCP 47 language tag; on the root html element it establishes the document's default language. Scope: WHATWG HTML language semantics and IETF BCP 47 tag syntax. Confidence: high · Verified: WHATWG: The lang attribute IETF RFC 5646 Evidence for this claim WCAG 2.2 success criterion 3.1.1 requires the default human language of a page to be programmatically determinable, and W3C lists lang on the html element as a sufficient HTML technique. Scope: WCAG 2.2 Level A language-of-page requirement for HTML documents. Confidence: high · Verified: W3C: Understanding Language of Pageثلاث نقاط دقيقة يجدر استيعابها من مرجع MDN:
- القيم الصالحة فقط. استخدم وسم BCP 47، لا رمزًا مخترعًا من ثلاثة أحرف (
eng)، ولا اسم اللغة كاملًا، ولاen-UK؛ فالوسم الفرعي لمنطقة المملكة المتحدة هوGB. تُعامل القيم غير الصالحة كأن لا قيمة لها. كما أن سلامة الصياغة لا تعني صحة المعنى:lang="en"وسم سليم تمامًا لكنه خاطئ في صفحة فرنسية. الصلاحية حد أدنى وليست ضمانًا لمطابقة المحتوى. - القيمة الفارغة ليست كالغياب. تعني
lang=""صراحة «لغة غير معروفة»، وهي حالة مقصودة. أما غياب السمة فعلًا فحالة إخفاق مختلفة، وتبلغ عنها أدوات إمكانية الوصول كسمة غائبة لا كلغة مجهولة صراحة. - قيمة الجذر افتراضية وليست قفلًا. تضبط
<html lang>ما يرثه كل عنصر تابع ما لم يُتجاوز؛ فأعد ضبطlangمحليًا على أي عنصر يحتوي تغييرًا حقيقيًا في اللغة. ولا تخلط هذا الإعلان داخل المستند مع ترويسة استجابة HTTP من نوعContent-Language: فالترويسة تصف بيانات النقل الوصفية للاستجابة لا المستند المحلل، ولا تحل محلlangفي وراثة العناصر أو إمكانية الوصول.
lang وhreflang: حل الالتباس
إذا وصلت إلى هنا بسبب سؤال عن hreflang، فهذا هو القسم المطلوب. يختلط المفهومان باستمرار لأن كليهما متعلق باللغة ويظهر قرب أعلى المستند ويستخدم رموزًا متشابهة، لكنهما يؤديان وظيفتين مختلفتين.
يأتي أوضح تفسير مباشرة من وثائق Google عن النسخ الموطنة من صفحاتك، التي تجمعهما تحديدًا لتقول إنها لا تستخدم أيًا منهما للاكتشاف:
“Google doesn’t use hreflang or the HTML lang attribute to detect the language of a page; instead, we use algorithms to determine the language.” (الترجمة العربية) «لا تستخدم Google سمة hreflang أو سمة HTML lang لاكتشاف لغة الصفحة؛ بل نستخدم خوارزميات لتحديد اللغة».
اقرأ العبارة بعناية. تذكر Google lang وhreflang معًا بوصفهما شيئين منفصلين لا تستخدمهما لمعرفة لغة الصفحة؛ فهي تكتشف اللغة من المحتوى المرئي المعروض.
فما الفرق الفعلي؟
langوصف ذاتي: قيمة واحدة على<html>أو أي عنصر تقول «محتوى هذا المستند بهذه اللغة». تقرؤها المتصفحات وقارئات الشاشة والمدققات الإملائية؛ وتستخدمها Bing، وتتجاهلها Google للاكتشاف.- hreflang خريطة بين الصفحات: مجموعة إشارات
<link rel="alternate">، أو ما يعادلها في خريطة الموقع أو الترويسة، تسرد عناوين URL الأخرى لنسخ الصفحة البديلة بحسب اللغة والمنطقة. إنها إشارة توجيه تستخدمها Google لعرض نسخة URL الصحيحة في النتائج، وليست إشارة اكتشاف.
يمكنهما، وغالبًا ينبغي لهما، أن يتعايشا. تحمل صفحة إسبانية مكسيكية <html lang="es-MX"> لوصف محتواها، ومجموعة وسوم hreflang تشير إلى نظيراتها en-US وen-GB وغيرها. ولتنفيذ hreflang الكامل مقال مستقل يشرح الطرق الثلاث وقاعدتي التبادلية والإشارة الذاتية ومدى شيوع الأعطال. الخلاصة هنا أن lang هي النصف البسيط من الزوج: قيمة واحدة وعنصر واحد ولا تبادلية، لأنها لا تحمل تعقيد علاقات hreflang بين الصفحات، الذي وصفه John Mueller ذات مرة بأنه «أحد أكثر جوانب SEO تعقيدًا». لكن سهولة ضبطها لا تعني أنها صحيحة عادة.
The root lang attribute gives one page a BCP 47 language self-description used by browsers and screen readers. Hreflang is a reciprocal cross-page map between alternate URLs, such as en-US and es-MX versions. Google detects a page's language from visible content rather than either annotation, but the lang value should remain accurate and consistent with the hreflang entry for the same URL.
© Patrick Stox LLC · CC BY 4.0 ·
هل سمة lang عامل ترتيب في Google؟
الإجابة القصيرة: لا، وكانت Google صريحة على نحو غير معتاد. التصريح الحاسم لـJohn Mueller، كما نقله Barry Schwartz في Search Engine Roundtable في Google تقول إنها تتجاهل سمة HTML lang. عندما سُئل عن أهمية إعلان لغة الصفحة في HTML قال:
“We don’t use that at all. So we use the hreflang links if you have that if you have different language versions. But the language attribute within the HTML markup is something we don’t use at all. We’ve found that this language markup is something that is almost always wrong. So we tend to ignore that.” (الترجمة العربية) «لا نستخدم ذلك إطلاقًا. نستخدم روابط hreflang إذا كانت لديك نسخ بلغات مختلفة، لكننا لا نستخدم سمة اللغة داخل ترميز HTML إطلاقًا. وجدنا أن ترميز اللغة هذا خاطئ في معظم الأحيان تقريبًا، ولذلك نميل إلى تجاهله».
عبارة “almost always wrong”، أي «خاطئة في معظم الأحيان تقريبًا»، هي المفتاح. لا تتجاهل Google lang لأنها غير مهمة، بل لأن الإشارة غير موثوقة على نطاق الويب. يترك الناس القيمة الافتراضية lang="en" بعد توطين المحتوى، وتشحن قوالب CMS وأطر العمل قيمة افتراضية لا تُحدّث؛ فقالب Vue CLI المولد مثلًا يثبت lang="en" مهما كان التطبيق. عندما تخطئ إشارة بهذا التواتر، يكون القرار الهندسي المنطقي عدم الوثوق بها واكتشاف اللغة من المحتوى مباشرة، وهو ما تقول Google إنها تفعله. يعود الاقتباس إلى 2016، لكن وثيقة Search Central الحالية لعام 2026 تعيد تأكيد السياسة نفسها بصورة مستقلة، لذا فهو إرشاد طويل الأمد لم يُسحب لا تصريحًا قديمًا منفردًا.
الاستثناء الوحيد: المحتوى المترجم آليًا
هناك موضع واحد ضيق تهتم فيه وثائق Google فعلًا بقيمة شبيهة بـlang. إذا نشرت محتوى مترجمًا آليًا، تطلب إرشادات النتائج المترجمة وسم تلك الكتل بصيغة خاصة: lang="<target>-x-mtfrom-<source>"، مثل lang="es-x-mtfrom-en" للمحتوى المترجم آليًا من الإنجليزية إلى الإسبانية. وهو الاستثناء الذي يثبت القاعدة: تتجاهل Google lang في اكتشاف اللغة عمومًا، لكنها عرّفت هذه الصيغة المحددة وتقرؤها. ولإلغاء ميزات الترجمة كلها توجد قاعدة notranslate: “To opt out of all translation features in Google Search, use the notranslate rule, which can be implemented as a meta tag or an HTTP header.” (الترجمة العربية) «لإلغاء كل ميزات الترجمة في Google Search، استخدم قاعدة notranslate التي يمكن تنفيذها كوسم meta أو ترويسة HTTP».
هل تستخدم Bing سمة lang؟
نعم، وهنا تصبح lang أكثر أهمية فعلية مما توحي به قصة «Google تتجاهلها». موقف Bing معاكس لموقف Google، ومع ذلك لا تغطيه معظم المصادر بما يكفي.
في تدوينة Webmaster Blog لعام 2011 كيفية إبلاغ Bing ببلد موقعك ولغته، تسرد Bing ترتيب أولوية إشارات «موقع المستند» التي تستخدمها للصلة، من الأعلى إلى الأدنى:
- وسم
content-languageمن نوع meta داخل<head>(<meta http-equiv="content-language" content="en-us">). - سمة
<html lang="en-us">ثم سمة<title lang="en-us">كخيارات احتياطية: “the priority order for these tags is:<meta>,<html>,<title>.” (الترجمة العربية) «ترتيب أولوية هذه الوسوم هو<meta>ثم<html>ثم<title>». - ccTLD.
- البحث العكسي عن IP، ولا يُستخدم إلا عندما لا تحسم الإشارات الأعلى النتيجة.
تنصح Bing باختيار خيار واحد والالتزام به: “It’s best that you use one option, instead of multiple options here.” (الترجمة العربية) «الأفضل استخدام خيار واحد بدل خيارات متعددة هنا». لذلك تستخدم Bing، خلافًا لـGoogle، <html lang> صراحة إشارة استهداف حقيقية وإن كانت أقل أولوية. إذا كان لموقعك زيارات مهمة من Bing، تتغير التوصية: اضبط lang بدقة وفكر أيضًا في وسم meta مطابق من نوع content-language.
وهذا يكمل الصورة مع hreflang: لا تستخدم Bing hreflang بالطريقة التي تستخدمها Google إلا بدرجة محدودة جدًا؛ فـcontent-language مع lang هما آليتها الموازية.
لماذا تظل سمة lang مهمة: إمكانية الوصول
حتى إذا تجاهلنا البحث تمامًا، تستحق lang مكانها. إنها سمة مطلوبة لإمكانية الوصول؛ يشترط معيار النجاح WCAG 3.1.1 من المستوى A أن تكون اللغة البشرية الافتراضية لكل صفحة قابلة للتحديد برمجيًا، وهو ما يعني عمليًا قيمة <html lang> صالحة. ويغطي معيار مستقل، 3.1.2، تمييز تغير اللغة داخل الصفحة.
الآثار اللاحقة ملموسة وموثقة جيدًا، وقد جمع Adrian Roselli كثيرًا منها في استخدام سمة lang: تستخدم قارئات الشاشة lang لاختيار محرك النطق والصوت الصحيحين، مثل محرك JAWS الصوتي وتبديل VoiceOver التلقائي للصوت؛ وتعتمد عليها CSS في hyphens: auto، ويتبعها سلوك spellcheck وعرض علامات الاقتباس واختيار خطوط CJK الافتراضية وشاشات برايل. تختلف التفاصيل حسب قارئ الشاشة والمتصفح والصوت المثبت؛ وتبين اختبارات Roselli أن JAWS وVoiceOver لا يتصرفان بصورة متطابقة. لذلك اعتبر قيمة lang الصحيحة تمكينًا للسلوك المناسب، لا ضمانًا لتجربة متطابقة في كل حزمة تقنيات مساعدة.
وليست المشكلة محلولة. وفق تقرير WebAIM Million الحالي، يظهر «غياب لغة المستند» في 13,5 % من الصفحات الرئيسية، وهو سادس أكثر إخفاقات إمكانية الوصول الآلية شيوعًا. يتحسن المعدل، إذ انخفض من 15,8 % في العام السابق ومن 17,1 % ثم 18,6 % قبله، لكن «مشكلة كبيرة آخذة في الانكماش» تظل مشكلة. وتعكس أدوات Google التصنيف نفسه: يقع فحصا Lighthouse من نوع html-has-lang وhtml-lang-valid ضمن فئة إمكانية الوصول لا SEO، ما يكشف أن أدوات Google للمطورين تصنف lang مسألة وصول لا ترتيب. يعتمد الفحصان على قاعدة axe-core التي تحمل الاسم نفسه من Deque، التي تصنف غياب lang مشكلة «خطيرة» من المستوى A في WCAG 2,0/2,1.
سلوك المتصفح: مطالبة الترجمة التلقائية
تتحكم lang في سلوك مرئي آخر هو مطالبة المتصفح «هل تريد ترجمة هذه الصفحة؟». يزن Chrome وغيره lang إلى جانب تحليل النص المرئي الفعلي عند تقرير عرض الترجمة. وقد تخطئ القيمة الغائبة أو الخاطئة في الاتجاهين: تعرض ترجمة صفحة مكتوبة أصلًا بلغة القارئ، أو لا تعرضها لصفحة أجنبية فعلًا.
المثال الواقعي اللافت هو مقال Manuel Matuzovic سمة lang: حين تكذب المتصفحات أكاذيب صغيرة لطيفة: نشر موقع الإذاعة النمساوية ORF.at محتوى ألمانيًا مع lang="en"، فاعتبرت الترجمة التلقائية في Chrome النص الألماني إنجليزيًا و«ترجمته»، وحولت اسم حي فيينا «Liesing» إلى الكلمة الإنجليزية «lies». هذا هو فخ القيمة الافتراضية للقالب وقد تحول إلى عطل يراه المستخدم، وهو نوع المشكلة نفسه الذي وصفه Mueller بعبارة “almost always wrong”.
كيفية ضبطها بصورة صحيحة
- استخدم وسم BCP 47 صالحًا. استخدم وسم اللغة الفرعي وحده (
enوesوfr) إذا لم تحتج تمييزًا إقليميًا، أو اللغة والمنطقة (en-USوen-GBوpt-BR) إذا احتجته. خذ الرموز من سجل IANA للوسوم الفرعية للغات، ولا تخترعها، وتذكرGBلاUK. - اضبطها أيضًا على العنصر الذي تتغير لغته. لعبارة أجنبية داخل صفحة بلغة واحدة، أعد ضبط
langمحليًا:<span lang="fr">c'est la vie</span>. ترث العناصر التابعة غير المضبوطة قيمةlangلأقرب سلف، فتغطي قيمة الجذر كل ما لا تتجاوزه. - أزل القيمة الافتراضية للقالب. لا تكون
lang="en"التي جاء بها القالب أو CMS صحيحة إلا إذا كان المحتوى بالإنجليزية. هذا هو الإخفاق الذي أشار إليه Mueller وعطل ORF.at مصغرًا؛ دقق بحثًا عنه. - حافظ على اتساق lang وhreflang. إذا قالت
langللصفحةes-MXلكن إشارة hreflang للعنوان نفسه قالتen، فهناك عدم تطابق. إنها مشكلة «عدم تطابق hreflang وHTML lang» نفسها التي وثقتها في دليل Ahrefs لـhreflang، وقلت عنها: “Google doesn’t use the HTML language attribute, but other search engines and browsers do. It’s important to keep these two attributes consistent with one another.” (الترجمة العربية) «تتجاهل Google سمة اللغة في HTML، لكن المتصفحات ومحركات البحث الأخرى تعتمد عليها؛ لذا ينبغي ألا تتعارض هاتان السمتان». تتجاهل Google نصفlangفي المقارنة، لكن عدم التطابق يظل إشارة إلى سوء إعداد ما، ولذلك تبلغ عنه أدوات تدقيق المواقع.
خرافات شائعة
- «ستحسن
langالصحيحة ترتيبي في Google». لا. تقول Google إنها لا تستخدمlangلاكتشاف اللغة. قد تهم Bing وتفيد بصورة غير مباشرة عبر إمكانية الوصول والترجمة، لكن لا دليل على فائدة مباشرة للترتيب في Google. - «
langوhreflang الشيء نفسه تقريبًا». لا؛ تصفlangالصفحة التي تحملها، ويشير hreflang إلى عناوين URL أخرى. يمكن أن تكونlangصحيحة بلا hreflang، أو يكون hreflang صحيحًا وlangخاطئة. - «لا يهتم أي محرك بحث بـ
lang». تستخدمها Bing صراحة خيارًا احتياطيًا بعدcontent-language؛ وهذا مهم لأي موقع تصله زيارات حقيقية منها. - «ترك
lang="en"الافتراضية غير ضار إذا لم يكن المحتوى إنجليزيًا». إنه قريب حرفيًا من الإخفاق الذي وصفه Mueller بأنه خاطئ في معظم الأحيان، ويسبب مطالبات ترجمة ونطقًا خاطئين. - «ترفع
langالصحيحة CTR بنسبة 22 %» أو «تعالج زواحف AI الصفحات الموسومة بـlang أسرع بـ40 %». تنتشر هذه الأرقام في بعض مدونات تسويق SEO بلا دراسة أو منهجية أو مصدر أولي قابل للتتبع. لم أجد ما يؤيد أيًا منها في تصريح رسمي أو بيانات أولية؛ فتعامل معها كحكايات واثقة بلا أساس تتراكم حول الموضوعات التقنية قليلة التدقيق. - «
lang=""الفارغة كغياب السمة». لا؛ تعني القيمة الفارغة صراحة «لغة غير معروفة»، وهي حالة مختلفة عن غياب السمة فعلًا.
موضع هذا الموضوع
هذا التعمق على مستوى السمة جزء من عنقود HTML SEO الفرعي، وهو نظير المعالجة على مستوى العناصر لـ<article> و<nav> و<main> في مقال HTML الدلالي ولمركز HTML وSEO الأوسع. أما قصة الاستهداف الكامل بين الصفحات، بما فيها طرق التنفيذ الثلاث وقواعد التبادلية ومدى شيوع تعطل العناقيد على نطاق واسع، فمكانها مقال hreflang المتعمق. وظيفة هذا المقال فقط إبقاء المفهومين منفصلين في ذهنك.
ملخص الذكاء الاصطناعي
خلاصة مكثفة للنسخة المتقدمة:
- تعلن
langلغة هذا المستند (<html lang="en">أو صيغة إقليمية مثلen-US) باستخدام وسم BCP 47. إنها وصف ذاتي لا آلية استهداف أو توجيه. - ليست hreflang. تجمع وثائق Google كليهما ضمن ما لا تستخدمه لاكتشاف اللغة: “Google doesn’t use hreflang or the HTML lang attribute to detect the language of a page… we use algorithms.” (الترجمة العربية) «تستدل Google على لغة الصفحة بخوارزميات المحتوى، لا بسمة HTML lang أو hreflang». تصف
langالصفحة الحالية، ويشير hreflang إلى عناوين بديلة بلغات أخرى. - تتجاهل Google
langللاكتشاف؛ قال Mueller: “we don’t use that at all… almost always wrong,” (الترجمة العربية) «لا نعتمدها إطلاقًا؛ إذ نجدها خاطئة في جل الحالات»، لأن القوالب والقيم الافتراضية في CMS تجعلها غير موثوقة على نطاق واسع. الاستثناء الوحيد: وسم كتل الترجمة الآلية بـlang="es-x-mtfrom-en". - تتخذ Bing الموقف المعاكس: تسمي تدوينة Webmaster Blog لعام 2011
<html lang>إشارة احتياطية لموقع المستند بعد وسم meta من نوعcontent-language، بالترتيب meta > html > title. إذا كانت زيارات Bing مهمة فاضبطlangبدقة. - إمكانية الوصول هي الرهان الحقيقي: يشترطها WCAG 3.1.1، وتؤثر في نطق قارئ الشاشة و
hyphens: autoوالتدقيق الإملائي وخطوط CJK. ما زال «غياب لغة المستند» يظهر في نحو 13,5 % من الصفحات الرئيسية، وهو من أكثر ستة إخفاقات WebAIM Million شيوعًا رغم تراجعه. - تستخدمها المتصفحات لمطالبة الترجمة التلقائية؛ والقيمة الخاطئة تسبب أخطاء، مثل عطل ORF.at الذي وضع
lang="en"على محتوى ألماني و«ترجم» اسم حي إلى كلمة “lies”. - اضبطها بدقة: وسم BCP 47 صالح (
GBلاUK)، وأعد ضبطlangعلى العبارات الأجنبية المضمنة، وأزلlang="en"الموروثة من الصفحات غير الإنجليزية، وحافظ على اتساقlangمع hreflang.
الوثائق الرسمية
وثائق المصادر الأولية ومراجع المعايير.
- النسخ الموطنة من صفحاتك — مصدر عبارة أن Google لا تستخدم hreflang أو سمة HTML lang لاكتشاف لغة الصفحة.
- نتائج Google Search المترجمة — صيغة
lang="x-mtfrom-"لوسم الترجمة الآلية وإلغاء الترجمة عبرnotranslate. - إدارة المواقع متعددة المناطق واللغات — سياق مجاور لإشارات اللغة والمنطقة.
Bing / Microsoft
- كيفية إبلاغ Bing ببلد موقعك ولغته (Bing Webmaster Blog، 2011) — ترتيب أولوية موقع المستند
meta > html > title. أزيل العنوان الأصلي، وأُكد النص عبر نسخة Wayback Machine.
المعايير والمراجع التقنية
- MDN — سمة
langالعامة — متطلب BCP 47، والفرق بين القيمة الفارغة والغياب، والوراثة، ومراجع WCAG. - W3C Internationalization — إعلان اللغة في HTML — إرشادات BCP 47 وسجل IANA وقواعد العناصر المتداخلة للمحتوى متعدد اللغات.
- Deque University — قاعدة axe من نوع
html-has-lang— تصنيف WCAG 2,0/2,1 من المستوى A وراء تدقيق Lighthouse لإمكانية الوصول. - WebAIM Million — المسح السنوي لإمكانية الوصول ومعدل إخفاق «غياب لغة المستند» الحالي.
اقتباسات من المصدر
تصريحات مسجلة. ينتقل كل رابط إلى المقطع المقتبس حيث تدعمه صفحة المصدر.
Google — لا تستخدم lang للاكتشاف
- “Google doesn’t use hreflang or the HTML lang attribute to detect the language of a page; instead, we use algorithms to determine the language.” (الترجمة العربية) «لا تستخدم Google hreflang أو سمة HTML lang لاكتشاف لغة الصفحة؛ بل نستخدم خوارزميات لتحديد اللغة». — وثائق Google Search Central. انتقل إلى الاقتباس
Google — استثناء الترجمة الآلية وnotranslate
- “To opt out of all translation features in Google Search, use the notranslate rule, which can be implemented as a meta tag or an HTTP header.” (الترجمة العربية) «لإلغاء كل ميزات الترجمة في Google Search، استخدم قاعدة notranslate، ويمكن تنفيذها كوسم meta أو ترويسة HTTP». — نتائج Google Search المترجمة. انتقل إلى الاقتباس
John Mueller من Google — “almost always wrong”
- “We don’t use that at all. So we use the hreflang links if you have that if you have different language versions. But the language attribute within the HTML markup is something we don’t use at all. We’ve found that this language markup is something that is almost always wrong. So we tend to ignore that.” (الترجمة العربية) «لا نعتمد هذه السمة إطلاقًا. إذا توفرت نسخ بلغات متعددة فنستخدم روابط hreflang؛ أما سمة اللغة في ترميز HTML فلا نعتمدها. وجدنا أن هذا الترميز لا يصيب اللغة إلا نادرًا، ولذلك نتجاهله عادة». — عبر تغطية Search Engine Roundtable لجلسة Google Webmaster في 2016. اقرأ التغطية نُقل عبر مقال Barry Schwartz عن جلسة 2016، إذ لا يمكن الوصول مستقلًا إلى الفيديو الأصلي. وتؤكد وثيقة Search Central الحالية بصورة مستقلة سياسة عدم استخدام lang للاكتشاف، لذلك أتعامل مع الموقف على أنه ما زال دقيقًا رغم قدم الاقتباس.
Bing / Microsoft — lang إشارة استهداف احتياطية
- ترتيب أولوية إشارات موقع المستند: “the priority order for these tags is:
<meta>,<html>,<title>,” (الترجمة العربية) «ترتيب أولوية هذه الوسوم هو<meta>ثم<html>ثم<title>»، مع توصية “use one option, instead of multiple options here.” (الترجمة العربية) «استخدم خيارًا واحدًا بدل خيارات متعددة هنا». — Bing Webmaster Blog، «كيفية إبلاغ Bing ببلد موقعك ولغته»، 2011. الاقتباس من تدوينة 2011 عبر نسخة Wayback Machine؛ فقد أزيل العنوان الأصلي من أرشيف Bing الحالي، ولم أجد تصريحًا أحدث يلغي الآلية. قدمها، 2011، تنبيه حقيقي؛ لذا أستشهد بها كإرشاد قديم طويل الأمد.
أنا — الحفاظ على اتساق lang وhreflang
- “Google doesn’t use the HTML language attribute, but other search engines and browsers do. It’s important to keep these two attributes consistent with one another.” (الترجمة العربية) «رغم أن Google لا تعتمد سمة اللغة في HTML، فإن المتصفحات ومحركات أخرى تعتمدها؛ لذلك يجب أن تتفق الإشارتان ولا تتناقضا». — من دليل Ahrefs لـhreflang، ضمن مشكلة تدقيق «عدم تطابق hreflang وHTML lang». اقرأه
أي وسم لغة أحتاج فعلًا؟
مسار سريع عندما تنظر إلى صفحة ولا تعرف ما ينبغي ضبطه.
1. هل تحتاج فقط إلى إعلان لغة هذه الصفحة؟
هذه وظيفة سمة lang. اضبط <html lang="…">، ثم انتقل إلى الخطوة 2.
2. هل تحتاج إلى تمييز الصيغ الإقليمية، مثل الإنجليزية الأمريكية والبريطانية أو البرتغالية البرازيلية والأوروبية؟
- لا ← استخدم وسم اللغة الفرعي وحده:
<html lang="en">وlang="es"وlang="pt">. - نعم ← استخدم اللغة والمنطقة:
<html lang="en-US">وlang="en-GB">وlang="pt-BR">. رمز المنطقة هوGBلاUK.
3. هل تحتوي الصفحة مقاطع بلغة مختلفة، مثل اقتباس فرنسي في مقال إنجليزي؟
- نعم ← غلفها وأعد ضبط اللغة محليًا:
<span lang="fr">c'est la vie</span>. ترث بقية العناصر قيمة<html lang>الجذرية. - لا ← تغطي قيمة الجذر الصفحة كلها.
4. هل لديك أيضًا الصفحة نفسها بلغات أخرى على عناوين URL أخرى؟
- نعم ← تحتاج بالإضافة إلى ذلك إلى hreflang، وهي آلية منفصلة تشير إلى العناوين البديلة. حافظ على اتساق
langفي كل صفحة مع مدخل hreflang الخاص بها. راجع مقال hreflang المتعمق لتنفيذه المستقل. - لا ← تكفي
langوحدها.
5. هل المحتوى مترجم آليًا؟
- نعم ← وفق Google، ضع على الكتلة المترجمة:
lang="<target>-x-mtfrom-<source>"، مثلlang="es-x-mtfrom-en". - لا ← يكفي وسم BCP 47 عادي.
6. هل زيارات Bing مهمة لك؟
- نعم ← اضبط
langبدقة وفكر في وسم meta مطابق من نوعcontent-language؛ تعطي Bing وسم meta وزنًا أعلى من<html lang>. استخدم قيمة واحدة متسقة ولا تضبط قيمًا متعارضة. - لا ← تكفي
langعلى<html>مع صحة إمكانية الوصول.
ورقة مرجعية لسمة lang
lang وhreflang — الفرق في سطر واحد
lang | hreflang | |
|---|---|---|
| ما تعلنه | لغة محتوى هذه الصفحة | عناوين URL الأخرى للنسخ البديلة بلغات مختلفة |
| الشكل | قيمة واحدة على <html> أو أي عنصر | مجموعة إشارات <link rel="alternate"> أو خريطة موقع/ترويسة |
| هل تستخدمها Google؟ | لا، تتجاهلها للاكتشاف | نعم، لتوجيه نسخة URL الصحيحة |
| هل تستخدمها Bing؟ | نعم، إشارة استهداف احتياطية | بدرجة محدودة جدًا |
| إمكانية الوصول / مطالبة الترجمة؟ | نعم | لا |
من يقرأ <html lang>؟
| المستهلك | ما يفعله بها |
|---|---|
| تتجاهلها لاكتشاف اللغة وتستخدم الخوارزميات بدلًا منها | |
| Bing | إشارة استهداف احتياطية بعد وسم meta من نوع content-language |
| قارئات الشاشة | النطق واختيار الصوت، وفق WCAG 3.1.1 |
| المتصفحات | أحد مدخلات مطالبة الترجمة التلقائية |
| CSS / التدقيق الإملائي | hyphens: auto والتدقيق الإملائي وعلامات الاقتباس وخطوط CJK |
القيم الصالحة
- اللغة وحدها:
enوesوfrوde - اللغة والمنطقة:
en-USوen-GBوpt-BRوzh-Hans - غير صالح:
eng، لأنه ثلاثة أحرف، وen-UK، إذ يجب استخدامGB، وأسماء اللغات الكاملة lang=""= «غير معروفة»، وهي حالة حقيقية تختلف عن الغياب- كتلة مترجمة آليًا:
lang="es-x-mtfrom-en"
حقائق سريعة
- قال Mueller إن
lang“almost always wrong”، أي «خاطئة في معظم الأحيان تقريبًا»، ولذلك تتجاهلها Google للاكتشاف. - ترتيب Bing: meta
content-language><html lang>><title lang>. - يظهر «غياب لغة المستند» في نحو 13,5 % من الصفحات الرئيسية، وفق WebAIM Million؛ وهو من أكثر ستة إخفاقات شيوعًا ويتراجع.
- يقع
html-has-langفي Lighthouse ضمن إمكانية الوصول لا SEO. - حافظ على اتساق
langمع hreflang لتجنب مشكلة تدقيق عدم تطابق hreflang وHTML lang.
أخطاء HTML lang
- ترك
lang="en"في كل قالب موطن. استمد اللغة من لغة المستند الفعلية واختبر المسارات غير الإنجليزية. - استخدام
langبدل hreflang. تصفlangهذا المستند، وتربط hreflang العناوين البديلة؛ نفذ كلًا منهما لوظيفته. - إضافة رمز بلد لا يطابق المحتوى. استخدم وسم BCP 47 صالحًا ولا تضف منطقة إلا عندما تكون الصيغة اللغوية إقليمية فعلًا.
- وضع السمة على غلاف بدل عنصر
<html>الجذري. أعلن اللغة الأساسية على عنصر المستند، واستخدم سماتlangمحلية للمقاطع بلغة أخرى. - افتراض أن Google تحتاج إلى
langلاكتشاف اللغة. احتفظ بها لإمكانية الوصول والمتصفحات وBing والمعايير، لا بوصفها وسيلة لترتيب Google.
يستخدم قارئ الشاشة نطقًا خاطئًا
السبب المرجح: لغة الجذر غائبة أو غير صالحة أو خاطئة، وربما لم تُميز المقاطع الأجنبية. الإصلاح: اضبط قيمة BCP 47 الصحيحة على <html> وأضف تجاوزات محلية حيث تتغير اللغة. التأكيد: افحص شجرة إمكانية الوصول واختبر بصوت قارئ الشاشة المعني.
تقول كل صفحة موطنة lang="en"
السبب المرجح: قالب أساسي ثابت القيمة أو خريطة لغات ومناطق لا تصل إلى غلاف المستند. الإصلاح: استمد قيمة الجذر من لغة المسار أو المحتوى في الخادم أو وقت البناء. التأكيد: ازحف إلى عينة ممثلة من عناوين اللغات وقارن اللغة المعلنة بالمحتوى المرئي.
تختلف lang عن hreflang
السبب المرجح: خرائط منفصلة للغات والمناطق، أو رموز مناطق غير صالحة، أو قيمة احتياطية في القالب. الإصلاح: استخدم إعدادًا موحد الصيغة للغات والمناطق مع إبقاء وظيفتي الإشارتين مختلفتين. التأكيد: تعلن كل صفحة لغة محتواها، وتشير روابطها البديلة إلى النسخ التبادلية الصحيحة.
مطالبات الترجمة في المتصفح خاطئة
السبب المرجح: تتعارض اللغة المعلنة مع المحتوى المرئي الغالب، أو لم يُحدد نطاق الكتل متعددة اللغات. الإصلاح: صحح إعلان الجذر وميّز المقاطع الكبيرة بسمة lang الخاصة بها. التأكيد: تحدد فحوص المتصفح وإمكانية الوصول اللغة الأساسية المقصودة.
أدوات لإعلانات اللغة
- يعرض On-Page SEO Checker لغة المستند الخام إلى جانب إشارات HTML الأخرى.
- يفحص hreflang Generator + Linter رموز اللغات البديلة وعلاقاتها؛ استخدمه إلى جانب تدقيق
langالجذرية لا بدلًا منه. - تعرض Browser DevTools قيمة
<html lang>الجذرية وشجرة إمكانية الوصول التي تستخدمها التقنية المساعدة. - يستطيع زاحف مع استخراج XPath مقارنة الإعلان عبر قوالب اللغات:
string(/html/@lang).
موارد تستحق وقتك
مقالات ذات صلة كتبتها
- Hreflang: الدليل السهل للمبتدئين — التعمق في hreflang الذي أُذكر ضمن المساهمين فيه، بما في ذلك مشكلة تدقيق عدم تطابق hreflang وHTML lang التي تربط الإشارتين.
- دليل المبتدئين إلى SEO التقني — موضع الترميز والإشارات الدولية في الصورة الأوسع.
محاضراتي
- كيف يعمل البحث (SlideShare) — شرحي للزحف والعرض والفهرسة والترتيب، بما فيه كيفية قراءة Google لترميزك وتطبيعه. وينطبق تنبيهي الدائم: “This is my understanding of systems… not going to be 100% complete or accurate.” (الترجمة العربية) «هذا فهمي للأنظمة… ولن يكون كاملًا أو دقيقًا بنسبة 100 %».
رسمي
- Google — النسخ الموطنة من صفحاتك ونتائج Google Search المترجمة.
- Bing — كيفية إبلاغ Bing ببلد موقعك ولغته (2011، عبر Wayback Machine).
من أنحاء المجال
- MDN — سمة
langالعامة — المرجع التقني الحاسم لـBCP 47 والفرق بين القيمة الفارغة والغياب والوراثة. - W3C — إعلان اللغة في HTML — دليل جهة المعايير، بما فيه الصفحات متعددة اللغات.
- Deque — قاعدة axe من نوع
html-has-lang— قاعدة إمكانية الوصول وراء تدقيق Lighthouse. - WebAIM Million — المسح السنوي ومعدل إخفاق «غياب لغة المستند» الحالي.
- Adrian Roselli — استخدام سمة lang — فهرس معمق لآثار
langالفعلية في إمكانية الوصول. - Manuel Matuzovic — سمة lang: حين تكذب المتصفحات — دراسة حالة ORF.at الذي وضع
lang="en"على محتوى ألماني فأخطأت الترجمة التلقائية. - Google تقول إنها تتجاهل سمة HTML lang (Search Engine Roundtable) — اقتباس Mueller الكامل “almost always wrong”.
- r/TechSEO — مجتمع تصحيح أخطاء الترميز وSEO الدولي وعمليات التدقيق.
اختبر نفسك: سمة HTML lang
خمسة أسئلة سريعة عما تفعله lang وكيف تختلف عن hreflang. اختر إجابة لكل سؤال ثم تحقق.
سجل التغييرات
تم التحديث في 20 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 20 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 13 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 13 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 18 يوليو 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.