Un amico mi ha contattato di recente dopo aver scoperto qualcosa di allarmante nei suoi post di WordPress. Stava usando Yoast SEO Premium con il Classic Editor e ha scoperto che Yoast inseriva automaticamente classi CSS dall'aspetto strano come ai-optimize-6, ai-optimize-9, direttamente nei suoi contenuti.
Il problema è che queste classi rimangono permanentemente incorporate nei post anche dopo aver disabilitato Yoast AI Optimize o aver eliminato completamente il plugin. Questo va contro il comportamento previsto di un plugin... ovvero, quando lo disinstalli, non dovrebbe lasciare alcuna traccia nei tuoi contenuti.
Sebbene questi marcatori AI potrebbero non influire visivamente sul tuo sito, ingombrano il tuo codice sorgente. Potrebbe anche segnalare potenzialmente ai rilevatori di contenuti AI, ai controllori di plagio e persino ai motori di ricerca che i tuoi contenuti sono stati generati o ottimizzati dall'AI.
In questa guida, ti mostrerò come rimuovere queste classi nascoste utilizzando un rapido snippet di codice. Ti spiegherò anche come applicarlo in modo sicuro e condividerò il plugin SEO che consiglio di utilizzare come alternativa a Yoast.

Ecco le cose che tratterò in questo tutorial:
- Perché queste classi ai-optimize sono dannose per la SEO
- Passaggio 1: Effettua un backup prima di apportare modifiche
- Passaggio 2: Aggiungi lo snippet di codice per prevenire le classi ai-optimize
- Passaggio 3: Rimuovi le classi AI da tutti i post (Aggiornamento in blocco)
- Suggerimento bonus: Passare a un plugin SEO alternativo (migliore e più potente)
- Risorse SEO bonus
Perché queste classi ai-optimize sono dannose per la SEO
Le classi CSS ai-optimize-{number} vengono aggiunte quando si utilizzano le funzionalità AI di Yoast SEO Premium con l'Editor Classico. Non appaiono sul front-end, ma sono incorporate nell'HTML del tuo contenuto, il che può causare problemi.
Puoi visualizzarle visitando qualsiasi post o pagina del tuo sito e utilizzando lo strumento Ispeziona nel tuo browser.

