Niedawno skontaktował się ze mną znajomy po odkryciu czegoś alarmującego w swoich postach na WordPressie. Używał Yoast SEO Premium z Klasycznym Edytorem i odkrył, że Yoast automatycznie wstawiał dziwnie wyglądające klasy CSS, takie jak ai-optimize-6, ai-optimize-9, bezpośrednio do jego treści.
Problem polega na tym, że te klasy pozostają na stałe osadzone we wpisach nawet po wyłączeniu Yoast AI Optimize lub całkowitym usunięciu wtyczki. Jest to sprzeczne z oczekiwanym zachowaniem wtyczki… to znaczy, po jej odinstalowaniu nie powinna pozostawiać żadnego śladu w Twojej treści.
Chociaż te znaczniki AI mogą nie wpływać wizualnie na Twoją witrynę, zaśmiecają Twój kod źródłowy. Mogą również potencjalnie sygnalizować detektorom treści AI, programom sprawdzającym plagiat, a nawet wyszukiwarkom, że Twoje treści zostały wygenerowane lub zoptymalizowane przez AI.
W tym przewodniku pokażę Ci, jak usunąć te ukryte klasy za pomocą szybkiego fragmentu kodu. Wyjaśnię również, jak bezpiecznie go zastosować i udostępnię wtyczkę SEO, którą polecam jako alternatywę dla Yoast.

Oto rzeczy, które omówię w tym poradniku:
- Dlaczego te klasy ai-optimize są złe dla SEO
- Krok 1: Wykonaj kopię zapasową przed wprowadzeniem zmian
- Krok 2: Dodaj fragment kodu, aby zapobiec klasom ai-optimize
- Krok 3: Usuń klasy AI ze wszystkich postów (aktualizacja masowa)
- Dodatkowa wskazówka: Przejście na alternatywną wtyczkę SEO (lepszą i potężniejszą)
- Dodatkowe zasoby SEO
Dlaczego te klasy ai-optimize są złe dla SEO
Klasy CSS ai-optimize-{number} są dodawane, gdy używasz funkcji AI Yoast SEO Premium z Klasycznym Edytorem. Nie pojawiają się one na froncie, ale są osadzone w kodzie HTML Twojej treści, co może powodować problemy.
Możesz je wyświetlić, odwiedzając dowolny wpis lub stronę w swojej witrynie i korzystając z narzędzia Inspektora w swojej przeglądarce.

