تحسين محركات البحث في Ghost

دليل إلى SEO في Ghost CMS: الفرق بين الوضع التقليدي وheadless، وما يبنيه Ghost تلقائيًا، وما يتركه لك، وحدود المحتوى المحجوب، وGhost Pro مقابل الاستضافة الذاتية.

نُشر أول مرة: 27 يونيو 2026 · آخر تحديث: 22 أغسطس 2026 · Advanced
اللغات

ينقسم Ghost SEO بحسب طريقة التشغيل. في الوضع التقليدي بقوالب Handlebars، يتولى Ghost أساسيات SEO التقنية تلقائيًا، ومنها الخريطة ووسوم canonical وmeta وOpen Graph وTwitter Cards وArticle JSON-LD، بلا إضافات وبأداء سريع افتراضيًا. أما في وضع headless عبر Content API فتختفي هذه المزايا ويجب على الواجهة الأمامية إعادة بنائها كلها. ويظل في الوضعين نقص في schema لمسار التنقل وFAQ وhreflang وnoindex لكل تدوينة وIndexNow، كما لا يمكن فهرسة محتوى الأعضاء المحجوب على الخادم. أكبر خطأ هو معاملة Ghost التقليدي وGhost بوضع headless بوصفهما مشكلة SEO واحدة؛ فهما مختلفان.

الخلاصة — يتفرع Ghost SEO عند قرار واحد: الوضع التقليدي (Handlebars) مقابل headless (Content API). يقدم Ghost التقليدي أساسيات SEO التقنية تلقائيًا، ومنها خريطة الموقع ووسوم canonical الذاتية والمخصصة ووسوم meta وبطاقات OG/Twitter وArticle JSON-LD، من دون إضافة، وهو سريع افتراضيًا. عند الانتقال إلى headless يختفي كل ذلك؛ يجب على الواجهة الأمامية إعادة بناء كل جزء، وتزول ميزة السرعة لأن الإطار يصبح مسؤولًا عن الأداء. ويشترك الوضعان في نواقص لا يعالجها Ghost، مثل schema لمسار التنقل وFAQ وProduct، وhreflang، وnoindex لكل تدوينة، وIndexNow، وواجهة التحويلات. أما محتوى الأعضاء المحجوب فيُحظر على الخادم فلا يمكن فهرسته. لا تخلط بين الوضعين؛ فهما مشكلتان مختلفتان.

مفترق الطريق

Ghost نظام CMS مبني على Node.js (Express) وله نواة منفصلة: واجهة API مع واجهة أمامية اختيارية من Handlebars. هذه المعمارية هي قصة SEO كلها.

  • الوضع التقليدي: يقدم Ghost صفحات HTML عبر قوالب Handlebars. تنطبق كل مزايا SEO المدمجة وتُنشأ تلقائيًا بواسطة مساعد القالب {{ghost_head}}.
  • وضع headless: يصف Ghost نفسه بأنه “a full headless CMS which is completely agnostic of any particular front end or static site framework.” (ترجمة) «نظام CMS كامل بلا واجهة أمامية، ولا يعتمد إطلاقًا على واجهة أمامية أو إطار محدد للمواقع الثابتة». تستعلم واجهة أمامية منفصلة، مثل Next.js أو Astro أو Nuxt أو SvelteKit، عن Content API أو Admin API، وتصبح SEO مسؤوليتها بنسبة 100 %.

اختيار الوضع هو أكبر عامل منفرد يحدد بصمة Ghost في SEO. ينتظم كل ما يلي حوله. وللنسخة العامة التي لا ترتبط بإطار معين من جانب headless، راجع SEO لنظام CMS بلا واجهة أمامية.

ما الذي يتولاه Ghost التقليدي تلقائيًا؟

