Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Napraw błąd ai-optimize w Yoast SEO, zanim zrujnuje SEO Twojej witryny

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.

Naprawianie błędu ai-optimize w Yoast SEO

Oto rzeczy, które omówię w tym poradniku:

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.

Błąd optymalizacji AI w Yoast SEO

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)”.

WPCode dodaje niestandardowy fragment kodu

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”.

Dodawanie kodu Yoast AI do optymalizacji i naprawy błędów

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”.

Uruchom fragment kodu wszędzie

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)”.

Dodaj fragment masowego usuwania

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”.

Uruchom fragment kodu wszędzie

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.

Zapisz i aktywuj fragment

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.

Wyłącz fragment usuwający ai-optimize

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.

All in One SEO strona internetowa

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ć.

Wyłącz fragment kodu

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:

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.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

Komentarze

  1. Gratulacje, masz okazję być pierwszym komentującym tego artykułu.
    Masz pytanie lub sugestię? Zostaw komentarz, aby rozpocząć dyskusję.

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.