Logo David Burdelak
Webdevelopment

Wtyczki WordPress - które najbardziej przydatne?

Wtyczki WordPress

Przy audytach stron na WordPressie wtyczki są najczęstszą przyczyną problemów: spowalniają stronę, dublują swoje funkcje, otwierają luki w zabezpieczeniach albo po prostu nikt już nie wie, po co zostały zainstalowane. Jednocześnie dobrze dobrany, niewielki zestaw wtyczek pozwala zbudować szybką i bezpieczną stronę bez pisania wszystkiego od zera. W tym wpisie pokazuję, według jakich kryteriów wybieram wtyczki, które z nich stosuję w projektach i jak wdrażam każdą nową wtyczkę, żeby nie zaszkodziła stronie.

Jak oceniam wtyczkę przed instalacją

  • Regularne aktualizacje. Wtyczka bez aktualizacji od wielu miesięcy to ryzyko bezpieczeństwa i problem przy kolejnych wersjach WordPressa i PHP.
  • Sprawdzone źródło. Instaluję wtyczki z oficjalnego repozytorium WordPress.org albo od producenta. Nigdy nie używam nielegalnych kopii płatnych wtyczek, bo to jeden z najczęstszych sposobów na zainfekowanie strony.
  • Zasoby ładowane tylko tam, gdzie są potrzebne. Wtyczka formularza nie powinna ładować skryptów na każdej podstronie.
  • Brak dublowania funkcji. Dwie wtyczki do cache albo do SEO naraz to prosty przepis na konflikty.
  • Czy da się bez wtyczki. Jedna linia kodu w motywie potomnym jest lepsza niż wtyczka, która robi tylko to.

Wtyczki, które stosuję w projektach

KategoriaMój pierwszy wybórAlternatywa i kiedy po nią sięgam
SEOYoast SEORank Math SEO, gdy klient już go używa i nie ma powodu do zmiany
Cache i wydajnośćLiteSpeed Cache, bo większość hostingów działa na serwerach LiteSpeedWP Rocket, gdy serwer działa na Apache lub Nginx
BezpieczeństwoWordfenceSolid Security przy prostszych stronach
Kopie zapasoweUpdraftPlusDuplicator przy przenoszeniu strony
Optymalizacja obrazówImagifywtyczka konwertująca obrazy lokalnie na serwerze
FormularzeContact Form 7Fluent Forms przy rozbudowanych formularzach z logiką warunkową i wieloma krokami
Zgody na cookiesComplianzinny system zgód zgodny z Consent Mode
Porządek w bazie danychWP-OptimizeAdvanced Database Cleaner, gdy trzeba dokładnie przejrzeć pozostałości po konkretnych wtyczkach
NewsletterMailPoetzewnętrzny system mailingowy przy dużych bazach
Motyw i bloki edytoramotyw Kadence z Kadence Blocksmotyw Blocksy jako lekka baza szablonu
AIAI Enginewłasna integracja z API, gdy potrzebna jest pełna kontrola

Na co zwracam uwagę przy poszczególnych kategoriach

SEO

Najczęściej stosuję Yoast SEO, który obsługuje tytuły i opisy, mapę witryny, adresy kanoniczne i podstawowe dane strukturalne. Gdy klient ma już Rank Math, zwykle go zostawiam, bo obie wtyczki robią w praktyce to samo, a migracja ustawień między nimi rzadko się opłaca. Wybór wtyczki ma mniejsze znaczenie niż konfiguracja. Wyłączam moduły, których nie używam, a dane strukturalne sprawdzam ręcznie, bo domyślne ustawienia nie zawsze pasują do typu strony.

Cache i wydajność

Wybór wtyczki do cache zależy od serwera. Najczęściej stosuję LiteSpeed Cache, bo większość hostingów, na których pracuję, działa na serwerach LiteSpeed, a wtyczka współpracuje wtedy z pamięcią podręczną samego serwera. Gdy strona stoi na Apache lub Nginx, wybieram WP Rocket. Pamiętam, że optymalizacja obrazów w LiteSpeed Cache działa przez zewnętrzną usługę QUIC.cloud rozliczaną z limitów, więc przy dużej bibliotece zdjęć planuję ją osobno. Nigdy nie instaluję dwóch wtyczek do cache naraz i sprawdzam, czy hosting nie ma już własnej pamięci podręcznej stron, która dublowałaby wtyczkę. Efekty sprawdzam na danych z terenu, czyli wskaźnikach Core Web Vitals, a nie tylko w teście laboratoryjnym.

Bezpieczeństwo i kopie zapasowe

