السيو لموقع Astro خطوة بخطوة: العرض الثابت أو على الخادم، وسوم head، خريطة الموقع، hreflang، الصور، JSON-LD وإعادة التوجيه، مع التحقق من التوثيق الرسمي.

في هذه الصفحة
باختصار
يُعد Astro من أكثر أُطر الويب ملاءمة للسيو، لأنه يعرض الصفحات مسبقًا بلغة HTML خالصة ولا يرسل أي JavaScript إلى المتصفح إلا إذا طلبت ذلك. وهكذا يحصل جوجل وزواحف أدوات الذكاء الاصطناعي على المحتوى كاملًا من الطلب الأول. لكن Astro لا يقوم بالسيو نيابة عنك: العناوين ووصف الميتا والروابط القانونية وhreflang والبيانات المنظمة وإعادة التوجيه كلها مسؤوليتك، وغالبًا ما تُضاف في مكوّن head مشترك ومع تكامل خريطة الموقع الرسمي.
هل تريد التعمق أكثر؟ اسأل
اختبار سريع
هل السيو مناسب لك، وكيف تبدأ؟
Sorank يناسب إجاباتك
جرّبه 3 أيام على موقعك واعرف أين تقف في Google وChatGPT وأدوات الذكاء الاصطناعي الأخرى.
ابدأ تجربة مجانية لمدة 3 أيام3 أيام مجانًا، ثم توقف متى شئت. ضمان النتائج أو استرداد الأموال لمدة 90 يومًا.
السيو في Astro هو العمل الذي يحوّل هذا الـHTML النظيف إلى صفحات تتصدّر النتائج. يشرح دليل جوجل حول أساسيات السيو لمواقع JavaScript أن مواقع JavaScript تُعالَج على ثلاث مراحل (الزحف ثم العرض ثم الفهرسة)، ويؤكد أن العرض من جهة الخادم أو العرض المسبق ما زال فكرة ممتازة، لأن بعض الروبوتات لا تشغّل JavaScript. يبدأ Astro من هذه النقطة افتراضيًا. يغطي هذا الدليل الباقي، إعدادًا بعد إعداد، وقد تحققنا من كل سلوك في التوثيق الرسمي لـAstro. وللعلم، موقع sorank.com الذي تقرؤه الآن يعمل على Astro.
نعم، من الناحية التقنية. يحوّل Astro المكوّنات إلى HTML أثناء البناء ويزيل الـJavaScript الذي ترسله عادةً أُطر مثل React أو Vue إلى المتصفح. وبذلك يتجنب المشكلات المعروفة الموصوفة في دليلنا حول السيو لمواقع JavaScript: قوالب HTML فارغة، ومحتوى لا يظهر إلا بعد العرض، وروابط ليست وسوم ربط حقيقية. ويتجنب أيضًا فخاخ التوجيه في تطبيقات الصفحة الواحدة، لأن كل مسار في Astro هو عنوان URL حقيقي له ملف HTML خاص به.
ما لا يفعله Astro لا يقل أهمية. لا توجد إضافة سيو مدمجة، ولا وصف ميتا تلقائي، ولا وسم canonical تلقائي، ولا بيانات منظمة. يفصل الجدول بين ما تحصل عليه مجانًا وما عليك بناؤه.
| عنصر السيو | ما يقدمه Astro | ما تضيفه أنت |
|---|---|---|
| HTML قابل للزحف | HTML معروض مسبقًا افتراضيًا | لا شيء، إلا إذا كان المحتوى يُعرض في المتصفح فقط |
| العنوان ووصف الميتا | head تتحكم فيه داخل كل قالب | مكوّن سيو مشترك تغذيه كل صفحة |
| وسم canonical | Astro.site وAstro.url لبناء عناوين مطلقة | وسم link نفسه، مع شرطة مائلة نهائية موحّدة |
| خريطة موقع XML | التكامل الرسمي @astrojs/sitemap | تثبيته وضبط خيار site وتصفية الصفحات الخاصة |
| hreflang | توجيه i18n وخيار i18n في خريطة الموقع | روابط alternate في head كل صفحة |
| الصور | مكوّنا Image وPicture لتحسين الملفات | نص بديل وصفي وأحجام مناسبة |
| البيانات المنظمة | لا شيء مخصص | سكربتات JSON-LD لكل نوع صفحة |
| إعادة التوجيه | خيار redirects في الإعدادات | تحويلات 301 حقيقية لدى الاستضافة للمواقع الثابتة |
توثيق Astro حول العرض عند الطلب واضح: افتراضيًا، تُعرض الصفحات والمسارات ونقاط نهاية API مسبقًا وقت البناء كصفحات ثابتة. بالنسبة للسيو، المخرجات الثابتة هي الخيار الأكثر أمانًا: كل عنوان URL ملف HTML جاهز يُقدَّم من شبكة CDN، سريع ومتطابق لكل زائر ولكل روبوت.
يتطلب العرض عند الطلب (على الخادم) محوّلًا (adapter) لاستضافتك (مثل Node أو Netlify أو Vercel أو Cloudflare). بعدها تُخرج مسارًا واحدًا من العرض المسبق عبر export const prerender = false، أو تحوّل المشروع كله بـoutput: 'server' ثم تعيد تفعيل الصفحات الثابتة واحدة واحدة. ينتج النمطان HTML كاملًا، فيرى جوجل الشيء نفسه. أما الفروق فتكمن في مكان آخر:
القاعدة العملية: أبقِ صفحات التسويق ومقالات المدونة والتوثيق ثابتة، واعرض عند الطلب فقط المسارات التي تحتاج إلى بيانات حية. ويوصي توثيق Astro بالأمر نفسه: الإبقاء على النمط الثابت الافتراضي إلى أن تحتاج معظم الصفحات إلى العرض عند الطلب.
أنشئ مكوّن سيو واحدًا (غالبًا باسم BaseHead أو Seo) وأدرجه في head كل قالب. يستقبل عنوانًا ووصفًا وصورة اختيارية وعلامة noindex اختيارية، ويُنتج:
اضبط أولًا خيار site في astro.config.mjs: فالـcanonical وخريطة الموقع والوسوم الاجتماعية تعتمد عليه. ثم اختر سياسة trailingSlash ('always' أو 'never') والتزم بها، حتى لا يتنافس /blog/post و/blog/post/ أبدًا كنسختين من الصفحة نفسها. واحذف معاملات الاستعلام من الـcanonical كي لا تُنشئ معاملات التتبع صفحات مكررة.
نصيحة
إذا كانت مقالاتك ضمن content collections، فاجعل العنوان والوصف حقلين إلزاميين في مخطط المجموعة. سيفشل البناء عندها إذا نسي كاتب وصف الميتا، بدلًا من إرسال مقتطف فارغ إلى جوجل.
استخدم التكامل الرسمي الموثّق في صفحة @astrojs/sitemap. الأمر npx astro add sitemap يثبّته ويضيفه إلى الإعدادات. يتطلب خيار site، وعند البناء يكتب ملف sitemap-index.xml يشير إلى ملفات مرقّمة (sitemap-0.xml، ثم المزيد في المواقع الكبيرة). يحتوي كل ملف افتراضيًا على ما يصل إلى 45,000 إدخال، وهي قيمة يحددها خيار entryLimit. وإن كان هذا التنسيق جديدًا عليك، فمدخل المعجم لدينا حول خريطة موقع XML يشرح ما يفعله جوجل بها.
ثلاثة إعدادات مهمة للسيو:
انتبه
ينص التوثيق على أن التكامل لا يستطيع إنشاء إدخالات في خريطة الموقع للمسارات الديناميكية في نمط SSR. إذا كانت صفحات منتجاتك أو مقالاتك تُعرض عند الطلب، فستغيب عن خريطة الموقع ما لم تعرضها مسبقًا أو تضفها بنفسك.
أما robots.txt فيكفي في معظم المواقع ملف ثابت داخل مجلد public. وإذا اختلف محتواه بين بيئة الاختبار والإنتاج، فالأفضل توليده من نقطة نهاية (src/pages/robots.txt.ts). وفي الحالتين، أضف سطر Sitemap يشير إلى sitemap-index.xml، واختبر النتيجة بـأداة فحص robots.txt قبل الإطلاق. وبالتقنية نفسها تُنشئ ملف llms.txt؛ ويشرح دليلنا حول تثبيت ملف llms.txt محتواه.
يتولى توجيه i18n المدمج في Astro جانب العناوين. في الإعدادات تعلن defaultLocale وقائمة locales، وتختار ما إذا كانت اللغة الافتراضية تحصل أيضًا على بادئة (prefixDefaultLocale). وتبني دوال مساعدة مثل getRelativeLocaleUrl روابط مترجمة، بينما يخبر Astro.currentLocale كل صفحة بلغتها.
لا يتناول دليل التوجيه وسوم hreflang داخل head، لذا خطط لكتابتها بنفسك في مكوّن السيو: لكل صفحة رابط alternate لكل نسخة لغوية إضافة إلى x-default، وكلها بعناوين مطلقة، ويجب أن تذكر كل نسخة جميع النسخ الأخرى (روابط الرجوع). توليدها من قائمة اللغات نفسها المستخدمة في التوجيه يجنّبك الخطأ الأكثر شيوعًا: بديل يشير إلى صفحة غير موجودة. ولفحص المنطق على بعض العناوين، يُنتج مولّد hreflang لدينا مجموعة الوسوم الكاملة لصفحة ما. ثم فعّل خيار i18n في خريطة الموقع كإشارة ثانية.
السرعة هي المجال الذي يتفوق فيه Astro أكثر، ويظهر ذلك في Core Web Vitals. يصف دليل الصور في Astro مكوّن Image من astro:assets: فهو يحسّن الصور المحلية ويحوّل تنسيقها ويضيف التحميل الكسول وفك الترميز غير المتزامن، ويستنتج أبعاد الصورة لتجنب Cumulative Layout Shift. وخاصية alt إلزامية فيه، ما يفرض قاعدة أساسية من قواعد سيو الصور. ويذهب مكوّن Picture أبعد فيقدّم AVIF أو WebP مع صيغة احتياطية.
عادتان تكملان الصورة. احفظ الصور التي تحتاج إلى تحسين في src (فالملفات في public تُقدَّم كما هي دون معالجة). ولا تؤخر تحميل الصورة الرئيسية أعلى الصفحة: حمّلها فورًا كي لا تؤخر Largest Contentful Paint.
تُبقي بنية الجُزر الـJavaScript تحت السيطرة. يبقى المكوّن HTML ثابتًا إلى أن تضيف توجيهًا للعميل: client:load يفعّله فورًا، وclient:idle عندما يصبح المتصفح متفرغًا، وclient:visible فقط عند دخوله منطقة العرض. تخصيص client:load لما يجب أن يستجيب فورًا (قائمة، سلة مشتريات) هو أبسط طريقة لحماية Interaction to Next Paint. أما جُزر الخادم (server:defer) فتحمّل كتلة مخصصة بعد الصفحة المخزنة مؤقتًا، دون إبطاء المحتوى الرئيسي.
ملاحظة
الجزيرة تؤخر تفاعلها فقط، لا نصها، ما دام المكوّن يُعرض أولًا على الخادم. أما المحتوى الذي يُحمَّل في المتصفح لاحقًا فحالة أخرى: الزواحف التي لا تشغّل JavaScript، ومنها كثير من زواحف الذكاء الاصطناعي، لن تراه.
لا يملك Astro ميزة مخصصة للـschema، وهذا يمنحك تحكمًا كاملًا. ابنِ كائن JavaScript لكل نوع صفحة (Article وProduct وOrganization وBreadcrumbList وFAQPage) واعرضه في وسم script من نوع application/ld+json، باستخدام التوجيه set:html مع JSON.stringify كي لا يُهرَّب الـJSON. غذِّه من بيانات frontmatter أو المجموعة نفسها التي تعرضها الصفحة: بذلك يطابق الترميز دائمًا ما يراه المستخدمون، وهو شرط في إرشادات جوجل حول ترميز schema.
لصياغة الـJSON لنوع صفحة جديد، يقدّم مولّد schema المجاني لدينا كتلة بداية صالحة تحوّلها بعد ذلك إلى قالب. وتحقق من عيّنة من الصفحات المبنية باختبار النتائج الغنية من جوجل بعد كل تعديل على القالب.
الانتقال من WordPress أو Next.js هو أخطر لحظة في حياة موقع Astro. احتفظ بكل عنوان URL يجلب زيارات أو روابط خلفية، واربط الباقي واحدًا واحدًا بأقرب مقابل له عبر تحويلات دائمة، كما يشرح دليلنا حول إعادة التوجيه في السيو.
تقبل إعدادات Astro كائن redirects يربط المسارات القديمة بالجديدة. ومع وجود محوّل، تصبح تحويلات HTTP حقيقية. أما في البناء الثابت تمامًا، فيكتب Astro بدلًا منها صفحة HTML تحتوي meta refresh، يتبعها جوجل لكنه يعدّها إشارة أضعف من تحويل 301 على الخادم. في الموقع الثابت، صرّح بالتحويلات بتنسيق الاستضافة نفسها (ملف _redirects على Netlify أو Cloudflare Pages، وملف vercel.json على Vercel) حتى تتلقى الزواحف تحويل 301 حقيقيًا.
الاستشهاد بك في ChatGPT أو Perplexity أو Gemini يبدأ بأن تكون مقروءًا. كثير من زواحف الذكاء الاصطناعي تجلب الـHTML الخام دون تشغيل JavaScript، لذا فإن الموقع الذي يقدّم نصه كاملًا في الاستجابة الأولى، كما يفعل Astro افتراضيًا، يزيل عقبة ما زالت تواجهها المواقع المعروضة في المتصفح. ثم تجعل العناوين الفرعية الواضحة والفقرات التي تبدأ بالإجابة والبيانات المنظمة وملف llms.txt كل صفحة أسهل في الاقتباس.
بعد الإطلاق، قِس بدلًا من التخمين. تجمع لوحة GEO والسيو في Sorank بيانات Search Console والزيارات القادمة من مساعدي الذكاء الاصطناعي، لترى ما إذا كان الموقع الجديد يحافظ على مراكزه.

