Strony internetowe dla urzędów, stabilność i bezpieczeństwo

5.00/5 - (17 głosów)
6 min czytania
Przewodnik

#Strony internetowe dla urzędów, stabilność, bezpieczeństwo i dostępność

Nazywam się Mariusz Szatkowski i od 2006 roku tworzę strony na WordPressie. Dla urzędów gmin, starostw i jednostek samorządowych przygotowuję strony, które spełniają ustawę o dostępności cyfrowej, dają się łatwo prowadzić redakcji i nie wiążą urzędu z jednym wykonawcą. Pracuję sam, z Gdyni, bez podwykonawców. Kod piszę osobiście, a dostępy urzędu nie trafiają do nikogo poza mną.

Makiety i projekt graficzny zgodny z herbem i księgą znaku przygotowuje urząd, na przykład w arkuszu, w którym zaznacza, co ma się znaleźć na każdej podstronie. Ja zamieniam to w działający, responsywny motyw WordPress.

#Co mówi prawo o stronie urzędu

Podstawą jest ustawa z 4 kwietnia 2019 r. o dostępności cyfrowej stron internetowych i aplikacji mobilnych podmiotów publicznych (tekst jednolity Dz.U. 2023 poz. 1440), która wdraża dyrektywę (UE) 2016/2102. Przy projektowaniu strony liczą się z niej cztery przepisy:

  • Art. 5: strona ma spełniać wymagania z załącznika do ustawy, czyli kryteria WCAG 2.1. Za spełnione uznaje się je, gdy strona spełnia odpowiednie punkty normy EN 301 549 V3.2.1.
  • Art. 7: jeśli jakiegoś elementu nie da się udostępnić, urząd zapewnia alternatywny dostęp, np. kontakt mailowy lub telefoniczny.
  • Art. 10: deklaracja dostępności dla każdej wersji językowej, według wzoru z decyzji wykonawczej Komisji (UE) 2018/1523, z linkiem widocznym podczas nawigacji.
  • Art. 11: przegląd i aktualizacja deklaracji do 31 marca każdego roku i po każdej zmianie, która może wpłynąć na dostępność.

Do tego dochodzą rozporządzenie w sprawie Krajowych Ram Interoperacyjności z 21 maja 2024 r., art. 8 ustawy o dostępie do informacji publicznej (BIP) i, w gminach, art. 20 ust. 1b ustawy o samorządzie gminnym, który nakazuje udostępniać nagrania obrad rady w BIP i na stronie internetowej gminy.

#Jak buduję dostępną stronę

Dostępność zaczyna się w szablonie, więc pilnuję jej od pierwszego komponentu:

  • poprawna kolejność nagłówków i punkty orientacyjne strony, żeby czytnik ekranu prowadził po treści,
  • pełna obsługa klawiaturą z widocznym fokusem, także w menu rozwijanym i galeriach,
  • formularze z etykietami i komunikatami błędów, które mówią, co poprawić,
  • kontrast zgodny z WCAG 2.1 AA już w kolorach z księgi znaku, a jeśli kolor urzędowy go nie spełnia, proponuję wariant do akceptacji.

Testuję automatycznie, a potem ręcznie: klawiaturą i czytnikiem ekranu (NVDA, VoiceOver). Wynik dostajesz w raporcie, razem z listą znanych ograniczeń. Treści dodawane później przez redakcję, zwłaszcza skany PDF, potrafią zepsuć dobry wynik, dlatego instrukcja dla redaktorów pokazuje, jak tego uniknąć. Więcej o tym, jak sam opisuję dostępność, znajdziesz w deklaracji dostępności tej strony.

Dostępność cyfrowa i WCAG 2.1 na stronie urzędu

#Co mieszkaniec powinien znaleźć na stronie urzędu

#Karty spraw zamiast struktury wydziałów

Mieszkaniec szuka sprawy do załatwienia, na przykład rejestracji samochodu, i rzadko zna nazwę wydziału. Dlatego układam menu według spraw życiowych: urodzenie dziecka, budowa domu, odpady, podatek od nieruchomości. Każda karta ma listę dokumentów, opłaty, godziny przyjęć i link do właściwej usługi na gov.pl albo w ePUAP, jeśli sprawę da się załatwić online.