Ecco perché ne consiglio la rimozione:
- Ingombrano il tuo HTML: Queste classi non necessarie rendono il tuo codice più difficile da leggere e analizzare.
- Non servono a nulla: Non influiscono sull'aspetto o sul funzionamento del tuo contenuto. Sono solo residui dello strumento AI.
- Possono attivare strumenti di rilevamento AI: Alcuni controlli antiplagio e rilevatori di contenuti AI riconoscono questi schemi e potrebbero segnalare il tuo post, anche se l'hai scritto tu stesso.
- Lasciare impronte AI sul tuo sito: Se più siti utilizzano le stesse classi, Google potrebbe iniziare ad associare quel modello a contenuti AI di bassa qualità o prodotti in massa.
- Aumentano il rischio di conflitti di formattazione: Classi sconosciute potrebbero interferire con il tuo tema o con i plugin in futuro.
Non c'è alcun vantaggio nel mantenere questi marcatori nascosti, e ci sono diverse buone ragioni per eliminarli.
La buona notizia è che esiste una soluzione rapida, e ti mostrerò come farlo in sicurezza nella sezione successiva.
Passaggio 1: Effettua un backup prima di apportare modifiche
Prima di procedere, consiglio sempre di creare un backup completo del tuo sito WordPress. Richiede solo pochi minuti e ti dà tranquillità nel caso in cui qualcosa vada storto.
Uso Duplicator quando ho bisogno di una soluzione di backup rapida e affidabile. È il miglior plugin di backup WordPress sul mercato, è facile da usare per i principianti e funziona benissimo sia che tu stia eseguendo il backup o migrando il tuo sito.
- ✅ Backup WordPress on-demand e automatici
- ✅ Archiviati in modo sicuro in posizioni remote come Dropbox o Google Drive
- ✅ Ripristino facile con 1 clic se qualcosa si rompe
Per maggiori dettagli, consulta la nostra guida su come eseguire il backup del tuo sito WordPress.
Una volta che il tuo backup è pronto, puoi procedere in sicurezza al passaggio successivo, dove ti mostrerò come risolvere il problema.
Passaggio 2: Aggiungi lo snippet di codice per prevenire le classi ai-optimize
Ora che il tuo backup è pronto, è il momento di ripulire le classi ai-optimize-{number} e ai-optimize-introduction.
Ho messo insieme uno snippet di codice sicuro e flessibile che funziona sia con l'Editor Classico che con l'Editor a Blocchi (Gutenberg), oltre che con le modifiche in blocco.
Non è necessario toccare i file del tema o armeggiare con l'FTP. Invece, ti consiglio di utilizzare il plugin WPCode per aggiungere questo snippet. È quello che uso per gestire gli snippet di codice sui siti WordPress senza rischiare nulla di importante. (Vedi la mia recensione completa di WPCode per maggiori dettagli.)
Suggerimento: WPCode ha una versione gratuita limitata che puoi utilizzare per questo tutorial. Tuttavia, ti consiglio di passare a un piano a pagamento per sbloccare il suo pieno potenziale.
Se questa è la prima volta che aggiungi codice personalizzato al tuo sito, dai un'occhiata alla nostra guida su come aggiungere snippet di codice personalizzato in WordPress senza compromettere il tuo sito.
Innanzitutto, devi installare e attivare il plugin WPCode. Consulta il nostro tutorial su come installare un plugin WordPress se hai bisogno di aiuto.
Una volta attivato il plugin, vai alla pagina Code Snippets » + Add Snippet e fai clic sul pulsante ‘+ Add Custom Snippet’ nella casella ‘Add Your Custom Code (New Snippet)’.

Successivamente, devi fornire un titolo per il tuo frammento di codice. Potrebbe essere qualsiasi cosa che ti aiuti a identificare facilmente questo codice.
Dopo di ciò, scegli Frammento PHP dal menu a discesa 'Tipo di codice'.

Ora, devi copiare e incollare il seguente codice nella casella Anteprima codice.
Ecco il frammento di codice completo:
// 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
);
}
Dopo aver aggiunto il codice, scorri verso il basso fino alla sezione 'Inserimento'.
Quindi, seleziona 'Esegui ovunque' accanto all'opzione 'Posizione'.

Infine, vai in cima alla pagina e imposta l'interruttore di stato in alto a destra su Attivo, quindi fai clic sul pulsante 'Salva frammento' per memorizzare le modifiche.
Una volta aggiunto questo frammento al tuo sito utilizzando WPCode, questo rimuoverà automaticamente queste classi generate dall'IA da qualsiasi post che crei o aggiorni in futuro.
Se desideri rimuovere le classi ai- dalle contenuti esistenti, dovrai modificare in blocco i tuoi contenuti esistenti.
Passaggio 3: Rimuovi le classi AI da tutti i post (Aggiornamento in blocco)
Ora che hai il frammento di codice in posizione, questo pulirà automaticamente eventuali marcatori AI quando modifichi un post esistente o ne pubblichi uno nuovo. Ma per rimuovere queste classi dai tuoi vecchi post, dovrai trovarle e sostituirle nel tuo database di WordPress.
Per fare ciò, dovrai aggiungere un altro frammento di codice utilizzando WPCode. Questo sostituirà le classi CSS ai-optimize dai tuoi contenuti esistenti.
Vai semplicemente alla pagina Frammenti di codice » + Aggiungi frammento e fai clic sul pulsante '+ Aggiungi frammento personalizzato' nella casella 'Aggiungi il tuo codice personalizzato (Nuovo frammento)'.

