Optymalizacja bloga WordPress pod kątem wydajności


Dobra strona powinna zawsze dawać zadowolenie użytkownikom, którzy ją odwiedzają. Oprócz dobrej i ciekawej treści witryna powinna być zoptymalizowana pod kątem wydajności, czyli ładować się w możliwie najkrótszym czasie i nie obciążać zasobów serwera. Kto lubi odwiedzać strony, które powoli się ładują? Większość normalnych użytkowników opuści stronę, chyba, że czytający jest mocno zdeterminowany i zainteresowany treścią.
Optymalizacja WordPress-a nie jest łatwą czynnością, wymaga zastosowania łącznie kilku metod. Skrypt obładowany zbędnymi wtyczkami, niezoptymalizowany motyw, zalegające śmieci w bazie danych – to tylko niektóre elementy obciążające i obniżające wydajność.

Metody przyspieszania WordPress-a

Wybór odpowiedniego hostingu
Od stabilności hostingu zależy szybkość działania postawionej na nim strony. Dobry hosting gwarantuje szybką obsługę strony, przez co już na starcie mamy przewagę nad stronami znajdującymi się na niestabilnych serwerach.
Do monitorowania strony można skorzystać ze strony www.siteuptime.com

Mniejszy rozmiar strony = szybsza strona
Strona o większej pojemności i o dużej ilości elementów potrzebuje więcej czasu, aby załadować się do przeglądarki. Idealnym rozwiązaniem było by zamieszczenie tylko samego tekstu, bez obrazków i skryptów. Ale taka strona nie będzie atrakcyjna dla odwiedzających, więc coś za coś.

Zmniejszenie rozmiarów obrazków
Obrazy w dużej rozdzielczości wstawiane do wpisów znacznie spowalniają ładowanie się strony, z uwagi na ich duży rozmiar. Dlatego ważna jest optymalizacja obrazków np. stosowanie bezstratnej kompresji.

Optymalizacja bazy danych
Baza danych działa podobnie jak rejestr Windows >>> zapisuje i przechowuje wszystko co robimy na blogu. Po usunięciu np. wtyczki czy rewizji postów pozostają w bazie nadmiarowe, nieaktualne informacje. Aby je usunąć wykonujemy optymalizację tabel, która dokona ich kompaktowania.

Usuwanie zbędnych i nieaktywnych wtyczek
Przejrzyjmy listę zainstalowanych wtyczek i określmy, które są naprawdę niezbędne. Niepotrzebne i nieaktywne, wyłączone wtyczki usuwamy. Należy o tym pamiętać, bo często po wyłączeniu wtyczki ją pozostawiamy, a powinniśmy ją usunąć.

Aktualizacja skryptu do najnowszej wersji
Każda wydawana nowa wersja skryptu zawiera poprawki wydajności i nowe funkcje. Dlatego ważna jest regularna aktualizacja do najnowszej wersji.

Przechowywanie elementów w cache przeglądarek
W czasie przeglądania danej strony, poszczególne jej elementy są zapisywane na dysku komputera w katalogu pamięci podręcznej przeglądarki (cache). Przeglądarka może w późniejszym terminie pobierać pliki z buforu, bez potrzeby pobierania ich z serwera. Aby optymalnie wykorzystać tą możliwość określamy czas ważności elementów wykorzystując nagłówki ETag i Expires. Metoda pozwala zmniejszyć liczbę żądań do serwera, zmniejszyć zużycie transferu i szybsze ładowanie się strony.

Zapobieganie hotlinkowaniu
Hotlinkowanie to używanie obrazków z naszego serwera na innych, nie należących do nas stronach. Proces taki powoduje utratę transferu, ponieważ zasoby są pobierane z naszego serwera. Metodą ochraniającą przed tym procesem jest wklejenie kodu do pliku .htaccess:

Blokada hotlinkowania, bez wyświetlania obrazków

RewriteEngine On
 RewriteCond %{HTTP_REFERER} !^http://(.+.)?traxter-online.net/ [NC]
 RewriteCond %{HTTP_REFERER} !^$
 RewriteRule .*.(jpe?g|gif|bmp|png)$ - [F,NC,L]

Blokada hotlinkowania, z wyświetleniem obrazka z serwisu hostingowego

