راهنمای اتصال خودنویس به وردپرس و انتشار خودکار محتوا

راهنمای اتصال خودنویس به وردپرس و انتشار خودکار محتوا

اگر تیم محتوا هر روز متن‌ها را در یک ابزار تولید می‌کند و سپس به‌صورت دستی عنوان، تصویر، دسته‌بندی و متن را وارد وردپرس می‌کند، اتصال خودنویس به وردپرس می‌تواند این مسیر تکراری را به یک فرایند کنترل‌شده تبدیل کند. هدف درست از این اتصال، فقط «ارسال خودکار متن» نیست؛ باید بتوانید پیش‌نویس بسازید، تصویر شاخص را متصل کنید، بازبینی انسانی انجام دهید و انتشار را در زمان دقیق کنترل کنید.

بهترین روش برای بیشتر سایت‌هایی که می‌خواهند فرایند پایدار و قابل توسعه داشته باشند، استفاده از REST API وردپرس است. بااین‌حال، اگر فقط چند مقاله آماده دارید یا منبع شما یک فید RSS یا XML است، راه ساده‌تری هم وجود دارد. این راهنما کمک می‌کند روش مناسب را انتخاب و اتصال را مرحله‌به‌مرحله اجرا کنید.

پیش از شروع: دقیقاً چه چیزی را می‌خواهید خودکار کنید؟

اتوماسیون انتشار در وردپرس سه سطح دارد و انتخاب اشتباه در همین مرحله معمولاً باعث پیچیدگی غیرضروری، خطاهای دسترسی یا انتشار ناخواسته می‌شود. ابتدا مشخص کنید خودنویس قرار است فقط محتوا تولید کند، محتوا را به وردپرس بفرستد، یا بدون دخالت انسان آن را منتشر کند.

روش مناسب برای نقطه قوت محدودیت اصلی
زمان‌بندی داخلی وردپرس مقاله‌هایی که از قبل در وردپرس ساخته شده‌اند بدون نیاز به افزونه یا اتصال خارجی محتوا را از خودنویس به وردپرس منتقل نمی‌کند
افزونه ایمپورت RSS یا XML ورودی ساختاریافته و تکراری از فید یا فایل مناسب برای فرایندهای بدون کدنویسی کنترل جزئیات و منطق اختصاصی محدودتر است
REST API وردپرس اتصال مستقیم ابزار تولید محتوا به وردپرس کنترل کامل بر پیش‌نویس، رسانه، دسته‌بندی و وضعیت انتشار نیازمند تنظیم احراز هویت و پیاده‌سازی فنی است

قاعده تصمیم ساده است: اگر محتوا پیش از انتشار باید حتماً توسط ویراستار دیده شود، REST API را طوری تنظیم کنید که فقط نوشته با وضعیت draft بسازد. اگر تنها مسئله شما زمان‌بندی نوشته در وردپرس است، همان قابلیت پیش‌فرض وردپرس کافی است. افزونه ایمپورت زمانی انتخاب منطقی است که ورودی شما RSS یا XML باشد و نیازی به منطق پیچیده برای هر مقاله نداشته باشید.

پیش از شروع: دقیقاً چه چیزی را می‌خواهید خودکار کنید؟

اتصال ایمن خودنویس به وردپرس با REST API

REST API وردپرس رابطی است که به یک سرویس خارجی اجازه می‌دهد درخواست‌های استاندارد به وردپرس بفرستد. در این روش، هیچ نیازی به دست‌کاری مستقیم پایگاه داده نیست؛ روشی که هم پرریسک است و هم نگهداری آن در بلندمدت دشوار می‌شود.

برای ایجاد، ویرایش یا انتشار نوشته، endpoint اصلی وردپرس معمولاً /wp-json/wp/v2/posts است. برای آپلود فایل و تصویر نیز از /wp-json/wp/v2/media استفاده می‌شود. اطلاعات بین سرویس تولید محتوا و وردپرس معمولاً در قالب JSON جابه‌جا می‌شوند؛ یعنی عنوان، بدنه مقاله، وضعیت، دسته‌بندی و شناسه تصویر شاخص در یک درخواست ساختاریافته ارسال می‌شود.

