تعطيل أو تجاوز اكتشاف الميزات لـ Googlebot (أثناء تقديم تطبيق JS للزواحف)

لقد كنت أحاول جعل Discourse يقدم تطبيق JS بالكامل لـ Googlebot - وأنا قريب جدًا.

بفضل @pfaffman وتنفيذ الكود أدناه (في وحدة تحكم Rails) تمكنت من جعل تطبيق JS يظهر عند استخدام Chrome وانتحال وكيل المستخدم لـ Googlebot أو Googlebot Smartphone.

SiteSetting.non_crawler_user_agents="trident|webkit|gecko|chrome|safari|msie|opera|goanna|discourse"+"rss|bot|spider|crawler|facebook|archive|wayback|ping|monitor|lighthouse"

ومع ذلك، عند الاختبار باستخدام أداة Google للجوال سهلة الاستخدام (أو فحص عنوان URL في وحدة تحكم بحث Google) فإنها تعطي لقطة شاشة فارغة مع HTML أدناه.

Bing مشابه ولكنه يعرض المحتوى. أعتقد أن Bing يعرض المحتوى لأن زاحفه ليس “متوافقًا مع الجوال”. منشور ذي صلة هنا بواسطة @sam

وفقًا لـ @david و هذا المنشور يبدو أن “اكتشاف الميزات” هو السبب.

أنا متفائل بحذر بوجود حل بسيط. كل 10-20 محاولة عند استخدام الأداة، يقوم Googlebot بعرض التطبيق بشكل صحيح.

نظريتي هي أنه نظرًا لأن Googlebot سيئ السمعة لعدم تنزيل كل مورد عند الوصول إلى صفحة، فإن هذا JS المحدد (الذي يحتوي على اكتشاف الميزات ويسبب التراجع) لا يتم تحميله وبالتالي تبدو الصفحة جيدة.

إذًا، في الختام، كيف يمكن لشخص ما تعطيل اكتشاف الميزات لـ Googlebot (أو إذا كان أسهل، لجميع الزواحف/الروبوتات)؟

تعديل فقط في حالة أنني أخطأت في المصطلحات، عندما يُذكر “اكتشاف الميزات” على meta، هل يشير ذلك إلى اكتشاف المتصفح؟ (ربما مع ملفات مثل browser-detect.js والتبعيات الأخرى)

أم أن “اكتشاف الميزات” هو عبارة واسعة لما يفعله Discourse عندما يحاول فهم التكنولوجيا التي تحاول الوصول إلى التطبيق.

هل هناك سبب لرغبتك في تقديم إصدار JS لـ Googlebot؟ من المحتمل ألا يتمكن Google من العثور على طرق عرض القوائم المرقمة، بما في ذلك الصفحة الرئيسية المرقمة والمواضيع التي تحتوي على عدد معين من المشاركات. في عرض الروبوت، يمكن الزحف إلى قوائم المواضيع، ولكن من المحتمل ألا يقوم Googlebot بتشغيل التمرير اللانهائي.

يسرني أنك سألت، نعم، أعتقد أنه السبب وراء “العقوبة الخفيفة” التي فرضتها جوجل عليّ.

اسمح لي أن أوضح.

لقد أجرينا تحديثًا sloppy جدًا للموقع الرئيسي حوالي سبتمبر/أكتوبر 2019، وانهار الموقع الرئيسي في ذلك الوقت.

لم نتعافَ أبدًا. الموقع لم يكن أفضل من أي وقت مضى من حيث تحسين محركات البحث. بالتأكيد ليس مثاليًا ولكنا أفضل بآلاف المرات من بعض المنافسين. المواقع التي تستخدم صورنا ونصوصنا القديمة التي تعود لسنوات عديدة تتفوق علينا في التصنيف. نحن في الصفحة الثالثة وهم ربما في أعلى الصفحة الثانية.

لقد مررت بعدد لا يحصى من مدونات ومقاطع الفيديو ومنشورات تحسين محركات البحث وحتى أجريت بعض المحادثات مع John Mueller (على Reddit).

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

Discourse: قمت بتثبيته في عام 2013 ونسيته. بالكاد كنت أتحقق من حركة المرور الخاصة به.

إذا نظرت إلى تحليلات الموقع الرئيسي، سترى انخفاضًا حادًا نحو نهاية الرسم البياني. هذا هو الوقت الذي بدأت فيه العمل على Discourse.

عند تجربة prerender.io على discourse، كان التصنيف للموقع الرئيسي متقلبًا للغاية. أحيانًا يقفز 10-15 مركزًا بين عشية وضحاها، ثم يعود. (لقد توقفت عن استخدام prerender منذ ذلك الحين لأنه لم يتمكن من عرض القائمة الرئيسية وتسجيل الدخول وما إلى ذلك).

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

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

