W tym artykule wymienię szkodliwe wtyczki WordPress i WooCommerce, które narażają stronę / sklep na niebezpieczeństwo lub szkodzą środowisku w którym jest ona utrzymywana. Wtyczek wymienionych w tym artykule lepiej unikać (nie ważne czy jesteśmy profesjonalistami czy właścicielami pojedynczej strony) a założone cele, które chcieliśmy przy ich pomocy osiągnąć lepiej jest zrealizować w inny, bardziej optymalny sposób.

Niektóre hostingi WordPress, a szczególnie te, które słyną z wysokiej jakości blokują możliwość ich aktywowania lub wyświetlają specjalne ostrzeżenia o tym, że włączanie przed chwilą pobranej wtyczki jest niezalecane (czytaj więcej w źródłach). W każdym punkcie wytłumaczę dlaczego korzystanie z nich jest szkodliwe oraz jak radzić sobie bez nich.

Ciekawostką jest fakt, że niektóre z nich są dosyć popularne. To nie wina ich użytkowników, ale fali dezinformacji jaka jest szerzona na różnych blogach, które redagują osoby – mówiąc delikatnie – nietechniczne i nie mające do czynienia ani z profesjonalnym procesem tworzenia strony ani z prawdziwym hostingiem WordPress.

Wtyczki mogą praktycznie bez żadnych ograniczeń rozszerzać funkcjonalności WordPressa lub modyfikować jego działanie. Aby ich działanie było możliwe, i zapewnić programistom sporą elastyczność i możliwości, system WordPress jest otwarty na wtyczki i bezgranicznie im ufa. Idea wtyczek jest świetna, przyspieszanie działanie stron i pozwala wprowadzić do WordPressa nowe funkcjonalności. Niestety, wtyczki mogą też potencjalnie:

  • spowalniać działanie strony (na wiele sposobów),
  • tworzyć nowe luki w bezpieczeństwie,
  • utrudniać działanie innym wtyczkom,
  • zapychać bazę danych nadmiarowymi informacjami,
  • pogarszać SEO.

Jest to pięć sytuacji, których z pewnością wszyscy chcemy uniknąć, tym bardziej jeżeli zależy nam na wysokiej kondycji naszej witryny i niezakłóconemu rozwojowi naszego internetowego przedsięwzięcia.

Backup

Na pierwszy ogień niech pójdą wtyczki, które tworzą kopie zapasowe. Pewnie wiele osób ze zdziwieniem czyta ten akapit. Jak to? Przecież backup to bardzo ważna rzecz. Oczywiście, że tak, jednak backup powinien być realizowany po stronie hostingu a nie po stronie oprogramowania.

Każdy kto profesjonalnie zajmuje się stronami WordPress odradza korzystanie z wtyczek do tworzenia kopii zapasowych, ponieważ niepotrzebnie obciążają one witrynę i zazwyczaj przechowują pliki w niezabezpieczony sposób. Wiele z tych wtyczek wykonuje zadania tworzenia kopii zapasowych w najmniej odpowiednich momentach, angażując interpreter PHP, blokując lub spowalniając wszystkie zapytania MySQL. Ostatecznie okazuje się, że te kopie i tak są mało wartościowe, ponieważ podczas ich generowania w wielu przypadkach dochodzi do przekroczenia limitów czasu wykonywania i nie są one kompletne. Dając iluzję bezpieczeństwa spowalniają hosting, marnują miejsce i najgorsze – zapisują zawartość bazy danych na koncie FTP.

Szczególnie szkodliwe i spowalniające wtyczki z tej kategorii to:

  • WP DB Backup – niepotrzebnie i nadmiernie zapełnia dysk twardy.
  • WP DB Manager – zapisuje dane na dysku i zapełnia dysk twardy.
  • BackupWordPress – Duplikuje dużą liczbę plików na dysku i dubluje kopie zapasowe.
  • VersionPress – używa funkcji, które i  tak są zablokowane na normalnym hostingu,
  • Snapshot,
  • BackupBuddy,
  • BackWPup,
  • All-in-One WP Migration.

