المدوّنة
مدونة Smart SEO

ربط API ووردبريس بمنصات النشر: دليل تقني عملي 2026

كُتب هذا المقال وحُسّن ونُشر تلقائيًا عبر Smart SEO — منصّة المحتوى ومحرّكات البحث. ابدأ الآن →
ربط API ووردبريس بمنصات النشر: دليل تقني عملي 2026
محتويات المقال

ربط API ووردبريس بمنصات النشر يحتاج ثلاثة عناصر فقط: رابط /wp-json/wp/v2/ الخاص بموقعك، حساب بصلاحية محرر أو مدير، وكلمة مرور تطبيق (Application Password). بهذه الثلاثة تستطيع إرسال مقال كامل بصورته وتصنيفاته وحقول السيو من أي أداة خارجية خلال ثوانٍ. لا إضافات، لا أكواد معقدة. سأشرح لك الخطوات بالترتيب الذي أستخدمه فعلياً مع مواقع عربية ومتاجر، مع الأخطاء التي ستواجهها على الأرجح في أول محاولة وكيفية تجاوزها بسرعة.

ما الذي يعنيه ربط API ووردبريس بمنصات النشر فعلياً؟

يعني أن تتحدث أداة خارجية مع موقعك مباشرة عبر طلبات HTTP بدل تسجيل الدخول للوحة التحكم. ترسل المنصة الخارجية بيانات المقال بصيغة JSON إلى نقطة نهاية محددة، فيردّ ووردبريس برقم المنشور ورابطه. النتيجة: نشر آلي كامل بلا لمسة يد بشرية.

واجهة REST API مدمجة في نواة ووردبريس منذ الإصدار 4.7 الصادر في ديسمبر 2016، أي أن 99% من المواقع تملكها جاهزة الآن. جرّب بنفسك: افتح متصفحك واكتب عنوان موقعك متبوعاً بـ /wp-json/. إن ظهرت لك كتلة JSON طويلة فيها اسم الموقع ووصفه، فالواجهة تعمل.

ما الفائدة العملية؟ تخيّل متجراً يبيع قطع غيار سيارات ويحتاج 20 مقالاً شهرياً حول موديلات مختلفة. بدل أن ينسخ أحدهم النص ويلصقه ويرفع الصورة ويضبط التصنيف، تُرسل الأداة كل شيء دفعة واحدة وتتابع النشر حسب جدول محدد مسبقاً.

الفرق بين هذا وبين إضافات النشر التقليدية هو التحكم. مع الـ API تحدد أنت بالضبط أي حقل يُملأ، وأي حالة يأخذها المقال (مسودة، مجدول، منشور)، وأي مؤلف يظهر اسمه. وإن أردت رؤية الصورة الأوسع للأتمتة قبل الغوص في التفاصيل، فمقال تكامل ووردبريس مع أدوات المحتوى يشرح المنظومة كاملة.

تجهيز ووردبريس: كلمة مرور التطبيق في دقيقتين

ابدأ من هنا ولا تستخدم كلمة مرور حسابك الأصلية أبداً. ووردبريس أضاف ميزة Application Passwords في الإصدار 5.6 تحديداً لهذا الغرض: مفتاح منفصل لكل تطبيق، يمكن إلغاؤه وحده دون تعطيل حسابك.

  • ادخل إلى المستخدمون ← ملفك الشخصي في لوحة التحكم.
  • انزل إلى قسم كلمات مرور التطبيقات واكتب اسماً وصفياً مثل "Make - نشر المدونة".
  • اضغط "إضافة"، فتظهر سلسلة من 24 حرفاً موزعة على ست مجموعات.
  • انسخها فوراً؛ لن تُعرض مرة أخرى بعد إغلاق الصفحة.

لا ترى القسم أصلاً؟ السبب في الغالب أن موقعك يعمل على HTTP بدل HTTPS، لأن ووردبريس يخفي الميزة على الاتصالات غير المشفرة. بعض شركات الاستضافة العربية تعطّلها أيضاً عبر فلتر wp_is_application_passwords_available، وحلها طلب بسيط للدعم الفني.

أنشئ حساباً مخصصاً للأتمتة بدل استخدام حساب المدير. أعطه دور "محرر" فقط، فهو يكفي تماماً لإنشاء المقالات ورفع الصور، ويمنع أي أداة مخترقة من تثبيت إضافات أو تعديل المستخدمين. أسمّي هذا الحساب عادة api-publisher وأضع له بريداً فرعياً حقيقياً لاستقبال الإشعارات.

