أفضل الممارسات لإشعارات ملفات تعريف الارتباط

تحسين إشعارات ملفات تعريف الارتباط لتحسين الأداء وسهولة الاستخدام

يناقش هذا المستند كيفية تأثير إشعارات ملفات تعريف الارتباط في الأداء ومقاييس الأداء وتجربة المستخدم.

الأداء

يمكن أن يكون لإشعارات ملفات تعريف الارتباط تأثير كبير في أداء الصفحة، وذلك لأنّه يتم تحميلها عادةً في وقت مبكر من عملية تحميل الصفحة، ويتم عرضها على جميع المستخدمين، ويمكن أن تؤثر في تحميل الإعلانات وغيرها من محتوى الصفحة.

في ما يلي كيفية تأثير إشعارات ملفات تعريف الارتباط في مقاييس "مؤشرات أداء الويب":

  • سرعة عرض أكبر محتوى مرئي (LCP): تكون معظم إشعارات الموافقة على ملفات تعريف الارتباط صغيرة جدًا، وبالتالي لا تحتوي عادةً على عنصر LCP للصفحة. ومع ذلك، يمكن أن يحدث ذلك، لا سيما على الأجهزة الجوّالة. على الأجهزة الجوّالة، يشغل إشعار ملفات تعريف الارتباط عادةً مساحة أكبر من الشاشة. يحدث هذا عادةً عندما يحتوي إشعار ملف تعريف الارتباط على كتلة كبيرة من النص (يمكن أن تكون الكتل النصية عناصر LCP أيضًا).

  • مدى استجابة الصفحة لتفاعلات المستخدم (INP): يمكن أن تؤدي إشعارات ملفات تعريف الارتباط غالبًا إلى ارتفاع قيمة مقياس INP لأنّها تضيف عادةً الكثير من النصوص البرمجية التابعة لجهات خارجية عند قبولها. غالبًا ما تكون المشكلة الرئيسية هي إجراء التفاعل قبول لأنّ ذلك يؤدي إلى الكثير من المعالجة لإضافة تلك ال scripts التابعة لجهات خارجية دفعة واحدة. يُرجى الرجوع إلى قسم "أفضل الممارسات" لمعرفة كيفية الحدّ من هذه المشكلة.

  • متغيّرات التصميم التراكمية (CLS): تعدّ إشعارات موافقة ملفات تعريف الارتباط مصدرًا شائعًا جدًا لمتغيّرات التصميم.

بشكل عام، يمكنك توقّع أن يكون لإشعار ملفات تعريف الارتباط من مقدّمي الخدمات الخارجيين أثر أكبر على الأداء مقارنةً بإشعار ملفات تعريف الارتباط الذي تنشئه بنفسك. هذه المشكلة ليست حصرية لإشعارات ملفات تعريف الارتباط، بل هي طبيعة النصوص البرمجية التابعة لجهات خارجية بشكل عام.

أفضل الممارسات

تركّز أفضل الممارسات الواردة في هذا القسم على إشعارات ملفات تعريف الارتباط التابعة لجهات خارجية. تنطبق بعض هذه أفضل الممارسات، وليس كلها، أيضًا على إشعارات ملفّات تعريف الارتباط للطرف الأول.

فهم تأثير إشعارات ملفات تعريف الارتباط في موافقة المستخدِم

كما ذكرنا سابقًا، غالبًا ما يكون الزر قبول سببًا معيّنًا لمشاكل INP بسبب الكمّ الكبير من المعالجة التي تحدث عند النقر عليه.

تعاون فريق Chrome مع عدد من منصّات إدارة الموافقة (CMP) للسماح بعرض المحتوى بعد النقر على "قبول" للسماح للمتصفّح بالتعرّف على هذا القبول بسرعة في عملية الرسم التالية. يمكنك الاطّلاع على دراسة حالة PubTech هذه كمثال.

إذا كانت منصّة إدارة الموافقة متأثرة بهذا التغيير، جرِّب التواصل مع مقدّم الخدمة لمعرفة ما إذا كان بإمكانه تجنُّب مشاكل INP بالطريقة نفسها في المواقع الإلكترونية التي تضمّنها. اطّلِع على مقالة تحسين المهام الطويلة للحصول على إرشادات حول تكتيكات زيادة الأرباح.