Oto dlaczego zalecam ich usunięcie:
- Zanieczyszczają Twój HTML: Te niepotrzebne klasy utrudniają czytanie i analizowanie kodu.
- Nie służą żadnemu celowi: Nie wpływają na wygląd ani działanie Twoich treści. Są to tylko pozostałości po narzędziu AI.
- Mogą aktywować narzędzia do wykrywania AI: Niektóre narzędzia do sprawdzania plagiatu i detektory treści AI wykrywają te wzorce i mogą oznaczyć Twój wpis, nawet jeśli napisałeś go sam.
- Pozostawiają ślady AI na Twojej stronie: Jeśli wiele stron korzysta z tych samych klas, Google może zacząć kojarzyć ten wzorzec z niskiej jakości lub masowo produkowanymi treściami AI.
- Zwiększają ryzyko konfliktów formatowania: Nieznane klasy mogą w przyszłości kolidować z Twoim motywem lub wtyczkami.
Nie ma żadnych korzyści z zachowywania tych ukrytych znaczników i istnieje kilka dobrych powodów, aby je usunąć.
Dobra wiadomość jest taka, że istnieje szybkie rozwiązanie, a ja pokażę Ci, jak to zrobić bezpiecznie w następnej sekcji.
Krok 1: Wykonaj kopię zapasową przed wprowadzeniem zmian
Zanim przejdziemy dalej, zawsze zalecam wykonanie pełnej kopii zapasowej Twojej witryny WordPress. Zajmuje to tylko kilka minut i daje spokój ducha na wypadek, gdyby coś poszło nie tak.
Używam Duplicator, gdy potrzebuję szybkiego i niezawodnego rozwiązania do tworzenia kopii zapasowych. Jest to najlepsza wtyczka do tworzenia kopii zapasowych WordPressa na rynku, jest przyjazna dla początkujących i działa świetnie, niezależnie od tego, czy tworzysz kopię zapasową, czy migrujesz swoją witrynę.
- ✅ Kopie zapasowe WordPress na żądanie i automatyczne
- ✅ Bezpiecznie przechowywane w zdalnych lokalizacjach, takich jak Dropbox lub Dysk Google
- ✅ Łatwe przywracanie jednym kliknięciem, jeśli coś się zepsuje
Szczegółowe informacje znajdziesz w naszym przewodniku jak wykonać kopię zapasową witryny WordPress.
Gdy Twoja kopia zapasowa będzie gotowa, możesz bezpiecznie przejść do następnego kroku, w którym pokażę Ci, jak rozwiązać problem.
Krok 2: Dodaj fragment kodu, aby zapobiec klasom ai-optimize
Teraz, gdy Twoja kopia zapasowa jest gotowa, czas wyczyścić klasy ai-optimize-{number} i ai-optimize-introduction.
Przygotowałem bezpieczny i elastyczny fragment kodu, który działa zarówno z Klasycznym Edytorem, jak i Edytorem Blokowym (Gutenberg), a także z edycją masową.
Nie musisz dotykać plików motywu ani bawić się w FTP. Zamiast tego polecam użyć wtyczki WPCode do dodania tego fragmentu kodu. Używam jej do zarządzania fragmentami kodu na stronach WordPress bez ryzykowania niczego ważnego. (Zobacz moją pełną recenzję WPCode, aby uzyskać więcej szczegółów.)
Wskazówka: WPCode ma ograniczoną wersję darmową, której możesz użyć do tego tutorialu. Jednak zalecam przejście na płatny plan, aby odblokować jej pełny potencjał.
Jeśli po raz pierwszy dodajesz niestandardowy kod do swojej witryny, zapoznaj się z naszym przewodnikiem na temat jak łatwo dodawać fragmenty niestandardowego kodu w WordPressie bez psucia witryny.
Najpierw musisz zainstalować i aktywować wtyczkę WPCode. Zapoznaj się z naszym poradnikiem na temat instalowania wtyczki WordPress, jeśli potrzebujesz pomocy.
Po aktywacji wtyczki przejdź do strony Fragmenty kodu » + Dodaj fragment i kliknij przycisk „+ Dodaj niestandardowy fragment” w polu „Dodaj swój niestandardowy kod (nowy fragment)”.

Następnie musisz podać tytuł dla swojego fragmentu kodu. Może to być cokolwiek, co pomoże Ci łatwo zidentyfikować ten kod.
Następnie wybierz „Fragment PHP” z menu rozwijanego „Typ kodu”.

Teraz musisz skopiować i wkleić poniższy kod do pola Podgląd kodu.
Oto pełny fragment kodu:
// 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
);
}
Po dodaniu kodu przewiń w dół do sekcji „Wstawianie”.
Następnie wybierz „Uruchom wszędzie” obok opcji „Lokalizacja”.

Na koniec przejdź na górę strony i przełącz przełącznik statusu w prawym górnym rogu na Aktywny, a następnie kliknij przycisk „Zapisz fragment kodu”, aby zapisać zmiany.
Po dodaniu tego fragmentu do swojej witryny za pomocą WPCode, automatycznie usunie on te klasy wygenerowane przez AI z każdego posta, który utworzysz lub zaktualizujesz w przyszłości.
Jeśli chcesz usunąć klasy ai-classes z istniejących treści, będziesz musiał masowo edytować swoje istniejące treści.
Krok 3: Usuń klasy AI ze wszystkich postów (aktualizacja masowa)
Teraz, gdy fragment kodu jest już na miejscu, automatycznie usunie wszelkie znaczniki AI podczas edycji istniejącego wpisu lub publikowania nowego. Aby jednak usunąć te klasy ze starszych wpisów, będziesz musiał znaleźć i zastąpić je w bazie danych WordPress.
Aby to zrobić, musisz dodać kolejny fragment kodu za pomocą WPCode. Ten fragment zastąpi klasy CSS ai-optimize w Twojej istniejącej treści.
Po prostu przejdź do strony Fragmenty kodu » + Dodaj fragment i kliknij przycisk „+ Dodaj niestandardowy fragment” w polu „Dodaj własny kod (nowy fragment)”.