الخطوة الأخيرة قبل أول طلب: تأكد من أن الروابط الدائمة ليست على وضع "عادي". اذهب إلى الإعدادات ← الروابط الدائمة واختر "اسم المقالة"، ثم احفظ. هذا وحده يمنع خطأ rest_no_route الذي يوقف نصف المبتدئين عند المحاولة الأولى.

أول طلب نشر: بنية POST إلى wp/v2/posts

الآن الجزء الممتع. نقطة النهاية للنشر هي https://موقعك.com/wp-json/wp/v2/posts بطريقة POST، مع ترويسة Authorization: Basic تحمل "اسم المستخدم:كلمة مرور التطبيق" مشفرة بصيغة Base64، وترويسة Content-Type: application/json.

جسم الطلب في أبسط صوره يحتوي على ثلاثة مفاتيح: title و content و status. أرسل status بقيمة draft في أول تجربة لك. صدقني، رؤية مسودة تظهر في اللوحة أفضل بكثير من نشر عشرة مقالات تجريبية أمام زوارك.

الحقول التي أستخدمها في الإنتاج الفعلي:

  • slug: الرابط اللطيف. اكتبه بالإنجليزية المختصرة للمواقع العربية؛ الروابط العربية تتحول إلى رموز طويلة عند المشاركة.
  • excerpt: المقتطف الذي تعرضه أرشيفات القالب.
  • author: رقم معرّف المستخدم، لا اسمه.
  • date: تاريخ بصيغة ISO 8601 مثل 2026-10-02T09:00:00 مع status=future للجدولة.
  • categories وtags: مصفوفات أرقام وليست نصوصاً.

رد الخادم الناجح يحمل الكود 201 ويعيد كائن المقال كاملاً. احفظ منه قيمتي id وlink في جدول عندك؛ ستحتاجهما لاحقاً للتحديث أو لإضافة روابط داخلية بين المقالات.

نصيحة من تجربة مؤلمة: اختبر الطلب أولاً في Postman أو عبر curl من جهازك قبل بنائه داخل أي منصة أتمتة. تصحيح خطأ في أداة واحدة أسهل بمراحل من تفكيك سيناريو مكوّن من عشر خطوات.

رفع الصورة البارزة وضبط التصنيفات

هنا يتعثر معظم الناس. الصورة لا تُرسل داخل جسم المقال، بل تُرفع أولاً إلى مكتبة الوسائط عبر /wp-json/wp/v2/media، ثم تربط رقمها بالمقال في حقل featured_media.

طلب الرفع يختلف عن طلب النشر: ترسل الملف كبيانات ثنائية (binary) مع ترويسة Content-Disposition: attachment; filename="car-parts.jpg" وترويسة Content-Type مطابقة لنوع الصورة مثل image/jpeg. اسم الملف مهم لأنه يصبح جزءاً من الرابط، فاكتبه إنجليزياً ووصفياً.

بعد نجاح الرفع ستحصل على رقم مثل 4821. أرسل بعدها طلب POST جديداً للمقال يتضمن featured_media: 4821، أو حدّث مقالاً موجوداً بطلب POST إلى /wp/v2/posts/{id}. يمكنك أيضاً تحديث النص البديل للصورة بإرسال حقل alt_text إلى /wp/v2/media/{id}، وهذه خطوة يتجاهلها الجميع رغم أثرها المباشر على ظهورك في بحث الصور.

أما التصنيفات فتحتاج أرقاماً. اجلب قائمتها مرة واحدة من /wp/v2/categories?per_page=100 واحفظها في جدول مرجعي داخل أداة الأتمتة. لو أردت إنشاء وسم جديد تلقائياً عندما لا يوجد، أرسل POST إلى /wp/v2/tags بالاسم، وإن كان موجوداً سيعيد ووردبريس خطأ term_exists يتضمن الرقم الحالي داخل بيانات الخطأ — استخرجه واستخدمه بدل أن تعتبره فشلاً.

تنبيه صغير يوفر ساعات: بعض القوالب لا تعرض الصورة البارزة إن كان عرضها أقل من الحد الذي يحدده القالب. ارفع صوراً بعرض 1200 بكسل على الأقل.

المنصات الخارجية: أيها تختار ولماذا

لديك أربعة مسارات واقعية، ولكل واحد جمهوره. سأقول رأيي بصراحة بدل سرد المزايا بحياد.

Make.com هو الأسهل بصرياً. يحتوي على وحدة WordPress جاهزة، وإن نقصتك إمكانية ما تستخدم وحدة HTTP العامة وترسل الطلب يدوياً. التسعير بالعمليات، ما يعني أن سيناريو من خمس خطوات يستهلك خمس عمليات لكل مقال.