#Komunikaty pilne

Przy awarii wodociągu albo ostrzeżeniu pogodowym redakcja włącza pasek z komunikatem na górze każdej podstrony, bez pomocy programisty. Pasek jest odczytywany przez czytniki ekranu i nie zasłania nawigacji.

#BIP

BIP to osobny publikator urzędowy. Zwykle zostaje w obecnym systemie, a strona główna pokazuje linki do najnowszych ogłoszeń, jeśli system BIP udostępnia RSS albo API. Przeniesienie BIP do WordPressa ma sens tylko wtedy, gdy urząd sprawdzi, że spełni wymagania rozporządzenia w sprawie BIP.

#Nagrania sesji rady

Osadzam nagrania z serwisu, z którego gmina już korzysta, i porządkuję je w archiwum według dat sesji, z linkiem do protokołu.

#Jednostki podległe

Szkoły, biblioteki i ośrodki kultury mogą działać w jednej instalacji WordPress Multisite: wspólne aktualizacje, osobne redakcje. Gdy jednostki mają różnych administratorów i budżety, osobne instalacje bywają prostsze, i wtedy to doradzam.

#Dlaczego WordPress, a nie zamknięty system

Najczęstszy problem urzędów to system zamknięty, którego rozwój zna tylko jedna firma. WordPress ma otwarty kod na licencji GPL, więc stronę może później rozwijać każdy wykonawca wyłoniony w zamówieniu. Kod, repozytorium i dokumentacja należą do urzędu od dnia przekazania.

Jeśli urząd ma już stronę na Drupalu albo TYPO3, nie trzeba jej przepisywać. Przejmuję też istniejące serwisy na Drupalu i TYPO3, z aktualizacjami wersji i poprawkami dostępności.

#Bezpieczeństwo i dane osobowe

  • Aktualizacje wgrywam najpierw na kopię testową, dopiero potem na produkcję.
  • Edycja plików z panelu jest wyłączona, a redaktorzy mają tylko te uprawnienia, których potrzebują.
  • Dziennik zmian pokazuje, kto, co i kiedy zmienił.
  • Monitoring sprawdza dostępność strony co 1 do 5 minut, kopie zapasowe trzymam przez ponad 30 dni w krajach UE.
  • Zanim dostanę dostęp do danych osobowych, urząd podpisuje ze mną umowę powierzenia według art. 28 RODO.

Nie pracuję całodobowo, nie obiecuję czasu reakcji i nie twierdzę, że strona nigdy nie zostanie zaatakowana. Szczegóły opieki opisuję na stronie o utrzymaniu stron WordPress, a przegląd istniejącej strony w audycie bezpieczeństwa WordPress.

#Jak wygląda wdrożenie

  1. Opis zakresu. Urząd wysyła mailem listę działów, usług, jednostek i archiwum do przeniesienia. Dopytuję pisemnie o to, czego brakuje.
  2. Makiety od urzędu. Urząd wskazuje, co ma być na każdej podstronie; ja sprawdzam, czy da się to zrobić dostępnie.
  3. Wdrożenie. Piszę motyw w repozytorium Git i pokazuję postęp na kopii testowej. Zakres prac opisuję też na stronie o tworzeniu stron WordPress.
  4. Migracja. Przenoszę aktualności, uchwały i dokumenty z datami publikacji i przekierowaniami ze starych adresów.
  5. Testy i odbiór. Testy dostępności, formularzy, wyszukiwarki i ścieżek najczęstszych spraw. Urząd odbiera stronę na kopii testowej.
  6. Opieka. Na życzenie przejmuję aktualizacje i monitoring po uruchomieniu.

#Odbiór i przekazanie strony

Przed uruchomieniem przygotowuję listę odbiorową: każde wymaganie z testem, wynikiem i osobą po stronie urzędu, która je zatwierdza. Uwagi otwarte dzielę na blokujące publikację, przyjęte do późniejszej realizacji i odrzucone z uzasadnieniem.

