جعل JavaScript و"بحث Google" يعملان معًا

يمكنك الاطّلاع على آخر الأخبار والإحصاءات من مؤتمر Google I/O لعام 2019.

تحدث إنجازات رائعة في "بحث Google"، ويسعدنا مشاركتها في مؤتمر Google I/O لعام 2019.

في هذه المشاركة، سنركّز على أفضل الممارسات لجعل تطبيقات الويب المستندة إلى JavaScript قابلة للاكتشاف في "بحث Google"، بما في ذلك:

  • برنامج Googlebot الجديد والمحدَّث باستمرار
  • مسار Googlebot للزحف والعرض والفهرسة
  • رصد الميزات ومعالجة الأخطاء
  • استراتيجيات العرض
  • أدوات الاختبار لموقعك الإلكتروني في "بحث Google"
  • التحديات الشائعة والحلول الممكنة
  • أفضل الممارسات لتحسين محركات البحث في تطبيقات الويب المستندة إلى JavaScript

تعرَّف على برنامج Googlebot الدائم التطوّر

أعلنّا هذا العام عن الإصدار الجديد والمحدَّث باستمرار من Googlebot الذي طال انتظاره.

برنامج Googlebot يحمل شعار Chrome
يشغّل Googlebot الآن محرّك عرض حديثًا من Chromium.

يستخدم Googlebot الآن محرّكًا حديثًا من Chromium لعرض المواقع الإلكترونية على "بحث Google". فضلاً عن ذلك، سنختبر الإصدارات الأحدث من Chromium للحفاظ على تحديث Googlebot، وعادةً ما يتم ذلك خلال بضعة أسابيع من كل إصدار ثابت من Chrome. هذا الإعلان مهم للمطوّرين على الويب وخبراء تحسين محرّكات البحث لأنّه يشير إلى إطلاق أكثر من 1,000 ميزة جديدة، مثل ES6 وIntersectionObserver والإصدار الأول من مكوّنات الويب، في Googlebot.

التعرّف على آلية عمل Googlebot

Googlebot هو مسار يضم عدة مكونات. لنلقِ نظرة لفهم الطريقة التي يتّبعها Googlebot في فهرسة الصفحات لتظهر في "بحث Google".

مخطّط بياني يعرض عنوان URL يتم نقله من قائمة انتظار الزحف إلى خطوة معالجة تعمل على استخراج عناوين URL المرتبطة وإضافتها إلى قائمة انتظار الزحف، وهي قائمة انتظار عرض يتم تحميلها إلى عارض وينتج عنها HTML. يستخدم المعالج ترميز HTML هذا لاستخراج عناوين URL المرتبطة مرة أخرى وفهرسة المحتوى.
مسار Googlebot للزحف إلى صفحة وعرضها وفهرستها

تتم هذه العملية على النحو التالي:

  1. يضع برنامج Googlebot عناوين URL ضمن قائمة انتظار للزحف.
  2. ثم يجلب عناوين URL باستخدام طلب HTTP استنادًا إلى ميزانية الزحف.
  3. يفحص Googlebot ترميز HTML بحثًا عن الروابط ويضع ضمن قائمة انتظار الزحف الروابط التي تم اكتشافها.
  4. ثم يضع Googlebot الصفحة في قائمة انتظار لعرضها.
  5. في أقرب وقت ممكن، يعرض مثيل Chromium بلا واجهة مستخدم رسومية الصفحة، والتي تتضمّن تنفيذ JavaScript.
  6. يستخدم Googlebot محتوى HTML المعروض لفهرسة الصفحة.

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

استخدام ميزة "رصد الميزات" والتعامل مع الأخطاء

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

لنلقِ نظرة على المثال التالي:

 <body>
   <script>
     navigator.geolocation.getCurrentPosition(function onSuccess(position) {
       loadLocalContent(position);
     });
   </script>
 </body>