Każdy prawdziwy hosting WordPress codziennie tworzy kopie zapasowe wszystkich witryn jakie znajdują się na serwerze. Odbywa się to zazwyczaj w najbardziej optymalny i skuteczny sposób dla rozwiązań jakie stosuje dostawca hostingu. Kopie, które wykonują się automatycznie lub są zainicjowane przez nas w panelu hostingowym, są bezpiecznie przechowywane na oddzielnym serwerze.

Zaletą korzystania z prawdziwej kopii zapasowej wykonywanej po stronie hostingu jest to, że nie wliczają się do limitów miejsca i są dostępne nawet w przypadku bardzo poważnych awarii lub do celów samej migracji.

Jeśli mimo wszystko z jakichś powodów chcesz mieć dodatkową kopię własnej witryny WordPress, naucz się ręcznie kopiować bazę danych i pliki, co opisałem w artykule o migracji WordPress. Jeżeli lubisz automatyzować pracę i wykonywać dodatkowe kopie regularnie, skorzystaj z VaultPress. Jest to polecane rozwiązanie przez profesjonalistów WordPress oraz wspierane i promowane rozwiązanie przez samych twórców WordPressa czyli firmę Automattic.

Najbardziej spowalniające wtyczki WordPress

Są wtyczki, które nie robią niczego złego poza tym, że… ogromnie przeciążają hosting a szczególnie bazę danych. Obciążenie spowalnia twoją stronę i utrudnia jej działanie. Strona zamiast odpowiadać szybko na zapytania użytkowników i robotów wyszukiwarki, przetwarza fatalnie napisane algorytmy, które realizują coś co można uzyskać w dużo bardziej optymalny sposób.

  • Really Simple SSL – przy każdej odsłonie dynamicznie podmienia wystąpienia tekstu http://domena na https://domena,
  • Broken Link Checker – przeciąża serwer bardzo dużą liczbą żądań HTTP,
  • MyReviewPlugin – zalewa bazę danych znaczną liczbą operacji zapisu,
  • LinkMan – podobnie jak powyżej, generuje nieskalowalną ilość zapisów w bazie danych,
  • Fuzzy SEO Booster – powoduje coraz większe problemy z bazą danych w miarę rozwoju strony,
  • WP PostViews – nieefektywnie zapisuje dane przy każdym załadowaniu strony,
  • Tweet Blender – nie jest kompatybilny z mechanizmami cache i może powodować zwiększone obciążenie serwera,
  • WordPress Popular Posts,
  • External Links,
  • Nofollow for External Link.

Przy wdrożeniu SSLa do swojej strony WordPres wystarczy dokonać jednorazowej zmiany za pomocą Better Search Replace. Taką zmianę wykonujemy raz a WordPress dzięki temu nie musi dynamicznie manipulować treścią podczas renderowania HTMLa.

Tagi nofollow WordPress dodaje automatycznie tam gdzie jest to konieczne. Jeżeli z jakiegoś powodu chcesz dodawać nofollow w treści wystarczy użyć opcji Gutenberga, które pojawiają się przy dodawaniu treści bądź użycia funkcji „Edytuj w HTML” – właśnie dla takich celów ta funkcja powstała:

Edycja HTML w Gutenbergu

Jeżeli chcesz śledzić ruch tak jak reszta świata skorzystaj ze skryptu Google Analytics alternatywy dostępnej na rynku bądź pakietu JetPack.

Uszkodzone linki powinno się badać z zewnątrz – tak robi większość deweloperów i właścicieli stron. Skorzystaj z kultowego brokenlinkcheck.com lub znajdź inne narzędzie, które sprawdza linki „z zewnątrz” witryny.

Powiązane posty

Kolejnym zaskoczeniem może być funkcjonalność powiązanych postów. Mimo, że w WordPressie da się z łatwością wyciągnąć powiązane posty za pomocą kategorii i/lub tagów bez żadnych wtyczek, okazuje się, że istnieją wtyczki, które realizują tę funkcjonalność i przy tym mocno obciążają bazę danych zalewając ją nadmiernymi zapytaniami i psując indeksy.