Każda grupa treści dostaje opiekuna w urzędzie, bo karty spraw, godziny przyjęć i komunikaty zmieniają się w innym rytmie. Przy przekazaniu urząd otrzymuje kod źródłowy, dokumentację techniczną, spis licencji i usług zewnętrznych, listę dostępów, procedurę odtwarzania z kopii, instrukcję dla redaktorów i listę znanych ograniczeń. Z tymi materiałami kolejny wykonawca albo informatyk urzędu przejmie stronę bez zgadywania, jak działa.

Przeczytam opis przedmiotu zamówienia, zanim trafi do ogłoszenia

Wymaganie źle opisane w dokumentacji trudno potem wyegzekwować przy odbiorze. Jeśli przygotowujesz postępowanie na stronę urzędu, prześlij projekt opisu przedmiotu zamówienia. Wskażę zapisy, które zamykają rynek na jednego dostawcę, oraz wymagania o dostępności i KRI sformułowane zbyt ogólnie, żeby dało się je sprawdzić.

Prześlij projekt dokumentacji

Podobne wymagania dotyczące dostępności, ochrony danych i pracy redakcji opisuję też dla innych instytucji: strony dla szpitali, strony dla instytucji kultury i strony dla fundacji.

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.

Rekomendacje z LinkedIn

Rekomendacje i opinie o współpracy z WPPoland

Wybrane rekomendacje liderów branży WordPress, WordCamp i e-commerce - z naciskiem na terminowość, głębię techniczną i biznesowe podejście do rozwoju serwisów.

Karolina Czapla

Karolina Czapla

Strateg Marketingowy, Performance & Digital Strategy

“Praca z Mariuszem przy WordCampie pokazała mi, jak rzadko łączy się głębokie umiejętności techniczne z prawdziwym przywództwem. Planuje, koordynuje i dowozi z ogromną dbałością o szczegóły, a jednocześnie daje zespołowi ...”

Współorganizatorka WordCamp Gdynia 2024 i 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR Business Partner

“Portfolio Mariusza mówi samo za siebie. Widać w nim precyzję, wszechstronność i ogromne poczucie odpowiedzialności. Można mu zaufać przy prowadzeniu projektu od pomysłu do wdrożenia, przy jednoczesnym dbaniu o komunikacj...”

Pracowaliśmy w tym samym zespole

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT Project Management & Product Owner, Web/App

“Przez ponad dwa lata mogłam liczyć na Mariusza przy zadaniach WordPress, od stylowania i szablonów po integracje z zewnętrznymi usługami. Wnosi spokój do zespołu i trzyma front‑end projektu w ryzach.”

Mariusz był jej klientem przy pracach WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz jest takim współpracownikiem, jakiego każdy chciałby mieć: mocne kompetencje full‑stack WordPress, jasne tłumaczenie decyzji technicznych i pozytywne nastawienie nawet pod presją. Sprawnie przechodzi między wtycz...”

Pracowaliśmy razem przy projektach WordPress

Varun Patil

Varun Patil

Lider Growth & CRM

“Poza samym developmentem Mariusz świetnie rozumie SEO, analitykę i growth. Rozmawia bezpośrednio z interesariuszami, zadaje właściwe pytania i dowozi rozwiązania, które realnie wpływają na wyniki biznesowe, od AMP, przez...”

Był przełożonym Mariusza przy inicjatywach growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Znam Mariusza z polskiej społeczności WordPress od wielu lat. Jest niezawodny, bardzo zaangażowany i po prostu zawsze 'jest', na meetupach, WordCampach i w projektach. Jeśli zależy Ci na długofalowej współpracy i kimś, k...”

Współorganizator WordUp Trójmiasto i WordCampów

Daniel Blossfeld

Daniel Blossfeld

Konsultant ds. Optymalizacji Procesów i Digitalizacji

“Miałem przyjemność współpracować z Mariuszem przez prawie trzy lata. W tym czasie jego umiejętności w zakresie rozwoju WordPressa okazały się nieocenione w wielu projektach, od budowy stron internetowych po obszary człon...”

Mariusz był jego klientem przy pracach WordPress

Natalie Wiszczor

Natalie Wiszczor

CRM & E-Mail Marketing Manager

“Miałem przyjemność współpracować z Mariuszem przez ponad 4 lata w dziedzinie technicznej. W tym czasie okazał się kompetentnym i niezawodnym kolegą. Szczególnie wyróżniała się jego przyjazna natura i niezwykła wytrwałość...”

