تولید و انتشار خودکار مقالات سئو با GPT-4 و وردپرس

تولید و انتشار خودکار مقالات سئو با GPT-4 و وردپرس

11 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۷

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 3887 · منبع: کاتالوگ Pixori

تولید و انتشار خودکار مقالات سئو با GPT-4 و ردیابی PostgreSQL

این گردش کار، ایجاد و انتشار مقالات بهینه‌سازی شده برای سئو را به سایت وردپرسی شما خودکار می‌کند. این سیستم از GPT-4 برای تولید محتوا و PostgreSQL برای ردیابی استفاده از دسته‌بندی‌ها بهره می‌برد و توزیع متعادل محتوا را تضمین کرده و از تکراری شدن جلوگیری می‌کند. این گردش کار برای تولید محتوا (content farming)، بازاریابی وابسته (affiliate marketing)، سایت‌های نیچ (niche sites) یا شبکه‌های وبلاگ خصوصی (PBNs) که چرخش دسته‌بندی در آن‌ها حیاتی است، ایده‌آل است.

گردش کار به بخش‌های اصلی زیر ساختار یافته است:

1. راه‌اندازی و زمان‌بندی: دامنه وردپرس را تنظیم کرده و برنامه اجرای گردش کار را تعریف می‌کند.

2. مدیریت دسته‌بندی: دسته‌بندی‌های وردپرس را دریافت، دسته‌بندی‌های ناخواسته را فیلتر کرده و کم‌کاربردترین دسته‌بندی را از داده‌های PostgreSQL شناسایی می‌کند.

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

4. تولید محتوای مقاله: یک مقاله کامل با فرمت HTML برای وردپرس، شامل سرفصل‌ها، فهرست مطالب، لیست‌ها و فراخوان به اقدام (call-to-action)، با استفاده از GPT-4 می‌نویسد.

5. ایجاد و بارگذاری تصویر: یک تصویر پوششی (cover image) جایگزین ایجاد کرده و آن را به کتابخانه رسانه وردپرس بارگذاری می‌کند.

6. آماده‌سازی و انتشار پست: تمام داده‌های پست را جمع‌آوری، مقاله را در وردپرس منتشر کرده و پایگاه داده PostgreSQL را با دسته‌بندی و جزئیات پست جدید به‌روزرسانی می‌کند.

---

۱. راه‌اندازی و زمان‌بندی

این بخش تنظیمات ضروری گردش کار را پیکربندی می‌کند، از جمله سایت وردپرسی هدف و ماشه (Trigger) برای اجرا.

گره‌ها (Nodes):

  • ماشه زمان‌بندی (Schedule Trigger)
  • پیکربندی (Config) (گره Set)

جزئیات گره‌ها:

  • ماشه زمان‌بندی (Schedule Trigger)

* نوع: n8n-nodes-base.scheduleTrigger

* هدف: راه‌اندازی گردش کار در یک برنامه زمان‌بندی تکرارشونده (مثلاً هر ساعت).

* پیکربندی: برای فعال شدن در فواصل منظم تنظیم شده است.

* ورودی‌ها: ندارد.

* خروجی‌ها: به گره Config متصل می‌شود.

  • پیکربندی (Config)

* نوع: n8n-nodes-base.set

* هدف: تعریف URL دامنه وردپرسی که در درخواست‌های API بعدی استفاده خواهد شد.