الجودة التقنية لا تؤتي ثمارها إلا بمحتوى يتصدّر. يكتب مولّد مقالات المدونة بالذكاء الاصطناعي من Sorank مقالات محسّنة لجوجل ولأدوات الذكاء الاصطناعي وينشرها، ويتصل عبر webhook بموقع مخصص مثل مشروع Astro.
يمنحك Astro افتراضيًا HTML سريعًا وقابلًا للزحف؛ أما التصدّر فما زال يعتمد على وسوم head وخريطة الموقع وhreflang والبيانات المنظمة وإعادة التوجيه التي تضيفها. ابدأ بمكوّن السيو المشترك وخريطة الموقع، ثم راجع الجدول أعلاه قبل الإطلاق.
لا. لا يملك Astro إضافة سيو رسمية شاملة: تكتب العنوان ووصف الميتا والـcanonical والوسوم الاجتماعية في مكوّن head مشترك. ويغطي التكامل الرسمي @astrojs/sitemap خريطة الموقع. توجد حزم من المجتمع، لكن مكوّنًا صغيرًا خاصًا بك سهل الصيانة ويبقى تحت سيطرتك بالكامل.
كلاهما قادر على إنتاج HTML معروض بالكامل، لذا يستطيع جوجل فهرسة أي منهما جيدًا. يرسل Astro افتراضيًا قدرًا أقل بكثير من JavaScript، ما يجعل مواقع المحتوى عادةً أسرع ويدعم Core Web Vitals. يناسب Next.js التطبيقات شديدة التفاعل أكثر؛ أما المدونات والمواقع التعريفية والتوثيق فـAstro هو الخيار الأبسط للسيو.
نعم. الصفحة المعروضة عند الطلب تعيد هي أيضًا HTML كاملًا إلى Googlebot، تمامًا مثل الصفحة المعروضة مسبقًا. النقاط التي تجب مراقبتها هي زمن استجابة الخادم، الذي يؤثر في سرعة التحميل، وتكامل خريطة الموقع، الذي لا يدرج المسارات الديناميكية في نمط الخادم ما لم تضفها بنفسك.
لقد جربوا SORANK قبلك