يجب تحميل النصوص البرمجية لإشعار ملفات تعريف الارتباط بشكل غير متزامن. لإجراء ذلك، أضِف السمة async إلى علامة النص البرمجي.

<script src="https://example.com/script.js" async>

تحظر النصوص البرمجية غير المتزامنة المحلِّل اللغوي للمتصفِّح. ويؤدي ذلك إلى تأخير تحميل الصفحة وLCL. للحصول على مزيد من المعلومات، يُرجى الاطّلاع على التحميل الفعّال لرموز JavaScript التابعة لجهات خارجية.

يجب تحميل النصوص البرمجية لإشعارات ملفات تعريف الارتباط "مباشرةً" عن طريق وضع علامة النص البرمجي في ملف HTML للمستند الرئيسي، بدلاً من تحميلها من خلال نظام إدارة علامات أو نص برمجي آخر. يؤدي استخدام أداة إدارة علامات أو نص برمجي ثانوي لإدراج نص برمجي لإشعار ملفات تعريف الارتباط إلى تأخير تحميل نص برمجي لإشعار ملفات تعريف الارتباط: فهو يحجب النص البرمجي عن منظِّم تحليل النظرة إلى الأمام في المتصفّح ويمنع تحميل النص البرمجي قبل تنفيذ JavaScript.

على جميع المواقع الإلكترونية التي تحمِّل النصوص البرمجية لإشعارات ملفات تعريف الارتباط من موقع تابع لجهة خارجية أن تستخدم إما تعديلات المورد dns-prefetch أو preconnect للمساعدة في إنشاء اتصال مبكر مع المصدر الذي يستضيف موارد إشعارات ملفات تعريف الارتباط. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إنشاء اتصالات بالشبكة مبكرًا لتحسين سرعة الصفحة التي يلاحظها المستخدم.

<link rel="preconnect" href="https://cdn.example.com/">

قد تستفيد بعض المواقع الإلكترونية من استخدام تلميح مورد preload لتحميل النص البرمجي لإشعار ملفات تعريف الارتباط. يُعلِم تلميح المورد preload المتصفّح ببدء طلب مبكر للمورد المحدّد.

<link rel="preload" href="https://www.example.com/cookie-script.js">

يكون preload أكثر فعالية عندما يقتصر استخدامه على جلب بضعة موارد مهمة لكل صفحة. وبالتالي، ستختلف فائدة التحميل المسبق للنص البرمجي لإشعار ملف تعريف الارتباط حسب الموقف.

قد يؤدي تخصيص شكل ومظهر إشعار ملفات تعريف الارتباط التابعة لجهة خارجية إلى فرض تكاليف أداء إضافية. على سبيل المثال، لا يمكن أحيانًا لرسائل ملفات تعريف الارتباط التابعة لجهات خارجية إعادة استخدام الموارد نفسها (مثل خطوط الويب) التي يتم استخدامها في مكان آخر على الصفحة. بالإضافة إلى ذلك، تميل إشعارات ملفات تعريف الارتباط التابعة لجهات خارجية إلى تحميل نمط في نهاية سلاسل الطلبات الطويلة. لتجنُّب أي مفاجآت، يجب الانتباه إلى كيفية تحميل إشعار ملفات تعريف الارتباط وتطبيق التنسيق والمراجع ذات الصلة.

تجنُّب متغيّرات التصميم