(التلاعب بأداة رفض الروابط من جوجل، وتنظيف الكود، وعناوين URL النظيفة، وهيكل الموقع، والربط الداخلي، والاجتماعي، والمحتوى، وما إلى ذلك)

قد تقول، لماذا لم تعاقبني جوجل في عام 2018؟ (كان لديك discourse على النطاق الفرعي حينها أيضًا)

حسنًا، أعتقد أنه كان نتيجة لمجموعة من العوامل الفريدة للموقع، وتاريخه، وملف الروابط الخاص به. مما تسبب في انهياره في أواخر عام 2019. يبدو أن جوجل أعادت ترتيب تصنيف الموقع وربما أعطت عناوين URL الخاصة بـ discourse وزنًا أكبر مما أعطته سابقًا.

والأمر هو… أنا أحب Discourse. خاصة الآن بعد أن أصبحت أكثر نشاطًا على meta، كل هذه الإضافات والميزات الرائعة التي لم أكن أعرف بوجودها. Wiki، مدفوعات الاشتراك، جدول المحتويات، والآن الدردشة!!

لذلك، فإن الابتعاد عن discourse ليس خيارًا حقًا، لقد استثمرت الكثير في هذه المرحلة.

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

لقد قاموا حتى بإلغاء مخطط الزحف AJAX

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

ملاحظة جانبية: لدى Discourse إعداد للزحف AJAX - أعتقد أنه يجب إزالته في النهاية.


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

يمكنني بعد ذلك الإبلاغ عن النتائج على meta وتقديم حجة بأن Discourse يجب أن يفكر في تحسين JavaScript لـ Google.

على سبيل المثال، ربما شيء مثل هذا (من مدونة جوجل) سيساعد في مخاوف التقسيم والتمرير.

والاحتفاظ بالإصدار غير المخصص للزواحف للمتصفحات القديمة.

إذا سمحت لي أن أضيف… :smirk:

قبل أن أرسل نسخة جافاسكريبت إلى جوجل، كنت أعبث بها.

لقد اختبرت إرسال نسخة جافاسكريبت إلى جوجل في بداية أبريل تقريبًا. أتذكر أنها كانت تعيد نتيجة في معظم الأوقات (حتى لو كانت تبدو معطلة). باستخدام أداة جوجل للجوال.

اعتقدت أن الأمر قد يكون هذا الالتزام - لقد أجريت تعديلات على الكود، وأعدت التشغيل، وكان السلوك هو نفسه.

ربما يتذكر شخص ما طلب سحب أو التزام في الشهرين الماضيين قد يكون قد غير اكتشاف المتصفح و/أو الزاحف؟

تعديل آسف على كل التحديثات، كلما زادت المعلومات كان ذلك أفضل، أليس كذلك؟

أثناء تجربة العرض المسبق الشهر الماضي، انتهى الأمر بجوجل بإضافة 2000 عنوان URL إلى تغطية المنتدى. ( معظمها هذه العناوين )

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

النقطة هي، ربما أصبح الزاحف “معتادًا جدًا” على عدم وجود جافاسكريبت وخصص موارد للحصول على تلك الصفحات الـ 2000.

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

هل كنت تعمل على شيء غيّر طريقة زحف Discourse، مثل محاولة استخدام prerender عليه إذن؟

إذا قمت بفحص تقرير الصفحات المقصودة في GA، فهل يعطيك أي أدلة حول الجزء الذي تأثر به الموقع؟


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

من نظرة سريعة، لديك سلاسل إعادة توجيه من موقع 2019 قد تكون أطول مما يمكن لجوجل الزحف إليه.

أحد الاحتمالات لعقوبة مفاجئة هو أن عناوين URL من موقع 2019 تحتوي على 6 عمليات إعادة توجيه، لكن جوجل يقول أن تبقيها “أقل من 5” وإلا فقد لا تتبع عمليات إعادة التوجيه. قد يجعل هذا الأمر يبدو لجوجل أن الصفحات القديمة اختفت من الويب.

مثال:

curl -sSL -D - http://flynumber.com/virtual-phone-number/united-states_alexandria_1-318 -o /dev/null -H 'User-Agent: header_bot'

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

/a/b/c/d/e/final-destination

أود أن أفعلها بهذه الطريقة:

/a/final-destination
/b/final-destination
/c/final-destination
/d/final-destination
/e/final-destination

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

شكرًا لك، جوش، أقدر ملاحظاتك هنا.

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

بمعنى آخر، بدأت في النهاية أرى المزيد والمزيد من الصفحات التي قمت بإعادة توجيهها (301) للكلمات الرئيسية المستخدمة في الصفحات القديمة.

