Docs

مستندات

راهنمای اتصال سایت هدف به محتوای هوشمند آرهانکو و انتشار خودکار مقالات سئو‌شده.

نمای کلی

محتوای هوشمند آرهانکو برای هر پروژه (مثلاً سینما پلاس، عطر سیب، نینوا پلاس) از داده‌های واقعی Search Console / Analytics / Trends استراتژی سئو می‌سازد، کیورد اصلی و پشتیبان‌ها را در نقشه راه تعریف می‌کند، مقاله تولید می‌کند و پس از تأیید شما، همان مقاله را مستقیماً روی وب‌سایت هدف منتشر می‌کند — بدون بارگذاری دستی.

  • تحلیل GSC/GA → پیشنهاد کیورد و استراتژی متناسب با نوع فعالیت
  • نقشه راه → خوشه موضوعی (کیورد اصلی + پشتیبان‌ها)
  • تولید مقاله با Gemini + تصویر شاخص
  • تأیید در پنل → Push Webhook یا Pull API به سایت هدف

چرخه کامل

  1. 1پروژه را در پنل آرهانکو بسازید و Content AI را فعال کنید.
  2. 2Google Search Console و GA4 را از صفحه آنالیز پروژه وصل کنید و گزارش SEO را بروزرسانی کنید.
  3. 3در تنظیمات محتوای پروژه، کلید Gemini و اتصال سایت هدف (توکن / Webhook) را ست کنید.
  4. 4از کلمات کلیدی، برای کیورد اصلی «نقشه راه» بسازید و اقدامات را اجرا کنید.
  5. 5مقاله پیش‌نویس ساخته می‌شود؛ با «تأیید و انتشار» همزمان روی سایت هدف هم می‌رود.

اتصال پروژه در پنل

مسیر تنظیمات:

محتوای هوشمند → پروژه → تنظیمات → اتصال سایت هدف

  • فعال‌سازی انتشار روی سایت هدف را روشن کنید.
  • ساخت توکن را بزنید و مقدار Site API Token را در سرور سایت هدف نگه دارید.
  • اگر می‌خواهید آرهانکو خودش بلافاصله بفرستد، آدرس Webhook را وارد کنید.
  • اگر سایت شما Cron دارد، می‌توانید فقط از Pull API استفاده کنید (Webhook اختیاری است).

نینوا پلاس: رادیو و تی‌وی جدا

رادیو و تی‌وی نینوا پروژه‌های جدا در آرهانکو هستند؛ مقالات، کیوردها و آنالیز هرکدام مستقل است. Webhook مشترک است ولی توکن کانال فرق می‌کند.

پروژهسایتموضوعکانال
نینوا رادیوradio.neynavaplus.comمداحی، سخنرانی، هیئتradio
نینوا تی‌ویtv.neynavaplus.comفیلم و سریال تاریخی / مذهبیtv
  • endpoint: https://api.neynavaplus.com/api/arhanco/webhook
  • توکن فقط در آرهانکو مدیریت می‌شود؛ نینوا با /api/content-ai/site/introspect اعتبارسنجی می‌کند (بدون env توکن)
  • هاب neynavaplus.com بدون تولید محتواست؛ محتوا فقط از پروژه‌های رادیو/تی‌وی می‌آید

API انتشار

Base URL:

https://api.arhanco.ir/api/content-ai/site

احراز هویت در همه درخواست‌ها:

Header
Authorization: Bearer YOUR_SITE_TOKEN
# یا
X-Arhanco-Site-Token: YOUR_SITE_TOKEN
متدمسیرتوضیح
GET/pingتست اتصال و شناسایی پروژه
GET/articles/pendingمقالات منتشرشده‌ای که هنوز روی سایت شما سینک نشده‌اند
GET/articles/:idدریافت یک مقاله
POST/articles/:id/ackاعلام ذخیره موفق (تا دوباره ارسال نشود)
تست اتصال
curl -s -H "Authorization: Bearer YOUR_SITE_TOKEN" \
  https://api.arhanco.ir/api/content-ai/site/ping