قد لا تعرض هذه الصفحة أي محتوى في بعض الحالات لأن الرمز لا يعالج عندما يرفض المستخدم الإذن أو عندما يعرض استدعاء getCurrentPosition رسالة خطأ. يرفض Googlebot طلبات الأذونات مثل هذه تلقائيًا.

هذا حل أفضل:

 <body>
   <script>
     if (navigator.geolocation) {
       // this browser supports the Geolocation API, request location!
       navigator.geolocation.getCurrentPosition(
         function onSuccess(position) {
           // we successfully got the location, show local content
           loadLocalContent(position);
         }, function onError() {
           // we failed to get the location, show fallback content
           loadGlobalContent();
         });
     } else {
       // this browser does not support the Geolocation API, show fallback content
       loadGlobalContent();
     }
   </script>
 </body>

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

اختيار استراتيجية العرض المناسبة لتطبيق الويب

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

لنلقِ نظرة على تطبيق ويب يعرض مجموعة من صور القطط ويستخدم JavaScript لعرض المحتوى بالكامل في المتصفح.

مربّع رمز يعرض محتوى HTML الذي يحمِّل بعض النصوص البرمجية. لقطة شاشة لصفحة ويب على الأجهزة الجوّالة تعرض صور عناصر نائبة أثناء تحميل المحتوى الفعلي
تؤثِّر استراتيجية العرض في أداء تطبيقات الويب ومتانتها.

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

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

اختبار صفحاتك

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

الطريقة الأسهل للتحقق السريع من صفحتك هي فحص التوافق مع الأجهزة الجوّالة. بالإضافة إلى عرض مشاكل التوافق مع الأجهزة الجوّالة، يمكنك أيضًا توفير لقطة شاشة لمحتوى الجزء المرئي من الصفحة وملف HTML المعروض كما يراه Googlebot.

يعرض فحص التوافق مع الأجهزة الجوّالة محتوى HTML المعروض الذي يظهر لبرنامج Googlebot بعد عرض الصفحة.
يوضح فحص التوافق مع الأجهزة الجوّالة محتوى HTML المعروض الذي يستخدمه Googlebot.

يمكنك أيضًا معرفة ما إذا كانت هناك مشاكل في تحميل الموارد أو أخطاء في JavaScript.

يعرض فحص التوافق مع الأجهزة الجوّالة أخطاء JavaScript وتتبع تسلسل استدعاء الدوال البرمجية.

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

&quot;أداة فحص عنوان URL&quot; تعرض صفحة مفهرَسة تحتوي على معلومات حول اكتشاف عنوان URL واحد والزحف إليه وفهرسته
تعرض "أداة فحص عنوان URL" في Search Console حالة الصفحة في الزحف والعرض والفهرسة.

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

تقرير حول تحسين محركات البحث ضمن منارة حصل على نتيجة 44 وتحذيرات حول مدى التوافق مع الأجهزة الجوّالة وتحذيرات بشأن أفضل الممارسات المتعلقة بالمحتوى
تعرض أداة Lighthouse اقتراحات عامة حول تحسين محركات البحث لإحدى الصفحات.

تساعدك هذه الأدوات في تحديد وتصحيح الأخطاء وإصلاحها في الصفحات في "بحث Google"، ويجب أن تكون هذه المشاكل جزءًا من برنامج التطوير الخاص بك.

البقاء على اطّلاع على آخر الأخبار والتواصل

لمواكبة الإشعارات والتغييرات التي تطرأ على "بحث Google"، يُرجى متابعة مدوّنة مشرفي المواقع وقناة مشرفي المواقع من Google على YouTube وحسابنا على Twitter. يمكنك أيضًا الاطّلاع على دليل المطوّر حول "بحث Google" وسلسلة فيديوهات تحسين محركات البحث المستندة إلى JavaScript لمعرفة المزيد من المعلومات عن تحسين محرّكات البحث وJavaScript.