Systemy zarządzania treścią (CMS)
to aplikacje, które w łatwy sposób pozwalają tworzyć i prowadzić serwisy internetowe osobom nie znającym technologii tworzenia stron www. Wprowadzanie treści i ustawianie sposoby wyświetlania odbywa się za pomocą interfejsu użytkownika (panelu administracyjnego).

Główne zadanie CMSów to rozdzielenie treści (zawartości informacyjnej) od wyglądu (sposobu jej prezentacji). Zarządzanie treścią w tej sytuacji będzie bardziej elastyczne niż w przypadku „gołego” HTMLa. Również zmiana grafiki całego serwisu jest łatwiejsza, wystarczy przygotować szablon i zamienić z dotychczasowym. Niektóre CMSy pozwalają na indywidualne dobieranie elementów, które mają się znajdować na stronie frontowej.

Systemy zarządzania treścią najczęściej pisane są w takich językach jak: PHP, ASP, JSP, Python. Wprowadzana np. przez redaktorów w panelu treść jest zapisywana w bazach danych.

W zależności od zastosowania systemy CMS można podzielić na:
-systemy zarządzania dokumentami (Document Management)
-systemy zarządzania wiedzą (Knowledge Management)
-systemy zarządzania zasobami cyfrowymi (Digital Asset Management)
-systemy zarządzania obiegiem treści (Enterprise Content Management)
-systemy zarządzania treścią znajdującą się na stronie www (Web Content Management).
Te ostatnie są dzisiaj najpopularniejsze.

Ze względu na budowę systemy CMS można podzielić na:
-Content Management Framework – szkielet (narzędzia, biblioteki) do budowy systemów CMS. Rozwiązanie kosztowne i wymagające grupy programistów.
-Page-based systems – systemy o transparentnych konsolach. Nie wymagają dodatkowych konsol do zarządzania treścią. Są łatwe w obsłudze i nie wymagają dużego doświadczenia przy wdrażaniu.
-Module-based systems – do prezentacji treści wykorzystywane są napisane do tego celu funkcje i moduły, np. zarządzanie wiadomościami, fora dyskusyjne. Na tych systemach można bardzo szybko uruchomić portal. Przykładem może być Joomla czy Drupal.
-Content Object systems – koncentrują się wokół tzw. obiektów, czyli małych części informacji, które można umieszczać w wielu miejscach strony internetowej. Popularne rozwiązanie w redakcjach czasopism i w wielkich wydawnictwach.

Najpopularniejsze darmowe systemy CMS to Drupal, Joomla, Wordpress.

Drupal - złożony jest z modułów. Wyposażony jest m.in. w system blogów, środowiska do wspólnej pracy nad projektem, fora, galerie, biuletyny, możliwość wysyłania i pobierania plików. Niestety modułowa struktura Drupala ma też wadę, dużo trudniej tworzy się szablony dla tego systemu. Drupal wykorzystuje język PHP, współpracuje z bazami danych My SQL i PostgreSQL oraz serwerami Apache i IIS.

Joomla – wyposażona jest m.in. w pamięć podręczną dla zwiększenia wydajności, kanały RSS, blogi, fora, kalendarz. Liczba dodatków przekracza 4000. Joomla wykorzystuje język PHP i bazę danych MySQL.

Wordpress – system stosowany najczęściej do obsługi blogów. Wordpress wykorzystuje język PHP i bazę danych MySQL.