Jak naprawić błędy aktualizacji WordPress i nieudane publikowanie?

Opublikowany: 2022-05-03
Aktualizacja Wordpressa nie powiodła się

Podczas próby aktualizacji treści w witrynie WordPress napotykasz błędy „Aktualizacja nie powiodła się” lub „Publikowanie nie powiodło się” ? Trafiłeś we właściwe miejsce. Przyjrzyjmy się, jak zidentyfikować pierwotną przyczynę tych problemów i jak je naprawić.

Co powoduje błędy aktualizacji i publikacji WordPressa?

Gdy Twoja instancja WordPress nie komunikuje się z WordPress REST API (na którym opiera się doświadczenie edycji bloku WordPress) – prawdopodobnie napotkasz błąd „Publikowanie nie powiodło się” lub „Aktualizacja nie powiodła się” w WordPressie.

Chociaż może się tak zdarzyć z kilku powodów, najbardziej oczywisty jest również najprostszy: utraciłeś połączenie z Internetem.

Jeśli utraciłeś połączenie, możesz napotkać błąd Publishing Failed. Innym powodem, dla którego może się to zdarzyć, są:

  • Ostatnia zmiana adresu URL witryny
  • Każda usługa innej firmy zapobiegająca wywołaniom API
  • Nieprawidłowo działająca wtyczka

W większości przypadków jest to łatwe rozwiązanie.

Krok 1 – Sprawdź swoje połączenie internetowe i zapisz ustawienia permalinka

Prawdopodobnie najczęstszym powodem pojawienia się tego błędu jest utrata połączenia internetowego. Jeśli nieoczekiwanie utracisz połączenie podczas aktualizowania posta na blogu, WordPress może zwrócić ten błąd. Jeśli upewniłeś się, że masz połączenie z Internetem, otwórz post lub stronę w widoku edycji w nowej karcie (lub upewnij się, że skopiuj/zapisz zmiany przed opuszczeniem strony) i spróbuj ponownie zaktualizować zawartość.

Innym powszechnym rozwiązaniem jest po prostu ponowne zapisanie ustawień linków bezpośrednich Twojej witryny (zwykle utraconych przez zmianę konfiguracji hostingu). Są na to dwa bardzo proste sposoby, pierwszy, który sugerujemy, to użycie WP CLI:

Odśwież ustawienia permalink za pomocą WP CLI

Jeśli masz dostęp do swojego środowiska hostingowego przez SSH, najprostszym sposobem na odświeżenie ustawień permalinka jest:

1 – SSH do twojego serwera

2 – Przejdź do katalogu głównego instalacji WordPress

3 – Opróżnij istniejącą strukturę permalinku, uruchamiając:

 wp przepisać kolor

4 – Zaktualizuj strukturę permalink z powrotem do tej, której używałeś wcześniej, na przykład:

 wp przepisać strukturę '/%postname%'

Uwaga: Jeśli uruchamiasz te polecenia w środowisku produkcyjnym, postępuj ostrożnie, ponieważ zmiana ustawień permalinku na inną strukturę (bez zmiany z powrotem na tę samą strukturę, której używałeś) spowoduje utratę ruchu.

Odśwież ustawienia permalinka w obszarze administracyjnym WordPress

Alternatywnie możesz również wprowadzić tę zmianę bezpośrednio w obszarze administracyjnym WordPress w ustawieniach permalinków dostępnych w Ustawienia> Permalinki, jak pokazano poniżej:

Krok 2 – Sprawdź, czy REST API jest blokowany

Jak wspomniano powyżej, innym częstym powodem wystąpienia błędu WordPress Publishing Failed jest wyłączenie lub zablokowanie interfejsu API REST. Na szczęście WordPress ma fajne narzędzie, za pomocą którego możesz sprawdzić stan REST API.

Po prostu przejdź do Narzędzia, a następnie wybierz Kondycja witryny. Tutaj zobaczysz kilka błędów związanych z instalacją WP. Jeśli interfejs API REST nie działa poprawnie, zobaczysz następujący błąd:

„Interfejs API REST napotkał nieoczekiwany wynik”.

Oprócz tego raport o kondycji witryny zawiera również wskazówki dotyczące rozwiązywania problemów, na przykład gdy interfejs API REST jest blokowany przez konkretną wtyczkę, którą zainstalowałeś i aktywowałeś w swojej witrynie.

Biorąc to pod uwagę, najlepszym sposobem na debugowanie konkretnej przyczyny w witrynie jest sprawdzenie dziennika konsoli przeglądarki, który może pokazywać coś podobnego do:

W powyższym przypadku dokładny komunikat o błędzie brzmiał: „ BŁĄD Aktualizacja nie powiodła się. Komunikat o błędzie: odpowiedź nie jest prawidłową odpowiedzią JSON. ” a przyczyną błędu było to, że zapora Cloudflare zablokowała adres IP użytkownika przed dostępem do WP JSON.

