كانت مسارات منتجاتنا الخمسة غير مرئية تمامًا أمام الزحف الأول. ليست ضعيفة
الترتيب، بل غائبة. فكل اسم منتج وكل عنوان فائدة وكل وصف كان يُجلب من نقطة وصول
داخلية بعد تحميل الصفحة ثم يُكتب في الـ DOM عبر innerHTML، ولذلك لم تتضمن
شيفرة HTML التي يتلقاها الزاحف سوى نص واحد ذي صلة:
Loading Platform Architecture....
أعدنا بناء الموقع بحيث يُعرض المحتوى على الخادم. وهذا ما توصّلنا إليه.
كان الإخفاق قابلًا للقياس، وكان صفرًا
يحتاج الفحص إلى أمر واحد:
curl -s https://archmir.com/platform/expertarch | grep -c "Expert Level Reasoning Layer"
قبل إعادة البناء كان هذا الأمر يعيد 0. كان للصفحة عنوان ووصف ووسوم Open Graph،
تُحقن جميعها على الخادم عبر استبدال نصي داخل قالب، لكن دون أي محتوى في المتن.
كانت البيانات الوصفية تصف صفحة لم يكن محتواها موجودًا إلى أن يعمل JavaScript.
وأهمية هذا اليوم أكبر مما كانت. يفهرس Googlebot على مرحلتين: تقرأ الأولى شيفرة HTML الخام، ويوضع كل ما يتطلب JavaScript في طابور Web Rendering Service حيث قد ينتظر ساعات أو أسابيع. أما الزواحف التي لا تنفّذ JavaScript أبدًا، ومنها أدوات معاينة الروابط في الشبكات الاجتماعية وعدد متزايد من وكلاء الاسترجاع العاملين بالذكاء الاصطناعي، فلا ترى المحتوى إطلاقًا.
ما الذي غيّرناه
انتقل المحتوى من طلب يجري في جانب العميل إلى Server Components. بقي السلوك التفاعلي كما هو، لكنه صار يرتبط بترميز موجود سلفًا في شيفرة HTML بدل أن ينشئه.
| قبل | بعد |
|---|---|
يُجلب الكتالوج من /api/content/platform ويُحقن عبر innerHTML | يُعرض على الخادم، وهو حاضر في شيفرة HTML الأولية |
تُبنى صفحات المنتجات وقت التشغيل عبر دالة _renderIsolationMode() | تُولَّد بشكل ساكن وقت البناء، ملف لكل منتج ولكل لغة |
تُبدَّل اللغة عبر معامل استعلام ?lang= | مسارات منفصلة وقابلة للفهرسة، يربط بينها hreflang |
| صورة Open Graph واحدة لكل عناوين URL | بطاقة مُولَّدة لكل مسار |
يبدأ تسلسل العناوين من h3 دون h2 فوقه | عنوان h1 واحد، ثم تسلسل حقيقي من h2/h3 |
أما الأجزاء التفاعلية — تبديل التبويبات ورسوم التمرير وتشغيل الفيديو ونموذج التواصل — فهي مكوّنات عميل تُركَّب فوق ترميز مُنتَج على الخادم. ولا يخسر المستخدم شيئًا.
ثلاثة أمور لم تكن بديهية
إخفاء المحتوى خلف opacity: 0 خطر حقيقي. تبدأ رسومنا المتحركة عند التمرير
كل قسم غير مرئي ثم تُظهره عبر JavaScript. وGooglebot يعالج JavaScript وكان
سيراه في النهاية، لكن عميلًا لا يشغّل JavaScript كان سيرى صفحة فارغة. وإضافة
كتلة <noscript> تُبطل أثر الحركة لا تكلف شيئًا وتزيل هذا الاحتمال بالكامل.
حجب عنوان URL في robots.txt لا يزيله من الفهرس. كنا نخطط لحجب عناوين
?lang= القديمة. وكان ذلك سيأتي بنتيجة معاكسة: العنوان الذي لا يستطيع الزاحف
جلبه هو عنوان لن يكتشف إعادة توجيهه أبدًا، فيبقى العنوان القديم مفهرسًا إلى
أجل غير مسمى. فإعادة التوجيه يجب أن تكون قابلة للزحف حتى تؤدي عملها.
زواحف الذكاء الاصطناعي تحتاج إلى دعوة صريحة. إن Google-Extended
وApplebot-Extended رمزان للانسحاب من استخدام المحتوى في تأسيس إجابات الذكاء
الاصطناعي. والصمت هنا يترك القرار لقيمة افتراضية. فإن أردت أن تكون وثائقك
متاحة للمحركات التوليدية، فأدرجهما تحت Allow.
الجزء الذي لا يمكن أتمتته
إن استراتيجية العرض والبيانات المنظمة ومؤشرات Core Web Vitals مسائل هندسية، وللمسائل الهندسية حلول محددة. لكن ما لا يغني عنه أيٌّ منها هو أن يكون لديك ما تقوله على نحو محدد وقابل للتحقق؛ ولهذا فإن الأرقام الواردة في هذه المقالة هي ما قسناه على موقعنا نحن، لا معايير منقولة عن مواقع أخرى.