RewriteEngine On
 RewriteCond %{HTTP_REFERER} !^http://(.+.)?traxter-online.net/ [NC]
 RewriteCond %{HTTP_REFERER} !^$
 RewriteRule .*.(jpe?g|gif|bmp|png)$ http://img148.imageshack.us/img148/237/hotlinkp.gif [L]

Blokada hotlinkowania, z wyświetleniem obrazka z głównego katalogu naszego serwera

RewriteEngine On
 RewriteCond %{REQUEST_URI} !^/hotlink.gif$
 RewriteCond %{HTTP_REFERER} !^http://(.+.)?traxter-online.net/ [NC]
 RewriteCond %{HTTP_REFERER} !^$
 RewriteRule .*.(jpe?g|gif|bmp|png)$ hotlink.gif [L]

NC: ignoruj wielkie znaki, F: wyślij error 403, L:poinformuj silnik by przestał interpretować plik, uniemożliwiając tym samym zastosowanie jakichkolwiek innych reguł.
Jeżeli chcemy dodać inną domenę, która może hotlinkować obrazki, to powielamy linijkę z wpisem domeny.
Reguły działają również na wszystkie sub-domeny oraz podkatalogi.

Wtyczki:
WP-Optimize – plugin do optymalizacji bazy danych. Umożliwia usuwanie archiwalnych wersji wpisów – rewizji, spamerskich i niezaakceptowanych komentarzy oraz optymalizację bazy danych. Dodatkowo można zmienić nazwę użytkownika. Na dole wyświetlany jest raport bazy danych – liczba tabel i ich rozmiar, status optymalizacji oraz ilość danych, która może być usunięta z poszczególnych tael.

DB Cache Reloaded Fix – wtyczka buforuje zapytania do bazy danych, zmniejsza się liczba zapytań do bazy danych, co oznacza, że ​​obciążenie procesora serwera WWW maleje, a blog może obsłużyć znacznie więcej odwiedzających w jednej chwili. DB Cache Reloaded Fix buforuje zapytania do bazy danych, przez co strona może obsłużyć więcej odwiedzających w jednym momencie. Zapytania cachowane są przez 5 minut. Wtyczka nie wpływa na pracę pluginów generujących statystyki odwiedzin.

Hyper Cache – wtyczka do optymalizacji bloga pod kątem wydajności. Działa na podstawie serializacji, czyli najpierw zapisu stanu, a następnie odtworzenia go. Technicznie wygląda to tak, że na każde żądanie wywoływana jest funkcja cache WordPress, która sprawdza, czy w cache znajduje się ważny, zapisany plik html. Jeżeli tak, strona jest wyświetlana z tego pliku, bez potrzeby połączenia z bazą danych. Jeżeli pliku nie ma lub jest nie ważny, silnik cache robi „zrzut” strony do pliku html. W opcjach ustawiamy czas ważności plików oraz kiedy mają być odświeżane (domyślnie w momencie modyfikacji wpisu). Wtyczka znacząco odciąża serwer. Wtyczka Hyper Cache pozwala na znaczne zmniejszenie obciążenia serwera oraz powoduje szybsze wczytywanie się strony. Działanie polega na generowaniu statycznych plików HTML o ważności 24 godzin, odświeżanych po upłynięciu ustalonego czasu lub w momencie edycji wpisów. Wtyczka (i inne tego typu) nie współpracuje z wtyczkami generującymi statystyki odwiedzin.

Plugin Organizer – wtyczka pozwala wyłączyć inne zainstalowane wtyczki w sposób globalny lub selektywny dla każdego wpisu / strony. Po wyłączeniu danej wtyczki w sposób globalny możemy aktywować ją w oknie edycji pojedynczych wpisów, na których faktycznie będzie wykorzystywana. Pozwala to zmniejszyć obciążenie bloga wtyczkami, które są ładowane na wszystkich stronach, a wykorzystywane tylko na nielicznych. Przydatne rozwiązanie także w przypadku konfliktu między wtyczkami.

WP Minify – wtyczka przyspieszająca ładowanie się bloga. Działanie pluginu polega na łączeniu i kompresowaniu elementów JavaScript, CSS i HTML.

Auto Highslide – wtyczka wprowadza podczas otwierania grafiki efekt Highslide, czyli płynne rozwinięcie ramki ze zdjęciem podczas powiększenia. Download: auto-highslide.zip

12 komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *