Co to jest CMS i czy go potrzebujesz?

Rozmawiałem raz z kolegą po fachu, który opowiadał mi, że większą część swoich zleceń wykonuje na WordPressie. Mówił, że to najlepsze rozwiązanie, jakie zna. Zapytałem więc jakie inne narzędzia zna i czy pozwala swoim klientom wybrać rozwiązanie, czy z góry zakłada, że każdy problem rozwiąże za pomocą WordPressa. Chyba nie spodobało mu się moje pytanie, bo tylko krótko coś odburknął i zaraz później nasza rozmowa dobiegła końca.

Oczywiście nie ma nic złego w byciu specjalistą w jednym konkretnym rozwiązaniu. Ważne jest, żeby tylko jasno to komunikować klientowi. Ewentualnie trzeba zwrócić uwagę na to czy wykorzystywane narzędzie jest optymalne do potrzeb klienta. Z przykrością muszę stwierdzić, że w branży twórców stron internetowych często zdarza się, że wykonawca proponuje nieadekwatne rozwiązanie klientowi. Czasem z powodów finansowych, czasami może z powodu nieumiejętnego dobierania narzędzi do potrzeb. Zakładam, że nikt nie działa z premedytacją na szkodę klienta, ale o takich przypadkach też słyszałem.

Nigdy nie wiesz, na jakiego wykonawcę trafisz, póki nie rozpoczniecie współpracy. Dlatego też warto znać przynajmniej podstawy różnych podejść do tworzenia stron internetowych. Nie będziesz wiedzieć, czy wykonawca dobrze Ci doradzi, ale jeżeli będziesz mieć podstawową wiedzę na ten temat, to łatwiej się zorientujesz, gdy ktoś będzie Cię próbował naciągnąć na droższe rozwiązanie.

Rodzaje stron

Zanim przejdę do definicji i głównego tematu wpisu to muszę Ci jeszcze przedstawić kilka podstawowych pojęć, które warto znać.

Statyczne strony

Słowo „statyczne” jest tutaj niefortunnie dobrane, ale nie wiedziałem jakiego zamiennika mógłbym użyć. Dlatego pamiętaj proszę, że nie jest to oficjalna nazwa a wymyślona na potrzebę tego postu. No ale do rzeczy. Strony statyczne to strony, które są stworzone z wykorzystaniem HTML-a, CSS-a i JS-a (o tych technologiach napiszę kiedyś osobny wpis, bo to grubszy temat). Pliki z kodem wrzucamy po prostu na serwer i już mamy działającą stronę. Jest to najprostsze rozwiązanie od strony technologii. Żaden kod nie jest uruchamiany po stronie serwera. Po prostu wrzucamy pliki i wszystko działa. Oczywiście takie podejście ma też swoje minusy. Na przykład każda zmiana musi zostać zrobiona przez programistę, a zmienione pliki trzeba wrzucić od nowa na serwer. Ty jako klient raczej nie będziesz w stanie czegokolwiek zmienić samemu (chyba że znasz HTML).

Jak widzisz, to rozwiązanie nie jest może najlepsze dla każdego. Najlepiej sprawdza się na prostych stronach wizytówkach lub landing page-ach, które nie będą się zmieniać albo będą zmieniane bardzo rzadko (czytaj raz-dwa razy do roku). Rzadko spotykam się z takim wykonaniem strony, chociaż zdarzyło mi się raz albo dwa zmieniać taką stronę.

Strony z wykorzystaniem CMS

Według statystyk ze strony W3Techs około 44% wszystkich stron w internecie wykorzystuje jakiś system CMS. Strony tworzone za pomocą systemów CMS są o wiele prostsze w obsłudze. Systemy te zawierają panele administracyjne dzięki, którym każdy może wprowadzać zmiany do strony nawet bez znajomości języków programowania. System CMS zapewnia łatwy dostęp do wszystkich opcji, jakie możemy zmienić na stronie. Dodatkowo programy te mają zazwyczaj gotowe bazy tak zwanych templates, czyli wyglądów strony, które możemy nabyć za niewielkie pieniądze i od razu wdrożyć do naszej strony. To wszystko brzmi jak rozwiązanie idealne.

Osobiście także najczęściej proponuję takie rozwiązania klientom. Są po prostu najwygodniejsze i pokrywają większość potrzeb.

Aplikacje internetowe