في ما يلي بعض المشاكل الأكثر شيوعًا في تغيير التنسيق المرتبطة برسائل ملفات تعريف الارتباط:

  • إشعارات ملفات تعريف الارتباط في أعلى الشاشة: تُعدّ إشعارات ملفات تعريف الارتباط في أعلى الشاشة مصدرًا شائعًا جدًا لمتغيّرات التصميم. في حال إدراج إشعار ملفات تعريف الارتباط في نموذج DOM بعد عرض الصفحة المحيطة، سيتم دفع عناصر الصفحة تحته إلى أسفل الصفحة. يمكن إلغاء هذا النوع من متغيّرات التصميم من خلال حجز مساحة في نموذج كائن المستند (DOM) لإشعار الموافقة. إذا لم يكن هذا الحلّ قابلاً للتنفيذ، مثلاً إذا كانت أبعاد إشعار ملف تعريف الارتباط تختلف حسب الموقع الجغرافي، يمكنك استخدام تذييل ثابت أو نمط لعرض إشعار ملف تعريف الارتباط. بما أنّ كلا الطريقتَين البديلةَين تهدفان إلى عرض إشعار ملفات تعريف الارتباط كـ "صورة مركبة" فوق بقية الصفحة، يجب ألا يؤدي إشعار ملفات تعريف الارتباط إلى تغيير المحتوى عند تحميله.
  • الرسوم المتحركة: تستخدم العديد من إشعارات ملفات تعريف الارتباط الرسوم المتحركة، على سبيل المثال، "الانزلاق" في إشعار ملفات تعريف الارتباط هو نمط تصميم شائع. استنادًا إلى كيفية تنفيذ هذه التأثيرات، يمكن أن تؤدي إلى تغييرات في التنسيق. لمزيد من المعلومات، يُرجى الاطّلاع على تصحيح أخطاء تغيُّر تنسيق الإعلان.
  • الخطوط: يمكن أن تؤدي الخطوط التي يتم تحميلها في وقت متأخر إلى حظر عرض المحتوى أو تغيير التنسيق. وتظهر هذه الظاهرة بشكلٍ أكبر في عمليات الاتصال البطيئة.

تحسينات التحميل المتقدمة

تتطلّب هذه الأساليب مزيدًا من العمل لتنفيذها، ولكن يمكنها تحسين loadingتحميل نصوص إشعارات ملفات تعريف الارتباط بشكلٍ أكبر:

قياس الأداء

يمكن أن تؤثّر إشعارات ملفات تعريف الارتباط في قياسات الأداء. يناقش هذا القسم بعضًا من هذه الآثار والأساليب التي يمكن اتّباعها للحدّ منها.

مراقبة المستخدمين الحقيقيين (RUM)

تستخدم بعض أدوات الإحصاءات ومراقبة المستخدمين في الوقت الفعلي ملفات تعريف الارتباط لجمع بيانات الأداء. في حال رفض أحد المستخدِمين استخدام ملفات تعريف الارتباط، لا يمكن لهذه الأدوات تسجيل بيانات الأداء.

يجب أن تدرك المواقع الإلكترونية هذه الظاهرة، ومن المفيد أيضًا فهم الآليات التي تستخدمها أدوات RUM لجمع البيانات. ومع ذلك، بالنسبة إلى الموقع الإلكتروني العادي، من المحتمل ألا يكون هذا التناقض مصدر قلق نظرًا لاتجاه انحراف البيانات وحجمه. إنّ استخدام ملفات تعريف الارتباط ليس شرطًا فنيًا لقياس الأداء. تُعد مكتبة JavaScript مؤشرات أداء الويب مثالاً على مكتبة لا تستخدم ملفات تعريف الارتباط.

استنادًا إلى الطريقة التي يستخدم بها موقعك الإلكتروني ملفات تعريف الارتباط لجمع بيانات الأداء (أي ما إذا كانت ملفات تعريف الارتباط تحتوي على معلومات شخصية)، وكذلك إلى التشريع المعني، قد لا يخضع استخدام ملفات تعريف الارتباط لقياس الأداء للمتطلبات التشريعية نفسها التي تخضع لها بعض ملفات تعريف الارتباط المستخدَمة على موقعك الإلكتروني لأغراض أخرى، مثل ملفات تعريف الارتباط الإعلانية. تختار بعض المواقع الإلكترونية تصنيف "ملفات تعريف الارتباط الخاصة بالأداء" كفئة منفصلة من ملفات تعريف الارتباط عند طلب موافقة المستخدم.

المراقبة الاصطناعية

في حال عدم ضبط إعدادات مخصّصة، لن تقيس معظم الأدوات التركيبية (مثل Lighthouse وWebPageTest) سوى تجربتَي المستخدِم لأول مرة الذي لم يردّ على إشعار موافقة ملفّ تعريف الارتباط. ومع ذلك، لا يجب فقط مراعاة الاختلافات في حالة ذاكرة التخزين المؤقت (على سبيل المثال، مقارنةً بين زيارة أولى وزيارة متكرّرة) عند جمع بيانات الأداء، بل أيضًا الاختلافات في حالة قبول ملفات تعريف الارتباط، سواء كانت مقبولَة أو مرفوضة أو لم يتم الردّ عليها.