Pracowaliśmy z Mariuszem w różnych zespołach

Mark Chalklen

Mark Chalklen

Head of Design & Build w Itineris Limited

“Mariusz to świetny członek zespołu, zawsze chętny do podjęcia każdego zadania i nauki nowych rzeczy. Świetny komunikator i ogólnie miły facet do współpracy. Trudno go jednak pokonać w naszej cotygodniowej tabeli liderów ...”

Bezpośrednio zarządzał Mariuszem

Jessica Di Pasquale

Jessica Di Pasquale

Prowadzenie inicjatyw SEO z strategiami wzrostu opartymi na danych.

“Mariusz to bardzo utalentowany, cierpliwy i doświadczony człowiek. Zawsze gotowy do pomocy i naprawiania błędów, naprawdę doceniałem pracę z nim. Jest wspaniałym kolegą!”

Bezpośrednio zarządzała Mariuszem

Biki John

Biki John

Entuzjasta Content Marketingu i SEO

“Wspaniale było pracować z Mariuszem. Naprawdę doceniałem jego rozległą wiedzę na temat WordPressa i to, jak przydawała się za każdym razem, gdy potrzebowałem wsparcia w nawigacji po CMS. Całkowicie pochwalam Mariusza za ...”

Pracowaliśmy z Mariuszem w różnych zespołach

Rafal Borowiec

Rafal Borowiec

Software Developer, Konsultant, Manager i Wykładowca

“Miałem okazję współpracować z Mariuszem przez 7 miesięcy. Doskonale radzi sobie z optymalizacją techniczną dla wyszukiwarek (SEO). Mariusz posiada również silne doświadczenie w rozwoju AMP, GTM i GA. Mariusz czuje się ba...”

Bezpośrednio zarządzał Mariuszem

Belinda Koch

Belinda Koch

Analityk Web-Tracking w TUI

“Mariusz to wspaniała osoba do współpracy. Jest niezwykle zmotywowany do nauki nowych rzeczy i dzielenia się swoją wiedzą, a także posiada szeroką wiedzę na wiele tematów. Pracowaliśmy razem nad analityką cyfrową i temata...”

Pracowaliśmy z Mariuszem nad analityką cyfrową i tematami śledzenia

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Myślenie Analityczne, AMP

“Mariusz to niezwykle utalentowana osoba w swojej dziedzinie. Zawsze potrafi spojrzeć na problem z nowej perspektywy i myśleć nieszablonowo w sytuacjach, które wydają się być bez wyjścia. Współpraca z nim to zawsze przyje...”

Pracowaliśmy z Mariuszem w tym samym zespole

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript Developer

“Mariusz to niesamowicie doświadczony programista WordPress i specjalista SEO/SEM, z którym miałem przyjemność pracować przez prawie dwa lata. Jako lider zespołu odpowiedzialnego za rozwój strony AirHelp, był jedną z kluc...”

Pracowaliśmy z Mariuszem w tym samym zespole

Paweł Lewczuk

Paweł Lewczuk

Front-end developer, WordPress developer

“Współpracowałem z Mariuszem przy kilku projektach i nasza współpraca zawsze przebiegała wzorowo. Myślę, że jeszcze niejeden wspólny projekt przed nami. Polecam!”

Mariusz był klientem Pawła

Przemek Wroblewski

Przemek Wroblewski

Software Developer z ponad 20-letnim doświadczeniem

“Mariusz to osoba z ogromnym doświadczeniem i głęboką wiedzą o rozwiązaniach frontendowych. Silny, kompetentny i odpowiedzialny programista WordPress. Ma łatwość w budowaniu relacji międzyludzkich. Miał wizję dostrzegania...”

Pracowaliśmy z Mariuszem w różnych zespołach

Często zadawane pytania

Pytania o zakres, wdrożenie, koszty i jakość realizacji.