في الوضع التقليدي ينفذ Ghost أساسيات SEO التقنية من دون أي ضبط:

  • خريطة الموقع. تُنشأ تلقائيًا في /sitemap.xml وتتحدث عند النشر أو إلغاء النشر، وتشمل التدوينات والصفحات والوسوم والمؤلفين. “Ghost automatically creates and updates an XML sitemap for your website.” (ترجمة) «ينشئ Ghost خريطة موقع XML لموقعك ويحدثها تلقائيًا». Evidence for this claim Ghost automatically creates and updates an XML sitemap. Scope: Traditional Ghost publication output. Confidence: high · Verified: Ghost: SEO
  • وسوم canonical. وسم rel=canonical ذاتي الإشارة في كل تدوينة وصفحة؛ “Ghost adds canonical tags across your site to tell search engines which version of a page they should consider the ‘official’ one.” (ترجمة) «يضيف Ghost وسوم canonical في أنحاء موقعك ليخبر محركات البحث بأي نسخة من الصفحة ينبغي اعتبارها النسخة الرسمية». ومنذ مارس 2019 يمكنك أيضًا تعيين canonical مخصص لكل تدوينة في لوحة البيانات الوصفية بالمحرر، أو عبر حقل canonical_url في Admin API، وهي ميزة صممت لـ*“guest posts, multiple versions of the same page or when you need to curate a list of links to external sources.”* (ترجمة) «تدوينات الضيوف، والنسخ المتعددة من الصفحة نفسها، أو حين تحتاج إلى تنسيق قائمة روابط لمصادر خارجية». Evidence for this claim Ghost outputs canonical tags and supports a custom canonical URL for a post or page. Scope: Traditional Ghost and the post/page metadata configuration. Confidence: high · Verified: Ghost: Canonical URLs
  • عنوان ووصف meta. حقول مخصصة تستخدم عنوان التدوينة والمقتطف قيمتين احتياطيتين إن تُركت فارغة.
  • Open Graph وTwitter Cards. تُنشأ تلقائيًا من بيانات التدوينة الوصفية والصورة البارزة.
  • البيانات المنظمة (JSON-LD). “Ghost automatically includes structured data in all posts and pages” (ترجمة) «يضمّن Ghost البيانات المنظمة تلقائيًا في جميع التدوينات والصفحات»؛ وهي schema من نوع Article تشمل الناشر والمؤلف والعنوان وdatePublished وdateModified والصورة والكلمات المفتاحية.
  • عناوين URL نظيفة وتوجيه مخصص. عناوين مبنية على slug افتراضيًا ويمكن تخصيصها بالكامل عبر routes.yaml.
  • robots.txt. ملف افتراضي يحظر مسار الإدارة /ghost/ ويسمح بكل ما عداه.

هذا أكثر بالفعل مما يمنحه تثبيت WordPress عادي؛ إذ يسرد Ghost “XML sitemaps, canonical tags, optimised URLs, microformats, Facebook Open Graph tags, support for Twitter cards and clean semantic markup” (ترجمة) «خرائط موقع XML، ووسوم canonical، وعناوين URL محسنة، وmicroformats، ووسوم Facebook Open Graph، ودعم Twitter Cards، وترميزًا دلاليًا نظيفًا» بوصفها مزايا مدمجة لا تحتاج إلى إضافة.

ما الذي لا يفعله Ghost مطلقًا، في كلا الوضعين؟

يغطي Ghost الأساسيات ويتوقف عندها. فهو لا ينشئ:

  • schema متقدمة: ترميز Breadcrumb أو FAQ أو HowTo أو Product أو Recipe أو Video. لا يقدم سوى Article؛ وأي نوع آخر يتطلب حقن شفرة أو عملًا في القالب.
  • Hreflang أو SEO الدولي: لا دعم أصليًا. تحتاج مواقع Ghost متعددة اللغات إلى خدمة خارجية، مثل Weglot أو ConveyThis، أو تنفيذ في القالب، مع أن أخطاء hreflang شائعة جدًا.
  • مفتاح noindex لكل تدوينة في الواجهة؛ تحتاج إلى حقن شفرة.
  • إرشاد لتحسين الكلمات المفتاحية. هذا مقصود. عندما سُئل فريق Ghost عن أدوات شبيهة بـYoast، قال إن “one of the downsides of using Yoast’s KW optimisation suggestions is that is encourages us to write meta data for machines instead of humans,” (ترجمة) «من سلبيات استخدام اقتراحات Yoast لتحسين الكلمات المفتاحية أنها تشجعنا على كتابة البيانات الوصفية للآلات بدل البشر»، وقال بوضوح عن قائمة رغبات SEO المتقدمة، مثل schema لمسار التنقل وhreflang وضوابط noindex: “This isn’t on our radar at the moment.” (ترجمة) «هذا ليس ضمن خططنا في الوقت الحالي».
  • IndexNow: لا دعم أصليًا؛ اربطه بخطاف webhook مخصص عند النشر إن أردت إخطار Bing وغيره فورًا.
  • واجهة لإدارة التحويلات: توجد التحويلات في redirects.yaml عند الاستضافة الذاتية أو في مدير التحويلات لدى Ghost Pro؛ ولا توجد منظومة إضافات تعتمد عليها.