هذا منطقي للغاية وسأرى كيف يمكنني تنفيذ ذلك - حاليًا، لا يُظهر Search Console أن الزاحف يقوم بإعادة توجيه (301) كثيرًا. يبدو أنه عندما تتحسن الرتبة، سيتبعون المزيد من عمليات إعادة التوجيه (301). سببية بدون ارتباط ربما.


لا يتعلق الأمر على الإطلاق بـ Discourse - أنا فقط لست مقتنعًا بسهولة بـ “آلاف مستخدمي Discourse لديهم حركة مرور عضوية رائعة”.

لن يخبرنا جوجل بذلك حقًا أيضًا.

يجب أن نتذكر دائمًا أن جوجل عبارة عن خوارزمية، فهم لا ينظرون إلى هذا من منظور بشري.

بينما تشترك كلا النسختين في محتوى مشابه، وجوجل يعلم أنها ليست إخفاء ضارًا - لا يزال يتعين عليهم تعديل الرتبة.

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

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

أحب دائمًا استخدام رابط “Powered by discourse” do-follow في نسخة الزاحف. (فقط لأنه سهل)

مرة أخرى، أعرف أنه ليس ضارًا ولكن يجب أن تنظر إليه من خلال عيون جوجل. أنت FlyNumber (وليس https://community.cloudflare.com/) تقدم لنا هذه النسخة الزاحفة مع رابط خارجي لا تعرضه للمتصفحات العادية.

يمكنني تمامًا أن أرى الخوارزمية تلتقط ما يحدث وتتجاهل الرابط الخارجي لنطاق cloudflare (لأنه يتمتع بسلطة كبيرة).

ليس الأمر كما لو أن ما يطبقه جوجل على cloudflare سيطبق علي.

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

بأبسط العبارات، نسخة الزاحف لا تحتوي على قائمة أو أي هيكل حقيقي.

هذا هو المحتوى الذي تعتقد الخوارزمية أنك تريد تقديمه للمستخدمين النهائيين.

من منظور عام جدًا، لا يمكنني رؤية الخوارزمية تكافئ ذلك.

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

تحديث مثير للاهتمام أضافت جوجل “JSON” إلى “أنواع الملفات” في إحصائيات الزحف لمثيل Discourse الخاص بي. “Javascript” هو “نوع ملف” منفصل.

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

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

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

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

ما هو مثير للاهتمام هو أنهم وصلوا إلى حوالي المنشور السابع والعشرين في الصفحة الرئيسية فيما يتعلق بالفهرسة. لذا فإن الشيء المتعلق بالتمرير اللانهائي هو شيء يفهمه جوجل.

لست متأكدًا مما إذا كان ذلك قد ساعد، ولكني ألغيت تحديد إعداد ajax في إعدادات المسؤول. تسبب ذلك في عثور جوجل على عناوين URL مثل ما يلي (وتقديم نسخة الزاحف) - ألغيت تحديده، والآن سيعرض عنوان URL هذا النسخة JS

https://discuss.flynumber.com/t/japan-phone-numbers-disconnect-notice/2351?_escaped_fragment_=

الآن كل ما أحتاج إلى اكتشافه هو كيف يمكنني تنظيف عناوين URL الكنسية الإضافية التي ينشئها discourse لصفحات المستخدم.

بعد شهر واحد على الأقل من تقديم نسخة SPA (الإصدار الكامل بلغة جافا سكريبت) من discourse، عدت إلى نسخة الزاحف.\n\nيمكنك الرجوع إلى سجل مشاركاتي، حيث كنت أجادل بأن جوجل قد تفهم نسخة جافا سكريبت وتصنفها بشكل أفضل من نسخة الزاحف. لقد كنت مخطئًا.\n\nمرحباً @j127 لقد كنت على حق! (سأرسل لك رسالة خاصة يا سيدي)\n\nيبدو أن جوجل قد اكتشفت الموقع، لكنها صنفّته بنفس المستوى تقريبًا (إن لم يكن أقل قليلاً).\n\nتم تحديث نسخة الزاحف أيضًا في أبريل/مايو فيما يتعلق بألوان الروابط والتنسيق وما إلى ذلك، وهذا يساعد بشكل جيد.\n\nفي رأيي، إذا أضفنا قائمة بسيطة و “المواضيع المقترحة” إلى نسخة الزاحف، فسيحدث ذلك فرقًا كبيرًا في تحسين محركات البحث للجميع.\n\nبخلاف ذلك، أردت فقط طرح هذا الموضوع في حال كان أي شخص فضوليًا.\n\nعمل رائع يا رفاق!

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.