Webhook (Push)

وقتی مقاله در پنل تأیید/منتشر شود، آرهانکو یک درخواست POST به Webhook شما می‌فرستد.

بدنه نمونه:

JSON
{
  "event": "article.published",
  "sent_at": "2026-11-07T00:00:00.000Z",
  "article": {
    "id": 123,
    "title": "نقد و بررسی عرس الجن",
    "slug": "ars-al-jinn-review",
    "content_html": "<p>...</p>",
    "excerpt": "...",
    "focus_keyword": "عرس الجن",
    "meta_title": "...",
    "meta_description": "...",
    "meta_keywords": "...",
    "category": "سینما و سریال",
    "featured_image": "https://...",
    "published": true,
    "published_at": "...",
    "project": { "id": 3, "title": "سینما پلاس", "url": "https://..." }
  }
}

هدرها: Authorization Bearer توکن شما + X-Arhanco-Event: article.published

Pull API

اگر نمی‌خواهید Webhook باز کنید، هر چند دقیقه یک‌بار مقالات pending را بگیرید، در CMS ذخیره کنید و با ack علامت بزنید.

فیلدهای مهم مقاله: title, slug, content_html, excerpt, meta_*, featured_image, focus_keyword, category

نمونه کد

PHP — Webhook Receiver
<?php
// webhook.php — دریافت مقاله از آرهانکو
header('Content-Type: application/json; charset=utf-8');
$TOKEN = getenv('ARHANCO_SITE_TOKEN') ?: 'YOUR_SITE_TOKEN';

$auth = $_SERVER['HTTP_AUTHORIZATION'] ?? '';
if (!preg_match('/Bearer\s+(.+)/i', $auth, $m) || trim($m[1]) !== $TOKEN) {
  http_response_code(401);
  echo json_encode(['ok' => false, 'error' => 'unauthorized']);
  exit;
}

$raw = file_get_contents('php://input');
$data = json_decode($raw, true);
$article = $data['article'] ?? null;
if (!$article) {
  http_response_code(400);
  echo json_encode(['ok' => false, 'error' => 'empty']);
  exit;
}

// اینجا مقاله را در CMS خودتان ذخیره کنید:
// title, slug, content_html, excerpt, meta_*, featured_image, category, focus_keyword

file_put_contents(__DIR__ . '/last-article.json', json_encode($article, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
echo json_encode(['ok' => true, 'remote_id' => $article['id']]);
Node.js — Pull Worker
// cron یا worker — دریافت مقالات pending از آرهانکو
const API = 'https://api.arhanco.ir/api/content-ai/site';
const TOKEN = process.env.ARHANCO_SITE_TOKEN;

async function sync() {
  const pending = await fetch(API + '/articles/pending?limit=10', {
    headers: { Authorization: 'Bearer ' + TOKEN },
  }).then((r) => r.json());

  for (const article of pending.articles || []) {
    // 1) ذخیره در دیتابیس سایت هدف
    await saveToCms(article);

    // 2) اعلام دریافت موفق تا دوباره ارسال نشود
    await fetch(API + '/articles/' + article.id + '/ack', {
      method: 'POST',
      headers: {
        Authorization: 'Bearer ' + TOKEN,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ remote_id: article.slug }),
    });
  }
}

sync().catch(console.error);

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

  • پروژه در آرهانکو ساخته و Content AI فعال شده
  • GSC/GA وصل و حداقل یک گزارش SEO گرفته شده
  • کلید Gemini در تنظیمات محتوا ثبت شده
  • توکن سایت هدف ساخته و روی سرور مقصد ذخیره شده
  • Webhook یا Cron Pull روی سایت هدف پیاده شده
  • یک مقاله تست تأیید شده و روی سایت مقصد ظاهر شده
  • ack زده شده / Webhook ۲۰۰ برگردانده (تا duplicate نشود)