n8n خياري المفضل لمن ينشر بكثافة. استضفه على خادم صغير بـ 5 دولارات شهرياً وانشر آلاف المقالات بلا تكلفة إضافية لكل عملية. منطق إعادة المحاولة والتفرّع فيه أقوى، وتبقى بيانات موقعك عندك.

Zapier عملي جداً لمن يريد ربطاً واحداً بسيطاً ولا يحب الإعدادات، لكنه الأغلى عند التوسع.

Smart SEO يختصر المسار كله: تلصق الرابط واسم المستخدم وكلمة مرور التطبيق، فيتولى التوليد والنشر وحقول السيو والصور دفعة واحدة دون بناء سيناريو. إن كان هدفك النتيجة لا الهندسة، ابدأ من دليل ربط ووردبريس بسيو تلقائي وستنتهي في أقل من عشر دقائق.

للمقارنة التفصيلية بالأسعار والقدرات على المحتوى العربي، راجع مقارنة منصات أتمتة النشر لعام 2026.

إرسال حقول السيو: Yoast وRank Math عبر الواجهة

المقال المنشور بلا عنوان سيو ولا وصف تعريفي يضيّع نصف قيمة الأتمتة. المشكلة أن إضافات السيو تخزّن بياناتها في حقول مخصصة (post meta) لا تُعرض في الـ API افتراضياً لأسباب أمنية.

الحل مسطر واحد تقريباً: سجّل الحقول التي تحتاجها بدالة register_post_meta داخل ملف إضافة صغيرة خاصة بك، مع show_in_rest => true وsingle => true وصلاحية كتابة مقيّدة بمن يملك edit_posts.

  • لـ Rank Math: الحقول rank_math_title وrank_math_description وrank_math_focus_keyword.
  • لـ Yoast: الحقول _yoast_wpseo_title و_yoast_wpseo_metadesc.

انتبه للشرطة السفلية في بداية حقول Yoast؛ الحقول التي تبدأ بها تُعامل كحقول محمية، وتحتاج فلتر is_protected_meta أو تسجيلها بالطريقة الصحيحة حتى تقبل الكتابة. هذه النقطة بالذات تستهلك ساعة كاملة من وقت كل مطور يجربها أول مرة.

بعد التسجيل، أضف كائن meta داخل جسم طلب النشر يحمل قيمك، وستجدها ظاهرة في صندوق الإضافة داخل المحرر مباشرة. تحقق دائماً من مقال واحد بصرياً قبل تشغيل الدفعة الكاملة.

الوصف التعريفي يُقصّ عند حدود معينة في نتائج البحث، فاكتبه بين 140 و155 حرفاً. أما عنوان السيو فاجعله مختلفاً قليلاً عن عنوان H1 حتى تغطي صيغتين مختلفتين من الاستعلام. Rank Math أسهل في التعامل عبر الـ API من Yoast، وهذا سبب كافٍ لترجيحه إن كنت لا تزال تختار.

كيف تؤمّن الاتصال وتتجنب أخطاء 401 و403؟

استخدم HTTPS دائماً، وحساباً بدور محرر لا مدير، وكلمة مرور تطبيق منفصلة لكل أداة. خطأ 401 يعني أن بيانات الاعتماد لم تصل أو خاطئة، و403 يعني أنها وصلت لكن جدار حماية أو صلاحية منعت العملية. افحص الترويسة أولاً، ثم إضافات الأمان، ثم إعدادات الخادم.

السبب الأشهر لخطأ 401 على الاستضافات المشتركة ليس كلمة المرور إطلاقاً، بل أن خادم Apache يحذف ترويسة Authorization قبل أن تصل إلى PHP عند التشغيل بوضع CGI/FastCGI. العلاج سطر واحد في ملف .htaccess:

  • CGIPassAuth On داخل قسم الإعدادات، أو بديلاً
  • قاعدة إعادة كتابة تمرر الترويسة إلى متغير HTTP_AUTHORIZATION.