Ghost بوضع headless: أعمال SEO التي يجب إعادة بنائها

عند الانتقال إلى headless يتوقف Ghost عن كونه نظام SEO ويصبح واجهة API للمحتوى. وكل ما في قائمة «يتولاه تلقائيًا» أعلاه يصبح مهمة الواجهة الأمامية:

  • خريطة الموقع: تُنشأ وقت البناء أو بواسطة دالة serverless تستعلم عن Content API.
  • وسوم canonical: تحقنها بنية الواجهة الأمامية، ويفضل أن تكون عناوين مطلقة من قيمة SITE_URL واحدة.
  • وسوم meta وOG/Twitter: تعرضها إدارة head في الإطار، مثل generateMetadata في Next.js أو <head> في Astro أو useSeoMeta في Nuxt.
  • البيانات المنظمة (JSON-LD): تصبح مخصصة بالكامل.
  • robots.txt: تقدمه الواجهة الأمامية.
  • تحويلات 301/302: تعالجها الواجهة الأمامية أو طبقة CDN.
  • Core Web Vitals: تختفي ميزة سرعة Ghost؛ ويصبح الإطار ونمط العرض العاملين المسيطرين في الأداء.

الشيء الوحيد الذي يستمر هو أن Content API تعيد البيانات الوصفية التحريرية التي أدخلتها في محرر Ghost: meta_title وmeta_description وog_title وog_description وog_image وtwitter_title وtwitter_description وtwitter_image وcanonical_url. البيانات متاحة، أما عرضها فعليك. وهذه هي مشكلة SEO في أنظمة CMS بلا واجهة عمومًا، وهي فعليًا مشكلة JavaScript SEO: إن اعتمدت الواجهة الأمامية العرض لدى العميل افتراضيًا، فعلى Googlebot انتظار موجة عرض لاحقة. تختلف قدرة زواحف الذكاء الاصطناعي على العرض باختلاف المزود، لذا اعرض على الخادم أو وقت البناء (SSR/SSG) لتحقيق أوسع تغطية.

المحتوى المحجوب وما يمكن أن تراه Google

يدعم Ghost ثلاثة مستويات للرؤية: عام وللأعضاء المجانيين، أي يتطلب البريد الإلكتروني، وللأعضاء الدافعين، أي يتطلب اشتراكًا. والنقطة الحاسمة في SEO أن المحتوى المحجوب يُحظر على الخادم لا عبر التعرف على وكيل المستخدم. وكما قال فريق Ghost: “Google can’t crawl protected content on your page, because that’s only ever available to logged in members.” (ترجمة) «لا تستطيع Google زحف المحتوى المحمي في صفحتك، لأنه لا يتاح إلا للأعضاء المسجلين دخولهم». تحصل Google على العرض المقيد نفسه الذي يحصل عليه القارئ غير المسجل.

هناك استراتيجيتان واقعيتان:

  1. معاينة عامة. اعرض مقدمة أو الفقرات الأولى علنًا واحجب الباقي. يوفر Ghost ميزة أصلية للمعاينة العامة؛ ويتولى الجزء العام مهمة الترتيب.
  2. وصول بعدد محدود. تسمح تطبيقات خارجية بعدد N من المقالات المجانية قبل طلب التسجيل.

إن حجبت المحتوى، تدعم Google ترميز المحتوى المدفوع: NewsArticle مع isAccessibleForFree: false وhasPart/cssSelector يصف المنطقة المحجوبة. لكن Ghost لا ينشئ ذلك تلقائيًا؛ بل يحتاج إلى حقن شفرة يدويًا. والقاعدة الصارمة في الحالتين: لا تمارس الإخفاء. عرض المقالة كاملة لـGooglebot بينما يواجه القراء جدارًا مدفوعًا يخالف إرشادات Google ويعرضك لإجراء يدوي. الصياغة الصادقة هي أن المحتوى العام يحتل المراكز والمحجوب يحول القراء؛ فلا تتوقع أن تجلب التدوينات المقفلة زيارات البحث.

Ghost Pro مقابل الاستضافة الذاتية

