تحسين محركات البحث في Ghost
دليل إلى SEO في Ghost CMS: الفرق بين الوضع التقليدي وheadless، وما يبنيه Ghost تلقائيًا، وما يتركه لك، وحدود المحتوى المحجوب، وGhost Pro مقابل الاستضافة الذاتية.
اللغات
ينقسم 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 التقنية تلقائيًا: خريطة الموقع ووسوم canonical ووسوم meta وبطاقات المشاركة والبيانات المنظمة، من دون إضافة. وهو سريع افتراضيًا أيضًا. لكن إن شغّلته بوضع «headless»، أي كمصدر محتوى لموقع منفصل، تختفي مزايا SEO المدمجة كلها ويتعين على المطور إعادة بنائها. كما أن المحتوى المخصص للأعضاء لا يمكن أن يظهر في Google أصلًا.
ما Ghost؟
Ghost نظام لإدارة المحتوى، يشبه WordPress لكنه مصمم خصيصًا للمدونات والنشرات البريدية والعضويات المدفوعة، لا لكل أنواع المواقع. تكتب التدوينات في Ghost، وهو ينشرها.
ما يميز Ghost في SEO أنه يعمل بطريقتين مختلفتين تمامًا:
- الطريقة المعتادة، أو الوضع التقليدي. يشغّل Ghost موقعك كله؛ يخزن المحتوى ويحوله إلى صفحات ويب. وهذا ما يستخدمه معظم الناس.
- وضع headless. يصبح Ghost مخزنًا للمحتوى فقط. يسحب موقع منفصل يبنيه مطور، بإطار مثل Next.js أو Astro، المحتوى من Ghost وينشئ الصفحات بنفسه.
يغير هذا الاختيار كل شيء في SEO على Ghost، فضعه في الحسبان.
ما الذي ينفذه Ghost تلقائيًا في الوضع المعتاد؟
إذا شغّلت Ghost بالطريقة المعتادة، فإنه يتولى أساسيات SEO التقنية بصمت ومن دون إعداد:
- خريطة موقع: قائمة تُحدَّث تلقائيًا لصفحاتك على
yourdomain.com/sitemap.xmlويمكنك إرسالها إلى Google وBing. Evidence for this claim Traditional Ghost includes automatic SEO features including XML sitemaps, canonical tags, metadata, and structured data. Scope: Ghost-rendered sites using supported themes; headless frontends must implement their own output. Confidence: high · Verified: Ghost: SEO - وسوم canonical: تخبر محركات البحث أي نسخة من الصفحة هي «الرسمية» كي لا تتنافس الصفحات المكررة.
- عناوين وأوصاف meta: مع قيم احتياطية معقولة إن تركتها فارغة.
- بطاقات المشاركة: وسوم Open Graph وTwitter Card كي تبدو الروابط جيدة عند مشاركتها.
- بيانات منظمة: ترميز Article في الخلفية ليساعد محركات البحث على فهم التدوينة.
- عناوين URL نظيفة وموقع سريع افتراضيًا.
في WordPress ستثبت إضافة مثل Yoast للحصول على معظم ذلك؛ أما في Ghost فهو موجود أصلًا.
ما الذي لا ينفذه Ghost؟
يغطي Ghost الأساسيات لا الإضافات. فهو لا يضيف بيانات منظمة لمسار التنقل أو FAQ، ولا يدعم مواقع اللغات المتعددة (hreflang) دعمًا مدمجًا، ولا يوفر مفتاحًا لكل تدوينة لـ«إخفائها عن Google» في القائمة، ولا قائمة تحقق للكلمات المفتاحية على طريقة Yoast. يحتاج ذلك إلى شفرة أو أداة خارجية.
الخطأ الذي يقع فيه الناس
لا يمكن أن يحتل المحتوى المخصص للأعضاء مراكز في البحث. إن وضعت تدوينة خلف عضوية مدفوعة، أو مجانية تتطلب البريد الإلكتروني، فلن تستطيع Google قراءتها حرفيًا؛ يخفيها Ghost عمن لم يسجل الدخول، ومنهم محركات البحث. الحل هو نشر معاينة أو مقتطف عام يمكنه الترتيب، واستخدام الجزء المحجوب لتحويل القراء إلى مشتركين. لا تتوقع أن تجلب التدوينات المقفلة زيارات البحث.
Evidence for this claim Ghost members-only posts require member authentication, so their protected body is not publicly available to crawlers. Scope: Ghost access settings for members-only and paid-members-only content. Confidence: high · Verified: Ghost: Content accessهل تريد النسخة الكاملة، بما فيها قرار التقليدي مقابل headless، وقائمة إعادة البناء في headless، وschema للمحتوى المحجوب، وGhost Pro مقابل الاستضافة الذاتية؟ انتقل إلى تبويب المتقدم.
الخلاصة — يتفرع 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 على العرض المقيد نفسه الذي يحصل عليه القارئ غير المسجل.
هناك استراتيجيتان واقعيتان:
- معاينة عامة. اعرض مقدمة أو الفقرات الأولى علنًا واحجب الباقي. يوفر Ghost ميزة أصلية للمعاينة العامة؛ ويتولى الجزء العام مهمة الترتيب.
- وصول بعدد محدود. تسمح تطبيقات خارجية بعدد 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 لا واجهتك المنفصلة.
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.
ملخص الذكاء الاصطناعي
نسخة مكثفة من المحتوى المتقدم:
- يتفرع Ghost SEO عند قرار واحد: الوضع التقليدي (Handlebars) مقابل headless (Content API). الوضع هو أكبر عامل يحدد بصمة Ghost في SEO.
- يقدم Ghost التقليدي أساسيات SEO تلقائيًا بلا إضافة: خريطة في
/sitemap.xml، ووسوم canonical ذاتية الإشارة مع canonical مخصص لكل تدوينة منذ مارس 2019، وعنوان ووصف meta بقيم احتياطية، وبطاقات OG/Twitter، وArticle JSON-LD، وعناوين نظيفة، وrobots.txtيحظر/ghost/. وهو سريع افتراضيًا أيضًا. - يفقد Ghost بوضع headless ذلك كله. تظل Content API تعيد حقول البيانات الوصفية، لكن على الواجهة الأمامية إعادة بناء الخريطة وcanonical ووسوم meta والبيانات المنظمة وrobots.txt والتحويلات؛ كما تختفي ميزة سرعة Ghost. استخدم SSR/SSG لا CSR، إذ تختلف قدرة زواحف الذكاء الاصطناعي على العرض بحسب المزود.
- نواقص الوضعين: لا schema من نوع Breadcrumb أو FAQ أو Product، ولا hreflang، ولا مفتاح noindex لكل تدوينة، ولا IndexNow، ولا واجهة للتحويلات. وبعض ذلك مقصود؛ إذ يرفض Ghost أدوات الكلمات المفتاحية الشبيهة بـYoast بوصفها «كتابة للآلات».
- لا يمكن فهرسة المحتوى المحجوب؛ يُحظر على الخادم، فترى Google ما يراه القارئ غير المسجل. استخدم معاينة عامة للترتيب واحجب الباقي للتحويل، ولا تمارس الإخفاء.
- Ghost Pro مقابل الاستضافة الذاتية: مزايا SEO متطابقة؛ يضيف Pro شبكة CDN لكنه يجعل تعديل
robots.txtعبر الدعم، بينما تمنح الاستضافة الذاتية تحكمًا كاملًا. - المزالق: أرشيفات وسوم ومؤلفين منخفضة القيمة، وفهرسة عناوين المعاينة في الإصدارات القديمة، والمحتوى المكرر من مجموعات
routes.yamlالمخصصة، وغياب canonical المخصص في المحتوى المعاد نشره.
الوثائق الرسمية
وثائق من مصادر أولية لدى محركات البحث وGhost نفسه.
- فهم أساسيات JavaScript SEO — ينطبق مباشرة على Ghost بوضع headless: مسار الزحف ← العرض ← الفهرسة، وسبب تأخر رؤية محتوى CSR.
- تفعيل محتوى الاشتراك والمحتوى المدفوع —
NewsArticleمعisAccessibleForFreeوhasPart/cssSelectorللمحتوى المحجوب. - منع الفهرسة باستخدام noindex — وسم meta المسمى
noindexوترويسةX-Robots-Tagللمعاينات ومسار الإدارة. - نظرة عامة على خرائط الموقع — ما ينبغي إرساله؛ ينشئ Ghost واحدة تلقائيًا في الوضع التقليدي.
Bing / Microsoft
- Bing Webmaster Tools — إرسال خرائط الموقع — أرسل
/sitemap.xmlفي Ghost مباشرة. - IndexNow / indexnow.org — بروتوكول الإرسال الفوري الذي لا يدعمه Ghost أصلًا؛ اربطه بخطاف webhook عند النشر.
Ghost (رسمي)
- مساعدة Ghost — SEO — القائمة المرجعية لما يتولاه Ghost تلقائيًا.
- وثائق مطوري Ghost — المعمارية — Ghost بوصفه نظام CMS بلا واجهة أمامية ولا يعتمد على واجهة بعينها.
- وثائق Ghost — عناوين URL والتوجيه —
routes.yamlوالمجموعات وبنية عناوين URL المخصصة. - سجل تغييرات Ghost — عناوين canonical المخصصة — ميزة canonical لكل تدوينة منذ مارس 2019.
- موارد Ghost — SEO لمواقع العضويات — رأي Ghost في SEO للمحتوى المحجوب.
اقتباسات من المصدر
تصريحات مسجلة من وثائق Ghost وفريقه. كل رابط عميق ينتقل إلى موضع العبارة المقتبسة في صفحة المصدر.
Ghost — مزايا SEO المدمجة
- “Ghost automatically creates and updates an XML sitemap for your website to help search engines understand the structure of your site and find all of its content.” (ترجمة) «ينشئ Ghost خريطة موقع XML لموقعك ويحدثها تلقائيًا لمساعدة محركات البحث على فهم بنية الموقع والعثور على محتواه كله». — وثائق مساعدة Ghost. انتقل إلى الاقتباس
- “Ghost adds canonical tags across your site to tell search engines which version of a page they should consider the ‘official’ one. This helps prevent problems with duplicate content.” (ترجمة) «يضيف Ghost وسوم canonical في أنحاء موقعك ليخبر محركات البحث بأي نسخة من الصفحة ينبغي اعتبارها النسخة الرسمية. ويساعد ذلك على منع مشكلات المحتوى المكرر». — وثائق مساعدة Ghost. انتقل إلى الاقتباس
- “Ghost automatically includes structured data in all posts and pages. This helps search engines understand the content and context of your pages.” (ترجمة) «يضمّن Ghost البيانات المنظمة تلقائيًا في جميع التدوينات والصفحات. ويساعد ذلك محركات البحث على فهم محتوى صفحاتك وسياقه». — وثائق مساعدة Ghost. انتقل إلى الاقتباس
Ghost — معمارية headless
- “Ghost is a full headless CMS which is completely agnostic of any particular front end or static site framework.” (ترجمة) «Ghost نظام CMS كامل بلا واجهة أمامية ولا يعتمد إطلاقًا على واجهة أمامية أو إطار محدد للمواقع الثابتة». — وثائق مطوري Ghost. انتقل إلى الاقتباس
Ghost — المحتوى المحجوب والزحف
- “Google can’t crawl protected content on your page, because that’s only ever available to logged in members.” (ترجمة) «لا تستطيع Google زحف المحتوى المحمي في صفحتك، لأنه لا يتاح إلا للأعضاء المسجلين دخولهم». — Kym، من فريق Ghost، في منتدى Ghost. انتقل إلى الاقتباس
Ghost — عناوين canonical المخصصة (مارس 2019)
- تتيح الميزة “implement custom canonical links directly in the Ghost editor for guest posts, multiple versions of the same page or when you need to curate a list of links to external sources.” (ترجمة) «تطبيق روابط canonical مخصصة مباشرة في محرر Ghost لتدوينات الضيوف، أو النسخ المتعددة من الصفحة نفسها، أو حين تحتاج إلى تنسيق قائمة روابط لمصادر خارجية». — سجل تغييرات Ghost. انتقل إلى الاقتباس
Ghost — عن مزايا SEO المتقدمة (رد الفريق)
- “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 لتحسين الكلمات المفتاحية أنها تشجعنا على كتابة البيانات الوصفية للآلات بدل البشر». — فريق Ghost، منتدى Ghost. انتقل إلى الاقتباس
- وعن قائمة رغبات لمزايا SEO المتقدمة، مثل schema لمسار التنقل وhreflang وضوابط noindex: “This isn’t on our radar at the moment.” (ترجمة) «هذا ليس ضمن خططنا في الوقت الحالي». — فريق Ghost، منتدى Ghost. انتقل إلى الاقتباس
Ghost — الأداء (قياس من المزود)
- “Independent tests have found Ghost to be up to 1,900% faster than WordPress.” (ترجمة) «وجدت اختبارات مستقلة أن Ghost أسرع من WordPress بنسبة تصل إلى 1 900 %». — صفحة Ghost مقابل WordPress. انتقل إلى الاقتباس
قائمتا تحقق: Ghost التقليدي وGhost بوضع headless
Ghost التقليدي — تحقق بعد الإطلاق
- يعمل
/sitemap.xmlوأُرسل إلى Google Search Console وBing Webmaster Tools. - ما زال
robots.txtيحظر/ghost/ولا يحظر شيئًا تريد فهرسته. - تظهر وسوم canonical في التدوينات والصفحات، وللتدوينات المعاد نشرها أو تدوينات الضيوف
canonical_urlمخصص. - عناوين وأوصاف meta مضبوطة، أو قيم العنوان والمقتطف الاحتياطية مقبولة.
- تُعرض معاينات بطاقات OG/Twitter بصورة صحيحة عند مشاركة تدوينة.
- يجتاز Article JSON-LD اختبار النتائج المنسقة.
- روجعت أرشيفات
/tag/و/author/منخفضة القيمة؛ ضع noindex على غير المفيد منها. - للتدوينات المخصصة للأعضاء معاينة عامة إن أردت جذب زيارات البحث.
- أضيفت أي schema متقدمة تحتاج إليها، مثل Breadcrumb أو FAQ أو Product، عبر حقن الشفرة؛ فلن ينشئها Ghost.
Ghost بوضع headless — قائمة التنفيذ الكاملة
- تعرض الواجهة الأمامية المحتوى عبر SSR أو SSG لا CSR، إذ يحقق HTML الخام أوسع تغطية لزواحف الذكاء الاصطناعي.
- تُنشأ خريطة الموقع من Content API وتظل محدثة.
- تُعرض وسوم canonical بوصفها عناوين URL مطلقة مشتقة من قيمة
SITE_URLواحدة في طبقة العرض. - تُسحب عناوين وأوصاف meta وOG/Twitter من حقول Content API وتُربط داخل
<head>. - يُعاد بناء بيانات JSON-LD المنظمة في الواجهة الأمامية.
- تقدم الواجهة الأمامية
robots.txtولا تحظر.js/.css. - تعالج الواجهة الأمامية أو طبقة CDN تحويلات 301/302.
- تُرجع بيئات نشر المعاينة والفروع ترويسة
noindexعلى مستوى المستضيف. - تُقاس Core Web Vitals؛ اختفت ميزة سرعة Ghost وأصبح الإطار مسؤولًا عنها.
- رُبط IndexNow بخطاف النشر webhook لـBing وغيره.
النماذج الذهنية
1. الوضع هو المنتج. قبل أي نقاش عن Ghost SEO، أجب عن سؤال واحد: هل الإعداد تقليدي أم headless؟ Ghost التقليدي نظام SEO شبه مكتمل، أما Ghost بوضع headless فواجهة API مجردة للمحتوى. تكاد كل مسألة في Ghost SEO تُحسم بتحديد الوضع المستخدم.
2. «Headless يعني إعادة بناء كل شيء». كل سلوك تلقائي في الوضع التقليدي، من الخريطة وcanonical ووسوم meta وبطاقات OG وJSON-LD وrobots.txt، يصبح خطوة بناء مقصودة في واجهتك الأمامية. تعطيك Content API البيانات، وعليك عرضها. إن كان شيء «مفقودًا» في بناء headless، فغالبًا لم تُعَد الميزة المدمجة المقابلة تنفيذه أصلًا.
3. يغطي Ghost الأساسيات لا الإضافات. في كلا الوضعين يمنحك Ghost schema من نوع Article ويتوقف. لا يضم Breadcrumb أو FAQ أو HowTo أو Product أو hreflang أو noindex لكل تدوينة أو IndexNow. خطط لحقن شفرة أو أدوات خارجية إن احتاج مجالك إليها.
4. المحتوى العام يرتب، والمحجوب يحول. لا ترى محركات البحث محتوى الأعضاء بحكم التصميم. لا تحاول مقاومة ذلك؛ استخدم معاينة عامة لتتولى الترتيب والحاجز لتحويل القارئ. ولا تمارس الإخفاء لإظهار محتوى لـGoogle أكثر مما يراه القراء.
5. Pro مقابل الاستضافة الذاتية قرار بنية تحتية، لا مزايا SEO.
برنامج SEO متطابق. اختر بناءً على التحكم: يمنحك Ghost Pro شبكة CDN لكنه لا يتيح تعديل robots.txt إلا عبر الدعم، بينما تمنحك الاستضافة الذاتية تحكمًا كاملًا بالخادم وCDN الخاصة بك.
Ghost SEO — ورقة مرجعية
التقليدي مقابل headless: ما الذي تحصل عليه؟
| الميزة | التقليدي (Handlebars) | Headless (Content API) |
|---|---|---|
| خريطة XML | ✅ تلقائية في /sitemap.xml | ❌ ابنها بنفسك |
| وسوم canonical | ✅ تلقائية + مخصصة لكل تدوينة | ❌ اعرضها في الواجهة الأمامية |
| عنوان ووصف meta | ✅ مع قيم احتياطية | ⚠️ تعيد API البيانات، وأنت تعرضها |
| بطاقات OG / Twitter | ✅ تلقائية | ⚠️ تعيد API البيانات، وأنت تعرضها |
| Article JSON-LD | ✅ تلقائية | ❌ أعد بناءها |
| robots.txt | ✅ افتراضي ويحظر /ghost/ | ❌ قدمه من الواجهة الأمامية |
| السرعة / Core Web Vitals | ✅ سريع افتراضيًا | ⚠️ تعتمد على إطارك |
غير مدمج مطلقًا في أي من الوضعين
- schema من نوع Breadcrumb أو FAQ أو HowTo أو Product أو Recipe أو Video ← حقن شفرة
- Hreflang أو SEO الدولي ← Weglot أو ConveyThis أو عمل في القالب
- مفتاح noindex لكل تدوينة ← حقن شفرة
- IndexNow ← webhook مخصص عند النشر
- واجهة التحويلات ←
redirects.yamlفي الاستضافة الذاتية أو مدير Ghost Pro
قواعد المحتوى المحجوب
- يُحظر محتوى الأعضاء على الخادم ← غير قابل للفهرسة.
- استخدم ميزة المعاينة العامة لإظهار مقتطف يمكنه الترتيب.
- schema للمحتوى المدفوع (
NewsArticle+isAccessibleForFree: false) ليست تلقائية ← حقن شفرة. - لا تمارس الإخفاء مطلقًا، أي تقديم المحتوى كاملًا لـGooglebot وجدار مدفوع للمستخدمين ← خطر إجراء يدوي.
Pro مقابل الاستضافة الذاتية
- مزايا SEO نفسها في كليهما.
- Ghost Pro: شبكة CDN مضمنة، وتغيير
robots.txtيتطلب التواصل مع الدعم. - الاستضافة الذاتية: تحكم كامل في robots.txt والترويسات والتحويلات وCDN الخاصة بك.
أخذ عينة من تدوينات Ghost عبر خريطة الموقع
نزّل أولًا خريطة الموقع المعنية، واستخرج قائمة ممثلة من عناوين URL إلى urls.txt، ثم افحص ما ينشره القالب أو واجهة headless:
while IFS= read -r url; do
html=$(mktemp)
status=$(curl -sSL -o "$html" -w '%{http_code}' "$url")
canonical=$(grep -Eio '<link[^>]+rel=["'"']canonical["'"'][^>]*>' "$html" | head -1)
robots=$(grep -Eio '<meta[^>]+name=["'"']robots["'"'][^>]*>' "$html" | head -1)
printf '%s\t%s\t%s\t%s\n' "$status" "$url" "$canonical" "$robots"
rm -f "$html"
done < urls.txtضمّن أمثلة عامة ومحجوبة، وصفحات وسوم ومؤلفين، وعناوين حُولت حديثًا. يفحص ذلك الناتج العام من دون وضع مفتاح Ghost Content API في السكربت.
أدوات Ghost SEO
- URL Inspection (Google Search Console): اعرف كيف زُحفت صفحة Ghost وعُرضت. وهي أساسية في بناء headless لكشف فجوات CSR التي لم يصل فيها المحتوى إلى HTML المعروض.
- Rich Results Test: تأكد من وجود Article JSON-LD التلقائي في Ghost التقليدي، أو JSON-LD المخصص في headless، وصحته بعد أي تغيير في القالب أو العرض.
- Bing Webmaster Tools: أرسل خريطة Ghost وراقب الفهرسة ونتائج عمليات إرسال IndexNow.
- Screaming Frog SEO Spider: ازحف الموقع لكشف أرشيفات الوسوم والمؤلفين منخفضة القيمة، وسلاسل التحويلات، والفروق بين HTML الخام والمعروض في headless.
- Ahrefs Site Audit: يكشف canonical المعطلة والبيانات الوصفية المفقودة ومشكلات قابلية الفهرسة في الموقع كله؛ ويفيد في رصد المحتوى المكرر من مجموعات
routes.yamlالمخصصة. - لوحة البيانات الوصفية في محرر Ghost: موضع تعيين العنوان والوصف المخصصين لكل تدوينة وتجاوزات OG/Twitter وعنوان canonical المخصص.
أخطاء Ghost SEO التي ينبغي تجنبها
أخطاء ملموسة يقع فيها مستخدمو Ghost؛ الهدف منعها لا تشخيصها.
معاملة Ghost التقليدي وGhost بوضع headless بوصفهما مشكلة SEO واحدة. سبب الخطأ: يقدم Ghost التقليدي الخريطة وcanonical ووسوم meta وبطاقات OG/Twitter وArticle JSON-LD تلقائيًا، بينما Ghost بوضع headless واجهة API مجردة للمحتوى لا تملك شيئًا من ذلك. كثيرًا ما تكون النصيحة المكتوبة لأحد الوضعين غير صالحة للآخر. البديل: قبل لمس أي شيء، أكد الوضع المستخدم ثم اتبع قائمة التحقق المطابقة أعلاه.
توقع أن يجلب محتوى الأعضاء زيارات البحث. سبب الخطأ: يحظر Ghost المحتوى المحجوب على الخادم، فترى Google العرض المقيد نفسه الذي يراه الزائر غير المسجل؛ ولا يوجد محتوى تفهرسه. البديل: انشر معاينة عامة أو مقتطفًا عبر ميزة المعاينة العامة الأصلية في Ghost، ودع الجزء العام يتولى الترتيب والحاجز يحول القراء الذين يصلون عبره.
الإخفاء للتحايل على الحاجز.
سبب الخطأ: عرض المقالة كاملة لـGooglebot بينما يواجه القراء جدارًا مدفوعًا يخالف إرشادات Google ويعرضك لإجراء يدوي؛ ليس حيلة ذكية بل مخالفة للسياسة.
البديل: إذا احتجت إلى إتاحة اكتشاف المحتوى المحجوب، فاستخدم ترميز Google للمحتوى المدفوع، أي NewsArticle مع isAccessibleForFree: false وhasPart/cssSelector للمنطقة المحجوبة، وأضفه بحقن الشفرة لأن Ghost لا ينشئه، بدل تقديم HTML مختلف للزاحف.
إعادة نشر محتوى أو تدوينة ضيف من دون تعيين canonical مخصص.
سبب الخطأ: وسم canonical الافتراضي في Ghost ذاتي الإشارة، لذلك تخبر التدوينة المعاد نشرها أو تدوينة الضيف محركات البحث بأنها هي الأصل، فتنافس المصدر.
البديل: عيّن canonical_url لكل تدوينة في لوحة البيانات الوصفية بالمحرر، أو عبر Admin API، ليشير إلى الأصل؛ فالخاصية موجودة منذ مارس 2019.
نشر واجهة headless تعرض المحتوى لدى العميل. سبب الخطأ: يجب على Googlebot وضع صفحات CSR في طابور لتمريرة عرض لاحقة، بينما تختلف إمكانات العرض لدى زواحف الذكاء الاصطناعي بحسب المزود؛ وقد يكون المحتوى الذي لا يوجد إلا بعد جلب لدى العميل غير مرئي للأدوات التي تجلب HTML فقط. البديل: اعرض على الخادم أو وقت البناء (SSR/SSG) في أي إطار يسحب من Content API، وتحقق باستخدام أداة URL Inspection في GSC من أن HTML المعروض يحتوي المحتوى فعلًا.
افتراض أن Ghost Pro يمنحك تحكم البنية التحتية نفسه في الاستضافة الذاتية.
سبب الخطأ: برنامج SEO متطابق في الحالتين، لكن Ghost Pro لا يتيح تعديل robots.txt مباشرة؛ يجب التواصل مع الدعم، وهو قيد حقيقي إن احتجت إلى تغيير سريع في إعداد headless أو الوضع الخاص.
البديل: ضع تأخر تذكرة الدعم في خطة الإطلاق على Ghost Pro، أو استضف ذاتيًا إن احتجت إلى تغيير robots.txt بنفسك خلال مهلة قصيرة.
أي مسار Ghost SEO ينطبق عليك؟
أهم تفرع هو التقليدي مقابل headless، وفي headless ما إذا كانت الواجهة الأمامية تعرض على الخادم. أجب بصدق؛ يقود الفرع الخطأ إلى عمل لا ينطبق على إعدادك.
What does my Ghost setup need for SEO?
مطالبات جاهزة للنسخ لمهام Ghost SEO
الصق المدخل المحدد في مساعد ذكاء اصطناعي، وافحص الناتج مقابل الإرشادات أعلاه قبل التصرف بناءً عليه.
1. دقق واجهة Ghost بوضع headless بحثًا عن حقول SEO المفقودة. ما الذي تلصقه: HTML المعروض لصفحة من واجهتك بوضع headless، سواء مصدر الصفحة أو DOM بعد تشغيل JavaScript، مع استجابة Content API للتدوينة نفسها.
I'm running Ghost as a headless CMS. Here is the Content API response for a post,
followed by the final rendered HTML of that post's page on my frontend.
[paste Content API JSON response]
[paste rendered HTML]
Compare them and tell me which of these are present in the rendered HTML and
correctly populated from the API data: canonical tag, meta title, meta description,
Open Graph tags, Twitter Card tags, and Article JSON-LD structured data. List
anything missing or mismatched.الناتج المتوقع: قائمة تحقق لكل حقل تكشف أي عنصر من العناصر الستة غائب عن HTML المعروض أو غير مطابق لقيم API، مثل meta_title وcanonical_url. أكد يدويًا أي فجوة يبلغ عنها قبل إصلاحها.
2. اكتب Article JSON-LD لتدوينة Ghost بوضع headless. ما الذي تلصقه: حقول Content API لتدوينة، وهي العنوان والمقتطف وتاريخ النشر وتاريخ التحديث والمؤلف وعنوان URL للصورة البارزة وعنوان canonical.
Using this Ghost Content API data for a blog post, write valid Article JSON-LD
structured data I can inject into my headless frontend's <head>. Include
headline, datePublished, dateModified, author, publisher, and image.
[paste post JSON: title, excerpt, published_at, updated_at, primary_author, feature_image, canonical_url]الناتج المتوقع: كتلة <script type="application/ld+json"> واحدة. تحقق منها في Rich Results Test من Google قبل النشر، لأن النموذج قد يربط حقلًا على نحو خاطئ أو يسقط خاصية مطلوبة.
3. افحص تدوينة معاد نشرها أو تدوينة ضيف بحثًا عن canonical مخصص مفقود.
ما الذي تلصقه: slug التدوينة وحقل canonical_url فيها، أو عبارة “not set”، وعنوان URL للمصدر الأصلي الذي أُعيد نشرها منه.
This is a guest post or syndicated republish on my Ghost site. Here's the post
slug, its current canonical_url setting, and the URL of the original source.
Slug: [slug]
Current canonical_url: [value or "not set"]
Original source URL: [URL]
Tell me whether the canonical is set correctly to point at the original, and if
not, what canonical_url value I should set in the Ghost editor's metadata panel.الناتج المتوقع: إجابة نعم أو لا عن صحة canonical، مع عنوان URL الدقيق الذي تلصقه في حقل canonical المخصص إن كان الإعداد خاطئًا.
اختبر معلوماتك: Ghost SEO
خمسة أسئلة سريعة عن طريقة عمل SEO في Ghost CMS. اختر إجابة لكل سؤال ثم تحقق منها.
موارد تستحق وقتك
كتاباتي ذات الصلة
- دليل المبتدئين إلى Technical SEO — موضع SEO للمنصات وأنظمة CMS ضمن الصورة الأكبر.
- مشكلات JavaScript SEO وأفضل الممارسات — جانب العرض الذي يتحول إليه Ghost بوضع headless: أنماط العرض والبيانات الوصفية وcanonical في JavaScript وقاعدة
.js/.cssفي robots.txt. - Robots.txt وSEO: كل ما تحتاج إلى معرفته — ذو صلة بقاعدة الحظر الافتراضية
/ghost/في Ghost وقيد robots.txt في Ghost Pro.
محاضراتي
- كيف يعمل البحث (SlideShare) — الزحف والعرض والفهرسة والترتيب؛ وهي المراحل التي يجب أن يجتازها محتوى Ghost المحجوب ومحتوى headless. (وينطبق تنبيهي الدائم: “This is my understanding of systems… not going to be 100% complete or accurate.” (ترجمة) «هذا فهمي للأنظمة… ولن يكون كاملًا أو دقيقًا بنسبة 100 %».)
من أرجاء المجال
- مساعدة Ghost — SEO — قائمة Ghost لما يتولاه تلقائيًا؛ المصدر الأولي المرجعي.
- وثائق مطوري Ghost — المعمارية — Ghost بوصفه نظام CMS بلا واجهة أمامية وكيف يعمل فصل API عن الواجهة.
- استخدام Ghost بوصفه نظام CMS بلا واجهة أمامية مع Next.js (Draft.dev) — شرح عملي لإعداد headless الذي يجب أن تعيد بناء SEO فيه.
- Ghost Blog SEO: تجاربي ونتائجي (Norbert Hires) — بيانات ممارس أولية وقيود صريحة من تشغيل Ghost.
- ترميز Schema في Ghost (Bright Themes) — كيفية إضافة schema المتقدمة التي لا ينشئها Ghost.
- مسارات التنقل في Ghost (Bright Themes) — تطبيق schema لمسار التنقل الذي لا يقدمه Ghost.
- التحكم في البيانات المنظمة في Ghost (ashryan.io) — تجاوز JSON-LD الافتراضي في Ghost وتوسيعه.
- r/TechSEO — مجتمع تصحيح أخطاء الزحف والفهرسة والعرض الذي تصل إليه أسئلة Ghost بوضع headless.
سجل التغييرات
تم التحديث في 22 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 12 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 12 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.