Po wypchnięciu (push) witryny staging na produkcję Yoast SEO może zachować domenę staging jako adres kanoniczny — albo całkowicie usunąć adres kanoniczny. Rozwiązaniem jest odtworzenie indeksowalnych obiektów (indexables) Yoasta, aby ponownie wygenerował każdy adres kanoniczny względem Twojej domeny produkcyjnej, oraz ręczne ustawienie adresu kanonicznego dla każdej pojedynczej strony, która nadal jest błędna.
Dlaczego adresy kanoniczne Yoast są błędne po migracji witryny?
Yoast SEO nie oblicza adresów kanonicznych przy każdym wczytaniu strony. Przechowuje je w swoich indeksowalnych obiektach (indexables) — pamięci podręcznej danych SEO przechowywanej w tabeli bazy danych wp_yoast_indexable oraz w wartościach per-wpis w wp_postmeta. Gdy wypychasz witrynę staging na swoją witrynę produkcyjną, te wiersze przenoszą się wraz z bazą danych.
Jeśli indexables zostały utworzone, gdy witryna nadal korzystała z domeny staging, zawierają adresy URL staging. Po wypchnięciu zobaczysz jeden z dwóch objawów:
- Znacznik
rel="canonical"wskazuje na adres URL staging (na przykładhttps://staging.example.com/page/zamiasthttps://example.com/page/). - Znacznik kanoniczny jest pominięty dla niektórych stron, ponieważ zapisany wiersz indexable jest nieaktualny lub niekompletny.
Przyczyną są zapisane w pamięci podręcznej dane indexables, a nie uszkodzona instalacja Yoasta. Yoast automatycznie emituje samoodwołujący się adres kanoniczny dla każdego publicznego wpisu i strony — nie ma globalnego przełącznika włącz/wyłącz. Celem jest więc zmuszenie Yoasta do odtworzenia tej pamięci podręcznej względem prawidłowej domeny.
Jak naprawić adres kanoniczny pojedynczej strony w Yoast SEO?
Jeśli dotyczy to tylko jednej lub kilku stron, nadpisz adres kanoniczny bezpośrednio w edytorze:
- Otwórz dotkniętą stronę lub wpis w edytorze WordPress.
- W panelu bocznym Yoast SEO (lub w metaboksie Yoasta pod treścią) otwórz zakładkę Zaawansowane.
- Znajdź pole Kanoniczny adres URL.
- Wprowadź prawidłowy adres URL produkcyjny — albo wyczyść pole, aby Yoast wrócił do domyślnego samoodwołującego się adresu kanonicznego względem Twojej domeny produkcyjnej.
- Zaktualizuj stronę.
Pozostawienie pustego pola jest zazwyczaj właściwym wyborem: samoodwołujący się adres kanoniczny to to, co większość stron powinna mieć. Wprowadź jawny adres URL tylko wtedy, gdy strona powinna wskazywać na inny adres kanoniczny (na przykład strona syndykowana lub zduplikowana).
Jak masowo naprawić adresy kanoniczne po pełnej migracji witryny?
Gdy wiele stron zawiera domenę staging, naprawianie ich pojedynczo jest niepraktyczne. Zamiast tego odtwórz wszystkie indexables naraz.
Opcja 1: Zresetuj i ponownie zoptymalizuj dane SEO Yoasta
- Zainstaluj i aktywuj wtyczkę Yoast Test Helper.
- Przejdź do Narzędzia → Yoast Test.
- Kliknij Reset Indexables & Migrations. To czyści zapisane w pamięci podręcznej indexables, dzięki czemu Yoast odtwarza je od zera.
- Przejdź do SEO → Narzędzia i kliknij Rozpocznij optymalizację danych SEO. Yoast ponownie generuje każdy indexable — w tym adresy kanoniczne — względem Twojej bieżącej (produkcyjnej) domeny.
- Dezaktywuj wtyczkę Yoast Test Helper po zakończeniu optymalizacji; to narzędzie deweloperskie, nieprzeznaczone do pozostawania aktywnym.
Opcja 2: Odtwórz indexables za pomocą WP-CLI
Jeśli masz dostęp do powłoki (shell), to samo odtworzenie uruchamia się z wiersza poleceń:
wp yoast index
To ponownie indeksuje wszystkie indexables Yoasta dla bieżącej witryny. Jest szybsze niż optymalizator w przeglądarce na dużych witrynach i można je bezpiecznie uruchamiać ponownie.
Po dowolnej z opcji wyczyść całą pamięć podręczną — wtyczkę cache, cache serwera i CDN — aby odwiedzający i roboty indeksujące otrzymywali poprawione znaczniki kanoniczne, a nie buforowaną kopię starych.
Jeszcze jedna rzecz do sprawdzenia: upewnij się, że podczas wypchnięcia uruchomiono w bazie danych operację wyszukaj-i-zamień, zastępując domenę staging domeną produkcyjną. WP STAGING robi to automatycznie podczas pushu, ale jeśli zaimportowałeś bazę danych w inny sposób, pozostała w danych domena staging jest pierwotną przyczyną, której samo odtworzenie indexables nie naprawi.
Jak zapobiec problemom z adresami kanonicznymi przy następnym pushu?
- Pozwól, aby WP STAGING zajął się przepisaniem domeny. Gdy wypychasz za pomocą WP STAGING, uruchamia ono operację wyszukaj-i-zamień w całej bazie danych, łącznie z danymi Yoasta. Unikaj ręcznych importów bazy danych, które pomijają ten krok.
- Odtwarzaj indexables po każdym pushu. Uczyń "Reset Indexables & Migrations + optymalizacja danych SEO" (lub
wp yoast index) częścią swojej listy kontrolnej po pushu. - Nigdy nie wpisuj na stałe adresu kanonicznego strony wskazującego na domenę staging. Jeśli ustawiłeś jawny adres kanoniczny podczas testów na staging, wyczyść go przed pushem, aby strona produkcyjna wróciła do samoodwołującego się adresu kanonicznego.
Aby poznać tło tego, dlaczego znaczniki kanoniczne mają znaczenie, zobacz wskazówki Google dotyczące konsolidacji zduplikowanych adresów URL oraz wyjaśnienie Yoasta na temat rel="canonical".
Najczęściej zadawane pytania
Czy zresetowanie indexables Yoasta usunie moje ustawienia SEO?
Nie. Zresetowanie indexables czyści tylko zapisane w pamięci podręcznej dane SEO. Yoast odtwarza je na podstawie Twoich istniejących wpisów i ustawień, więc Twoje tytuły, meta opisy, słowa kluczowe i konfiguracja pozostają nienaruszone.
Dlaczego mój adres kanoniczny jest pusty po migracji?
Brakujący adres kanoniczny prawie zawsze oznacza, że wiersz indexable strony jest nieaktualny lub nie został ponownie wygenerowany względem nowej domeny. Odtworzenie indexables (Opcja 1 lub 2 powyżej) przywraca samoodwołujący się adres kanoniczny.
Czy do naprawienia tego potrzebuję wtyczki Yoast Test Helper?
To najłatwiejszy sposób na zresetowanie indexables i migracji z panelu administracyjnego WordPress. Jeśli wolisz wiersz poleceń, wp yoast index wykonuje odtworzenie bez żadnej dodatkowej wtyczki. Tak czy inaczej, cel jest ten sam: zmusić Yoasta do ponownego wygenerowania zapisanych w pamięci podręcznej danych SEO.
Czy dotyczy to zarówno Yoast SEO Free, jak i Premium?
Tak. Indexables istnieją zarówno w bezpłatnej, jak i w wersji Premium Yoast SEO, więc ten sam proces resetowania i odtwarzania naprawia adresy kanoniczne w obu.