Successivamente, scegli PHP Snippet dal menu a discesa ‘Tipo di codice’. Successivamente, devi fornire un titolo per il tuo frammento di codice. Questo potrebbe essere qualsiasi cosa che ti aiuti a identificare facilmente questo codice.
Ora, devi copiare e incollare il seguente codice nella casella di anteprima del codice.
/**
* 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');
Dopo aver aggiunto il codice, scorri verso il basso fino alla sezione 'Inserimento'.
Quindi, seleziona 'Esegui ovunque' accanto all'opzione 'Posizione'.

Ora, torna in cima alla pagina e imposta l'interruttore di stato su ‘Attivo’ e fai clic su ‘Salva frammento’.
Non preoccuparti, questo non cambierà il tuo contenuto. Semplicemente cerca nel database le classi ai-optimize e le rimuove.

Il tuo frammento è ora attivo. Per attivarlo, devi semplicemente visitare qualsiasi post o pagina sul tuo sito web.
Questo pulirà le classi ai-optimize-{number} e ai-optimize-introduction da tutti i tuoi post esistenti, senza modifiche manuali.
Successivamente, usa lo strumento Ispeziona per assicurarti che nessuna classe ai-optimize appaia nel tuo contenuto.
Importante: Una volta rimosse le classi ai-optimize, non dimenticare di tornare alla pagina Frammenti di codice e disattivare il frammento di codice di rimozione.

Nota 📝: Dovrai mantenere attivo il primo snippet di codice fino a quando non aggiornerai Yoast SEO Premium o passerai a una soluzione alternativa.
Suggerimento bonus: Passare a un plugin SEO alternativo (migliore e più potente)
Yoast SEO esiste da molto tempo, ma ultimamente le sue innovazioni hanno rallentato.
Noi di WPBeginner abbiamo deciso di passare a All in One SEO su tutti i nostri siti qualche anno fa. È stata una grande mossa e abbiamo documentato ogni motivo in questo case study: Perché siamo passati da Yoast ad All in One SEO.

Ora uso All in One SEO su ogni progetto personale e su tutti i siti web dei clienti. È il mio plugin SEO di riferimento perché offre:
- ✅ Funzionalità complete per l'era della ricerca AI (markup schema, sitemap avanzate, integrazioni AI e altro ancora)
- ✅ Configurazione semplice con impostazioni predefinite intelligenti e checklist
- ✅ Miglior supporto per SEO locale, WooCommerce, Google News e altro ancora.
Se sei ancora indeciso, abbiamo fatto un confronto dettagliato qui: Yoast SEO vs All in One SEO – Qual è il miglior plugin WordPress SEO?
Importante ⚠️: Se hai aggiornato all'ultima versione di Yoast SEO Premium (versione 25.3.1 o successiva) o sei passato ad All in One SEO, puoi semplicemente disattivare lo snippet di codice in WPCode.
Vai semplicemente alla pagina Snippet di codice nell'area di amministrazione di WordPress e sposta l'interruttore accanto allo snippet per disattivarlo.

Risorse SEO bonus
Sia che tu stia passando da Yoast SEO o che tu voglia semplicemente ottimizzare la tua strategia SEO per WordPress, ecco alcune risorse utili per guidarti.
Questi tutorial e confronti possono farti risparmiare tempo, evitare errori costosi e aiutarti a ottenere risultati migliori dai tuoi sforzi SEO:
- Le migliori alternative a Yoast SEO per WordPress
- La checklist definitiva per la migrazione SEO di WordPress (per principianti) – Ti aiuta a passare da Yoast a All in One SEO
- Come configurare correttamente All in One SEO per WordPress (Guida definitiva)
- Guida SEO completa per WordPress per principianti (Passo dopo passo)
- Come usare l'IA per la SEO in WordPress (12 strumenti)
- I Contenuti AI Fanno Male alla SEO di WordPress? (Approfondimenti ed Errori degli Esperti)
- Guida per principianti all'ottimizzazione del motore generativo per WordPress
Spero che questa guida ti abbia aiutato a risolvere il problema della classe ai-optimize in Yoast SEO e a impostare il tuo sito per migliori risultati a lungo termine. Ce la puoi fare e, se mai avessi bisogno di una mano, siamo qui per aiutarti.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Hai una domanda o un suggerimento? Lascia un commento per iniziare la discussione.