Czy strona spełni wymagania ustawy o dostępności cyfrowej?#
Wymagania są w załączniku do ustawy z 4 kwietnia 2019 r. (tekst jednolity Dz.U. 2023 poz. 1440) i odpowiadają WCAG 2.1. Szablon, formularze i komponenty buduję i sprawdzam pod te kryteria: automatycznie, klawiaturą i czytnikiem ekranu. Dostępność treści zależy też od redakcji, dlatego nie obiecuję zgodności, której nie kontroluję. Dostajesz raport z wynikiem testów i listą znanych ograniczeń.
Czy WordPress nadaje się na stronę urzędu?#
Tak, jeśli ktoś pilnuje aktualizacji i uprawnień. Aktualizacje testuję najpierw na kopii testowej, redaktorzy dostają tylko potrzebne role, edycja plików z panelu jest wyłączona, a stronę monitoruję co 1 do 5 minut. Żadne narzędzie nie daje gwarancji, że do włamania nigdy nie dojdzie.
Jak wygląda połączenie strony z BIP?#
BIP to osobny, urzędowy publikator (art. 8 ustawy o dostępie do informacji publicznej). Najczęściej zostawiam go w dotychczasowym systemie i wyświetlam na stronie głównej linki do najnowszych ogłoszeń, jeśli system BIP udostępnia kanał RSS albo API. Decyzję o przeniesieniu BIP podejmuje urząd po sprawdzeniu wymagań rozporządzenia w sprawie BIP.
Czy mieszkańcy mogą załatwiać sprawy przez stronę?#
Strona prowadzi do usług, które już działają: karty spraw z listą dokumentów i linkiem do właściwej usługi na gov.pl lub ePUAP. Formularze kontaktowe i zgłoszeniowe buduję w WordPressie, z dostępnymi etykietami i komunikatami błędów.
Czy redaktorzy dostaną instrukcję?#
Tak, pisemną: jak dodać aktualność, dokument PDF w wersji dostępnej, tekst alternatywny i komunikat pilny. Instrukcja zostaje w repozytorium i w panelu, więc nowa osoba w urzędzie może z niej skorzystać bez mojego udziału.
Czy przeniesiesz archiwum ze starej strony?#
Przenoszę aktualności, uchwały i dokumenty z zachowaniem dat publikacji i przekierowaniami ze starych adresów. Najpierw sprawdzam, w jakim formacie da się je wyeksportować; od tego zależy zakres prac.
Czy jedna instalacja obsłuży szkoły i jednostki gminy?#
Może, przez WordPress Multisite: wspólne motywy i wtyczki, osobne strony i redakcje. Sprawdza się, gdy jednostki chcą wspólnego wyglądu i jednego miejsca aktualizacji. Gdy każda ma inny budżet i innego administratora, osobne instalacje bywają prostsze.
Jak często są aktualizacje?#
W ramach opieki aktualizacje bezpieczeństwa wgrywam po teście na kopii testowej, pozostałe w stałym cyklu. Monitoring dostępności strony sprawdza ją co 1 do 5 minut. Nie pracuję w trybie całodobowym i nie obiecuję czasu reakcji. Szczegóły: utrzymanie stron WordPress.
Czy przygotujesz deklarację dostępności?#
Tak. Ustawa (art. 10) wymaga deklaracji dla każdej wersji językowej, według wzoru z decyzji wykonawczej Komisji (UE) 2018/1523, z linkiem dostępnym podczas nawigacji po stronie. Przygotowuję jej projekt na podstawie testów, a urząd uzupełnia dane kontaktowe i ją publikuje. Przegląd i aktualizacja przypada do 31 marca każdego roku (art. 11).
Gdzie hostować stronę urzędu?#
U dostawcy z serwerami w Unii Europejskiej, z którym urząd podpisze umowę powierzenia danych. Sam nie prowadzę serwerowni. Kopie zapasowe trzymam przez ponad 30 dni w krajach UE.
Czy nagrania sesji rady mogą być na stronie?#
Muszą. Art. 20 ust. 1b ustawy o samorządzie gminnym wymaga transmisji i utrwalania obrad oraz udostępnienia nagrań w BIP i na stronie internetowej gminy. Na stronie osadzam nagrania z serwisu, z którego gmina już korzysta, i porządkuję je w archiwum według dat sesji.

Potrzebujesz FAQ dopasowanego do branży i rynku? Przygotuję wersję pod Twoje cele biznesowe.

Porozmawiajmy

Polecane artykuły