Optymalizacja WordPress’a – pamiętaj o favikonce!
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ć.

Luty 21st, 2010 o godzinie 21:10
Rozważania związane z favikonką trochę mijają się z prawdą… Obciążenie serwera może być spowodowane wyłącznie tym, że klient wysyła żądanie pobrania favicon.ico, a serwer go szuka. Nic nie może się tam dziać bez naszej kontroli i tak:
wgranie favicon do głównego folderu w WordPressie to akurat głupota, bo jest to wystrój strony i miejsce na niego znajduje się w templatce. Pamiętajmy, że serwer generuje to co mu każemy, więc jeśli w kodzie mamy:
A pliku takiego brak to jest to wyłącznie nasza wina i zaniedbanie! Inną sprawą jest to, że Joomla czy Drupal już dawno miały standardową favikonę, do której można było linkować w każdej templatce w ciemno.
Nie czarujmy się – problemy takie powstają, jak ktoś chce koniecznie zaufać gotowym rozwiązaniom, a nie do końca rozumie ich funkcjonowanie.
Luty 23rd, 2010 o godzinie 13:35
Nie do końca się z tym zgadzam. Owszem taką ikonkę warto mieć – nie tylko ze względów wydajnościowych, ale też aby się odróżnić od innych stron. Obecnie to w pewnym sensie standard, chociaż też wiele stron się bez tego obywa.
Co do miejsca umieszczenia pliku z ikonką – to zależy. Ja tam osobiście wolę wrzucić ją do katalogu głównego, tak aby nawet zmieniając templatkę bloga mieć nadal tą samą ikonkę. Chociaż to podejście może być dyskusyjne, równie dobrze można przecież zmieniać ikonkę przy okazji zmian wyglądu strony, albo nawet bez tego (np. Google zmieniało już parę razy ikonkę bez zmiany wyglądu stron).
Do kodu strony warto też oczywiście dodać linię wskazującą położenie pliku z ikoną – obecnie chyba wszystkie liczące się przeglądarki potrafią ją odczytać. Jeżeli jej jednak nie będzie, przeglądarki będą próbować wczytać plik /favicon.ico.
Marzec 9th, 2010 o godzinie 11:55
To ciekawe nie wiedziałem, że to aż takie obciążenie.
Tak czy siak favicon warto mieć na pewno nie zaszkodzi
Maj 28th, 2010 o godzinie 17:53
Witajcie.
W sumie to nie wiedziałem o tym, nie bardzo też rozumiem zasady działania serwerów i dlaczego brak ikonki powoduje obciążenie dlatego że on go szuka i nie może znaleźć? W każdym razie tak czy siak zawsze warto tą ikonkę zrobić, raz że odróżnia strony, a dwa – bardzo ułatwia znalezienie w zakładkach.
Pozdrawiam
Futerał
Lipiec 31st, 2010 o godzinie 17:35
Istnieje fajny serwis do tworzenia favicon, http://www.favicon.cc mozna wgrac fotosa i na stronie go obrobic do favicon.
Sierpień 27th, 2010 o godzinie 19:28
Hm… Ciekawej rzeczy się dowiedziałem z powyższego, dla mnie zawsze favicon był czymś, co pomagało odróżnić stronę na pasku przeglądarki, ale nie wpadłbym na to, że wpływa to na zużycie zasobów serwera…
Wrzesień 23rd, 2010 o godzinie 10:59
Na stronie favicon.cc jest fajny generatorek takich miniatur i całkiem szybko można np. rozrysować logo.
Październik 8th, 2010 o godzinie 12:06
Favicon’ka jest częścią „brandingu strony”, jest to malutki obrazek, który dużo pomaga. Do każdej z moich stron dodaje favicon i wyglądają dzięki temu bardziej profesjonalnie. Mogę również szybciej odnaleźć stronę w mojej zakładce Ulubione.
Październik 9th, 2010 o godzinie 11:21
A ja nigdy w wp nie stosowałem favikony i teraz od kiedy zapodałem ikonę to faktycznie mniej mi cpu zużywa ale nie o 75% tylko 15-20%
Październik 20th, 2010 o godzinie 23:15
Aktualnie optymalizuje pewnego WordPressa i postanowiłem w końcu spisać sobie cały proces optymalizacji WP, ponieważ na pewno przyda się nie raz, do listy dopisuję też favicona, dzięki.
Listopad 10th, 2010 o godzinie 19:50
Wow do głowy by mi nie przyszło, nie wierzę wręcz.. zabieram się za wgranie favicona!
Grudzień 6th, 2010 o godzinie 20:07
Bardzo ciekawy wpis. Nie zastanawiałem się do tej pory nad techniczną stroną wordpress’a. Zainstalowałem i wszystko ma chodzić, a dzięki tym artykułom dodam kilka ulepszeń. Pozdro
Grudzień 9th, 2010 o godzinie 23:33
Racja, parę rzeczy na blogu wciąż pozostaje do poprawienia
Grudzień 11th, 2010 o godzinie 16:38
Korzystanie z favicon stronie wygląda lepiej. I dla mojej strony się nie favicon. Nic nie jest trudne, nawet w wielu usług internetowych dla produkcji favicon
Grudzień 23rd, 2010 o godzinie 16:33
Ciekawy jest aspekt wydajnościowy, faktycznie może mieć to znaczenie. Polecam więcej o favikonach pod kątem graficznym: http://www.altavis.pl/blog/favicon-czyli-ikona-z-paska-adresu
Luty 6th, 2011 o godzinie 17:14
Dzięki, nie miałem tego favicon a może się przydać
Kwiecień 15th, 2011 o godzinie 11:20
Kto by pomyślał, że taki mały ‘myk’ może tyle dobrego wnieść. Dzięki za info
Maj 20th, 2011 o godzinie 11:53
Ja nigdy się nie przejmowałem tym czy favicon jest wgrany czy nie a jakoś nigdy nie miałem problemów z nadmiernym obciążeniem serwera. Od jakiegoś czasu zawsze dodaję favicony do swoich serwisów, ale jest to zabieg raczej marketingowy (strona jest lepiej zapamiętywana i wygląda na bardziej profesjonalną) niż wydajnościowy.
Wrzesień 13th, 2011 o godzinie 2:32
Głupi favicon, a obciąża aż o 400% Nigdy bym się nie spodziewał. Jednak WP dąży do autodestrukcji. Wystarczy przesadzić z wtyczkami i możemy mieć straszne zamulenie.
Grudzień 21st, 2011 o godzinie 19:49
To czy, rzeczywiście tak jest to trudno powiedzieć, opinii jest kilka. W każdym bądź razie zawsze warto zwrócić na to uwagę i dokonać stosownych kroków zmierzających do zoptymalizowania WP. Dziękuję za info