Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Corrigez le bug ai-optimize de Yoast SEO avant qu'il ne ruine le SEO de votre site

Un ami m'a contacté récemment après avoir découvert quelque chose d'alarmant dans ses articles WordPress. Il utilisait Yoast SEO Premium avec l'éditeur classique, et il a constaté que Yoast insérait automatiquement des classes CSS d'apparence étrange comme ai-optimize-6, ai-optimize-9, directement dans son contenu.

Le problème est que ces classes restent intégrées de manière permanente dans les articles, même après avoir désactivé Yoast AI Optimize ou complètement supprimé le plugin. Cela va à l'encontre du comportement attendu d'un plugin… c'est-à-dire que lorsque vous le désinstallez, il ne devrait laisser aucune trace dans votre contenu.

Bien que ces marqueurs IA n'affectent pas visuellement votre site, ils encombrent votre code source. Cela pourrait également signaler aux détecteurs de contenu IA, aux vérificateurs de plagiat et même aux moteurs de recherche que votre contenu a été généré ou optimisé par IA.

Dans ce guide, je vais vous montrer comment supprimer ces classes cachées à l'aide d'un extrait de code rapide. J'expliquerai également comment l'appliquer en toute sécurité et je partagerai le plugin SEO que je recommande en alternative à Yoast.

Correction du bug ai-optimize dans Yoast SEO

Voici ce que je vais couvrir dans ce tutoriel :

Pourquoi ces classes ai-optimize sont mauvaises pour le SEO

Les classes CSS ai-optimize-{number} sont ajoutées lorsque vous utilisez les fonctionnalités d'IA de Yoast SEO Premium avec l'éditeur classique. Elles n'apparaissent pas sur le front-end, mais elles sont intégrées au HTML de votre contenu, ce qui peut causer des problèmes.

Vous pouvez les visualiser en visitant n'importe quel article ou page de votre site et en utilisant l'outil Inspecter de votre navigateur.

Bug d'optimisation IA dans Yoast SEO

Voici pourquoi je recommande de les supprimer :

  • Elles encombrent votre HTML : Ces classes inutiles rendent votre code plus difficile à lire et à analyser.
  • Elles ne servent à rien : Elles n'affectent pas l'apparence ou le fonctionnement de votre contenu. Ce ne sont que des restes de l'outil d'IA.
  • Elles peuvent déclencher des outils de détection d'IA : Certains vérificateurs de plagiat et détecteurs de contenu IA reconnaissent ces modèles et peuvent signaler votre article, même si vous l'avez écrit vous-même.
  • Elles laissent des empreintes d'IA sur votre site : Si plusieurs sites utilisent les mêmes classes, Google pourrait commencer à associer ce modèle à du contenu IA de faible qualité ou produit en masse.
  • Elles augmentent le risque de conflits de mise en forme : Des classes inconnues pourraient interférer avec votre thème ou vos plugins à l'avenir.

Il n'y a aucun avantage à conserver ces marqueurs cachés, et plusieurs bonnes raisons de les supprimer.

La bonne nouvelle, c'est qu'il existe une solution rapide, et je vais vous montrer comment le faire en toute sécurité dans la section suivante.

Étape 1 : Faites une sauvegarde avant d'apporter des modifications

Avant de continuer, je recommande toujours de créer une sauvegarde complète de votre site WordPress. Cela ne prend que quelques minutes et vous assure une tranquillité d'esprit au cas où quelque chose tournerait mal.

J'utilise Duplicator lorsque j'ai besoin d'une solution de sauvegarde rapide et fiable. C'est le meilleur plugin de sauvegarde WordPress du marché, il est convivial pour les débutants et il fonctionne parfaitement, que vous sauvegardiez ou migriez votre site.

  • ✅ Sauvegardes WordPress à la demande et automatiques
  • ✅ Stockées en toute sécurité dans des emplacements distants comme Dropbox ou Google Drive
  • ✅ Restauration facile en 1 clic si quelque chose casse

Pour plus de détails, consultez notre guide sur comment sauvegarder votre site WordPress.

Une fois votre sauvegarde prête, vous pouvez passer à l'étape suivante en toute sécurité, où je vous montrerai comment résoudre le problème.