To najdroższe z podanych rozwiązań. Po pierwsze aplikacje internetowe najczęściej wykorzystują skomplikowane narzędzia i mechanizmy. Druga sprawa to to, że są bardzo drogie w tworzeniu i rozwijaniu dlatego, że programiści specjalizujący się w tworzeniu aplikacji internetowych są dużo droższą grupą profesjonalistów. Po trzecie, aplikacje internetowe są używane do tworzenia całych systemów, rozwiązujących pewne problemy. Niewątpliwym ich atutem jest to, że pozwalają stworzyć takie systemy, które będą później łatwe do rozwijania i utrzymywania. Do niedawna jeszcze uważano, że aplikacje internetowe gorzej pozycjonują się w wyszukiwarkach. Jednak obecnie wiemy, że nie jest to prawdą. Google zapewnia, że aplikacje internetowe są tak samo dobrze pozycjonowane, jak zwykłe strony. Więcej o aplikacjach internetowych napiszę już wkrótce.

Co to jest CMS?

Przejdźmy w końcu do głównego tematu tego wpisu. Co to jest CMS? Za Wikipedią CMS (z ang. content managment system – system zarządzania treścią) to:

Oprogramowanie pozwalające na łatwe utworzenie i prowadzenie serwisu WWW, a także jego późniejszą aktualizację i rozbudowę, również przez redakcyjny personel nietechniczny.

Myślę, że ta definicja oddaje istotę tego oprogramowania. Krótko mówiąc, wydaje się, że są to systemy idealne dla małych przedsiębiorców, którzy potrzebują swojej własnej strony. Ciężko mi się nie zgodzić z takim stwierdzeniem. Jednak chciałbym zwrócić Twoją uwagę na to, czy to jest na pewno, to czego potrzebujesz. CMSy mają też swoje wady. Najpoważniejszą wadą dla mnie jest ilość ataków przeprowadzana na różne systemy każdego dnia. Poniżej możesz zobaczyć zrzut ekranu z wtyczki Wordfence. Jest to wtyczka do WordPressa zwiększająca bezpieczeństwo tego systemu. Wykres ten pokazuje, ile ataków zablokował Wordfence w ostatnich 24 godzinach.

co to jest cms - ilość ataków w ostatnich 24h
Ilość zablokowanych ataków w 24h – Wordfence

Jak widzisz, ilość ataków jest całkiem spora. A ten wykres pokazuje tylko te, które zostały zablokowane przez wtyczkę Wordfence. Oczywiście ataki na stronę to nie jedyny minus tego typu rozwiązań, ale do tego jeszcze przejdziemy.

Jako największą zaletę CSMów podaje się argument, że każdy jest w stanie stworzyć za pomocą tego narzędzia działającą stronę internetową. To prawda. Jednak z mojego doświadczenia wynika, że w końcu osoba, która taką stronę zrobiła i tak często potrzebuje pomocy profesjonalisty, bo zazwyczaj coś nie działa, tak jak powinno albo ktoś wkradł się na stronę i podmienił wszystkie teksty na jakieś dziwne znaczki lub reklamy stron o wątpliwej treści w języku rosyjskim. Ciekawostka. Jeżeli kiedykolwiek miałeś/miałaś taką sytuację, to prawdopodobnie padłeś/padłaś ofiarą automatów przeczesujących sieć i wyłapujących potencjalne strony do których można się włamać. Ludzie dziwią się, jak im mówię, że to nie żywy człowiek, ale program wkradł się na ich stronę.

Najpopularniejsze CMSy

Skoro już wiesz mniej więcej co to jest CMS, to przejdźmy do wyliczanki. Przedstawię Ci tutaj kilka systemów, uszeregowanych w kolejności od najpopularniejszego. Zaczynajmy!

1. WordPress – the King

Król wszystkich systemów CMS. Według strony W3Techs jest to system obsługujący aż 36% stron internetowych. Jeżeli kiedykolwiek, ktoś wspomni Ci o jakimś systemie CMS, to najprawdopodobniej będzie miał na myśli WordPressa. Jest to kombajn wykorzystywany przez laików, profesjonalistów, małe firmy, średnie przedsiębiorstwa, wielkie korporacje. Jeżeli klient prosi mnie o polecenie systemu CMS, to polecam tylko WordPressa. Wszystkie moje blogi zawsze opierały się o ten system. Dzięki popularności tego systemu możesz bardzo łatwo znaleźć wykonawcę, który poprawi Ci stronę stworzoną za pomocą WordPressa. Gdybyś jednak chciał/chciała zająć się swoją stroną internetową to obszerna baza wiedzy i mnóstwo filmów na Youtube sprawi, że nie powinno być z tym problemu. Ogromna ilość wtyczek do tego systemu pozwoli Ci przemienić niepozorną stronę internetową w potężny sklep internetowy lub platformę dystrybucji kursów online. WordPress może być dla Ciebie czym chcesz. Więcej możesz dowiedzieć się z oficjalnej strony WordPressa.

2. Joomla

