تحسين محركات البحث مقابل التفاعل: برامج زحف الويب أكثر ذكاءً مما تعتقد

لا يزال الكثير من الناس قلقين من أنه إذا قمت بإنشاء موقع ويب باستخدام أدوات مثل React أو Angular أو Ember ، فسيؤدي ذلك إلى الإضرار بترتيب محرك البحث الخاص بك.

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

إذا كان رمز HTML هذا لا يحتوي على أكثر من بضع علامات وصفية وعلامات نصية ، فسيفترض محرك البحث أن صفحتك فارغة بشكل أساسي ويصنفك بشكل سيئ.

عادةً ما أرى مستشاري تحسين محركات البحث (SEO) يوصون بأن تقوم بعرض صفحتك على الواجهة الخلفية ، حتى تتمكن برامج زحف الويب من رؤية الكثير من تعليمات HTML البرمجية الرائعة التي يمكنهم فهرستها بعد ذلك.

بالنسبة لي ، تبدو هذه النصيحة غير معقولة وغير واقعية. إنه عام 2016. يتوقع المستخدمون أن تكون الصفحات ديناميكية وتزودهم بتجربة مستخدم سريعة. لا يريدون الانتظار حتى يتم تحميل صفحة HTML جديدة في كل مرة ينقرون فيها على شيء ما.

إذن ، هل العبارة "عرض جانب العميل يضر بترتيب صفحتك" لا تزال صالحة؟

القيام بالبحث

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

إليك إعلان من Google على مدونة مشرفي المواقع من أكتوبر 2015:

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

إليكم مقال موقع Search Engine Land في مايو 2015:

أجرينا سلسلة من الاختبارات التي أثبتت قدرة Google على تنفيذ وفهرسة JavaScript مع العديد من عمليات التنفيذ أكدنا أيضًا أن Google قادرة على عرض الصفحة بأكملها وقراءة DOM ، وبالتالي فهرسة المحتوى الذي تم إنشاؤه ديناميكيًا. يتم احترام إشارات SEO في DOM (عناوين الصفحات ، والأوصاف التعريفية ، والعلامات الأساسية ، وعلامات الروبوتات الوصفية ، وما إلى ذلك). المحتوى المدرج ديناميكيًا في DOM قابل للزحف والفهرسة أيضًا. علاوة على ذلك ، في بعض الحالات ، قد يكون لإشارات DOM الأسبقية على العبارات المتناقضة في شفرة مصدر HTML. سيحتاج هذا إلى مزيد من العمل ، ولكن كان هذا هو الحال بالنسبة للعديد من اختباراتنا.

يشير هذان المصدران إلى أنه من الآمن بالفعل استخدام التخطيط المقدم من جانب العميل.

اختبار Preactjs.com

لقد قمت مؤخرًا بتغريد رثاء حول مستشاري تحسين محركات البحث (SEO) وهم يتعاملون مع رد فعلي المحبوب. لكي أكون دقيقًا ، أنا بصدد الانتقال إلى Preact ، وهو بديل خفيف الوزن لـ React على Facebook. تلقيت هذا الرد من Jason Miller ، أحد المطورين الذين يعملون على Preact:

بصرف النظر عن مقالة المدونة من Search Engine Land التي نقلتها أعلاه ، قام Jason بتغريد رابط لبحث Google عن صفحة Preact الرئيسية ، والتي تبدو كما يلي:

يتم عرض هذه الصفحة بالكامل من جانب العميل ، باستخدام Preact ، حيث تثبت نظرة على كود المصدر:

Preact: Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
(function(url){window['_boostrap_'+url]=fetch(url);})('/content'+location.pathname.replace(/^\/(repl)?\/?$/, '/index')+'.md');
(function(i,s,o,g,r,a,m))(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-6031694-20', 'auto');ga('send', 'pageview');

إذا لم يكن Googlebot قادرًا على قراءة كود HTML المقدم بواسطة Preact ، فلن يعرض أكثر من محتويات العلامات الوصفية.

ومع ذلك ، إليك ما تبدو عليه نتائج Google عند البحث عن الموقع: preactjs.com :

يحذر مقال آخر بقلم أندرو فارمر من مارس 2016 من نقص دعم JavaScript بواسطة محركات البحث بخلاف Google

في بحثي لم أجد أي دليل على أن Yahoo أو Bing أو Baidu يدعمون JavaScript في برامج الزحف الخاصة بهم. إذا كان تحسين محركات البحث على محركات البحث هذه مهمًا بالنسبة لك ، فستحتاج إلى استخدام العرض من جانب الخادم ، والذي سأناقشه في مقال مستقبلي.

لذلك قررت أن أجرب اختبار Jason مع محركات البحث الأخرى:

✅ بنج

يبدو تحذير أندرو بشأن بنج غير جوهري. فيما يلي نتائج Bing عند البحث عن الموقع: preactjs.com :

✅ ياهو

ونتائج ياهو عند البحث عن الموقع: preactjs.com :

✅ بطة بطة اذهب

ونتائج Duck Duck Go عند البحث عن الموقع: preactjs.com :

⚠️ بايدو

يواجه محرك البحث الصيني Baidu مشاكل مع preactjs.com. فيما يلي نتائجه عند البحث عن site: preactjs.com :

لذلك يبدو أنه ما لم يكن الترتيب المرتفع في ما هو في الأساس محرك بحث خاص بالصين فقط يمثل أولوية بالنسبة لك ، فلا حرج في عرض صفحات الويب الخاصة بك على جانب العميل باستخدام JavaScript ، طالما أنك تتبع بعض القواعد الأساسية (مقتبسة) من مشاركة مدونة أندرو فارمر):

  • تقديم المكونات الخاصة بك قبل القيام بأي شيء غير متزامن.
  • اختبر كل صفحة من صفحاتك باستخدام أداة الجلب مثل Google للتأكد من أن Googlebot يعثر على المحتوى الخاص بك

شكرا للقراءة!

تحديث 25 أكتوبر 2016

أجرى أندرو إنجرام نفس الاختبارات التي أجريتها وتوصل إلى نتيجة مختلفة.

اقتباس من أندرو:

إليك عدد الصفحات التي فهرستها محركات البحث المختلفة باستخدام الاستعلام "site: preactjs.com" Google: 17 Bing: 6 Yahoo: 6 Baidu: 1 إحدى نتائج Google عبارة عن صفحة خطأ ، ولكن من المفترض أنه لا يمكن إلغاء فهرستها تلقائيًا نظرًا لعدم وجود طريقة للإعلان عن مكافئ 404 في SPA. لقد قرأت أيضًا (لا أتذكر أين) أن Google لديها زمن انتقال لبضعة أيام عندما يتعلق الأمر بفهرسة SPA مقارنة بالخادم- التطبيقات المقدمة. قد لا يمثل هذا مشكلة بالنسبة لك ، ولكن الأمر يستحق أن تعرفه.

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

→ تابع المناقشة على Hacker News

شكر وتقدير

بفضل آدم أوديت (Search Engine Land) وأندرو فارمر لمقالاتهم الممتازة في المدونة التي اقتبست منها ، جايسون ميلر لإسهاماته وإلهامه ، زملائي من eBay Classifieds Group لدعمهم وكوينسي لارسون من Free Code Camp لنشر هذا مقالة - سلعة!