
Witryny bez bazy danych: gdy pliki Markdown zastąpią CMS
Prosta strona może działać bez bazy danych i CMS-u. Jak działają witryny oparte na plikach Markdown, czym je edytować i kiedy się sprawdzają.
Większość systemów zarządzania treścią, WordPressa nie wyłączając, trzyma teksty w bazie danych i za każdym wejściem składa z nich stronę. Rozwiązanie to bywa wygodne, kiedy treść zmienia się codziennie, a publikuje ją wiele osób. Prosta witryna firmowa, portfolio bądź wizytówka potrafi jednak funkcjonować bez CMS-a i bez bazy danych, mając treść zapisaną w zwyczajnych plikach. Sprawdza się to zwłaszcza wówczas, gdy treść zmienia się rzadko lub modyfikuje ją wyłącznie osoba techniczna.
Jak funkcjonuje witryna oparta na plikach Markdown (.md)
Markdown należy dziś do najpopularniejszych języków znaczników. Działa odmiennie niż edytory w rodzaju Microsoft Worda, gdzie formatowanie ustawia się przyciskami, a efekt widać natychmiast. W Markdownie formatowanie zapisuje się bezpośrednio w tekście, posługując się prostymi znakami: krzyżyk na początku wiersza tworzy nagłówek, natomiast dwie gwiazdki przed słowem i po nim powodują pogrubienie. Z początku zapis ten wygląda nietypowo, jednak nauka idzie szybko, a sporo aplikacji pokazuje sformatowany podgląd na bieżąco. Pliki Markdown można tworzyć i edytować między innymi w Visual Studio Code, Obsidianie, Notion lub w przeglądarce, korzystając z edytorów online pokroju StackEdit i Markdown Live Preview.

Dane uporządkowane, czyli na przykład lista usług, cennik albo dane kontaktowe, umieszcza się zazwyczaj w plikach JSON. Generator stron statycznych, a więc aplikacja napisana w JavaScripcie bądź PHP, odczytuje owe pliki, scala je z szablonem i wytwarza gotowe pliki HTML razem ze strukturą adresów URL, przygotowane do publikacji. Sposób interpretowania plików przez generator da się dostosować do szablonu oraz potrzeb projektu.
Najpopularniejsze generatory, do których należą Eleventy i Astro, funkcjonują w środowisku JavaScriptu i publikują jedynie gotowe pliki oraz niezbędne obrazy i skrypty. Budowa strony wymaga Node.js, a zmiany publikuje się na ogół przez repozytorium kodu. Programiście to odpowiada, dla osoby nietechnicznej stanowi natomiast przeszkodę.
Kiedy CMS okazuje się zbędny
Przy bardzo prostych projektach daje się zauważyć wyraźny trend odchodzenia nie tylko od WordPressa, lecz również od tak zwanych headless CMS-ów, czyli odrębnych paneli do edycji treści, z których witryna pobiera dane. Gdy strona ma kilka podstron, a jej treść zmienia się parę razy w roku, nie ma po co zaprzątać sobie głowy etapami publikacji, akceptowaniem tekstów ani obsługą wielu osób nietechnicznych. Kto przekłada pracę na plikach nad przeklikiwanie się przez panele, temu wystarczy struktura folderów oraz pliki edytowane w dowolnym edytorze.
Taka witryna jest szybka, nie pociąga za sobą aktualizowania wtyczek i nie zawiera bazy danych, publicznie dostępnych punktów końcowych ani skryptów PHP, które dałoby się zaatakować. Zalety i wady tego podejścia na tle WordPressa opisuje szerzej artykuł generatory stron statycznych czy WordPress, natomiast projektowanie i wykonanie takich stron, katalogów produktów i wizytówek włącznie, wchodzi w zakres usługi projektowania systemów i stron internetowych.
Rozwiązania pośrednie
Największa słabość stron opartych na plikach polega na tym, że ich obsługa wymaga swobody w posługiwaniu się narzędziami programistycznymi: repozytoriami, środowiskiem Node.js, dostępem do serwera oraz wierszem poleceń (CLI), czyli tekstowym interfejsem, w którym polecenia wpisuje się z klawiatury zamiast klikać w okna. Istnieją wszelako rozwiązania pośrednie i mocno uproszczone panele administracyjne, które ów problem łagodzą. Za przykład posłuży HydePHP, generator pracujący w środowisku PHP zamiast JavaScriptu. Posiada tryb składający strony w locie na potrzeby podglądu oraz edycję treści Markdown bezpośrednio w przeglądarce. Dzięki temu część zmian da się wprowadzić bez znajomości wiersza poleceń, aczkolwiek każde takie rozwiązanie warto zweryfikować pod kątem konkretnego hostingu.
Ograniczenia stron bez bazy danych
Strona bez bazy danych słabo się nadaje tam, gdzie niezbędne jest przeszukiwanie treści, komentarze, konta użytkowników bądź częsta publikacja przez wiele osób. Każdą z tych funkcji można dodać jako mikrousługę albo integrację zewnętrzną, lecz pociąga to za sobą dodatkowe narzędzia, a strona przestaje być prostym, jednolitym rozwiązaniem. Jeżeli ma się rozwinąć w serwis z codziennymi aktualizacjami, w którym redakcja publikuje bez dotykania konsoli i kodu, rozsądniejszym wyborem okaże się klasyczny CMS.
Witryna bez CMS-a wymaga ponadto od osoby piszącej elementarnej wiedzy o SEO. Klasyczne systemy dysponują gotowymi wtyczkami, które porządkują nagłówki, opisy i dane strukturalne, nawet gdy autor tekstu nie zdaje sobie z tego sprawy. Podobnie rzecz się ma z obrazami: ich wstawianie i optymalizację trzeba zapewnić w generatorze w sposób uporządkowany. Ten sam problem występuje zresztą przy CMS-ach, nie jest więc wadą wyłącznie stron statycznych.
Markdown i modele językowe
Pliki Markdown mają jeszcze jedną zaletę, której znaczenie rośnie. Duże modele językowe świetnie sobie radzą z tym formatem, ponieważ jest prosty i czytelny zarówno dla człowieka, jak i dla modelu. Jest też oszczędny: ten sam tekst zapisany w Markdownie pochłania mniej tokenów niż w HTML-u, wskutek czego wolniej wyczerpuje limity narzędzi AI. Asystent AI potrafi przygotować nowy wpis albo poprawić istniejącą podstronę w postaci gotowego pliku Markdown, który wystarczy umieścić w projekcie i przebudować stronę generatorem. Dla osobistych stron, portfolio i małych wizytówek, których nie trzeba pilnować z dnia na dzień, połączenie plików Markdown z asystentem AI bywa jednym z najprostszych sposobów prowadzenia witryny.