Następnie wybierz Fragment PHP z menu rozwijanego „Typ kodu”. Następnie musisz podać tytuł dla swojego fragmentu kodu. Może to być cokolwiek, co pomoże Ci łatwo zidentyfikować ten kod.
Teraz musisz skopiować i wkleić poniższy kod do pola Podgląd kodu.
/**
* 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');
Po dodaniu kodu przewiń w dół do sekcji „Wstawianie”.
Następnie wybierz „Uruchom wszędzie” obok opcji „Lokalizacja”.

Teraz wróć na górę strony i przełącz przełącznik statusu na „Aktywny” i kliknij „Zapisz fragment”.
Nie martw się – nie zmieni to Twoich treści. Po prostu przeszukuje bazę danych pod kątem klas ai-optimize i usuwa je.

Twój fragment jest teraz aktywny. Aby go wywołać, wystarczy odwiedzić dowolny wpis lub stronę w Twojej witrynie.
Spowoduje to usunięcie klas ai-optimize-{numer} i ai-optimize-introduction ze wszystkich Twoich istniejących wpisów – bez ręcznej edycji.
Następnie użyj narzędzia Inspektora, aby upewnić się, że w Twojej treści nie pojawiają się żadne klasy ai-optimize.
Ważne: Po usunięciu klas ai-optimize nie zapomnij wrócić do strony Fragmenty kodu i wyłączyć fragment kodu usuwania.

Uwaga 📝: Pierwszy fragment kodu musisz pozostawić aktywny do czasu aktualizacji Yoast SEO Premium lub przejścia na alternatywne rozwiązanie.
Dodatkowa wskazówka: Przejście na alternatywną wtyczkę SEO (lepszą i potężniejszą)
Yoast SEO istnieje od dawna, ale ostatnio jego innowacje spowolniły.
W WPBeginner kilka lat temu podjęliśmy decyzję o przejściu na All in One SEO na wszystkich naszych stronach. Był to duży krok i udokumentowaliśmy każdy powód w tym studium przypadku: Dlaczego przeszliśmy z Yoast na All in One SEO.

Obecnie używam All in One SEO w każdym moim prywatnym projekcie i na wszystkich stronach klientów. Jest to moja ulubiona wtyczka SEO, ponieważ oferuje:
- ✅ Kompleksowe funkcje dla ery wyszukiwania AI (znaczniki schematu, zaawansowane mapy witryn, integracje AI i inne)
- ✅ Łatwa konfiguracja z inteligentnymi ustawieniami domyślnymi i listami kontrolnymi
- ✅ Lepsze wsparcie dla lokalnego SEO, WooCommerce, Google News i nie tylko.
Jeśli nadal się wahasz, przygotowaliśmy szczegółowe porównanie obok siebie tutaj: Yoast SEO vs All in One SEO – Która jest lepszą wtyczką?
Ważne ⚠️: Jeśli zaktualizowałeś do najnowszej wersji Yoast SEO Premium (wersja 25.3.1 lub nowsza) lub przeszedłeś na All in One SEO, możesz teraz po prostu wyłączyć fragment kodu w WPCode.
Po prostu przejdź do strony Fragmenty kodu w obszarze administracyjnym WordPressa i przełącz przełącznik obok fragmentu, aby go wyłączyć.

Dodatkowe zasoby SEO
Niezależnie od tego, czy rezygnujesz z Yoast SEO, czy po prostu chcesz usprawnić swoją strategię SEO WordPress, oto kilka pomocnych zasobów, które Ci pomogą.
Te samouczki i porównania mogą zaoszczędzić Twój czas, pomóc uniknąć kosztownych błędów i uzyskać lepsze wyniki z Twoich działań SEO:
- Najlepsze alternatywy dla Yoast SEO dla WordPress
- Ostateczna lista kontrolna migracji SEO WordPress (dla początkujących) – Pomaga przejść z Yoast na All in One SEO
- Jak poprawnie skonfigurować All in One SEO dla WordPressa (kompletny przewodnik)
- Kompletny przewodnik SEO WordPress dla początkujących (krok po kroku)
- Jak używać AI do SEO w WordPress (12 narzędzi)
- Czy treści AI są złe dla SEO WordPress? (Wnioski ekspertów i wskazówki)
- Przewodnik dla początkujących po optymalizacji silników generatywnych dla WordPressa
Mam nadzieję, że ten przewodnik pomógł Ci naprawić problem z klasą ai-optimize w Yoast SEO i skonfigurować witrynę pod kątem lepszych długoterminowych wyników. Dasz radę – a jeśli kiedykolwiek będziesz potrzebować pomocy, jesteśmy tutaj, aby pomóc.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.


Masz pytanie lub sugestię? Zostaw komentarz, aby rozpocząć dyskusję.