Étape 2 : Ajoutez l'extrait de code pour empêcher les classes ai-optimize

Maintenant que votre sauvegarde est prête, il est temps de nettoyer ces classes ai-optimize-{number} et ai-optimize-introduction.

J'ai mis au point un extrait de code sûr et flexible qui fonctionne à la fois avec l'éditeur classique et l'éditeur de blocs (Gutenberg), ainsi qu'avec les modifications en masse.

Vous n'avez pas besoin de toucher aux fichiers de votre thème ni de manipuler le FTP. Je vous recommande plutôt d'utiliser le plugin WPCode pour ajouter cet extrait. C'est ce que j'utilise pour gérer les extraits de code sur les sites WordPress sans rien risquer d'important. (Voir ma revue complète de WPCode pour plus de détails.)

Astuce : WPCode dispose d'une version gratuite limitée que vous pouvez utiliser pour ce tutoriel. Cependant, je vous recommande de passer à un plan payant pour libérer tout son potentiel.

Si c'est la première fois que vous ajoutez du code personnalisé à votre site, vous pouvez consulter notre guide sur comment ajouter des extraits de code personnalisés dans WordPress sans casser votre site.

Tout d'abord, vous devez installer et activer le plugin WPCode. Consultez notre tutoriel sur l'installation d'un plugin WordPress si vous avez besoin d'aide.

Une fois le plugin activé, accédez à la page Extraits de code » + Ajouter un extrait et cliquez sur le bouton « + Ajouter un extrait personnalisé » sous la boîte « Ajouter votre code personnalisé (Nouvel extrait) ».

WPCode ajoute un extrait de code personnalisé

Ensuite, vous devez fournir un titre pour votre extrait de code. Cela peut être n'importe quoi qui vous aide à identifier facilement ce code.

Après cela, choisissez Extrait PHP dans le menu déroulant « Type de code ».

Ajout du code de correction du bug d'optimisation IA de Yoast

Maintenant, vous devez copier et coller le code suivant dans la boîte d'aperçu du code.

Voici l'extrait de code complet :

// For Classic Editor and programmatic updates
function strip_ai_optimize_classes($data, $postarr) {
    if (empty($data['post_content']) || $data['post_type'] !== 'post') {
        return $data;
    }
    $data['post_content'] = strip_ai_optimize_from_content($data['post_content']);
    return $data;
}
add_filter('wp_insert_post_data', 'strip_ai_optimize_classes', 10, 2);

// For Gutenberg/Block Editor
function strip_ai_optimize_classes_rest_insert($prepared_post, $request) {
    if (isset($prepared_post->post_content) && $prepared_post->post_type === 'post') {
        $prepared_post->post_content = strip_ai_optimize_from_content($prepared_post->post_content);
    }
    return $prepared_post;
}
add_filter('rest_pre_insert_post', 'strip_ai_optimize_classes_rest_insert', 10, 2);

// For bulk edit operations - this is the key addition
function strip_ai_optimize_classes_bulk_edit($post_id) {
    $post = get_post($post_id);
    if (!$post || empty($post->post_content) || $post->post_type !== 'post') {
        return;
    }
    $cleaned_content = strip_ai_optimize_from_content($post->post_content);
    if ($cleaned_content !== $post->post_content) {
        remove_action('post_updated', 'strip_ai_optimize_classes_bulk_edit');
        wp_update_post(array(
            'ID' => $post_id,
            'post_content' => $cleaned_content
        ));
        add_action('post_updated', 'strip_ai_optimize_classes_bulk_edit');
    }
}
add_action('post_updated', 'strip_ai_optimize_classes_bulk_edit');

// Catch bulk operations via the bulk_edit_posts action
function strip_ai_optimize_classes_bulk_action($post_ids) {
    if (!is_array($post_ids)) {
        return;
    }
    foreach ($post_ids as $post_id) {
        strip_ai_optimize_classes_bulk_edit($post_id);
    }
}
add_action('bulk_edit_posts', 'strip_ai_optimize_classes_bulk_action');