أما 403 فمصدره غالباً إضافة أمان مثل Wordfence أو قواعد ModSecurity عند الاستضافة، وأحياناً Cloudflare. الحل: أضف مسار /wp-json/wp/v2/* إلى قائمة الاستثناءات، أو اسمح بعنوان IP الخاص بمنصة الأتمتة إن كان ثابتاً.

احمِ نفسك من الجهة الأخرى أيضاً. عطّل واجهة XML-RPC القديمة إن لم تستخدمها، وامنع تعداد المستخدمين عبر /wp/v2/users بفلتر بسيط، وفعّل تسجيل الدخول بخطوتين لحسابات البشر. كلمة مرور التطبيق لا تتأثر بالتحقق الثنائي، وهذه ميزتها الكبرى.

راجع قائمة كلمات مرور التطبيقات كل ثلاثة أشهر واحذف ما لم يعد مستخدماً. ووردبريس يعرض تاريخ آخر استخدام لكل مفتاح؛ أي مفتاح لم يُستخدم منذ شهرين هو باب مفتوح بلا سبب.

الأخطاء الشائعة والمراقبة بعد التشغيل

أخطر مشكلة في النشر الآلي ليست الفشل، بل النجاح المتكرر. أداة تعيد المحاولة بعد انقطاع شبكة فتنشر المقال مرتين، فتجد نسختين متطابقتين تتنافسان على الكلمة نفسها.

الحل الذي أعتمده: أرسل مع كل مقال حقلاً مخصصاً باسم external_id يحمل معرّفاً فريداً من نظامك. قبل أي نشر، ابحث في /wp/v2/posts?meta_key=external_id&meta_value=... أو ببساطة تحقق من الـ slug عبر ?slug=. إن وُجد، حدّث بدل أن تنشئ.

قائمة سريعة بالأخطاء المتكررة وحلولها:

  • rest_no_route: الروابط الدائمة على وضع "عادي" أو المسار مكتوب خطأ.
  • rest_cannot_create: دور المستخدم لا يملك صلاحية النشر.
  • 429: تجاوزت حد الطلبات؛ أضف تأخيراً تصاعدياً بين المحاولات.
  • محتوى مشوّه: أرسل JSON بترميز UTF-8 وإلا ستتحول العربية إلى علامات استفهام.
  • 504: الصورة كبيرة جداً؛ اضغطها تحت 300 كيلوبايت قبل الرفع.

بعد استقرار الربط، راقب النتيجة لا العملية فقط. اربط Search Console وتابع معدل الفهرسة الأسبوعي، وسجّل كل عملية نشر في جدول بسيط يحمل الوقت ورمز الاستجابة ورقم المقال. ولضبط الإيقاع بدل النشر العشوائي، يفيدك ربط النشر التلقائي بالتقويم التحريري.

ابدأ اليوم بخطوة واحدة صغيرة: أنشئ كلمة مرور تطبيق، وأرسل مقالاً تجريبياً واحداً بحالة مسودة. إن وصلت المسودة، فكل ما تبقى تفاصيل قابلة للبناء فوقها. جرّب الربط بنفسك، أو وفّر الوقت واستخدم أداة تتولى الطلبات والصور وحقول السيو نيابة عنك من أول يوم. الفارق بين موقع ينشر مقالين شهرياً وآخر ينشر عشرين ليس الميزانية غالباً — بل وجود أنبوب نشر يعمل بلا تدخل يومي.

الأسئلة الشائعة

هل أحتاج إضافة خاصة لتفعيل REST API في ووردبريس؟

لا. الواجهة مدمجة في النواة منذ الإصدار 4.7، وتعمل تلقائياً على أي موقع حديث. تأكد فقط بفتح رابط موقعك متبوعاً بـ /wp-json/ في المتصفح. إن ظهر JSON فأنت جاهز. أما إن ظهرت صفحة 404، فالسبب غالباً إعداد الروابط الدائمة أو إضافة أمان تحجب المسار.

ما الفرق بين كلمة مرور التطبيق وJWT وOAuth؟

كلمة مرور التطبيق مدمجة ولا تحتاج تثبيت شيء، وهي الأنسب لربط أداة واحدة بموقعك. JWT يحتاج إضافة ويمنحك رموزاً قصيرة العمر، ويناسب التطبيقات التي تخدم عدة مستخدمين. OAuth أعقد بكثير ويُستخدم عندما تتيح لأطراف خارجية الوصول لحسابات مستخدميك. لحالتك على الأرجح: كلمة مرور التطبيق تكفي تماماً.

لماذا يظهر خطأ rest_cannot_create رغم صحة بيانات الدخول؟

لأن المصادقة نجحت لكن الصلاحية ناقصة. تحقق من أن دور المستخدم محرر أو مدير، لا مشترك أو مساهم، فالمساهم لا يستطيع النشر مباشرة. سبب آخر متكرر: محاولة كتابة حقل meta لم تُسجّله بـ register_post_meta مع show_in_rest، فيرفض ووردبريس الطلب كاملاً رغم صحة باقي البيانات.

هل يمكن جدولة المقالات بتوقيت محدد عبر الـ API؟

نعم. أرسل حقل status بقيمة future مع حقل date بصيغة ISO 8601 مثل 2026-11-05T08:30:00، وسينشر ووردبريس المقال في موعده تلقائياً. انتبه أن التوقيت يُحسب حسب المنطقة الزمنية المضبوطة في إعدادات موقعك، لا حسب توقيت الأداة المرسِلة، وهذا مصدر ارتباك شائع بفارق ثلاث ساعات.