Wtyczki, które są wyjątkowo źle napisane to:

  • Dynamic Related Posts,
  • SEO Auto Links & Related Posts,
  • Yet Another Related Posts Plugin,
  • Similar Posts,
  • Contextual Related Posts.

Jeżeli już musisz wykorzystywać tego wtyczki zamień je na:

Wtyczki po prostu niepotrzebne

Wiele wtyczek realizuje coś co działa automatycznie na każdym normalnym hostingu przykładem może być WordPress GZIP Compression. Niektóre wtyczki nie realizują niczego znaczącego lub są wyłączone – te zgodnie z funkcją „Stan witryny” należy usunąć. Warto też usunąć nieużywane motywy.

Nie-bezpieczeństwo

Ironia w przypadku wtyczek do dodatkowych zabezpieczeń WordPress polega na tym, że najczęściej to te wtyczki przyczyniają się do pojawienia się nowych podatności. Wiele z nich powoduje dodatkowe problemy z wydajnością, ponieważ ciągle skanują stronę pod kątem jakichś „ataków”. Wtyczki do bezpieczeństwa oraz firewalle mogą blokować ruch generowany przez robotów wyszukiwarki. Kiedy robot odwiedzi kilka razy stronę wp-login, lub wtyczka uzna, że ruch jest nienaturalny zablokuje robota i witryna będzie miała spore problemy z pozycjonowaniem.

Hakowanie hasła WordPressa metodą brute-force jest niemożliwe matematycznie (jeżeli mamy długie hasło). Haker nie zdobędzie dostępu tylnymi drzwiami jeżeli aktualizujemy WordPressa i unikamy wtyczek wymienionych w tym artykule. Mimo to wiele osób blokuje stronę logowania w taki sposób, że działanie tego mechanizmu jest droższe wydajnościowo w przypadku wysyłania nieprawidłowych danych logowania, niż pojawienie się właściwego formularza i odpowiedź HTTP 401, którą WordPress wysyła wówczas domyślnie. Wtyczki, które pasują do tej kategorii to:

  • Login Wall,
  • All In One WP Security & Firewall,
  • iThemes Security,
  • Wordfence Security,
  • WP Hide & Security Enhancer,
  • SI CAPTCHA Anti-Spam,
  • SpamReferrerBlock.

Z drugiej strony, niektóre wyżej wymienione wtyczki zostały w pozytywnym świetle wspomniane w dokumentacji WordPressa. Czytaj więcej na temat bezpieczeństwa WordPressa i jego zabezpieczeniach.

Mailing i SPAM

Nie ma nic gorszego jak wysyłanie masowych maili za pomocą samego WordPressa. Po to istnieją takie serwisy jak Mailgun, Amazon SES oraz systemy do wysyłania newsletterów typu MailChimp czy MailerLite aby z nich korzystać. Rozsyłanie maili za pomocą własnej strony jest bardzo nieodpowiedzialne i naraża na zaliczenie naszej domeny i serwera do adresów spamerskich. Nasze e-maile mogą nie trafiać do klientów i szkodzimy nie tylko sobie ale także wszystkim innym kontom, które korzystają z tego samego adresu IP. Ten sam problem może nas dotyczyć kiedy nie zabezpieczyliśmy naszych formularzy przed spamem a mimo to wykorzystujemy autoresponder lub wysyłamy informacje odnośnie publikacji komentarza. Nie ma sensu w tym momencie wymieniać konkretnych wtyczek ponieważ każda próba wysyłania mailingu za pomocą własnego serwera rodzi tego typu ryzyko.

Inne

Niektóre wtyczki nie pasują do żadnej kategorii i tworzą dość unikalne problemy.

  • WP phpMyAdmin – tworzy tzw. backdoor czyli umożliwia na dostęp do WordPressa z zewnątrz, ponadto daje dostęp do bazy danych z poziomu WordPressa i dubluje funkcjonalność panelu hostingowego.
  • SweetCaptcha – zbiera dane od użytkowników i przemyca na stronę reklamy (adware),
  • Disqus – jedna z wersji zaczęła dodawać reklamy do strony, ponadto: spowalnia działanie strony za pomocą dołączanych plików JS, duplikuje funkcjonalność komentarzy, która w WordPressie działa przecież bardzo dobrze.
  • File Commander,
  • File Manager – pozwala edytować pliki wprost z panelu WordPressa – skoro nie mamy bezpośredniego dostępu do FTP jeden błąd może zepsuć stronę i odciąć nam dostęp do panelu.

