En un coup d’œil
- Ce que vous pouvez faire : donner aux agents Semji un accès contrôlé à votre contenu WordPress : articles, pages et types de contenu personnalisés, avec taxonomies, champs ACF, titres SEO et méta descriptions (Yoast SEO, Rank Math ou SEOPress).
- Pour qui : propriétaires de l’espace de travail et administrateurs WordPress.
- Compatibilité : à partir de WordPress 5.6.
Prérequis
- WordPress 5.6 ou plus récent. Les mots de passe d’application, qui servent à la connexion, existent depuis cette version.
- Un site en ligne, public et en HTTPS. Un site local ou sur réseau interne ne peut pas être connecté.
- L’API REST de WordPress accessible. Elle est active par défaut, mais un plugin de sécurité peut l’avoir désactivée.
- Un compte WordPress autorisé à gérer les articles, rôle Auteur au minimum. Choisissez le rôle Éditeur si les agents doivent pouvoir modifier les articles rédigés par d’autres.
- Si un pare-feu, un WAF ou une protection anti-bot (Cloudflare, Akamai, Sucuri, …) se trouve devant votre site, il doit autoriser les adresses IP de Semji. Voir Pare-feu, Cloudflare et autorisation d’IP.
- Vous êtes propriétaire du workspace dans Semji. La connexion est partagée avec tout le workspace.
Comment connecter votre site WordPress
Créer un mot de passe d'application dans WordPress
xxxx xxxx xxxx xxxx xxxx xxxx. Copiez-le tout de suite. Vous pourrez le coller dans Semji avec ou sans les espaces.Connecter depuis Semji
-
URL du site : l’adresse exacte de votre site en HTTPS, par exemple
https://votre-site.com. Entrez l’adresse réellement utilisée par votre site : s’il bascule de exemple.com vers www.exemple.com, saisissez la version www. Semji ne suit pas les redirections. - E-mail ou nom d’utilisateur : l’identifiant WordPress ou l’adresse e-mail du compte auquel appartient le mot de passe d’application. WordPress accepte les deux : il cherche d’abord le nom d’utilisateur, puis l’adresse e-mail.
-
Mot de passe d’application : celui généré à l’étape précédente.

GET /wp-json/wp/v2/users/me sur votre site avec ces identifiants, et détecte quel plugin SEO votre site utilise.Choisir les outils WordPress

Enregistrer