تتناول الأقسام التالية إعدادات WebPageTest وLighthouse التي يمكن أن تكون مفيدة لدمج إشعارات ملفات تعريف الارتباط في سير عمل قياس الأداء. ومع ذلك، فإن إشعارات ملفات تعريف الارتباط ليست سوى عامل واحد من العديد من العوامل التي قد يكون من الصعب محاكاتها بشكل مثالي في بيئات المختبر. لهذا السبب، من المهم جعل بيانات RM الركيزة الأساسية لقياس الأداء، بدلاً من الأدوات الاصطناعية.

استخدام النصوص البرمجية

يمكنك استخدام البرمجة النصية لطلب "النقر" على WebPageTest على بانر الموافقة على ملفات تعريف الارتباط أثناء جمع بيانات التتبّع.

أضِف نصًا برمجيًا من خلال الانتقال إلى علامة التبويب النص البرمجي. ينتقل النص البرمجي التالي إلى عنوان URL المراد اختباره، ثمّ ينقر على عنصر نموذج DOM باستخدام الرمز id=cookieButton.

combineSteps
navigate    %URL%
clickAndWait    id=cookieButton

عند استخدام هذا النص البرمجي، يُرجى مراعاة ما يلي:

  • يطلب combineSteps من WebPageTest "دمج" نتائج خطوات البرمجة النصية التي تليها في مجموعة واحدة من عمليات التتبّع والقياسات. يمكن أن يكون تشغيل هذا الرمز البرمجي بدون combineSteps مفيدًا أيضًا، إذ تسهّل عمليات التتبّع المنفصلة معرفة ما إذا تم تحميل الموارد قبل قبول ملفات تعريف الارتباط أو بعده.
  • %URL% هو اصطلاح WebPageTest يشير إلى عنوان URL الذي يتم اختباره.
  • يطلب clickAndWait من WebPageTest النقر على العنصر المشار إليه في attribute=value والانتظار إلى أن يكتمل نشاط المتصفح اللاحق. وتتّبع التنسيق clickAndWait attribute=Value.

إذا كنت قد أعددت هذا النص البرمجي بشكل صحيح، فإنّ لقطة الشاشة المأخوذة بواسطة WebPageTest يُفترض ألا تعرض إشعارًا لملفات تعريف الارتباط (تم قبول إشعار ملفات تعريف الارتباط).

للحصول على مزيد من المعلومات حول البرمجة النصية WebPageTest، يمكنك الاطلاع على وثائق WebPageTest.

ضبط ملفات تعريف الارتباط

لتشغيل WebPageTest مع مجموعة ملفات تعريف الارتباط، انتقِل إلى علامة التبويب الإعدادات المتقدّمة وأضِف عنوان ملف تعريف الارتباط إلى حقل الرؤوس المخصّصة:

حقل &quot;رؤوس مخصصة&quot; في WebPageTest

تغيير مكان الاختبار

لتغيير الموقع الجغرافي للاختبار المستخدَم في WebPageTest، انقر على القائمة المنسدلة الموقع الجغرافي للاختبار في علامة التبويب الاختبار المتقدّم.

القائمة المنسدلة &quot;الموقع الجغرافي للاختبار&quot; في WebPageTest

يمكن أن يكون ضبط ملفات تعريف الارتباط أثناء تشغيل Lighthouse بمثابة آلية لنقل صفحة إلى حالة معيّنة للاختبار من خلال Lighthouse. يختلف سلوك ملفات تعريف الارتباط في Lighthouse قليلاً حسب السياق ("أدوات مطوري البرامج" أو CLI أو "إحصاءات PageSpeed").

أدوات مطوري البرامج

لا يتم محو ملفات تعريف الارتباط عند تشغيل Lighthouse من "أدوات مطوّري البرامج". ومع ذلك، يتم تلقائيًا محو أنواع التخزين الأخرى. يمكن تغيير هذا السلوك باستخدام الخيار محو مساحة التخزين في لوحة إعدادات Lighthouse.

لقطة شاشة تُبرز خيار &quot;محو مساحة التخزين&quot; في Lighthouse

CLI