۱. یک کاربر اختصاصی برای اتصال بسازید

برای اتصال ابزار تولید محتوا به وردپرس، بهتر است از حساب مدیر اصلی سایت استفاده نکنید. یک کاربر جداگانه بسازید و فقط سطح دسترسی لازم برای ایجاد یا ویرایش نوشته‌ها را به او بدهید. نقش کاربر تعیین می‌کند که درخواست API اجازه ساخت پست، تغییر وضعیت یا انتشار مستقیم را دارد یا نه.

این جداسازی در عمل دو مزیت دارد: اگر کلید دسترسی افشا شود، سطح آسیب محدودتر می‌ماند؛ همچنین می‌توانید در فهرست نوشته‌ها تشخیص دهید کدام محتوا از مسیر اتوماسیون وارد شده است. برای سایت‌هایی که چند نویسنده دارند، این تفکیک مسیر بازبینی را هم شفاف‌تر می‌کند.

۲. احراز هویت API وردپرس را تنظیم کنید

درخواست خواندن محتوای عمومی ممکن است بدون ورود انجام شود، اما برای عملیات نوشتنی مانند ایجاد پست با API وردپرس، احراز هویت ضروری است. Application Passwords وردپرس یکی از روش‌های رایج برای ساخت یک رمز جداگانه مخصوص اتصال است. بسته به معماری سرویس، OAuth یا توکن‌های امن نیز می‌توانند استفاده شوند.

رمز یا توکن را داخل متن مقاله، فایل عمومی یا کد سمت مرورگر قرار ندهید. سرویس اتصال باید این اطلاعات را در محیط امن نگه دارد و فقط از سمت سرور درخواست بفرستد. اگر خودنویس شما امکان اتصال آماده دارد، پیش از فعال‌سازی بررسی کنید که نام کاربری، رمز برنامه و نشانی دقیق سایت را از شما می‌خواهد یا یک روش توکنی اختصاصی ارائه می‌دهد.

۳. ابتدا یک اتصال آزمایشی با پیش‌نویس بسازید

اولین درخواست نباید مقاله اصلی شما را منتشر کند. یک نوشته کوتاه آزمایشی با وضعیت draft بسازید تا هم اعتبار احراز هویت API وردپرس و هم سطح دسترسی کاربر بررسی شود. وردپرس وضعیت‌های draft، publish، pending و private را برای نوشته‌ها پشتیبانی می‌کند.

{
  "title": "تست اتصال خودنویس",
  "content": "<p>این نوشته برای بررسی اتصال ساخته شده است.</p>",
  "status": "draft"
}

انتخاب draft برای شروع، یک تصمیم عملی است نه صرفاً احتیاط فنی. محتوای تولیدشده باید از نظر صحت ادعاها، لحن برند، پیوندهای داخلی، ساختار عنوان‌ها و تکراری نبودن بررسی شود. اگر تیم شما هنوز استاندارد بازبینی مشخصی ندارد، انتشار مستقیم با publish معمولاً زودتر از آنچه تصور می‌شود مشکل‌ساز خواهد شد.

جریان عملی: از تولید مقاله تا انتشار نهایی

یک اتصال خوب فقط یک درخواست برای ارسال متن نیست. فرایند مؤثر باید ترتیب وابستگی‌ها را رعایت کند؛ برای نمونه، تصویر شاخص باید پیش از اتصال به نوشته آپلود شود، چون وردپرس برای اتصال تصویر به شناسه رسانه نیاز دارد.

  1. تولید محتوای اولیه: ابزار محتوا عنوان، ساختار، متن و داده‌های کمکی مانند دسته‌بندی پیشنهادی را آماده می‌کند. استفاده از تولید محتوا با هوش مصنوعی در این مرحله زمانی مفید است که خروجی به‌عنوان پیش‌نویس قابل ویرایش دیده شود، نه جایگزین کامل کنترل تحریریه.
  2. اعتبارسنجی داده‌ها: پیش از ارسال، وجود عنوان، بدنه محتوا، دسته‌بندی معتبر و تصویر بررسی شود. بهتر است برای هر مقاله یک شناسه یکتا نیز نگه دارید تا ارسال تکراری پست جدید نسازد.
  3. آپلود تصویر: فایل تصویر به endpoint رسانه فرستاده می‌شود و وردپرس یک شناسه رسانه برمی‌گرداند.
  4. ساخت نوشته: عنوان، محتوا، وضعیت draft، دسته‌بندی و شناسه تصویر شاخص به endpoint نوشته‌ها ارسال می‌شود.
  5. بازبینی انسانی: ویراستار مقاله را در پیشخوان وردپرس بررسی و اصلاح می‌کند؛ سپس وضعیت را به انتشار یا زمان‌بندی تغییر می‌دهد.
  6. انتشار و ثبت نتیجه: سیستم باید پاسخ وردپرس، شناسه پست و زمان ایجاد را ثبت کند تا در صورت خطا بتوانید همان مورد را پیگیری کنید.

