Dane nie pozostawiają złudzeń – rynek systemów zarządzania treścią WordPressem stoi. Dziesiątki milionów witryn oparto właśnie o ten skrypt. Wynika z tego, że jest on świetny? Moim zdaniem nie, ale ciężko o alternatywę.
Zbierałem się do tego tekstu długi czas. Pierwszy pomysł na ten temat pojawił się dosyć dawno, ale pisanie go pod wpływem nagłego przypływu emocji uznałem za niewskazane. Lepiej wszystko przemyśleć by później uderzyć z potężnego działa. Raz a dobrze.
Wordpress to na chwilę obecną najpopularniejszy CMS na świecie. Sytuacja ta szybko się nie zmieni – istnieje tona materiałów zachwalających ten skrypt i dopóki będą one pojawiać się jak grzyby po deszczu, dopóty wszyscy będą cmokać na to rozwiązanie. Ja przestałem się nim cieszyć już jakiś czas temu.
Problemy wydajnościowe
Patrząc na ogromne bazy wtyczek i szablonów do WordPressa, można odnieść wrażenie, że skrypt ten można przystosować w zasadzie do wszystkiego. Platformy blogowe, e-commerce, fora internetowe, portale społecznościowe – możliwości jakie niesie ze sobą API WordPressa i zasoby dotyczące rozwijania tego skryptu są niemal nieograniczone. Problem w tym, że jeśli coś jest do wszystkiego, to bardzo często znaczy, że jest do niczego. Nie inaczej jest w przypadku WordPressa.
Pierwszym problemem związanym z wydajnością skryptu jest język, w którym został on napisany. PHP nigdy nie był i najprawdopodobniej nigdy nie będzie językiem, który szybkością działania powali na kolana. Być może jest on najpopularniejszy, ale nie jest najlepszy. Gdyby przepisać WordPressa do Pythona lub Ruby, wydajność skryptu prawdopodobnie wzrosłaby o kilkadziesiąt procent. Nie ma szans by zoptymalizować skrypt PHP do tego stopnia by wygrał ze swoim odpowiednikiem w Pythonie czy Ruby. Zapoznajcie się z infografiką to zobaczycie, że mam rację.
Skrypt przygotowywany przez Atomattic został stworzony przede wszystkim do blogowania. Wszystkie operacje zachodzące wewnątrz skryptu są zoptymalizowane właśnie pod to zastosowanie. Hooki i filtry wykorzystywane do integracji wtyczek ze skryptem, stanowią dodatkową warstwę aplikacji, której istnienie zawsze w jakimś stopniu obniża wydajność rozszerzenia. Gdybyśmy chcieli porównać funkcję domyślną z tą samą funkcją umieszczoną w rozszerzeniu, wynik moglibyśmy zobrazować jako pojedynek dwóch biegaczy, z których jeden jest sędzią nadającym sygnał do startu (funkcja domyślna), a drugi musi wstrzelić się w odpowiedni moment i zawsze będzie nieco spóźniony (funkcja w rozszerzeniu). Bez względu na to jak bardzo byśmy się nie starali, napisane przez nas rozszerzenia nigdy nie będą działać tak dobrze jak domyślnie zaszyte funkcje skryptu.
Chcesz pisać blog lub prowadzić po prostu zwykłą stronę internetową? Nie ma sprawy, ale jeśli masz ochotę zrobić coś ciekawszego, to lepiej popracuj nad dedykowanym rozwiązaniem. Uwierz mi – tak będzie dla Ciebie lepiej.
Kupa wtyczek i szablonów – każdy sobie rzepkę skrobie
Nigdy nie znalazłem osoby, która narzekałaby na liczbę i możliwości wtyczek oraz szablonów do WordPressa. Każdy wśród nich powinien znaleźć coś dla siebie. Mimo, że radzę sobie z tworzeniem własnych szablonów, niekiedy decyduję się na wykorzystanie gotowych rozwiązań, które modyfikuję pod swoje widzimisię.
Problemem tej nieprzebranej palety gotowych wtyczek i szablonów jest fakt, że brakuje dobrych praktyk ich tworzenia. Owszem, Atomattic ma pewne wytyczne w przypadku wtyczek i szablonów dodawanych do oficjalnego repozytorium. Podobnie jest w sklepach Envato. Niestety nic z tego nie wynika. Możemy pozyskać naprawdę świetny szablon, który powali na kolana niejednego wordpressowego wyjadacza, ale gdy zajrzymy „pod maskę” okazuje się, że organizacja kodu i plików to jakaś chora fantazja pijanego mistrza PHP. I tak przy każdej ciekawszej wtyczce. Spróbujcie wybrać szablon i 5 losowych co ciekawszych rozszerzeń, a następnie to wszystko zintegrować by wyglądało, by działało i nie wypluwało błędów. Powodzenia.
Szeroko polecane wtyczki są nieaktualne i niedzisiejsze…
Szukanie wtyczek często dobrze zacząć od Google, jakichś list najlepszych wtyczek itp. Można tam znaleźć naprawdę ciekawe rzeczy. Niestety bardzo często wiedza osób tworzących je jest niewielka, delikwent piszący tekst nie testuje wybranych przez siebie rozszerzeń, a co za tym idzie wtyczki, które zajmują miejsca w poradnikach są nieaktualne lub zostały daleko w tyle za trendami.
Jedną z takich wtyczek jest bez wątpienia BBPress. Rozumiem, że po zainstalowaniu jej, należy przygotować styl CSS dla poszczególnych elementów forum, ale kurcze… Domyślny styl tej wtyczki ma chyba dobrych kilka lat – gdy zobaczyłem instancję BBPress zainstalowaną przez Sebastiana to złapałem się za głowę – to przecież jest jakaś jedna wielka masakra. A ludzie chwalą i polecają. Nie wiem jak Wy, ale ja uważam, że tego typu wtyczka powinna ww miarę możliwości dziedziczyć style po szablonie lub posiadać własne, które będą stosunkowo uniwersalne.
Mimo wszystko i tak korzystam z WordPressa
Ciężko o alternatywę. Ogromna społeczność zgromadzona wokół skryptu sprawia, że pomimo wad staje się on liderem na rynku i domyślnym narzędziem w pracy nad stronami internetowymi. Gotuje się we mnie krew gdy myślę o tym, że tak będzie jeszcze długi czas, bo alternatywy jak nie było tak nie ma. Może jest Joomla czy Drupal, ale w żadnym wypadku nie polecałbym tamtych skryptów – są dla mnie zbyt toporne (nie mówię, że WordPress taki nie jest). Ostatnio wyszedł Ghost, ale przed nim jeszcze daleka droga związana z penetracją rynku przez Node.js w którym został on napisany.
Nie mogę doczekać się dnia, gdy ktoś wymyśli coś lepszego niż WordPress, który jest „do wszystkiego i do niczego”. Niestety by tak się stało, potrzeba stworzenia naprawdę dobrego rozwiązania i świetnie prosperującego grona użytkowników, którzy przygotują podwaliny pod efekt kuli śniegowej – jest on niezbędny do zaistnienia na tym rynku nowego gracza.
Obawiam się, że nie doczekam się…
Autor: Konrad Przydział