JavaScript وSEO: العرض والفهرسة
9 min
تستطيع Google عرض JavaScript، لكن مع تأخير قد يمتد من ثوانٍ إلى أسابيع بحسب سلطة الموقع. يجب ألا تعتمد المحتويات الحرجة (النص الرئيسي والروابط والبيانات المنظمة) على JavaScript لتكون مرئية. Server-Side Rendering (SSR) أو prerendering هي الحلول الموصى بها.
تهيمن أُطر JavaScript الحديثة (React وVue وAngular وNext.js) على تطوير الويب. لكن علاقتها بـ SEO تبقى معقدة: وإن تقدمت Google في عرض JS، فإن مخاطر الفهرسة الجزئية أو المتأخرة حقيقية ومكلفة.
كيف تتعامل Google مع JavaScript
يُنزّل Googlebot HTML الأولي للصفحة، ثم يضع عرض JavaScript في قائمة انتظار (WRS — Web Rendering Service). يمكن أن يتم العرض الكامل بعد ثوانٍ أو أيام أو حتى أسابيع بحسب شعبية الموقع وحمل المحرك.
يعني تأخير العرض هذا أن المحتوى JS فقط يُفهرَس بصورة منهجية أبطأ من المحتوى HTML الثابت. على موقع محدود السلطة، قد لا تُعرَض بعض المحتويات أبداً بشكل صحيح.
المخاطر الملموسة على الفهرسة
المحتوى الذي يظهر فقط بعد تفاعل المستخدم (نقر أو تمرير أو تبويب) لا يراه Googlebot أبداً. أكورديون FAQ وتبويبات المحتوى والمحتوى عند التحوم هي الحالات الأكثر شيوعاً.
الروابط المُنشأة ديناميكياً بـ JavaScript لا يتبعها Googlebot دائماً. إذا كان ربطك الداخلي يعتمد على روابط أُنشئت بعد تحميل الصفحة، يبقى جزء من هيكلك غير مرئي للـ crawler.
- المحتوى خلف حدث نقر أو تحوم: غير مُفهرَس.
- الروابط في قائمة hamburger بـ JS الخالص دون HTML احتياطي: يُحتمل تجاهلها.
- البيانات المنظمة JSON-LD المُحقَنة عبر JS: عرض مؤجل، أهلية للنتائج المنسقة متأخرة.
- وسوم Meta المُنشأة من جانب العميل: title وdescription يُحتمل غيابهما في الزحف الأول.
- نص الترقيم المحمّل عبر AJAX دون عنوان URL مخصص: محتوى غير مرئي.
الحلول الموصى بها
يُنشئ Server-Side Rendering (SSR) HTML الكامل على الخادم قبل إرساله للمتصفح. يتلقى Googlebot HTML غنياً من الزحف الأول دون انتظار عرض JavaScript. تقدم Next.js وNuxt.js وSvelteKit SSR بصورة أصلية.
Static Site Generation (SSG) يُولّد الصفحات مسبقاً مع كل بناء. أسرع من SSR، لكن مناسب فقط للمحتوى نادر التحديث.
إذا كانت إعادة هيكلة بـ SSR غير ممكنة، يكتشف prerendering عبر خدمة مثل Rendertron أو Prerender.io وجود Googlebot ويقدم له نسخة HTML ثابتة مُعرَضة مسبقاً.
تُلاحظ المواقع المنتقلة من هيكل SPA (تطبيق صفحة واحدة) إلى SSR تحسناً متوسطاً بنسبة 20 إلى 50% في عدد الصفحات المُفهرَسة خلال الـ 60 يوماً التالية للترحيل.
دراسات قطاعية 2025-2026 حول ترحيلات SSR والفهرسة
تشخيص مشاكل عرض JS على موقعك
تقدم أداة فحص عنوان URL في Search Console لقطة شاشة للصفحة كما يراها Googlebot. قارن هذه اللقطة مع العرض الحقيقي في متصفحك: أي فارق يكشف عن مشكلة عرض.
اختبر أيضاً بتعطيل JavaScript في Chrome (DevTools > Settings > Debugger > Disable JavaScript): إذا لم تعرض صفحتك شيئاً أو فقدت روابط التنقل، لديك مشكلة SEO حرجة يجب حلها.
FAQ
هل تستطيع Google فهرسة SPA (تطبيق صفحة واحدة) بشكل صحيح؟
نعم، لكن بقيود وتأخيرات. يُفهرَس محتوى SPAs بعد عرض JavaScript، مما قد يستغرق أسابيع. على المواقع التنافسية، هذا التأخير هو مساوئ حقيقية. SSR أو prerendering يبقيان الحل الأكثر موثوقية.
هل Next.js خيار جيد لـ SEO؟
نعم، هو أحد أكثر الأُطر صداقةً لـ SEO في السوق. يقدم SSR وSSG وISR (Incremental Static Regeneration) بصورة أصلية. يمكن توليد وسوم meta وsitemap والبيانات المنظمة من جانب الخادم دون إعداد معقد.
هل يُفهرَس المحتوى الموجود في تبويبات أو أكورديون؟
تؤكد Google أن المحتوى المخفي بـ CSS (display:none أو visibility:hidden) قد يُفهرَس لكن بوزن أقل. المحتوى خلف تفاعل JavaScript أكثر إشكالية. لأسئلة FAQ أو معلومات رئيسية، فضّل عرض HTML أصلي مع details/summary أو تأكد من وجود المحتوى في HTML الأولي.
هل يجب جعل JavaScript متوافقاً مع جميع بوتات أم مع Google فقط؟
Google هو المحرك الوحيد الذي يُعرض JavaScript بفاعلية. Bing يتقدم لكنه لا يزال متأخراً. إذا كان جمهورك يأتي أساساً من Google، ركّز جهودك على التوافق مع Googlebot. هيكل SSR يُفيد تلقائياً جميع البوتات.