در مرحله آپلود رسانه با API وردپرس، ابتدا فایل به /wp-json/wp/v2/media ارسال می‌شود. پاسخ موفق معمولاً شناسه رسانه را در اختیار شما قرار می‌دهد. سپس همان شناسه در فیلد featured_media درخواست ساخت پست قرار می‌گیرد. تلاش برای ارسال نشانی فایل به‌جای شناسه رسانه، اغلب دلیل نمایش ندادن تصویر شاخص است.

دسته‌بندی‌ها نیز مشابه‌اند: وردپرس برای اتصال دسته‌بندی به نوشته، معمولاً شناسه دسته را می‌خواهد، نه صرفاً نام آن را. بنابراین بهتر است پیش از اجرای اتوماسیون، نگاشتی روشن میان نام دسته‌بندی در ابزار محتوا و شناسه دسته‌بندی در وردپرس تعریف کنید. این کار جلوی ورود مقاله‌ها به دسته اشتباه یا ایجاد دسته‌های تکراری را می‌گیرد.

زمان‌بندی انتشار: چه زمانی به WP-Cron وردپرس تکیه کنیم؟

اگر نوشته در وردپرس ایجاد شده و فقط باید در ساعت یا تاریخ مشخص منتشر شود، از قابلیت زمان‌بندی داخلی وردپرس استفاده کنید. در این سناریو نیازی نیست سرویس خارجی در زمان انتشار دوباره به سایت درخواست بفرستد؛ کافی است هنگام ایجاد یا ویرایش نوشته، تاریخ انتشار آینده را تعیین کنید.

WP-Cron وردپرس سازوکار اجرای کارهای زمان‌دار، از جمله انتشار پست‌های زمان‌بندی‌شده است. نکته عملی مهم این است که WP-Cron به بازدید سایت وابسته است. در سایت کم‌ترافیک، ممکن است انتشار دقیقاً در همان دقیقه مقرر رخ ندهد؛ زیرا اجرای کار زمان‌دار تا دریافت یک بازدید به تعویق می‌افتد.

برای سایتی که زمان انتشار در آن حساس است، فقط ذخیره تاریخ آینده کافی نیست. باید بعد از یک تست واقعی، وضعیت نوشته را در زمان مقرر بررسی کنید. اگر تأخیر می‌بینید، مسئله را در پیکربندی اجرای وظایف سرور و WP-Cron بررسی کنید، نه در متن یا ساختار JSON ارسالی از خودنویس.

زمان‌بندی انتشار: چه زمانی به WP-Cron وردپرس تکیه کنیم؟

خطاهایی که اتصال را متوقف می‌کنند و راه رفع آن‌ها

بیشتر خطاهای اتصال خودنویس به وردپرس از سه نقطه می‌آیند: مجوز کاربر، تطابق شناسه‌ها و زمان‌بندی. تشخیص درست محل خطا، بسیار سریع‌تر از تغییر تصادفی تنظیمات است.

خطای احراز هویت یا نداشتن مجوز ایجاد نوشته

اگر درخواست ساخت پست رد می‌شود، ابتدا نام کاربری، Application Passwords وردپرس یا توکن مورد استفاده را بررسی کنید. سپس مطمئن شوید کاربر اتصال اجازه ایجاد یا ویرایش نوشته دارد. رمز اصلی حساب را با رمز برنامه اشتباه نگیرید و بررسی کنید درخواست واقعاً به نشانی صحیح /wp-json/wp/v2/posts فرستاده می‌شود.