Jeśli więc wydaje się, że problem polega na tym, że otrzymujesz kod stanu 403 (zabroniony) z WP JSON lub błąd interfejsu API REST, upewnij się, że środki bezpieczeństwa (takie jak zapora aplikacji internetowej, omówione w dalszej części) są niezamierzone umieszczanie na czarnej liście dostępu do tych katalogów, co uniemożliwiłoby użytkownikom publikowanie lub aktualizowanie treści w witrynie WordPress.

Krok 3 – Sprawdź usługę zapory aplikacji sieciowej

Cloudflare jest największym na świecie dostawcą usług sieci dostarczania treści (CDN), ochrony przed atakami DDoS, bezpieczeństwa internetowego i usług DNS.

Jesteśmy wielkimi fanami Cloudflare w Servebolt – jako zoptymalizowany partner Cloudflare, który oferuje lepsze połączenia sieciowe między Servebolt i Cloudflare. Używamy Cloudflare Enterprise dla różnych części naszej infrastruktury, w tym Servebolt CDN i naszej usługi Accelerated Domains.

Jeśli używasz Cloudflare w swojej witrynie, istnieje szansa, że ​​usługa może zablokować wywołania interfejsu API REST. Jeśli filtry zapory zostaną uruchomione, a Cloudflare uzna Twój adres IP za podejrzany, natychmiast zablokuje wszystkie żądania REST API, co może skutkować błędem „aktualizacja nie powiodła się” lub „publikacja nie powiodła się” w obszarze administracyjnym WordPress.

W takim przypadku, zanim przejdziesz dalej i po prostu umieść swój adres IP na białej liście jako szybką poprawkę, aby określić, dlaczego Twój adres IP został zablokowany przez Twój własny WAF, sprawdź analitykę zapory sieciowej aplikacji internetowej, aby zobaczyć, która reguła zapory została uruchomiona.

Krok 4 – Przejrzyj dzienniki błędów PHP i włącz tryb debugowania w WordPress

Zanim uciekniesz się do włączenia WP Debug i użyjesz własnego systemu debugowania WordPressa, ci z Was, którzy używają Servebolt, będą mogli łatwo uzyskać dostęp do dzienników błędów PHP.

Domyślnie wszystkie witryny działające w chmurze Servebolt będą generować dwa dzienniki — ErrorLog i AccessLog . Wszystkie te elementy mogą znajdować się w katalogu głównym witryny w folderze /logs (tj. na tym samym poziomie co katalog /public ).

Plik ErrorLog będzie zawierał informacje o każdym kodzie uruchomionym w witrynie, który generuje błędy w czasie wykonywania (w tym błędy, które nie spowodują awarii witryny i będą nadal działać bezgłośnie w tle, ale czasami to robią).

A jeśli nie dostarczy to żadnych dalszych informacji o przyczynie błędu, możesz włączyć tryb debugowania w WordPress. Gdy wejdziesz w tryb debugowania, WordPress automatycznie zarejestruje wszystkie otrzymane odpowiedzi PHP w nowym pliku o nazwie debug.log .

Ten nowy plik pojawi się w katalogu wp-content, więc wystarczy przyjrzeć się, aby określić wszelkie odpowiedzi po stronie serwera, które mogą być przyczyną problemu.

Aby przejść do trybu debugowania, otwórz plik wp-config.php i tuż przed ostatnią linią dodaj następujące linie:

 // Włącz tryb WP_DEBUG
zdefiniuj ( 'WP_DEBUG', prawda );

// Włącz rejestrowanie debugowania do pliku /wp-content/debug.log
zdefiniuj ( 'WP_DEBUG_LOG', prawda );

// Unikaj publicznego wyświetlania błędów w witrynie produkcyjnej (domyślnie wartość true, jeśli nie jest zadeklarowana) 

zdefiniuj ( 'WP_DEBUG_DISPLAY', fałsz );

Po przejrzeniu pliku debug.log możesz usunąć ten kod z pliku wp-config.php, aby wyjść z trybu debugowania.

Dzięki Servebolt będziesz miał domyślnie dostęp do dzienników błędów PHP, w tym do dziennika błędów i dziennika dostępu. Oprócz dziennika powolnych zapytań , który jest dostępny na żądanie, kontaktując się z naszym zespołem pomocy technicznej. Jednak własny system debugowania WordPressa doskonale nadaje się do identyfikowania błędów, dzięki czemu możesz działać ściśle, utrzymując bazę kodu pod kontrolą.

To naprawdę jest oczywiste, ale podczas wprowadzania zmian w pliku wp-config.php postępuj ostrożnie i pomaga w tworzeniu kopii zapasowej witryny. Strony internetowe działające w chmurze Servebolt są tworzone dwa razy dziennie – wykonujemy kopie dzienne (przechowywane przez 3 dni) i nocne (przechowywane przez 30 dni).