Kilka lat temu Joomla była największym konkurentem wspomnianego już WordPressa. Niestety ten pierwszy już dawno odskoczył konkurencji baaardzo daleko w tej rywalizacji. Według W3Techs Joomla odpowiada za około 2,5% stron internetowych. Jednak na stronie internetowej Joomli znaleźć możemy informację, że obecnie jest to prawie 2 miliony aktywnych stron. Niestety nie jestem w stanie zweryfikować tych danych, więc przedstawiam je tylko do Twojej wiadomości. Szczerze muszę się przyznać, że nigdy nie pracowałem ze stroną stworzoną za pomocą Joomli. Dlatego też nie mogę się wypowiadać za bardzo na temat jego użyteczności. Jeżeli jednak interesuje Cię ten temat, to odsyłam do polskiej strony Joomli. Jest tam trochę artykułów na temat tego CMSa i chociaż strona wygląda na porzuconą, to na pewno znajdziesz na niej kilka ciekawostek odnośnie tego rozwiązania.

3. Shopify

Shopify jest CMSem do tworzenia i prowadzenia sklepów internetowych. Jest to też pierwszy system w zestawieniu, który nie jest rozwiązaniem Open Source (o otwartym kodzie), co oznacza, że za korzystanie z niego należy uiścić opłatę. Po darmowym 14 dniowym okresie próbnym musisz wybrać jeden z trzech pakietów abonamentu. Najtańszy kosztuje 29$ miesięcznie a najdroższy 299$. Nie będę się zagłębiał w różnice pomiędzy konkretnymi planami, jeżeli Cię to ciekawi, to więcej informacji znajdziesz tutaj. Sam system jest bardzo rozbudowany. Pozwala na tworzenie sklepów internetowych z nieograniczoną ilością produktów, ma wbudowany system płatności, pozwala na integracje z różnymi miejscami do sprzedawania online (takimi jak sprzedaż na Facebooku). Można go też zintegrować z systemem fakturowania online, co jest bardzo przydatne. Jest to jedyny system skupiony na tworzeniu sklepów internetowych w tym zestawieniu. O innych platformach do tworzenia takich sklepów napiszę w innym poście.

4. Drupal

Kolejny CMS do tworzenia stron internetowych. Nie jest tak szeroko wykorzystywany, jak poprzednie rozwiązania. Według przytoczonej już tutaj kilka razy strony W3Techs jest wykorzystywany w nieco ponad 1,5% stron internetowych. Jest jeszcze rzadszy niż Joomla. Osobiście spotkałem się z nim tylko raz. Nie potrafiłem wtedy pomóc klientowi z tym systemem, ale poleciłem kogoś, kto akurat miał większe doświadczenie w tym temacie. Według strony drupal.org jest aż 1106 organizacji, które świadczą usługi związane z Drupalem. Jak na moje oko to całkiem sporo. Może to świadczyć o tym, że jeszcze kiedyś szerzej usłyszymy o tym rozwiązaniu.

Myślę, że dalsze wyliczanie nie ma sensu, gdyż kolejne systemy są bardzo rzadko używane. Czasem wynika to z tego, że są skupione na rozwiązaniu konkretnego problemu lub stworzone pod potrzeby konkretnej firmy. Przepraszam też, za niedokładne opisanie poszczególnych rozwiązań. Moim celem tutaj nie było przedstawienie ich możliwości a krótkie wymienienie najpopularniejszych CMSÓw.

Wady i zalety CMSów

Krótkie podsumowanie wad i zalet. W końcu, kiedy tworzysz swoją stronę, to chcesz wiedzieć, jakie zalety ma wykorzystany przez Ciebie system. Warto też znać jego wady, żeby się zabezpieczyć przed ewentualnymi problemami. Od razu zaznaczam, że to są ogólne zalety i wady, a nie cechy pojedynczego systemu.

Zalety

  • wtyczki rozszerzające możliwości systemu
  • łatwe wprowadzanie zmian za pomocą wizualnych edytorów
  • różne themy (wyglądy) łatwe do zastosowania w swoim projekcie
  • Google dobrze indeksuje strony oparte o CMSy

Wady

  • ilość ataków na stronę może być przytłaczająca
  • błędy w systemach (oczywiście aktualizacje naprawiają szybko wykryte błędy, ale co z tymi niewykrytymi?)
  • nie wszystko da się załatwić wtyczką
  • rzeczy wymagające ingerencji programistów są zazwyczaj skomplikowane

Co powinieneś wybrać?

To chyba sekcja, która najbardziej Cię zainteresuje. Na pewno podczas czytania tego posta nasunęło Ci się pytanie: Co będzie odpowiednie dla mnie? Odpowiedź, jak zawsze w programowaniu, Cię nie usatysfakcjonuje. Otóż – to zależy. Nie ma jednej prostej odpowiedzi na to pytanie. Jednak według mnie w 90% przypadków CMS będzie najlepszym rozwiązaniem.

Ale spróbujmy rozpatrzyć przypadki, w których CMS nie będzie do końca dobrym wyborem.

