Docs
مستندات
راهنمای اتصال سایت هدف به محتوای هوشمند آرهانکو و انتشار خودکار مقالات سئوشده.
نمای کلی
محتوای هوشمند آرهانکو برای هر پروژه (مثلاً سینما پلاس، عطر سیب، نینوا پلاس) از دادههای واقعی Search Console / Analytics / Trends استراتژی سئو میسازد، کیورد اصلی و پشتیبانها را در نقشه راه تعریف میکند، مقاله تولید میکند و پس از تأیید شما، همان مقاله را مستقیماً روی وبسایت هدف منتشر میکند — بدون بارگذاری دستی.
- تحلیل GSC/GA → پیشنهاد کیورد و استراتژی متناسب با نوع فعالیت
- نقشه راه → خوشه موضوعی (کیورد اصلی + پشتیبانها)
- تولید مقاله با Gemini + تصویر شاخص
- تأیید در پنل → Push Webhook یا Pull API به سایت هدف
چرخه کامل
- 1پروژه را در پنل آرهانکو بسازید و Content AI را فعال کنید.
- 2Google Search Console و GA4 را از صفحه آنالیز پروژه وصل کنید و گزارش SEO را بروزرسانی کنید.
- 3در تنظیمات محتوای پروژه، کلید Gemini و اتصال سایت هدف (توکن / Webhook) را ست کنید.
- 4از کلمات کلیدی، برای کیورد اصلی «نقشه راه» بسازید و اقدامات را اجرا کنید.
- 5مقاله پیشنویس ساخته میشود؛ با «تأیید و انتشار» همزمان روی سایت هدف هم میرود.
اتصال پروژه در پنل
مسیر تنظیمات:
محتوای هوشمند → پروژه → تنظیمات → اتصال سایت هدف
- فعالسازی انتشار روی سایت هدف را روشن کنید.
- ساخت توکن را بزنید و مقدار
Site API Tokenرا در سرور سایت هدف نگه دارید. - اگر میخواهید آرهانکو خودش بلافاصله بفرستد، آدرس Webhook را وارد کنید.
- اگر سایت شما Cron دارد، میتوانید فقط از Pull API استفاده کنید (Webhook اختیاری است).
API انتشار
Base URL:
https://api.arhanco.ir/api/content-ai/site
احراز هویت در همه درخواستها:
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 شما میفرستد.
بدنه نمونه:
{
"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.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']]);// 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 نشود)