تصویر شاخص یا دسته‌بندی روی نوشته اعمال نمی‌شود

این مشکل معمولاً از ارسال نام به‌جای شناسه می‌آید. برای تصویر، ابتدا آپلود رسانه را انجام دهید و شناسه بازگشتی را در featured_media بفرستید. برای دسته‌بندی نیز شناسه دسته‌های موجود را دریافت و در داده پست استفاده کنید. یک جدول نگاشت ساده میان موضوعات ابزار محتوا و دسته‌های وردپرس، این خطا را پیشگیری می‌کند.

نوشته زمان‌بندی شده منتشر نمی‌شود

ابتدا بررسی کنید تاریخ انتشار واقعاً آینده است و وضعیت پست برای زمان‌بندی تنظیم شده است. سپس به WP-Cron وردپرس توجه کنید؛ در سایت‌های کم‌بازدید، وابستگی این سازوکار به ترافیک می‌تواند انتشار را عقب بیندازد. یک نوشته آزمایشی با فاصله زمانی کوتاه بسازید و نتیجه را ثبت کنید تا مشکل از تنظیم تاریخ یا اجرای وظایف زمان‌دار مشخص شود.

چک‌لیست راه‌اندازی پیش از اتصال نهایی

  • یک کاربر اختصاصی با حداقل سطح دسترسی لازم ساخته‌اید.
  • روش احراز هویت API وردپرس را انتخاب و اعتبار آن را با یک پیش‌نویس آزمایشی بررسی کرده‌اید.
  • ارسال عنوان، محتوا، وضعیت نوشته و دسته‌بندی را جداگانه آزمایش کرده‌اید.
  • آپلود تصویر را قبل از ساخت پست انجام می‌دهید و شناسه رسانه را ذخیره می‌کنید.
  • برای جلوگیری از پست تکراری، شناسه یکتای مقاله یا منطق تشخیص تکرار دارید.
  • مسیر بازبینی انسانی برای مقاله‌های تولیدشده تعریف شده است.
  • انتشار زمان‌بندی‌شده را روی سایت واقعی آزمایش کرده‌اید، نه فقط محیط آزمایشی.

اگر هنوز فرآیند تولید شما ساختار ثابتی ندارد، ابتدا استاندارد مقاله را مشخص کنید: قالب عنوان، دسته‌بندی‌ها، قواعد تصویر و وضعیت پیش‌فرض. مطالعه تکنیک‌های تولید محتوا با هوش مصنوعی می‌تواند در میانه طراحی این استاندارد کمک کند تا ورودی اتوماسیون از همان ابتدا منظم و قابل بازبینی باشد.

انتخاب نهایی بر اساس سناریوی سایت شما

برای یک وبلاگ کوچک که محتوا را دستی وارد می‌کند، زمان‌بندی داخلی وردپرس کم‌هزینه‌ترین و کم‌ریسک‌ترین انتخاب است. برای سایتی که مقاله‌ها را از یک منبع XML یا RSS منظم دریافت می‌کند، افزونه ایمپورت می‌تواند مسیر عملی‌تری باشد؛ البته باید پیش از فعال‌سازی، نگاشت دسته‌بندی و تصویر را دقیق آزمایش کنید.

اما اگر می‌خواهید خودنویس متن، داده ساختاریافته، تصویر و وضعیت محتوا را به‌صورت پیوسته به وردپرس ارسال کند، REST API وردپرس انتخاب حرفه‌ای‌تر است. اتصال را با ساخت پیش‌نویس شروع کنید، رسانه را پیش از پست آپلود کنید، پاسخ‌های API را ثبت کنید و تنها پس از چند چرخه موفق، درباره انتشار مستقیم تصمیم بگیرید. اتوماسیون خوب سرعت را بالا می‌برد، اما کنترل تحریریه را حذف نمی‌کند.

khodnevisLogo

خودنویس

خودنویس برات مقاله حرفه ای و سئو شده می نویسه !

خروج از حساب کاربری

آیا شما می‌خواهید از حساب کاربری خود خارج شوید؟