Często zadawane pytania: Strony statyczne
Czy pisanie plików Markdown przychodzi łatwo?
Tak. Markdown to tekst zwyczajny, opatrzony kilkoma prostymi oznaczeniami, dlatego nadaje się do pisania w każdym edytorze, choćby w Obsidianie, Notion, Visual Studio Code, a nawet w Notatniku. Świetnie radzą sobie z nim również duże modele językowe, dla których należy do najczęściej spotykanych formatów tekstu. Tworzenie w Markdownie okazuje się prostsze niż w HTML-u, a nierzadko daje rezultat bardziej przewidywalny niż edytory wizualne pokroju TinyMCE w panelach administracyjnych witryn.
Jakimi programami otwierać i edytować pliki .md?
Pośród aplikacji desktopowych popularność zdobyły Visual Studio Code, Obsidian oraz Notion. Gdy nie chce się niczego instalować, pozostają edytory online, na przykład StackEdit lub Markdown Live Preview, prezentujące sformatowany podgląd od razu. Plik .md można również otworzyć w przeglądarce internetowej bądź zmieniać w zwyczajnym Notatniku, ponieważ to wyłącznie tekst.
Czy da się wydrukować plik .md?
Da się. Trzeba otworzyć go w edytorze wyposażonym w podgląd, takim jak Obsidian, Visual Studio Code lub StackEdit, a następnie wydrukować sformatowany widok albo zapisać dokument jako PDF.
Czy opłaca się przenosić istniejącą witrynę z WordPressa na pliki?
Przeważnie nie. Witryny bez bazy danych dobrze sprawdzają się przy nowych, niewielkich stronach wizytówkowych. Przeniesienie działającej strony z WordPressa oznacza odtwarzanie formularzy, wyszukiwarki oraz pozostałych funkcji, a w przypadku większych witryn rzadko kiedy się zwraca.
Czy witryna bez bazy danych może zawierać wyszukiwarkę?
Może, lecz należy to do jej słabszych stron. Przeszukiwanie treści pociąga za sobą dodatkowe narzędzia bądź zewnętrzną usługę i wypada mniej wygodnie niż w gotowych systemach CMS opartych na bazie danych, takich jak WordPress czy Joomla. Przy witrynie złożonej z kilku podstron zwykle nie okazuje się potrzebne.
- Strony statyczne
- Markdown
- Eleventy
- Astro
- HydePHP