Envato Elements - pobierasz co chcesz, ile chcesz

Wraz z niedawną premierą WordPressa 5.2 (Jaco) zadebiutował też mechanizm sprawdzający stan witryny/strony, dzięki czemu nawet mniej zaawansowana osoba może w prosty sposób sprawdzić, czy strona działa prawidłowo i spełnia wszystkie wymagania WordPressa. Z naprawą/korektą w większości przypadków pewnie już tak łatwo nie będzie, i tu już może być wymagana trochę bardziej techniczna wiedza, ale zawsze od czegoś trzeba zacząć. Są jednak sytuacje, gdy niekoniecznie chcemy tego typu testem dzielić się np. z potencjalnym klientem…

Testy stanu witryny w WordPressie

Oczywiście można w takiej sytuacji przyciąć uprawnienia, ale nie zawsze będzie to możliwe. Zwłaszcza gdy klient zasłyszał gdzieś o tego typu opcji i chciałby ją zobaczyć na swojej stronie. W takim przypadku można wyłączyć „problematyczne” testy.

Tak może wyglądać przykładowy wynik skanowania/testu (WP-Admin: Narzędzia -> Stan witryny):

Nie ma tu nic nadzwyczajnie groźnego, ale może budzić pewne obawy/wątpliwości, więc można rozważyć wyłączenie niektórych (albo wszystkich ;-)) testów.

Tak wygląda ich aktualna:

  • WordPress Version / Wersja WordPressa: wordpress_version (direct)
  • Plugin Versions / Wersje wtyczek: plugin_version (direct)
  • Theme Versions / Wersje motywów: theme_version (direct)
  • PHP Version / Wersja PHP: php_version (direct)
  • Database Server version / Wersja serwera baz danych: sql_server (direct)
  • PHP Extensions / Rozszerzenia PHP: php_extensions (direct)
  • MySQL utf8mb4 support / Wsparcie MySQL utf8mb4: utf8mb4_support (direct)
  • HTTPS status / Status HTTPS: https_status (direct)
  • Secure communication / Bezpieczna komunikacja: ssl_support (direct)
  • Scheduled events / Zaplanowane zdarzenia: scheduled_events (direct)
  • HTTP Requests / Zapytania HTTP: http_requests (direct)
  • Debugging enabled / Debugowanei włączone: is_in_debug_mode (direct)
  • REST API availability / Dostępność REST API: rest_availability (direct)
  • Communication with WordPress.org / Komunikacja z WordPress.org: dotorg_communication (async)
  • Background updates / Aktualizacje w tle: background_updates (async)
  • Loopback request / Zapytanie zwrotne: loopback_requests (async)

Aktualną listę wszystkich testów znajdziemy w dokumentacji WordPressa (Code Reference).

Gdy już mamy listę testów, wystarczy skorzystać z prostego kodu PHP, który możemy wgrać jako wtyczkę lub dodać do pliku functions.php (jeśli dodajemy jako wtyczkę, to można rozważyć skorzystanie ze wtyczki typu „Must Use”):

function webinsider_wp_disable_site_status_health_tests( $tests ) {
	
	unset( $tests['direct']['wordpress_version'] );
	unset( $tests['direct']['plugin_version'] );
	unset( $tests['direct']['theme_version'] );
	unset( $tests['direct']['php_version'] );
	unset( $tests['direct']['php_extensions'] );
	unset( $tests['direct']['sql_server'] );
	unset( $tests['direct']['utf8mb4_support'] );
	unset( $tests['direct']['https_status'] );
	unset( $tests['direct']['ssl_support'] );
	unset( $tests['direct']['scheduled_events'] );
	unset( $tests['direct']['http_requests'] );
	unset( $tests['direct']['is_in_debug_mode'] );
	unset( $tests['direct']['rest_availability'] );
	
	unset( $tests['async']['dotorg_communication'] );
	unset( $tests['async']['background_updates'] );
	unset( $tests['async']['loopback_requests'] );

    return $tests;
}
add_filter('site_status_tests', 'webinsider_wp_disable_site_status_health_tests' );add_filter('site_status_tests', 'pryc_wp_disable_site_status_health_tests' );

Każda linijka zaczynająca się od „unset” wyłącza jeden, konkretny test. Jeśli któregoś nie chcemy wyłączać, wystarczy zakomentować lub skasować daną linijkę kodu. W każdym razie finalnym efektem prac powyższego kodu będzie strona ze zdanym w 100% testem (przynajmniej pozornie ;-)):

Jeśli ktoś nie chce się bawić kodem, może skorzystać ze wtyczki Site Health Tool Manager (William Earnhardt), która powyższe opcje pozwala aktywować z panelu zarządzania WordPressem (WP-Admin). Ale wtedy warto pamiętać o tym, by ukryć istnienie wtyczki przed osobami, dla których „modyfikujemy” test. W innym przypadku raczej to nie ma sensu.

Oczywiście to nie jest tak, że namawiam do ignorowania sygnalizowanych problemów. Wręcz przeciwnie. Ale mam też świadomość, że nie zawsze każdy problem da się rozwiązać, a skoro nie ma on wpływu na faktyczne działanie strony (np. informacja, ze zalecany jest PHP 7.3, a nie np. 7.2) to po co nim straszyć potencjalnego klienta. W końcu to nie aktualizacje, by wyłączenie miało realnie negatywne (niebezpieczne) konsekwencje…

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Envato Elements - pobierasz co chcesz, ile chcesz
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!