Mettre à jour vos champs SEO Rank Math avec n8n
Par défaut, l’API REST de WordPress n’expose pas les champs SEO de Rank Math, tels que le titre SEO, la méta-description ou l’URL canonique. Cette absence de point d’accès natif bloque toute modification programmatique, ce qui constitue un obstacle majeur pour l’automatisation des stratégies SEO. Cette limitation est particulièrement problématique à l’ère du GEO (Generative Engine Optimization), où l’optimisation pour les moteurs de réponse et les LLMs devient un enjeu concurrentiel.
La solution consiste à implémenter un plugin WordPress personnalisé qui enregistre un point de terminaison (endpoint) dédié au sein de l’API REST. Ce point de terminaison agit comme une passerelle, permettant un accès en lecture et en écriture aux champs de Rank Math qui sont normalement inaccessibles.
Avec ce connecteur en place, des plateformes d’automatisation comme n8n peuvent être utilisées pour programmer des mises à jour des données SEO. Ceci permet le déploiement de stratégies avancées, telles que :
- La mise à jour en masse des métadonnées pour des produits WooCommerce.
- L’automatisation du SEO pour des types de contenu personnalisés (custom post types).
- L’ajustement dynamique des titres et descriptions pour cibler des requêtes conversationnelles, une pratique essentielle en GEO.
Vous assurez ainsi que votre stratégie SEO, y compris pour le GEO, reste cohérente et performante même dans le cadre de flux de travail complexes et automatisés.
Table des Matières
Plugin WordPress Rankmath API Manager Extended
Nous allons créer un plugin personnalisé qui expose une nouvelle route REST permettant de mettre à jour les métadonnées SEO de Rank Math.
Je suis parti de cette version que j’ai étendue grâce à chatGPT et à une discussion sur le channel de No Code Skills de Jérémy DE CAMPOS (mention à Recreabox 😏).
Créez un fichier PHP (par exemple rank-math-api-manager-extended-v1.3.php), le compresser en zip et ensuite faire ajout nouveau plugin.
<?php
/**
* Plugin Name: Rank Math API Manager Extended v1.3
* Description: Manages the update of Rank Math metadata (SEO Title, SEO Description, Canonical URL) via the REST API for WordPress posts and WooCommerce products.
* Version: 1.3
* Author: Phil - https://inforeole.fr
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Rank_Math_API_Manager_Extended {
public function __construct() {
add_action('rest_api_init', [$this, 'register_meta_fields']);
add_action('rest_api_init', [$this, 'register_api_routes']);
}
/**
* Registers the Rank Math meta fields in the REST API for posts and products (if WooCommerce is active).
*/
public function register_meta_fields() {
$meta_fields = [
'rank_math_title' => 'SEO Title',
'rank_math_description' => 'SEO Description',
'rank_math_canonical_url' => 'Canonical URL'
];
// Register meta for posts by default.
$post_types = ['post'];
// If WooCommerce is active, add the 'product' post type.
if ( class_exists('WooCommerce') ) {
$post_types[] = 'product';
}
foreach ( $post_types as $post_type ) {
foreach ( $meta_fields as $key => $description ) {
register_post_meta( $post_type, $key, [
'show_in_rest' => true,
'single' => true,
'type' => 'string',
'auth_callback' => [$this, 'check_update_permission'],
'description' => $description,
] );
}
}
}
/**
* Registers the REST API route to update Rank Math meta fields.
*/
public function register_api_routes() {
register_rest_route( 'rank-math-api/v1', '/update-meta', [
'methods' => 'POST',
'callback' => [$this, 'update_rank_math_meta'],
'permission_callback' => [$this, 'check_update_permission'],
'args' => [
'post_id' => [
'required' => true,
'validate_callback' => function( $param ) {
return is_numeric( $param ) && get_post( $param );
}
],
'rank_math_title' => [
'type' => 'string',
'sanitize_callback' => 'sanitize_text_field',
],
'rank_math_description' => [
'type' => 'string',
'sanitize_callback' => 'sanitize_text_field',
],
'rank_math_canonical_url' => [
'type' => 'string',
'sanitize_callback' => 'esc_url_raw',
],
],
] );
}
/**
* Updates the Rank Math meta fields via the REST API.
*/
public function update_rank_math_meta( WP_REST_Request $request ) {
$post_id = $request->get_param( 'post_id' );
$fields = ['rank_math_title', 'rank_math_description', 'rank_math_canonical_url'];
$result = [];
foreach ( $fields as $field ) {
$value = $request->get_param( $field );
if ( $value !== null ) {
$update_result = update_post_meta( $post_id, $field, $value );
$result[ $field ] = $update_result ? 'updated' : 'failed';
}
}
if ( empty( $result ) ) {
return new WP_Error( 'no_update', 'No metadata was updated', ['status' => 400] );
}
return new WP_REST_Response( $result, 200 );
}
/**
* Checks if the current user has permission to update the meta fields.
*/
public function check_update_permission() {
return current_user_can( 'edit_posts' );
}
}
new Rank_Math_API_Manager_Extended();Activer le plugin
- Rendez-vous dans le tableau de bord WordPress > Extensions.
- Activez le plugin Rank Math API Manager Extended v1.3.
Workflow n8n
⚠️ si vous aviez déjà des credentials pour le WordPress que vous souhaitez mettre à jour, pensez bien à recréer votre clé API pour qu’elle prenne en compte la nouvel API

HTTP request

Version bulk
J’ai aussi une version « bulk » payante : ce workflow spécifique est conçu pour optimiser en masse les titres et les descriptions des articles WordPress en utilisant Rank Math, un plugin SEO populaire pour WordPress.
L’api de WordPress ne proposant pas de moyen simple d’obtenir la liste de tous les articles, j’ai créé une nouvelle API et créé un Workflow de mise à jour en masse :
- Le workflow commence par récupérer une liste d’articles depuis un site WordPress.
- Chaque article est analysé (personnalisable) pour déterminer les améliorations potentielles des titres et descriptions en utilisant les fonctionnalités de Rank Math.
- Les titres et descriptions sont optimisés en fonction des recommandations SEO de Rank Math.
- Les articles sont mis à jour avec les nouveaux titres et descriptions optimisés.
https://n8n.io/workflows/4646-rank-math-bulk-title-and-description-optimizer-for-wordpress
Dépannage
Erreur d’authentification
Si vous obtenez une erreur de type « invalid_username » ou « Authorization failed », vérifiez que :
- Vous avez bien utilisé un password applicatif.
- Vos identifiants (nom d’utilisateur et mot de passe ou clés API) sont corrects.
- Le plugin de Basic Auth est installé (si vous utilisez l’authentification Basic).
- Vous avez recréé les credentials après modification de l’API.
- Qu’un plugin de sécu (ex. Worfence) bloque pas les password applicatifs.
Endpoint non accessible
Si l’URL https://your-domain.com/wp-json/rank-math-api/v1/update-meta ne répond pas :
• Assurez-vous que le plugin est activé.
• Vérifiez l’URL et testez-la avec cURL ou Postman.
Mise à jour incorrecte
Si les champs ne se mettent pas à jour :
• Vérifiez que le post_id correspond à un article ou produit existant.
• Assurez-vous que les paramètres sont correctement transmis et validés via l’API REST.