Dedykowane systemy

Zacznijmy od przypadku oczywistego. Wybranie WordPressa, Joomli czy Drupala nie będzie dobrym rozwiązaniem, jeżeli potrzebujesz do swojej firmy dopasowanego systemu rozwiązującego twój problem. Takim systemem może być na przykład system rezerwacji sal na spotkania, system do zarządzania pracownikami czy system do zarządzania stanem magazynu. Do takich rzeczy są dedykowane platformy. Oczywiście, że są ludzie, którzy próbują takie problemy rozwiązać za pomocą na przykład WordPressa, ale wyniki są bardzo różne a koszty zazwyczaj bardzo wysokie.

Landing page

Drugim przypadkiem są tak zwane landing page. Są to bardzo indywidualne strony internetowe mające zazwyczaj na celu promowanie produktu, usługi, zbieranie zapisów na wydarzenie czy zbieranie maili do newslettera. Co do zasady strony typu landing page można tworzyć w oparciu o CMS, ale zazwyczaj nie ma to sensu. Głównie dlatego, że wdrażanie projektu jest dużo prostsze bez wykorzystania CMSa. Często też landing page są wykorzystywane jednorazowo pod konkretną akcję. Nie są one wykorzystywane kilkukrotnie ani nie wymagają częstych zmian. Dlatego wykorzystanie CMSa mija się z celem.

Strony z wysokimi wymogami bezpieczeństwa

Kolejnym przypadkiem będą strony, które wymagają bardzo wysokiego poziomu bezpieczeństwa. Tak jak na przykład strona banku czy system rządowy. Takich rzeczy nie powinno się tworzyć w oparciu o rozwiązania otwarto źródłowe (w tak zwanym open source każdy ma dostęp do kodu danego programu). Głównie dlatego, że gdy każdy może zaglądnąć w kod, to łatwiej jest znaleźć ewentualne luki w systemach bezpieczeństwa. Wszystkie przytoczone dzisiaj CMSy oprócz Shopify posiadają otwarte źródło, do którego możesz zaglądnąć, jeżeli masz ochotę.

Ostrzeżenie

Systemy CMS to świetna sprawa. Pozwalają bardzo skrócić czas tworzenia strony oraz umożliwiają osobom nietechnicznym wprowadzanie zmian w łatwy i przyjazny sposób. Kolejnym plusem jest to, że CMSy są popularne, a więc łatwo znaleźć nowych wykonawców, jeżeli współpraca z poprzednimi nie układała się po naszej myśli.

Dlatego uważam, że ważne jest, aby wykorzystywać popularne systemy. Dobrze się zastanów, zanim zgodzisz się na oparcie swojej strony na systemie CMS stworzonym od podstaw przez firmę, która wykonuje dla Ciebie stronę. Wykorzystanie takiego autorskiego programu firmy zamiast popularnego rozwiązania niesie za sobą pewne konsekwencje. Po pierwsze każda rozbudowa systemu o nowe funkcjonalności (jak na przykład dodanie sklepu internetowego) wymaga pracy ze strony firmy, która ten CMS stworzyła. Zapewne nie zrobisz tego za pomocą prostej wtyczki tak jak w przypadku na przykład WordPressa. Zatem są to dodatkowe koszty przy rozbudowywaniu serwisu. Drugą istotną kwestią jest uwiązanie do wykonawcy. Otóż zazwyczaj takie systemy stanowią własność intelektualną firmy, która ten program napisała. Wszystko zależy od tego, jaką umowę podpisujesz z wykonawcą, ale może się okazać, że przy próbie rezygnacji z usług obecnej firmy, nie pozwolą Ci już wykorzystywać swojego CMSa lub będą pobierać opłatę za korzystanie.

Zanim więc podejmiesz współpracę, upewnij się, że wykonawca wykorzystuje jakiś popularny system CMS lub jeżeli już wykorzystuje własne rozwiązanie to, co dzieje się po rozwiązaniu umowy lub zakończeniu współpracy.

Podsumowanie – czy potrzebujesz CMSa?

Na pytanie, czy potrzebujesz CMSa, nie ma jednoznacznej odpowiedzi. Jednakże, jeżeli jesteś małą firmą i potrzebujesz prostej strony, gdzie będziesz zamieszczać nowinki ze swojej branży, wrzucać zdjęcia produktów lub realizacji to CMS w 100% pokryje Twoje zapotrzebowanie. Oczywiście zawsze warto się skonsultować z profesjonalistą i zobaczyć co on poleci.

Przekazałem Ci moją wiedzę na temat CMSów i tego, do czego się one nadają a do czego już niekoniecznie. Jeżeli masz jakieś pytania, śmiało pisz w komentarzach. Możesz też skontaktować się ze mną za pomocą formularza na stronie kontakt.