Wordfence daje zaporę aplikacji, skaner plików i ochronę logowania, ale nie zastępuje zabezpieczeń na serwerze i w CDN. Wszystkie te warstwy łączę w ramach ochrony przed atakami brute force. Kopie zapasowe w UpdraftPlus wysyłam zawsze poza serwer, np. do chmury, bo kopia na tym samym serwerze nie pomoże przy jego awarii. Raz na jakiś czas sprawdzam, czy kopię da się faktycznie przywrócić. Duplicator stosuję głównie wtedy, gdy przenoszę stronę na inny serwer.

Obrazy

Imagify konwertuje zdjęcia do WebP i AVIF przez zewnętrzną usługę, a liczba konwersji zależy od planu. Przy dużych bibliotekach zdjęć sprawdzam koszt, a jeśli serwer ma odpowiednie biblioteki, wybieram wtyczkę konwertującą lokalnie. Wybór formatu i ustawień jakości zależy od rodzaju zdjęć, czyli od tego, czy lepiej sprawdzi się WebP czy AVIF.

Formularze, cookies i newsletter

  • Contact Form 7 to mój standard przy formularzach kontaktowych. Domyślnie ładuje swoje skrypty i style na każdej podstronie, dlatego wyłączam to globalnie i włączam je tylko na stronach z formularzem. Przed spamem chronię go integracją z usługą weryfikacji w tle, np. Cloudflare Turnstile. Przy formularzach z logiką warunkową i wieloma krokami sięgam po Fluent Forms.
  • Complianz obsługuje baner zgód i przekazuje ich status do narzędzi Google. Konfigurację zgód sprawdzam razem z kontenerem, tak jak przy wdrożeniu Google Tag Managera.
  • MailPoet wystarcza przy mniejszych bazach subskrybentów. Przy większych wysyłkach przenoszę newsletter do zewnętrznego systemu, który lepiej dba o dostarczalność wiadomości.

Wyłączenie globalnego ładowania zasobów Contact Form 7 to dwie linie w functions.php motywu potomnego. Na stronach z formularzem włączam je z powrotem warunkiem w szablonie albo funkcjami wpcf7_enqueue_scripts() i wpcf7_enqueue_styles():

add_filter('wpcf7_load_js', '__return_false');
add_filter('wpcf7_load_css', '__return_false');

Baza danych, motyw i AI

  • WP-Optimize usuwa stare rewizje, wpisy w koszu, spam w komentarzach i wygasłe dane tymczasowe oraz optymalizuje tabele. Czyszczenie ustawiam cyklicznie, a przed pierwszym uruchomieniem zawsze robię kopię bazy. Gdy trzeba dokładnie przejrzeć pozostałości po konkretnych usuniętych wtyczkach, sięgam po Advanced Database Cleaner. Wtyczka nie zastąpi jednak diagnozy, od której zaczyna się wydajna komunikacja z bazą danych w CMS.
  • Kadence albo Blocksy to motywy, na których buduję strony. Przy Kadence dodaję Kadence Blocks, które rozszerzają edytor o sekcje, siatki i przyciski bez ciężkiego page buildera. Blocksy wybieram, gdy potrzebuję lekkiej bazy szablonu, którą rozbudowuję własnymi blokami. Nie łączę ich z page builderem w jednym projekcie, bo to jeden z typowych przykładów overengineeringu.
  • AI Engine pozwala dodać czat, generowanie treści i integracje z modelami AI w panelu. Przed wdrożeniem ustalam z klientem limity kosztów API i to, jakie dane z formularzy i strony mogą trafiać do zewnętrznego modelu.

Jak wdrażam nową wtyczkę

  1. Instaluję ją najpierw na kopii testowej strony, nigdy od razu na produkcji.
  2. Mierzę stan przed i po aktywacji: czas odpowiedzi serwera, liczbę zapytań do bazy w Query Monitor i wynik w PageSpeed Insights.
  3. Sprawdzam w narzędziach deweloperskich, na których podstronach wtyczka ładuje swoje skrypty i style.
  4. Konfiguruję ją i wyłączam moduły, których projekt nie potrzebuje.
  5. Dopisuję wtyczkę do dokumentacji projektu, razem z powodem instalacji, żeby za rok było wiadomo, czy nadal jest potrzebna.

Przegląd wtyczek, który robię co kwartał

  • Czy każda wtyczka jest nadal używana i ktoś wie, do czego służy?
  • Czy wszystkie były aktualizowane przez producenta w ostatnich miesiącach?
  • Czy żadne dwie wtyczki nie robią tego samego?
  • Czy nieużywane wtyczki są usunięte, a nie tylko wyłączone?
  • Czy którejś funkcji nie da się już zastąpić kodem w motywie albo funkcją samego WordPressa?

Przy dużych projektach, w których liczba wtyczek i ryzyko z nimi związane rosną najszybciej, rozważam też oddzielenie panelu treści od publicznej strony. Najczęściej proponuję wtedy WordPress jako panel treści i osobny front-end, czyli headless CMS.