Ce que Semji peut faire une fois connecté
Plugins SEO pris en charge
Semji détecte automatiquement votre plugin SEO. Il n’y a aucun fournisseur à choisir. La détection lit les espaces de noms annoncés par l’index de votre API REST (/wp-json/), et se rabat sur l’inspection des champs SEO exposés sur vos articles quand un plugin de sécurité filtre l’index. Le titre SEO et la méta description sont ensuite lus et écrits via les champs propres au plugin détecté :
Activer la mise à jour du titre SEO et de la méta description
Une configuration préalable est nécessaire ou non selon votre plugin SEO et sa version :- Yoast SEO 28.1 et plus récent : rien à faire. Les versions récentes de Yoast exposent nativement leurs champs de titre SEO et de méta description à l’API REST, et Semji peut les mettre à jour tout de suite.
- Yoast SEO plus ancien, Rank Math et SEOPress : ils stockent le titre SEO et la méta description dans des champs personnalisés protégés, sur lesquels l’API REST n’accepte pas l’écriture par défaut. Un court extrait de code PHP doit d’abord déclarer ces champs auprès de l’API REST.
edit_posts) peuvent modifier ces champs. C’est le même niveau de permission que pour modifier l’article lui-même.
- Depuis l'administration WordPress
- Sur le serveur
Installer le plugin
Créer l'extrait
Semji SEO fields REST support, et collez le code ci-dessous. Il commence sans la ligne d’ouverture <?php, car Code Snippets l’ajoute lui-même.Exécuter partout et activer
Vérifier que les champs sont exposés
Quelle que soit l’option choisie, appelez votre API REST avec les mêmes identifiants que Semji, sur n’importe quel ID d’article, en regardant le champ de méta description de votre plugin (ici Rank Math, remplacez-le par le champ du tableau ci-dessus pour Yoast SEO ou SEOPress) :""), signifie que le champ est exposé et que Semji peut le mettre à jour. null signifie que le code ne s’exécute pas encore.
Exposer les champs ACF à Semji
Beaucoup de sites WordPress structurent leur contenu avec Advanced Custom Fields (ACF), par exemple un type de contenu FAQ dont la question et la réponse vivent dans des champs dédiés plutôt que dans le corps de l’article. Les agents Semji gèrent ces champs nativement : Lire des articles renvoie les valeurs ACF d’un article, et Créer des articles et Mettre à jour les articles les remplissent. Cela ne fonctionne que pour les champs visibles via l’API REST, et ACF n’expose pas les groupes de champs par défaut. En sortie de boîte, la cléacf est absente des réponses REST de votre site : les agents ne voient donc pas les champs, encore moins les remplir, et vous le diront lors d’une publication.
Contrairement aux champs SEO ci-dessus, aucun extrait PHP n’est nécessaire : ACF (gratuit et Pro, version 5.11 ou plus récente) intègre nativement la prise en charge de l’API REST derrière un seul réglage. Le fork Secure Custom Fields propose le même réglage.
Activer « Show in REST API » sur le groupe de champs
Le réglage se trouve sur le groupe de champs, pas sur chaque champ individuel :Ouvrir le groupe de champs
Activer Show in REST API
Répéter pour chaque groupe de champs
'show_in_rest' => true à register_post_type().Vérifier que les champs ACF sont exposés
Appelez votre API REST avec les mêmes identifiants que Semji, sur n’importe quel élément existant. Remplacezfaq par la base REST de votre type de contenu (posts pour les articles natifs) :
null signifie que le groupe de champs n’est pas encore exposé.
Aider les agents à bien remplir les champs
L’API REST ne transporte que les noms et les valeurs des champs. Les libellés et les instructions que vous voyez dans l’administration WordPress restent invisibles pour les agents. Les agents découvrent les champs d’un type en lisant un élément existant, quelques habitudes rendent donc les remplissages fiables :- Utilisez des noms de champs descriptifs. Un agent comprend
answer_short, il ne peut que deviner ce que contientfield_2. - Gardez au moins un élément bien rempli pour chaque type de contenu. Les agents le lisent pour savoir quel champ contient quoi, et la forme de valeur attendue (texte brut ou HTML, ID de média pour un champ image, …).
- Briefez l’agent. Quand les noms de champs sont ambigus, dites dans vos instructions à quoi sert chaque champ, et l’agent y placera son contenu en conséquence.
Gérer ou déconnecter
Depuis Paramètres → Intégrations → CMS, la ligne WordPress propose :- Gérer les outils : activer ou désactiver chacun des six outils.
- Déconnecter : retirer l’intégration pour tout le workspace.
Pare-feu, Cloudflare et autorisation d’IP
Semji appelle directement l’API REST de votre site. Si un pare-feu ou une protection type Cloudflare se trouve devant votre WordPress, il doit laisser passer ces appels, sinon la connexion échoue. Semji’s servers reach the internet through a fixed set of outbound IP addresses. If a firewall, WAF, or anti-bot protection (Cloudflare, Akamai, Sucuri, …) sits in front of your site, it can block Semji’s requests — typically with a403 Forbidden — before they ever reach your CMS, even when your credentials are correct.
Allow the following Semji IP addresses:
/wp-json/.
Dépannage
Identifiants WordPress invalides. Vérifiez l'e-mail ou le nom d'utilisateur et le mot de passe d'application.
Identifiants WordPress invalides. Vérifiez l'e-mail ou le nom d'utilisateur et le mot de passe d'application.
401 ou 403. Les causes possibles : l’identifiant (e-mail ou nom d’utilisateur) ou le mot de passe d’application est erroné ou a été révoqué, les mots de passe d’application sont désactivés sur le site, ou un pare-feu (Cloudflare, Wordfence) bloque Semji avant même qu’il n’atteigne WordPress. Voir la section pare-feu.Impossible de se connecter au site WordPress. Vérifiez les identifiants et l'URL du site.
Impossible de se connecter au site WordPress. Vérifiez les identifiants et l'URL du site.
- L’adresse redirige. Semji ne suit pas les redirections, entrez donc l’adresse finale, par exemple la version www ou la version https.
- L’API REST n’est pas accessible :
/wp-json/renvoie une erreur 404, souvent à cause d’un plugin ou d’un réglage de permaliens. - Le site est injoignable : problème de DNS, hébergeur indisponible, ou site non public.
- Le site répond trop lentement : la réponse doit arriver en moins de 10 secondes.
Erreurs affichées avant même de valider le formulaire
Erreurs affichées avant même de valider le formulaire
- « Veuillez saisir une URL valide. » : le texte saisi n’est pas une adresse web.
- « L’URL du site doit commencer par https://. » : les sites en HTTP ne peuvent pas être connectés.
- « L’URL du site pointe vers une adresse privée ou réservée, ce qui n’est pas autorisé. » : les sites locaux ou internes sont refusés, le site doit être public.
Un agent signale une erreur après une connexion qui marchait
Un agent signale une erreur après une connexion qui marchait
- « L’authentification WordPress a échoué. Vérifiez les identifiants dans les paramètres de l’intégration. » : le mot de passe d’application a été révoqué ou changé depuis la connexion. Reconnectez-vous avec un mot de passe neuf.
- « Aucune intégration WordPress configurée pour ce workspace. » : l’intégration a été déconnectée. Un propriétaire de workspace doit la reconnecter.
- « L’article a été mis à jour, mais ses métadonnées SEO NE l’ont PAS été : aucun plugin SEO pris en charge (Yoast SEO, Rank Math ou SEOPress) n’a été détecté… » : Semji n’a trouvé aucun des trois sur le site. Activez l’un d’eux, ou si l’un est déjà actif, appliquez la configuration préalable pour que ses champs soient visibles via l’API REST.
- « Les métadonnées SEO n’ont PAS été enregistrées : ce site WordPress utilise … mais n’expose pas ses champs … en écriture via l’API REST… » : le site n’accepte pas encore les écritures REST sur les champs de votre plugin SEO. Appliquez la configuration préalable décrite dans Activer la mise à jour du titre SEO et de la méta description. Le reste de la mise à jour de l’article a bien été appliqué.
Un agent dit qu'il ne peut pas voir ou remplir les champs ACF d'un type de contenu
Un agent dit qu'il ne peut pas voir ou remplir les champs ACF d'un type de contenu
acf est donc absente des réponses REST de votre site et les agents ne peuvent ni lire ni écrire ces champs. Activez Show in REST API sur le groupe de champs. Voir Exposer les champs ACF à Semji. Si le type de contenu lui-même n’apparaît pas quand l’agent liste les types, il doit aussi être visible dans l’API REST (même section).Articles liés
- Connecter votre CMS : publiez vos contenus dans votre CMS sans quitter Semji
- Synchroniser des brouillons vers votre CMS : le flux de publication par API, si vous préférez piloter la synchronisation vous-même.