Cache

Kolejny punkt, który jest bardzo nieintuicyjny ale ponownie pokazuje jak szkodliwe jest duplikowanie funkcjonalności, które zapewnia sam serwer. Okazuje się, że korzystanie z wtyczek Cache może być bardzo obciążające, szczególnie wtedy, kiedy na hostingu już działa inny system lub system Cache jest niekompatybilny z konkretnym hostingiem. Nie stosuj porad dotyczących wykorzystywania tej czy innej wtyczki Cache, tylko dlatego, że u tego kogoś działa. Jeżeli nie znasz specyfikacji usługi hostingowej, z której korzystasz skontaktuj się ze wsparciem technicznym i doradź się z jakiej wtyczki powinno się skorzystać.

W przypadku najpopularniejszych hostingów Apache, odpowiednia będzie wtyczka samych twórców WordPressa (WP Super Cache) nie trzeba jej jednak instalować jeżeli dostawca hostingu stosuje własny system Cache. Dobrze jest jeżeli dostawca hostingu umożliwia wyłączenie własnego systemu cache i umożliwia wykorzystywanie popularnych wtyczek.

WordPress zadziała na większości hostingów z bazą danych ale pamiętaj, że według oficjalnej dokumentacji WordPress jest kompatybilny z serwerami Apache i NGINX a nowe wersje są testowane tylko w tych środowiskach.

„Zwalczanie” Gutenberga

W Informatyce i w świecie w, którym jedynym pewnikiem jest zmiana, skrajny konserwatyzm technologiczny jest szkodliwy w taki sposób, że rodzi brak kompatybilności z aktualną rzeczywistością i wykształca lub utrzymuje złe nawyki.

Gutenberg to natywny edytor treści i Page Builder w jednym. Pozwala budować stronę internetową za pomocą nowoczesnego edytora wizualnego, kreuje nowe możliwości i usprawnia workflow projektantów i redaktorów treści. Nie spowalnia strony jak przestarzałe wtyczki typu Elementor, WP Backery czy Visual Composer.

Poleganie na wspomnianych Page Builderach lub instalowanie wtyczek typu Classic Editor nie rodzi co prawda problemów technicznych ale powoduje, że my nadal nie nauczyliśmy się korzystać z bloków a z czasem coraz mniej wtyczek będzie kompatybilna z naszą witryną. Gutenberg oferuje masę przydatnych funkcjonalności, których działanie byłoby możliwe w starym edytorze tylko za pomocą masy wtyczek. Korzystanie ze wspomnianych alternatyw (które duplikują działanie Gutenberga) powoduje, że:

  • nasz panel wolno działa i zniechęca nas do wprowadzania jakichkolwiek zmian w witrynie,
  • front-end strony internetowej jest mało wydajny i osiąga słabe oceny Core Web Vitals,
  • a w wyniku tego tracimy pozycje.

Podsumowanie

Jak widać, istnieje wiele wtyczek które ewidentnie szkodzą naszej stronie, obciążają hosting lub ograniczają nasz rozwój w kontekście twórcy lub redaktora witryny. Unikanie wymienionych w tym artykule wtyczek będzie miało same zalety, obniży prawdopodobieństwo włamania, odciąży hosting i nauczy nas poprawnie obchodzić się z naszym ukochanym WordPressem 🙂

Źródła

Strony, które pomogły mi dotrzeć do nazw niektórych wtyczek i podsunęły mi dodatkowe punkty:

Inspiracja do punktu o Gutenbergu:

Oceń artykuł na temat: Szkodliwe, niebezpieczne lub zabronione wtyczki WordPress
Średnia : 4.9 , Maksymalnie : 5 , Głosów : 17