Możesz także samodzielnie wykonać kopię zapasową swojej witryny WordPress. Aby przywrócić kopię zapasową, po prostu skontaktuj się z naszym zespołem pomocy technicznej, a przywrócimy najnowszą kopię zapasową bez dodatkowych kosztów.

Krok 5 – Wyłącz wszystkie wtyczki WordPress i sprawdź ponownie

Jeśli masz podejrzenie, że przyczyną błędu jest wtyczka WordPress w Twojej witrynie, jedną z opcji jest wyłączenie wszystkich wtyczek i sprawdzenie, czy to rozwiązuje problem.

Aby to zrobić, po prostu przejdź do Wtyczki , a następnie wybierz Zainstalowane wtyczki. Następnie po prostu wybierz wszystkie wtyczki i dezaktywuj je za jednym razem, korzystając z menu rozwijanego Akcje zbiorcze .

Następnie wróć do ekranu i sprawdź, czy błąd aktualizacji lub publikacji WordPress nie powiódł się nadal, czy nie. Jeśli nie, teraz dowiesz się, że wtyczka uruchomiona w Twojej witrynie powoduje błąd. Metoda brute force identyfikacji na tym etapie polega na ponownej aktywacji wtyczek jeden po drugim i sprawdzeniu, kiedy ponownie pojawi się błąd. A dzięki procesowi eliminacji będziesz w stanie zidentyfikować wadliwą wtyczkę.

Po znalezieniu problemu zdecydowanie zalecamy skontaktowanie się z autorem wtyczki w celu poinformowania go i zaoferowania mu wszelkich informacji potrzebnych do debugowania, ponieważ pomoże im to ulepszyć ich produkty dla Ciebie (i wszystkich innych użytkowników). Z pewnością nie byłby to nasz pierwszy wybór, jeśli chodzi o debugowanie, biorąc pod uwagę, że jest to ewidentnie dość żmudne i czasochłonne.

Tymczasowe obejście: Zainstaluj wtyczkę Classic Editor (nie rozwiązanie)

Wprowadzenie WordPressa w wersji 5.0 oznaczało wprowadzenie edytora Gutenberga, czyli koncepcji, którą wszyscy dziś powszechnie nazywamy blokami .

Chociaż jest to tylko tymczasowe obejście, przejście z edytora Gutenberga do edytora klasycznego może umożliwić zapisywanie i aktualizowanie postów.

Uwaga: to ewidentnie nie jest rozwiązaniem, więc powinno być używane tylko jako tymczasowe obejście.

Aby przełączyć się z Gutenberga na Classic Editor, po prostu pobierz wtyczkę Classic Editor i aktywuj ją w swojej witrynie. Po aktywacji po prostu wróć do edytowanego posta (lub strony), a następnie powinieneś móc zaktualizować lub opublikować ponownie, jak zwykle.

Krok 7 – Skontaktuj się z naszym zespołem wsparcia

Jeśli żadne z powyższych nie jest rozwiązaniem w Twoim przypadku i podjąłeś mądrą decyzję o hostowaniu swoich witryn WordPress w chmurze Servebolt, skontaktuj się z naszym zespołem pomocy technicznej. Jesteśmy dostępni za pośrednictwem czatu i poczty e-mail, więc skontaktuj się z nami, a nasz zespół z przyjemnością sprawdzi, co może być przyczyną tego problemu.

Wniosek

Napotkanie jakiegokolwiek błędu, zwłaszcza takiego, który uniemożliwia zapisanie pracy lub opublikowanie tego nowego fragmentu treści, nad którym pracujesz, nie jest czymś, czego nikt nie chce. W związku z tym, chociaż istnieją proste poprawki i tymczasowe rozwiązania, które często się zdarzają, są zalecane – zdecydowanie zalecamy zidentyfikowanie źródła problemu, aby można było podjąć kroki, aby upewnić się, że się nie powtórzy.

Interesuje Cię hosting zarządzany, który jest empirycznie szybszy? Wypróbuj sposób Servebolt:

  • Skalowalność: W rzeczywistych testach obciążenia użytkownikami, Servebolt zapewniał średnie czasy odpowiedzi 65 ms, 4,9 razy szybsze czasy odpowiedzi niż drugi najlepszy.
  • Najszybsze globalne czasy ładowania: Średni czas ładowania strony wynoszący 1,26 sekundy stawia nas na szczycie listy globalnych wyników WebPageTest.
  • Najszybsza prędkość obliczeniowa: serwery Servebolt zapewniają niespotykaną wcześniej prędkość baz danych, przetwarzając 2,44 razy więcej zapytań na sekundę niż średnia i uruchamiając PHP 2,6 razy szybciej niż druga najlepsza!
  • Doskonałe bezpieczeństwo i czas pracy bez przestojów: dzięki 100% dostępności na wszystkich monitorach i ocenie A+ za implementację SSL możesz mieć pewność, że Twoja witryna jest online i bezpieczna.

Wszystko wspierane przez nasz zespół ekspertów. Gotowy, aby dzisiaj wziąć Servebolt na darmowy test Bolt ?