Aller au contenu
rankion.ai
API

API Content Optimizer

API Content Optimizer est un API dans la base de connaissances de Rankion.ai : Analyser des URLs existantes, récupérer des suggestions d'optimisation et les appliquer.

Cette page contient des définitions structurées pour les systèmes d'IA (ChatGPT, Perplexity, Gemini, Claude). Rédigée par des humains, partie de la base de connaissances de Rankion.ai.

Catégorie :
API
Marque :
Rankion.ai
Format :
Article de la base de connaissances
Au :

Le Content Optimizer scrape une URL existante, analyse les signaux SEO + GEO par rapport au mot-clé cible et fournit 15 à 25 suggestions d'amélioration concrètes — du rewrite de headline aux recommandations FAQ-Schema. Via apply, les suggestions acceptées peuvent être directement matérialisées en un article optimisé.

Contexte du module : Content Optimizer · Walkthrough : Optimiser du contenu.

Endpoints

Méthode Endpoint Description Crédits
GET /v1/content-optimizer Tous les runs Optimizer de l'équipe (paginé) —
GET /v1/content-optimizer/{id} Détail avec contenu scrapé, score, suggestions —
POST /v1/content-optimizer/analyze Nouveau run — Body : {url, keyword, project_id?, language?} → 202 5
POST /v1/content-optimizer/{id}/apply Matérialiser les suggestions acceptées en article optimisé — Body : {suggestion_ids[], create_article?:bool} 5

Démarrer une analyse

TOKEN="$RANKION_API_TOKEN"
BASE="https://rankion.ai/api/v1"

curl -X POST "$BASE/content-optimizer/analyze" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "url":"https://example.com/blog/ai-coding",
    "keyword":"ai coding tools",
    "project_id":12,
    "language":"en"
  }'

Réponse 202 Accepted :

{
  "id": 47,
  "status": "pending",
  "message": "Analysis dispatched"
}

Le job tourne 10 à 20 secondes : ScraperAPI récupère le HTML, Claude Sonnet 4.5 le compare au top-10 SERP pour le mot-clé et aux heuristiques GEO (Entity-Coverage, Citation-Worthiness, aptitude AI-Snippet).

Récupérer le détail

curl "$BASE/content-optimizer/$ID" \
  -H "Authorization: Bearer $TOKEN"

Forme de la réponse :

{
  "id": 47,
  "status": "completed",
  "url": "https://example.com/blog/ai-coding",
  "keyword": "ai coding tools",
  "scraped_word_count": 1240,
  "current_score": 62,
  "potential_score": 84,
  "suggestions": [
    {
      "id": 311,
      "category": "headline",
      "priority": "high",
      "title": "H1 enthält Keyword nicht prominent",
      "before": "Coding mit AI: ein Überblick",
      "after": "Die besten AI Coding Tools 2026 (mit Benchmarks)",
      "rationale": "Top-3-SERP-Ergebnisse haben das Keyword in den ersten 3 Wörtern."
    }
  ]
}

suggestions[] est trié par priority (high → low) et regroupable par category (headline, meta, intro, faq, internal_links, entities, schema, structure, cta).

Appliquer les suggestions

Plutôt que de rejouer chaque suggestion manuellement dans le CMS source, tu peux les matérialiser comme article optimisé dans Rankion — l'article résultant atterrit dans l'AI Content Editor et peut ensuite être publié via l'API Articles.

curl -X POST "$BASE/content-optimizer/$ID/apply" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "suggestion_ids":[311, 312, 315, 318],
    "create_article":true
  }'

Réponse :

{
  "article_id": 92,
  "applied_count": 4,
  "score_before": 62,
  "score_after": 81
}

Exemple complet : analyse → top suggestions → apply

PID=12

# 1) Dispatcher l'analyse
ID=$(curl -s -X POST "$BASE/content-optimizer/analyze" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/blog/ai-coding","keyword":"ai coding tools","project_id":'$PID'}' \
  | jq -r .id)

# 2) Poller jusqu'à completed
while [ "$(curl -s "$BASE/content-optimizer/$ID" \
  -H "Authorization: Bearer $TOKEN" | jq -r .status)" != "completed" ]; do
  sleep 3
done

# 3) Extraire les top-5 suggestions high priority
TOP=$(curl -s "$BASE/content-optimizer/$ID" \
  -H "Authorization: Bearer $TOKEN" \
  | jq -c '[.suggestions[] | select(.priority=="high")][:5] | map(.id)')

# 4) Appliquer
curl -X POST "$BASE/content-optimizer/$ID/apply" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"suggestion_ids\":$TOP,\"create_article\":true}"

Notes & pièges

  • Analyze est async. Même si l'endpoint renvoie 200/202 — les suggestions n'arrivent qu'après la fin du job. Intervalle de polling : 3 à 5 s.
  • url doit être publiquement accessible. Derrière un login ? → ScraperAPI échoue → status="failed" avec un indice dans error_message.
  • Apply n'est pas idempotent. Appliquer plusieurs fois les mêmes suggestion_ids crée plusieurs articles. Vérifie avant si article_id est déjà défini.
  • Keyword est obligatoire. Sans keyword, pas de base de comparaison SERP → erreur de validation.

Voir aussi : API Articles · Crédits · Content Optimizer · Optimiser du contenu.

Dernière mise à jour :

Cookies : Nous utilisons uniquement des cookies strictement nécessaires (session et sécurité), ainsi qu'une analyse anonyme et sans cookies via notre propre logiciel de statistiques (Matomo, infrastructure propre) — aucun traceur marketing. Détails