برنامج SEO متطابق في الحالتين: Ghost نفسه ومزاياه نفسها. يكمن الاختلاف في التحكم بالبنية التحتية:

  • Ghost Pro: استضافة مُدارة مع CDN مدمجة وSSL تلقائي ونسخ احتياطية. تساعد CDN في TTFB وCore Web Vitals للجماهير الموزعة. لكن لا يمكنك تعديل robots.txt مباشرة؛ بل يجب التواصل مع الدعم. وهذا قيد حقيقي في إعدادات headless أو الوضع الخاص.
  • الاستضافة الذاتية: تحكم كامل بالخادم والترويسات والتخزين المؤقت وrobots.txt والتحويلات على مستوى الخادم وCDN الخاصة بك، وغالبًا يختار الناس Cloudflare. تمنح مرونة أكبر لـSEO التقنية المتقدمة، لكنها تتطلب إدارة أكثر.

ليس أحدهما «أفضل لـSEO» بطبيعته؛ يشتري لك Ghost Pro شبكة CDN، بينما تشتري لك الاستضافة الذاتية التحكم.

مزالق شائعة

  • أرشيفات وسوم ومؤلفين منخفضة القيمة. ينشئ Ghost تلقائيًا صفحات /tag/slug/ و/author/slug/. قد تنتج الوسوم شديدة التخصيص أو المؤلفون ذوو التدوينة الواحدة صفحات ضئيلة المحتوى ومنخفضة القيمة؛ ففكر في وضع noindex عليها.
  • فهرسة عناوين المعاينة. كانت إصدارات Ghost القديمة قد تسرّب عناوين URL لمسودات المعاينة إلى Googlebot عبر سكربتات خارجية تُحمّل فيها، وقد أُصلح ذلك في النواة؛ راجع مشكلة GitHub رقم #9749. تحقق من عدم فهرسة صفحات المعاينة في التثبيتات القديمة.
  • كشف /ghost/ بالخطأ. تأكد من أن قاعدة الحظر الافتراضية لمسار الإدارة في robots.txt لم تُتجاوز.
  • محتوى مكرر من المجموعات المخصصة. قد تنشئ مجموعات routes.yaml مسارات بديلة للمحتوى نفسه. يعيّن Ghost canonical لبنيته الافتراضية، لكن التوجيه المخصص قد ينشئ نسخًا إن لم تدِر canonical صراحة.
  • غياب canonical مخصص في التدوينات المعاد نشرها أو تدوينات الضيوف. إن أعدت نشر محتوى من مكان آخر، فعيّن canonical_url لكل تدوينة، من المحرر أو API، ليشير إلى الأصل؛ فالخاصية موجودة منذ مارس 2019.
  • فهرسة واجهة headless قبل الإطلاق. قد تُفهرس واجهة headless عامة نُشرت قبل الإطلاق من دون robots.txt خاص بها مبكرًا. يرسل الوضع «الخاص» في Ghost قيمة Disallow: /، لكنها تحمي نسخة Ghost لا واجهتك المنفصلة.
Evidence for this claim Ghost outputs canonical tags and supports a custom canonical URL for a post or page. Scope: Traditional Ghost and the post/page metadata configuration. Confidence: high · Verified: Ghost: Canonical URLs

Ghost مقابل WordPress باختصار

يمنحك Ghost قدرًا أكبر من SEO الجاهزة من دون ضبط، وهو أسرع افتراضيًا؛ إذ يدعي قياس Ghost نفسه أنه “up to 1,900% faster than WordPress” (ترجمة) «أسرع من WordPress بنسبة تصل إلى 1 900 %». تعامل مع ذلك بوصفه رقمًا من المزود، لكن الاتجاه واقعي: JavaScript محدود وأساس قوي لـCWV. سقف WordPress أعلى مع الإضافات المناسبة، بما فيها schema ومديرو التحويلات وSEO البرمجية، لكن الاعتماد المعتاد على إضافات كثيرة يضر الأداء غالبًا. يناسب Ghost الناشرين الذين يريدون الكتابة بلا عبء إضافات SEO، بينما يناسب WordPress المواقع المعقدة التي تحتاج schema متقدمة أو تكاملات كبيرة. تبسيط الأمر إلى «أسرع، إذن يرتب أفضل» خاطئ؛ Core Web Vitals عامل من عوامل كثيرة، وتعتمد سرعة Ghost بوضع headless بالكامل على الواجهة الأمامية لا Ghost.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.