Swego czasu napisałem artykuł Jak zoptymalizować WordPress’a, w którym opisałem jakie pluginy warto zainstalować, i co dodać do .htaccess, aby przyśpieszyć działanie WordPress’a. Od tamtego czasu dowiedziałem się kilku nowych rzeczy na ten temat, dlatego zdecydowałem się zarówno na aktualizację tamtego wpisu, jak i dodanie nowego.

W starym wpisie uaktualniłem reguły do dodania do .htaccess, aby jeszcze lepiej móc wykorzystać możliwości kompresji pobieranych plików oraz ich cache’owanie po stronie klienta. Dodałem też informację o tym, że plugin DB Cache nadal nie został zaktualizowany, i dlatego samemu zdecydowałem się to zrobić – efektem moich starań jest plugin DB Cache Reloaded.

To jednak nie wszystko. Przeglądając tickety wystawiane do WordPress’a, znalazłem w jednym z nich ciekawą notkę (źródło):

I can say the lack of a favicon.ico causes the CPU usage of a site to jump by 400%. This is really pretty insane.

Jeżeli nie wiesz o co chodzi, już tłumaczę – brak pliku favicon.ico powoduje że obciążenie procesora na serwerze jest o 400% wyższe niż gdy ten plik jest wgrany! Z tego też powodu w WordPress 3.0 na początku został dodany kawałek kodu, który jest odpowiedzialny za wysłanie pustego pliku gdy ktoś nie ma wgranego pliku favicon.ico.

Ten sam problem był też poruszany tutaj i tutaj. Z lektury tych wszystkich wpisów wynika, że najlepiej mieć wgrane na serwerze komplet trzech plików: favicon.ico, favicon.gif oraz robots.txt. Pliki te powinny być wgrane w systemie plików, a nie generowane dynamicznie – dzięki temu można znacznie zmniejszyć obciążenie procesora. Najczęściej pobierany jest plik favicon.ico – w porównaniu do robots.txt jest to jak 4:1. Warto też pamiętać że niektóre przeglądarki (czyżby IE? ;)) zawsze próbują pobierać plik o nazwie favicon.ico z głównego katalogu serwera (np. costam.pl/favicon.ico), niezależnie co jest wpisane w kodzie HTML. Czasami trafiają się też pobrania pliku favicon.gif, dlatego warto go też wgrać (przynajmniej pusty plik o takiej nazwie).

Dodam jeszcze że domyślnie WordPress dynamicznie generuje plik robots.txt z następującą zawartością:

User-agent: *
Disallow:

Te dwie linie można by spokojnie wyrzucić. Czasami jednak w tym generowanym pliku jest coś innego. Pierwsza możliwość to gdy blog jest ustawiony jako prywatny – wtedy WP używa zamiast powyższego reguły do blokowania botów. Druga możliwość to linia Sitemap: cośtam , dodana przez plugin do generowania mapy strony. Poza tym inne pluginy mogły jeszcze dodać coś ekstra, np. reguły do blokowania botów czy blokowanie indeksacji wybranych katalogów.

Podsumowując: pamiętaj o wgraniu na serwer, do katalogu głównego, pliku favicon.ico – dzięki temu obciążenie procesora może sporo spaść (ok. 75% w przypadku WordPress’a, dla innych CMS’ów też powinna to być ładna liczba). Drugim plikiem który powinieneś mieć jest robots.txt – w tym przypadku sprawdź wcześniej czy coś jest generowane przez CMS’a, i skopiuj wygenerowane reguły. Wgraj też plik favicon.gif – też się może przydać.