* پیکربندی: یک متغیر رشته‌ای به نام domain با URL سایت وردپرسی شما تنظیم می‌کند (مثلاً https://yourdomain.com).

* ورودی‌ها: داده‌ها را از Schedule Trigger دریافت می‌کند.

* خروجی‌ها: به گره Load Categories متصل می‌شود.

* نکته: اطمینان حاصل کنید که URL جایگزین را با دامنه واقعی وردپرسی خود جایگزین کنید.

---

۲. مدیریت دسته‌بندی

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

گره‌ها:

  • بارگذاری دسته‌بندی‌ها (Load Categories) (HTTP Request)
  • فیلتر دسته‌بندی (Category Filter) (Code)
  • دریافت استفاده اخیر دسته‌بندی (Get Recent Category Usage) (PostgreSQL)
  • انتخاب کمترین دسته‌بندی استفاده شده (Select Least Used Category) (Code)

جزئیات گره‌ها:

  • بارگذاری دسته‌بندی‌ها (Load Categories)

* نوع: n8n-nodes-base.httpRequest

* هدف: دریافت تمام دسته‌بندی‌های موجود از سایت وردپرس شما از طریق REST API (/wp-json/wp/v2/categories).

* پیکربندی: از متغیر domain برای ساخت URL نقطه پایانی API استفاده می‌کند. معمولاً برای این نقطه پایانی عمومی نیازی به احراز هویت نیست.

* ورودی‌ها: domain را از گره Config دریافت می‌کند.

* خروجی‌ها: به گره Category Filter متصل می‌شود.

  • فیلتر دسته‌بندی (Category Filter)

* نوع: n8n-nodes-base.code

* هدف: فیلتر کردن شناسه‌های دسته‌بندی خاص که برای محتوای تولید شده توسط هوش مصنوعی مناسب نیستند (مانند دسته‌بندی نشده، دسته‌بندی‌های داخلی).

* پیکربندی: یک تابع جاوا اسکریپت که لیست دسته‌بندی‌های ورودی را فیلتر کرده و شناسه‌های از پیش تعریف شده را حذف می‌کند. این تابع اشیاء دسته‌بندی ساده شده شامل id، name و link را برمی‌گرداند.

* ورودی‌ها: داده‌های دسته‌بندی را از Load Categories دریافت می‌کند.

* خروجی‌ها: به گره Get Recent Category Usage متصل می‌شود.

  • دریافت استفاده اخیر دسته‌بندی (Get Recent Category Usage)

* نوع: n8n-nodes-base.postgres

* هدف: کوئری کردن پایگاه داده PostgreSQL شما برای یافتن آخرین زمان استفاده از هر دسته‌بندی.

* پیکربندی: یک کوئری SQL برای انتخاب category_id و حداکثر مُهر زمانی used_at از جدول used_categories، گروه‌بندی شده بر اساس category_id اجرا می‌کند.

* ورودی‌ها: داده‌های دسته‌بندی فیلتر شده را از Category Filter دریافت می‌کند.

* خروجی‌ها: به گره Select Least Used Category متصل می‌شود.

* نکته: شما باید یک جدول used_categories در پایگاه داده PostgreSQL خود داشته باشید و اعتبارنامه‌های گره PostgreSQL را پیکربندی کنید.

  • انتخاب کمترین دسته‌بندی استفاده شده (Select Least Used Category)

* نوع: n8n-nodes-base.code

* هدف: مقایسه دسته‌بندی‌های فیلتر شده وردپرس با داده‌های استفاده از PostgreSQL برای تعیین دسته‌بندی که اخیراً کمتر استفاده شده است. اگر دسته‌بندی داده‌ای برای استفاده نداشته باشد، کمترین استفاده شده در نظر گرفته می‌شود.

* پیکربندی: یک تابع جاوا اسکریپت که نقشه‌ای از استفاده دسته‌بندی‌ها را می‌سازد و دسته‌بندی با قدیمی‌ترین یا بدون مُهر زمانی را انتخاب می‌کند.

* ورودی‌ها: داده‌ها را از هر دو گره Category Filter و Get Recent Category Usage (به طور ضمنی ادغام شده) دریافت می‌کند.

* خروجی‌ها: به گره Get Latest Headlines متصل می‌شود.

---

۳. تولید عنوان

این بخش بر ایجاد یک عنوان جذاب و منحصربه‌فرد برای مقاله جدید تمرکز دارد و اطمینان حاصل می‌کند که عنوان از نظر سئو (SEO) مناسب و مرتبط باشد.

گره‌ها:

  • دریافت آخرین عناوین (Get Latest Headlines) (PostgreSQL)
  • تولید عنوان سئو (Generate SEO Title) (Langchain Agent)
  • قالب‌بندی خروجی عنوان (Format Title Output) (Code)
  • ادغام دسته‌بندی و عنوان (Merge Category and Title) (Merge)

جزئیات گره‌ها:

  • دریافت آخرین عناوین (Get Latest Headlines)

* نوع: n8n-nodes-base.postgres

* هدف: ۱۰ عنوان و توضیحات اخیر مقاله مرتبط با دسته‌بندی انتخاب شده را از PostgreSQL بازیابی می‌کند. این به GPT-4 کمک می‌کند تا از تولید عناوین تکراری یا مشابه اجتناب کند.

* پیکربندی: یک کوئری SQL که بر اساس category_id فیلتر کرده و بر اساس used_at به ترتیب نزولی مرتب می‌کند و نتایج را به ۱۰ مورد محدود می‌کند.

* ورودی‌ها: اطلاعات دسته‌بندی انتخاب شده را از Select Least Used Category دریافت می‌کند.

* خروجی‌ها: به گره Generate SEO Title متصل می‌شود.

---

۴. تولید محتوای مقاله

این بخش بر تولید بدنه کامل مقاله با استفاده از GPT-4 تمرکز دارد و اطمینان حاصل می‌کند که مقاله به خوبی ساختار یافته و برای وردپرس قالب‌بندی شده است.

گره‌ها:

  • مدل چت OpenAI (OpenAI Chat Model) (Langchain OpenAI Chat Model)
  • تولید محتوای مقاله (Generate Article Content) (Langchain Agent)
  • استخراج محتوای مقاله (Extract Article Content) (Code)
  • ادغام فراداده و محتوای پست (Merge Post Metadata and Content) (Merge)

جزئیات گره‌ها:

  • مدل چت OpenAI (OpenAI Chat Model)

* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi

* هدف: پیکربندی مدل چت خاص OpenAI که برای تولید محتوا استفاده می‌شود.

* پیکربندی: برای استفاده از مدل GPT-4 تنظیم شده است (مانند gpt-4-turbo-preview یا gpt-4.1-2025-04-14).

* ورودی‌ها: به عنوان مدل زبان در عامل Generate Article Content استفاده می‌شود.

* خروجی‌ها: به Generate Article Content متصل می‌شود.

* اعتبارنامه‌ها: نیاز به اعتبارنامه‌های API OpenAI دارد.

  • تولید محتوای مقاله (Generate Article Content)

* نوع: @n8n/n8n-nodes-langchain.agent

* هدف: به GPT-4 دستور می‌دهد تا یک مقاله کامل در قالب HTML، مناسب برای وردپرس بنویسد.

* پیکربندی: پرامپت ساختار مورد نظر را مشخص می‌کند، از جمله فهرست مطالب (TOC)، سرفصل‌ها، پاراگراف‌ها، لیست‌ها، نتیجه‌گیری و فراخوان به اقدام (CTA) با یک لینک پویا. بر پایبندی دقیق به قالب‌بندی بلوک وردپرس تأکید دارد.

* ورودی‌ها: اطلاعات دسته و عنوان را از Merge Category and Title دریافت می‌کند.

* خروجی‌ها: به Extract Article Content و Placeholder Creator متصل می‌شود.

* اعتبارنامه‌ها: نیاز به اعتبارنامه‌های API OpenAI دارد.

  • استخراج محتوای مقاله (Extract Article Content)

* نوع: n8n-nodes-base.code

* هدف: استخراج محتوای مقاله تولید شده از فیلد output پاسخ GPT.

* ورودی‌ها: پاسخ را از Generate Article Content دریافت می‌کند.

* خروجی‌ها: به گره Merge Post Metadata and Content متصل می‌شود.

  • ادغام فراداده و محتوای پست (Merge Post Metadata and Content)

* نوع: n8n-nodes-base.merge

* هدف: ترکیب محتوای مقاله با سایر فراداده‌های پست (مانند عنوان، دسته‌بندی و در نهایت URL تصویر شاخص) قبل از آماده‌سازی بار JSON نهایی برای وردپرس.

* ورودی‌ها: محتوای مقاله را از Extract Article Content دریافت می‌کند و بعداً داده‌ها را از Update Post Tracking و Upload Image to WordPress دریافت خواهد کرد.

* خروجی‌ها: به گره Prepare Post JSON متصل می‌شود.

---

۵. ایجاد و بارگذاری تصویر

این بخش به ایجاد یک تصویر شاخص (featured image) جایگزین و بارگذاری آن در کتابخانه رسانه وردپرس شما می‌پردازد.

گره‌ها:

  • ایجاد کننده جایگزین (Placeholder Creator) (کد)
  • دانلود تصویر (Download Image) (درخواست HTTP)
  • بارگذاری تصویر به وردپرس (Upload Image to WordPress) (درخواست HTTP)

جزئیات گره‌ها:

  • ایجاد کننده جایگزین (Placeholder Creator)

* نوع: n8n-nodes-base.code

* هدف: ایجاد یک URL برای تصویر جایگزین با استفاده از سرویسی مانند placehold.co. متن تصویر از عنوان پست گرفته می‌شود.

* ورودی‌ها: فراداده پست (شامل عنوان) را از گردش کار دریافت می‌کند.

* خروجی‌ها: به گره Download Image متصل می‌شود.

  • دانلود تصویر (Download Image)

* نوع: n8n-nodes-base.httpRequest

* هدف: دانلود داده‌های تصویر جایگزین از URL تولید شده.

* پیکربندی: فرمت پاسخ را روی file تنظیم می‌کند تا داده‌های باینری تصویر را مدیریت کند.

* ورودی‌ها: URL تصویر را از Placeholder Creator دریافت می‌کند.

* خروجی‌ها: به گره Upload Image to WordPress متصل می‌شود.

  • بارگذاری تصویر به وردپرس (Upload Image to WordPress)

* نوع: n8n-nodes-base.httpRequest

* هدف: بارگذاری تصویر دانلود شده به کتابخانه رسانه وردپرس شما از طریق نقطه پایانی /wp-json/wp/v2/media.

* پیکربندی: از متد POST استفاده می‌کند، داده‌های تصویر را به صورت باینری ارسال می‌کند و هدرهای لازم (Content-Disposition, Content-Type) را شامل می‌شود. نیاز به اعتبارنامه API وردپرس با مجوزهای بارگذاری رسانه دارد.

* ورودی‌ها: داده‌های فایل تصویر را از Download Image دریافت می‌کند.

* خروجی‌ها: به گره Merge Post Metadata and Content متصل می‌شود و URL تصویر بارگذاری شده را ارائه می‌دهد.

* اعتبارنامه‌ها: نیاز به اعتبارنامه API وردپرس با دامنه‌های مناسب برای مدیریت رسانه دارد.

---

۶. آماده‌سازی و انتشار پست

این بخش نهایی، داده‌های کامل پست را آماده کرده، آن را در وردپرس منتشر می‌کند و پایگاه داده ردیابی را به‌روزرسانی می‌نماید.

گره‌ها:

  • آماده‌سازی JSON پست (Prepare Post JSON) (Code)
  • انتشار پست در وردپرس (Publish Post to WordPress) (HTTP Request)
  • به‌روزرسانی ردیابی پست (Update Post Tracking) (PostgreSQL)
  • بدون عملیات (No Operation) (NoOp)

جزئیات گره‌ها:

  • آماده‌سازی JSON پست (Prepare Post JSON)

* نوع: n8n-nodes-base.code

* هدف: تمام داده‌های جمع‌آوری شده (عنوان، محتوا، شناسه دسته‌بندی، شناسه/URL تصویر شاخص) را در قالب JSON نهایی مورد نیاز API وردپرس برای ایجاد پست جدید جمع‌آوری می‌کند.

* ورودی‌ها: داده‌های ادغام شده از Merge Post Metadata and Content را دریافت می‌کند.

* خروجی‌ها: به گره Publish Post to WordPress متصل می‌شود.

  • انتشار پست در وردپرس (Publish Post to WordPress)

* نوع: n8n-nodes-base.httpRequest

* هدف: قالب JSON آماده شده را به API وردپرس (/wp-json/wp/v2/posts) ارسال می‌کند تا مقاله جدید ایجاد و منتشر شود.

* پیکربندی: از متد POST با قالب JSON استفاده می‌کند. به اعتبارنامه‌های API وردپرس با مجوز ایجاد پست نیاز دارد.

* ورودی‌ها: JSON فرمت شده را از Prepare Post JSON دریافت می‌کند.

* خروجی‌ها: به گره Update Post Tracking متصل می‌شود.

* اعتبارنامه‌ها: به اعتبارنامه‌های API وردپرس با دامنه ایجاد پست نیاز دارد.

  • به‌روزرسانی ردیابی پست (Update Post Tracking)

* نوع: n8n-nodes-base.postgres

* هدف: پست منتشر شده جدید و دسته‌بندی آن را در جدول used_categories در PostgreSQL ثبت می‌کند. این کار داده‌های استفاده برای انتخاب دسته‌بندی را در اجراهای آینده به‌روز می‌کند.

* پیکربندی: یک دستور SQL INSERT را در جدول used_categories اجرا می‌کند و category_id، post_id وردپرس و مُهر زمانی used_at را ذخیره می‌نماید.

* ورودی‌ها: داده‌ها را از Publish Post to WordPress (شامل شناسه پست جدید) و اطلاعات دسته‌بندی انتخاب شده دریافت می‌کند.

* خروجی‌ها: به گره No Operation متصل می‌شود.

* نکته: اطمینان حاصل کنید که طرحواره جدول PostgreSQL شما با ستون‌های مورد انتظار (category_id, post_id, used_at) مطابقت دارد.

  • بدون عملیات (No Operation)

* نوع: n8n-nodes-base.noOp

* هدف: یک گره جایگزین که نشان‌دهنده تکمیل موفقیت‌آمیز اجرای گردش کار است. هیچ عملی انجام نمی‌دهد اما برای بصری‌سازی تکمیل گردش کار مفید است.

* ورودی‌ها: داده‌ها را از Update Post Tracking دریافت می‌کند.

* خروجی‌ها: ندارد.

---

شروع کار

1. پیش‌نیازها:

* یک نمونه n8n.

* یک کلید API OpenAI با دسترسی به GPT-4.

* یک سایت وردپرس با فعال بودن REST API.

* یک پایگاه داده PostgreSQL.

2. راه‌اندازی پایگاه داده:

* یک جدول به نام used_categories در پایگاه داده PostgreSQL خود با حداقل ستون‌های زیر ایجاد کنید:

* category_id (integer)

* post_id (integer)

* used_at (timestamp)

3. پیکربندی n8n:

* گردش کار را در نمونه n8n خود وارد کنید.

* اعتبارنامه‌ها (Credentials) را برای موارد زیر پیکربندی کنید:

* OpenAI: کلید API OpenAI خود را ارائه دهید.

* PostgreSQL: جزئیات اتصال پایگاه داده خود را وارد کنید.

* WordPress: اعتبارنامه‌های API را برای سایت وردپرس خود تنظیم کنید (استفاده از رمزهای عبور برنامه یا افزونه‌ای که احراز هویت قوی API را فراهم می‌کند، در نظر گرفته شود).

* گره Config را با URL دامنه وردپرس خود به‌روزرسانی کنید.

* در صورت لزوم، شناسه‌های دسته‌بندی را برای حذف در گره Category Filter تنظیم کنید.

* Promptها را در گره‌های Langchain agent (Generate SEO Title, Generate Article Content) برای تنظیم دقیق خروجی مرور و تنظیم کنید.

4. فعال‌سازی گردش کار:

* گره Schedule Trigger را برای شروع فرآیند خودکار فعال کنید.

شما می‌توانید این گردش کار و موارد دیگر را در کاتالوگ Pixori.me پیدا کنید: https://pixori.me/n8n

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه به سئو کمک می‌کند؟

این گردش کار با تولید خودکار مقالات بهینه‌سازی شده برای سئو با استفاده از GPT-4، به بهبود سئو کمک می‌کند. همچنین با ردیابی استفاده از دسته‌بندی‌ها در PostgreSQL، از توزیع متعادل محتوا اطمینان حاصل کرده و از تکراری شدن جلوگیری می‌کند.

چه ابزارهایی در این گردش کار استفاده شده است؟

این گردش کار از n8n به عنوان پلتفرم اتوماسیون، GPT-4 برای تولید محتوا، و PostgreSQL برای مدیریت و ردیابی دسته‌بندی‌ها استفاده می‌کند. همچنین با وردپرس برای انتشار مقالات تعامل دارد.

آیا این گردش کار برای سایت‌های نیچ (niche sites) مناسب است؟

بله، این گردش کار برای تولید محتوا (content farming)، بازاریابی وابسته (affiliate marketing)، سایت‌های نیچ (niche sites) یا شبکه‌های وبلاگ خصوصی (PBNs) که چرخش دسته‌بندی در آن‌ها حیاتی است، ایده‌آل است.

workflowهای مرتبط

این workflow در کاتالوگ Pixori.me بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.