عند تشغيل Lighthouse من سطر الأوامر، يتم استخدام نسخة جديدة من Chrome، لذا لا يتم ضبط ملفات تعريف الارتباط تلقائيًا. لتشغيل Lighthouse من سطر الأوامر باستخدام مجموعة ملفّات تعريف ارتباط معيّنة، استخدِم الأمر التالي:

lighthouse <url> --extra-headers "{\"Cookie\":\"cookie1=abc; cookie2=def; \_id=foo\"}"

لمزيد من المعلومات حول ضبط عناوين الطلبات المخصّصة في واجهة سطر الأوامر في Lighthouse، يُرجى الاطّلاع على مقالة تشغيل Lighthouse على الصفحات التي تمت مصادقتها.

إحصاءات PageSpeed

عند تشغيل Lighthouse من "إحصاءات PageSpeed"، يتم استخدام نسخة جديدة من Chrome ولا يتم ضبط أي ملفات تعريف ارتباط. لا يمكن ضبط إحصاءات PageSeed لضبط ملفات تعريف ارتباط معيّنة.

تجربة المستخدم

تعتمد تجربة المستخدم لمختلف إشعارات الموافقة على ملفات تعريف الارتباط بشكل أساسي على قرارَين: موقع إشعار ملفات تعريف الارتباط في الصفحة والمدى الذي يمكن فيه للمستخدم تخصيص استخدام الموقع الإلكتروني لملفات تعريف الارتباط. يناقش هذا القسم الطرق المحتملة اتّخاذ هذين القرارَين.

عند التفكير في التصميمات المحتملة لإشعار ملفات تعريف الارتباط، إليك بعض الأشياء التي يجب التفكير فيها:

  • تجربة المستخدم: هل هذه تجربة مستخدم جيدة؟ كيف سيؤثّر هذا التصميم على عناصر الصفحة الحالية ومسارات المستخدِمين؟
  • النشاط التجاري: ما هي استراتيجية استخدام ملفات تعريف الارتباط في موقعك الإلكتروني؟ ما أهدافك من إشعار ملف تعريف الارتباط؟
  • القانونية: هل يتوافق ذلك مع المتطلبات القانونية؟
  • قسم الهندسة: ما هو حجم العمل المطلوب لتنفيذ هذا الإجراء وصيانتها؟ ما مدى صعوبة التغيير؟

موضع الإعلان

يمكن عرض إشعارات ملفات تعريف الارتباط كعنوان أو عنصر مضمّن أو تذييل. ويمكن أيضًا عرضها فوق محتوى الصفحة باستخدام نافذة منبثقة أو عرضها على هيئة إعلان بيني.

مخطّط بياني يعرض أمثلة على خيارات مواضع مختلفة لإشعارات ملفات تعريف الارتباط

يتم عادةً وضع إشعارات ملفات تعريف الارتباط في الرأس أو التذييل. من بين هذين الخيارين، يُفضّل بشكل عام وضع الإعلان في تذييل الصفحة لأنّه غير مزعج، ويجذب انتباه المستخدمين بدرجة أقل من الإعلانات البانر أو الإشعارات، ولا يتسبب عادةً في حدوث CLS. بالإضافة إلى ذلك، إنه مكان شائع لوضع سياسات الخصوصية وبنود الاستخدام.

على الرغم من أنّ إشعارات ملفات تعريف الارتباط المضمّنة هي خيار، إلا أنّه قد يكون من الصعب دمجها في واجهات المستخدم الحالية، ولذلك فهي غير شائعة.

النوافذ المنبثقة

النوافذ المنبثقة هي إشعارات موافقة على ملفات تعريف الارتباط يتم عرضها فوق محتوى الصفحة. يمكن أن تختلف مظاهر النوافذ المنبثقة وأداؤها بشكل كبير حسب حجمها.

يمكن أن تكون النوافذ المنبثقة الأصغر حجمًا التي تظهر على جزء من الشاشة بديلاً جيدًا للمواقع الإلكترونية التي تواجه صعوبة في تنفيذ إشعارات ملفات تعريف الارتباط بطريقة لا تؤدي إلى تغييرات في تنسيق الصفحة.