// Shared function to strip ai-optimize classes
function strip_ai_optimize_from_content($content) {
    if (empty($content) || !is_string($content)) {
        return $content;
    }

    return preg_replace_callback(
        '/class\s*=\s*["\']([^"\']*)["\']/',
        function($matches) {
            $classes = $matches[1];

            // Remove ai-optimize-[number] and ai-optimize-introduction
            $classes = preg_replace('/\bai-optimize-(\d+|introduction)\b\s*/', '', $classes);

            // Clean up spacing
            $classes = preg_replace('/\s+/', ' ', trim($classes));

            return empty($classes) ? '' : 'class="' . $classes . '"';
        },
        $content
    );
}

Après avoir ajouté le code, faites défiler vers le bas jusqu'à la section « Insertion ».

Ensuite, sélectionnez « Exécuter partout » à côté de l'option « Emplacement ».

Exécuter le fragment de code partout

Enfin, allez en haut de la page et basculez le commutateur de statut en haut à droite sur Actif, puis cliquez sur le bouton « Enregistrer l'extrait » pour sauvegarder vos modifications.

Une fois que vous aurez ajouté cet extrait à votre site à l'aide de WPCode, il supprimera automatiquement ces classes générées par l'IA de tout article que vous créez ou mettez à jour à l'avenir.

Si vous souhaitez supprimer les classes d'IA du contenu existant, vous devrez effectuer une édition en masse de votre contenu existant.

Étape 3 : Supprimez les classes IA de tous les articles (Mise à jour en masse)

Maintenant que vous avez l'extrait de code en place, il nettoiera automatiquement tous les marqueurs d'IA lorsque vous modifierez un article existant ou publierez un nouvel article. Mais pour supprimer ces classes de vos anciens articles, vous devrez les trouver et les remplacer dans votre base de données WordPress.

Pour ce faire, vous devrez ajouter un autre extrait de code à l'aide de WPCode. Celui-ci remplacera les classes CSS ai-optimize de votre contenu existant.

Allez simplement sur la page Extraits de code » + Ajouter un extrait et cliquez sur le bouton « + Ajouter un extrait personnalisé » sous la boîte « Ajouter votre code personnalisé (Nouvel extrait) ».

Ajouter un extrait de suppression en masse

Après cela, choisissez PHP Snippet dans le menu déroulant ‘Type de code’. Ensuite, vous devez fournir un titre pour votre extrait de code. Cela peut être n’importe quoi qui vous aide à identifier facilement ce code.

Maintenant, vous devez copier et coller le code suivant dans la boîte Aperçu du code.

/**
 * Fixes unwanted 'ai-optimize-introduction' and 'ai-optimize-[number]' classes added by Yoast SEO in post content.
 * Run once and don't forget to disable it
 */

function wpb_fix_yoast_ai_optimize_classes() {
    $args = array(
        'post_type'      => get_post_types(array('public' => true)), // Apply to all public post types
        'posts_per_page' => -1,
        'post_status'    => 'publish',
        'fields'         => 'ids', // Optimize memory usage
    );

    $query = new WP_Query($args);
    $fixed_count = 0;

    if ($query->have_posts()) {
        global $wpdb;

        foreach ($query->posts as $post_id) {
            $content = get_post_field('post_content', $post_id);

            // Remove both ai-optimize-[number] and ai-optimize-introduction classes
            $new_content = preg_replace('/\bai-optimize-(\d+|introduction)\b/', '', $content);

            // Clean up any extra whitespace left behind
            $new_content = preg_replace('/\s+/', ' ', $new_content);

            if ($new_content !== $content) {
                $updated = $wpdb->update(
                    $wpdb->posts,
                    array('post_content' => $new_content),
                    array('ID' => $post_id),
                    array('%s'),
                    array('%d')
                );

                if ($updated !== false) {
                    $fixed_count++;
                    error_log("Fixed post ID: $post_id");
                } else {
                    error_log("Failed to update post ID: $post_id");
                }
            }
        }

        wp_reset_postdata();
    }

    error_log("WPCode cleanup complete. Total posts fixed: $fixed_count");

    // Automatically disable this snippet after it runs
    if (function_exists('wpcode_snippet_deactivate_current')) {
        wpcode_snippet_deactivate_current();
    }
}