من ناحية أخرى، يجب استخدام النماذج الكبيرة التي تحجب معظم محتوى الصفحة بعناية. على وجه الخصوص، قد تلاحظ المواقع الإلكترونية الأصغر حجمًا أنّ المستخدمين يغادرونها بدلاً من قبول إشعار ملفات تعريف الارتباط لموقع إلكتروني غير مألوف يحتوي على محتوى مبهمّ. على الرغم من أنّ هذين المصطلحين ليسا بالضرورة مترادفين، إذا كنت تفكر في استخدام نموذج موافقة على ملفات تعريف الارتباط بملء الشاشة، يجب أن تكون على دراية باللوائح التنظيمية المتعلقة بجدران ملفّات تعريف الارتباط.

إمكانية الضبط

تمنح واجهات إشعارات ملفات تعريف الارتباط للمستخدمين مستويات مختلفة من التحكّم في ملفات تعريف الارتباط التي يقبلونها.

لا يمكن ضبطها

ولا توفّر إعلانات بانر ملفات تعريف الارتباط بنمط الإشعارات هذه للمستخدمين عناصر تحكّم مباشرة في تجربة المستخدم لإيقاف ملفات تعريف الارتباط. وبدلاً من ذلك، تتضمّن عادةً رابطًا يؤدي إلى سياسة ملفات تعريف الارتباط الخاصة بالموقع الإلكتروني، والتي قد توفّر للمستخدمين معلومات حول إدارة ملفات تعريف الارتباط باستخدام متصفّح الويب. وعادةً ما تتضمّن هذه الإشعارات زرَّي "إغلاق" و "قبول".

مخطّط بياني يعرض أمثلة على إشعارات ملفات تعريف الارتباط التي لا تتيح إمكانية ضبط ملفات تعريف الارتباط

بعض إمكانية الضبط

تمنح إشعارات ملفات تعريف الارتباط هذه المستخدم خيار رفض ملفات تعريف الارتباط، ولكنها لا تسمح باستخدام عناصر تحكّم أكثر دقة. هذه الطريقة في إشعارات ملفات تعريف الارتباط أقل شيوعًا.

مخطّط بياني يعرض أمثلة على إشعارات ملفات تعريف الارتباط مع بعض الإعدادات القابلة للضبط في ملفات تعريف الارتباط

إمكانية الضبط بالكامل

توفّر إشعارات ملفات تعريف الارتباط هذه للمستخدمين عناصر تحكّم أكثر دقة لتحديد إعدادات استخدام ملفات تعريف الارتباط التي يقبلونها.

مخطّط بياني يعرض أمثلة لإشعارات ضبط إعدادات ملفّات تعريف الارتباط مع إمكانية الضبط الكامل لملفات تعريف الارتباط

  • تجربة المستخدم: غالبًا ما يتم عرض عناصر التحكّم في ضبط استخدام ملفات تعريف الارتباط باستخدام ملف ملتقى منفصل يتم تشغيله عندما يستجيب المستخدم لإشعار موافقة ملف تعريف الارتباط الأوّلي. ومع ذلك، إذا كانت المساحة تسمح بذلك، ستعرض بعض المواقع الإلكترونية هذه عناصر التحكّم مضمّنة في إشعار الموافقة الأولي على ملفات تعريف الارتباط.

  • الدقة: إنّ الطريقة الأكثر شيوعًا لضبط ملفات تعريف الارتباط هي السماح للمستخدمين بتحديد ما إذا كانوا يريدون السماح بملفات تعريف الارتباط حسب "الفئة". تشمل أمثلة فئات ملفات تعريف الارتباط الشائعة ملفات تعريف الارتباط الوظيفية وملفّات تعريف الارتباط المستندة إلى الاستهداف وملفّات تعريف الارتباط في وسائل التواصل الاجتماعي.

    ومع ذلك، ستتخذ بعض المواقع الإلكترونية خطوة إضافية وستسمح للمستخدمين بالموافقة على ملف تعريف ارتباط معيّن. بدلاً من ذلك، هناك طريقة أخرى لتزويد المستخدمين بعناصر تحكم أكثر تحديدًا، وهي تقسيم فئات ملفات تعريف الارتباط مثل "الإعلانات" إلى حالات استخدام محددة، على سبيل المثال، السماح للمستخدمين بتفعيل "الإعلانات الأساسية" و"الإعلانات المخصّصة" بشكل منفصل.

مخطّط بياني يعرض أمثلة على إشعارات ملفات تعريف الارتباط مع إمكانية ضبط ملفات تعريف الارتباط بالكامل