// Run only once when the snippet is saved or enabled
add_action('init', 'wpb_fix_yoast_ai_optimize_classes');

Après avoir ajouté le code, faites défiler vers le bas jusqu'à la section « Insertion ».

Ensuite, sélectionnez « Exécuter partout » à côté de l'option « Emplacement ».

Exécuter le fragment de code partout

Maintenant, retournez en haut de la page et basculez le commutateur de statut sur ‘Actif’ et cliquez sur ‘Enregistrer le snippet’.

Ne vous inquiétez pas, cela ne changera pas votre contenu. Il recherche simplement dans la base de données les classes ai-optimize et les supprime.

Enregistrer et activer l'extrait de code

Votre snippet est maintenant en ligne. Pour le déclencher, il vous suffit de visiter n’importe quel article ou page de votre site web.

Cela nettoiera les classes ai-optimize-{number} et ai-optimize-introduction de tous vos articles existants, sans aucune modification manuelle nécessaire.

Après cela, utilisez l’outil Inspecter pour vous assurer qu’aucune classe ai-optimize n’apparaît dans votre contenu.

Important : Une fois que vous avez supprimé les classes ai-optimize, n’oubliez pas de retourner à la page Extraits de code et de désactiver l’extrait de code de suppression.

Désactiver l'extrait de suppression ai-optimize

Note 📝 : Vous devrez garder le premier extrait de code actif jusqu'à ce que vous mettiez à jour Yoast SEO Premium ou que vous passiez à une solution alternative.

Astuce bonus : Passez à un plugin SEO alternatif (meilleur et plus puissant)

Yoast SEO existe depuis longtemps, mais ces derniers temps, ses innovations ont ralenti.

Chez WPBeginner, nous avons décidé de passer à All in One SEO sur tous nos sites il y a quelques années. Ce fut un grand changement, et nous avons documenté toutes les raisons dans cette étude de cas : Pourquoi nous sommes passés de Yoast à All in One SEO.

Site web All in One SEO

J'utilise maintenant All in One SEO sur chaque projet personnel et sur tous les sites web de clients. C'est mon plugin SEO de prédilection car il offre :

  • ✅ Des fonctionnalités complètes pour l'ère de la recherche IA (balisage de schéma, sitemaps avancés, intégrations IA, et plus encore)
  • ✅ Une configuration facile avec des paramètres intelligents et des listes de contrôle
  • ✅ Un meilleur support pour le SEO local, WooCommerce, Google Actualités, et plus encore.

Si vous hésitez encore, nous avons fait une comparaison détaillée côte à côte ici : Yoast SEO vs All in One SEO – Quel est le meilleur plugin WordPress SEO ?

Important ⚠️ : Si vous avez mis à jour vers la dernière version de Yoast SEO Premium (version 25.3.1 ou ultérieure) ou si vous êtes passé à All in One SEO, vous pouvez maintenant simplement désactiver l'extrait de code dans WPCode.

Allez simplement sur la page Extraits de code dans l'espace d'administration de WordPress, et basculez l'interrupteur à côté de l'extrait pour le désactiver.

Désactiver le fragment de code

Ressources SEO bonus

Que vous vous éloigniez de Yoast SEO ou que vous souhaitiez simplement affiner votre stratégie SEO WordPress, voici quelques ressources utiles pour vous guider.

Ces tutoriels et comparaisons peuvent vous faire gagner du temps, éviter des erreurs coûteuses et vous aider à obtenir de meilleurs résultats de vos efforts SEO :

J'espère que ce guide vous a aidé à résoudre le problème de la classe ai-optimize dans Yoast SEO et à configurer votre site pour de meilleurs résultats à long terme. Vous pouvez le faire, et si jamais vous avez besoin d'aide, nous sommes là pour vous aider.

Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

Commentaires

  1. Félicitations, vous avez l'opportunité d'être le premier commentateur de cet article.
    Vous avez une question ou une suggestion ? Veuillez laisser un commentaire pour lancer la discussion.

Laisser un commentaire

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.