Czym jest 404 error? - icomMedia

Czym jest 404 error?

Czym jest 404 error?

Błąd 404, znany także jako 404 Not Found, to znormalizowany komunikat protokołu HTTP informujący, że zasób wskazany przez podany adres URL nie został odnaleziony na źródłowym serwerze w momencie obsługi żądania. W ujęciu słownikowym jest to odpowiedź po stronie serwera, która mówi: pod tym adresem nie istnieje aktualna reprezentacja zasobu, a system nie może jednoznacznie potwierdzić, czy problem ma charakter trwały czy przejściowy. Dla użytkownika jest to sygnał, że strona lub plik nie są dostępne, dla twórcy witryny – kluczowa informacja diagnostyczna dotycząca integralności linków, nawigacji oraz spójności informacji o treściach.

Definicja i znaczenie w protokole

W ramach standardów protokołu HTTP (obecnie opisanych w dokumentach RFC 9110 i pokrewnych) odpowiedzi są klasyfikowane według klas kodów: 1xx (informacyjne), 2xx (sukces), 3xx (przekierowania), 4xx (błędy po stronie klienta) oraz 5xx (błędy po stronie serwera). Kod 404 należy do kategorii 4xx i oznacza, że żądanie zostało poprawnie sformułowane i przesłane, lecz serwer nie ma do niego przypisanego zasobu – ani w formie dokumentu, ani innej reprezentacji (np. JSON, obraz). W ujęciu semantycznym 404 nie mówi nic o uprawnieniach czy regułach dostępu (to domena np. 401/403), lecz wyłącznie o fakcie braku dopasowania żądanego identyfikatora zasobu do istniejących zasobów po stronie systemu.

Istotnym niuansem jest rozróżnienie pomiędzy brakiem zasobu a niepewnością stanu. 404 nie determinuje, czy zasób kiedyś istniał i został usunięty, czy też nigdy nie był obecny. Formalnie jest to komunikat o nieznalezieniu obiektu docelowego. Standard wskazuje, że jeśli wydawca treści wie, że brak ma charakter trwały, może zastosować kod 410 (Gone), który bardziej jednoznacznie komunikuje trwałe usunięcie. Z perspektywy nadawcy treści odpowiednie odróżnienie 404 i 410 ma znaczenie m.in. dla sposobu, w jaki roboty sieciowe będą kontynuować lub ograniczać ponowne próby indeksowania adresu.

W kontekście doświadczenia użytkownika i sukcesu operacji w warstwie aplikacyjnej 404 pełni także rolę „bezpiecznego” zakończenia obsługi żądania, bez paniki po stronie systemu. Użytkownik otrzymuje zrozumiały sygnał, a aplikacja nie jest zobligowana do generowania treści zastępczej, która mogłaby wprowadzać w błąd (np. zwrócenia 200 OK z losową stroną główną). Dzięki temu unikamy tzw. „soft 404”, czyli sytuacji, w której komunikatem wizualnym jest błąd, ale nagłówek odpowiedzi mylnie sugeruje powodzenie operacji.

Warto pamiętać, że 404 dotyczy identyfikatora zasobu. Ten sam zasób może posiadać różne reprezentacje (HTML, JSON, XML, obraz) negocjowane poprzez nagłówki żądania (np. Accept). Brak dowolnej reprezentacji zgodnej z oczekiwaniem nie zawsze musi skutkować 404; zależy to od tego, czy system rozumie rozbieżność jako brak negocjowanej wersji (co może prowadzić do 406 Not Acceptable) czy brak zasobu w ogóle.

Jak powstaje błąd: przebieg żądania

Ścieżka do 404 zwykle zaczyna się od wpisania adresu w przeglądarce lub kliknięcia linku. Klient ustala nazwę hosta (DNS), nawiązuje połączenie (TCP), negocjuje szyfrowanie (TLS), a następnie wysyła żądanie do usługi nasłuchującej na danym porcie. Po stronie systemu żądanie trafia na warstwę terminacji TLS, równoważenia obciążenia i frontu HTTP, a następnie do komponentu aplikacyjnego odpowiedzialnego za mapowanie adresów na konkretne działania – to mapowanie określa się mianem routingu. Jeśli mapa tras nie zawiera wpisu dopasowanego do ścieżki i metody żądania, aplikacja zwraca 404. Podobna sytuacja pojawi się, gdy trasa istnieje, lecz logika aplikacji nie potrafi odszukać zasobu (np. wpisu w bazie danych) zidentyfikowanego przez parametry adresu.

W praktyce źródłem 404 może być wiele warstw. Przykładowo: serwer pośredniczący (reverse proxy) nieodpowiednio przekazuje ścieżkę do aplikacji; reguły przepisywania adresów (rewrite) pomijają katalog statyczny; mechanizmy bezpieczeństwa odcinają część zapytań; a nawet CDN zwraca 404, ponieważ nie może odświeżyć pliku źródłowego z origin. Każdy z tych przypadków objawia się tym samym kodem, ale wskazuje na inną przyczynę, dlatego analiza dzienników (access i error) na wszystkich etapach trasy żądania jest jednym z najważniejszych narzędzi diagnostycznych.

Istotna jest też metoda HTTP. Wiele aplikacji mapuje tylko GET i HEAD, podczas gdy teoretycznie ktoś może odwołać się do tej samej ścieżki metodą PUT lub DELETE, otrzymując 404 albo 405 (Method Not Allowed), w zależności od konfiguracji. Z punktu widzenia użytkownika końcowego oba przypadki „wyglądają” jak niedostępność zasobu, ale dla twórcy serwisu różnica jest ważna przy audytach bezpieczeństwa i poprawności interfejsów.

W aplikacjach jednostronicowych (SPA) 404 bywa skutkiem pomyłek w integracji na styku serwer – klient. Jeśli serwer nie wie, że wszystkie ścieżki poza statykami mają kierować do pliku wejściowego aplikacji (np. index.html), to odświeżenie podstrony może skutkować 404, choć wewnątrz SPA ta ścieżka działa. Poprawne skonfigurowanie fallbacku ścieżek tylko dla trybu klientowego i równoczesne odróżnienie żądań do zaplecza jest niezbędne, aby nie mieszać błędów treści z błędami trasowania.

Różnice wobec innych kodów i zjawisko soft 404

404 nie oznacza „błędu serwera”. To kod klasy 4xx, więc formalnie mówi się o błędzie po stronie klienta – w tym znaczeniu, że klient poprosił o coś, czego serwer nie potrafi zidentyfikować jako istniejącego. Z punktu widzenia semantyki w sieci to odmienna sytuacja niż 500 (Internal Server Error), który wskazuje, że serwer spróbował, ale napotkał błąd wewnętrzny. Podobnie 403 (Forbidden) informuje o rozpoznaniu zasobu, lecz braku uprawnień, a 401 (Unauthorized) sugeruje, że trzeba się uwierzytelnić. 410 (Gone) z kolei mówi o trwałym usunięciu treści i bywa sygnałem dla robotów sieciowych, by szybciej przestały wracać.

„Soft 404” to sytuacja, w której wizualnie serwis komunikuje użytkownikowi brak strony, ale w nagłówkach zwraca kod 200 (OK) lub 302 prowadzące do strony głównej. Dla ludzi bywa to mało zauważalne, lecz dla mechanizmów indeksujących rodzi problemy: robot uznaje stronę za istniejącą i kształtuje indeks na podstawie nieistotnej treści, co może obniżać jakość wyników wyszukiwania i marnować budżet indeksowania. Unika się tego, pamiętając, że strona błędu 404 powinna faktycznie mieć nagłówek z kodem 404.

W kontekście pamięci pośredniej i buforowania odpowiedzi warto uwzględniać zachowanie sieciowych pamięci podręcznych. Choć nie każdy pośrednik gromadzi odpowiedzi 4xx, mechanizmy mogą wykorzystywać heurystyki i nagłówki Cache-Control/Expires, co prowadzi do tzw. negatywnego buforowania. Nadmiernie agresywne przechowywanie odpowiedzi 404 może utrudnić przywracanie zasobów pod tym samym adresem; zbyt krótkie – zwiększy obciążenie. Należy świadomie zarządzać politykami, aby zbalansować aktualność informacji i koszt odpytywania.

W świecie interfejsów API 404 ma wyraźne znaczenie: często sygnalizuje, że zasób o wskazanym identyfikatorze nie istnieje (np. brak użytkownika o danym ID). Ważne, by odróżniać to od 204 (No Content), który oznacza prawidłowe wykonanie akcji, ale brak treści zwrotnej, oraz od 422 (Unprocessable Content), kiedy dane są syntaktycznie poprawne, lecz nie przechodzą walidacji. Spójność konwencji ułatwia konsumentom API właściwą obsługę błędów i ich automatyczne rozróżnianie.

Na marginesie warto wspomnieć o 451 (Unavailable For Legal Reasons), który informuje o niedostępności z przyczyn prawnych. W praktyce użytkownik może doświadczać podobnego efektu „braku strony”, lecz semantycznie to inny przypadek niż 404 i powinien być tak komunikowany, jeżeli przyczyna jest znana i wynika z ograniczeń regulacyjnych.

Najczęstsze przyczyny i jak im zapobiegać

Najbardziej prozaiczną przyczyną 404 są błędne linki: literówki w adresach, niewłaściwe składnie (np. wielkość liter w środowiskach, gdzie system plików rozróżnia case), nieprawidłowe znaki w ścieżkach czy brak zakończającego ukośnika tam, gdzie serwis rozróżnia obie formy. Na to nakładają się błędy migracji treści, kiedy zmienia się schemat adresowania (slug, kategoria, wersja językowa), a mapy starych adresów na nowe nie zostały zdefiniowane.

Drugim, bardzo częstym źródłem są zmiany w strukturze aplikacji: przebudowa tras w CMS-ie lub frameworku bez aktualizacji linków wewnętrznych, usuwanie zasobów bez zapewnienia alternatywy w warstwie nawigacji, przenoszenie plików statycznych do CDN bez poprawnie skonfigurowanego klucza pobierania z origin. Błędy instalacyjne (np. brak wgrania całego zestawu plików) potrafią skutkować kaskadą 404 dla zasobów statycznych – obrazów, arkuszy stylów, skryptów – co poza czytelnością psuje też działanie strony.

Zapobieganie zaczyna się od projektowania adresów. Stabilne, czytelne, niezaszyfrowane w parametrach adresy sprzyjają trwałości. Należy ograniczać poleganie na identyfikatorach zależnych od stanu bazy (np. automatyczne ID w ścieżkach), jeśli istnieje ryzyko ich zmiany. Warto wcześnie uzgodnić reguły normalizacji: czy akceptujemy końcowy ukośnik, jak traktujemy wielkość liter, jakie znaki są dozwolone. Spójność ogranicza powstawanie różnych wariantów tego samego adresu i zjawiska „duchów 404”.

Kluczem jest również automatyzacja. Narzędzia do skanowania linków wewnętrznych i testów integracyjnych potrafią w procesie CI/CD wykryć 404 przed wdrożeniem na produkcję. Z kolei monitorowanie na produkcji (logi 404, alerty progowe, raporty z narzędzi webmasterów) pomaga szybko reagować, zanim skala problemu dotknie istotny odsetek użytkowników. Warto zbudować okresowe raporty, które zestawiają najczęściej trafiane brakujące ścieżki – to prosta mapa miejsc wymagających naprawy.

Osobną kategorią są błędy wynikające z lokalizacji i wersjonowania. Wielojęzyczne serwisy generują warianty adresów, które muszą być ze sobą spójne (np. /pl/… i /en/…). Z kolei systemy dokumentacji z wersjami (v1, v2…) wymagają jasnej polityki utrzymania starych wersji, wygaszania ich (410) lub wskazywania na następniki. Niespójność prowadzi do linków bez pokrycia i rosnącej listy 404, które trudno potem skatalogować.

Prewencja dotyczy również mediów i zasobów statycznych. Jeśli generowane są „na życzenie” i usuwane na podstawie polityk retencji, to ścieżki do nich mogą stawać się puste. Dobrym zwyczajem jest posiadanie mechanizmu odnawiania lub kontrolowanego fallbacku (np. obraz zastępczy o parametrach zgodnych z żądaniem), aby 404 statykami nie degradowały wrażeń użytkownika i nie psuły layoutu.

Projektowanie strony 404 dla doświadczenia użytkownika i dostępności

Strona błędu 404 jest elementem architektury informacji. Jej rola nie kończy się na poinformowaniu o problemie; dobrze zaprojektowana strona prowadzi użytkownika do następnego kroku, minimalizując frustrację. Z perspektywy UX treść komunikatu powinna być ludzka, konkretna i pomocna, ale nie nadmiernie humorystyczna, jeśli kontekst serwisu wymaga powagi. Kluczowe elementy to: jasny nagłówek, krótkie wyjaśnienie, widoczny mechanizm powrotu na stronę główną, propozycje najczęściej odwiedzanych sekcji oraz pole wyszukiwania. W serwisach e‑commerce warto dodać odnośniki do popularnych kategorii, ostatnio oglądanych produktów (o ile dane są dostępne) i wyraźny przycisk powrotu do koszyka, jeśli 404 wyniknęło podczas poruszania się po ofercie.

Dostępność jest równie ważna: odpowiednie kontrasty, tekst alternatywny dla ikon, spójność semantyki nagłówków i fokusowalność elementów sterujących. Strona 404 powinna być w pełni używalna z klawiatury, a komunikaty czytelne dla czytników ekranu. Właściwe landmarki (np. główna nawigacja, sekcja treści) pomagają użytkownikom technologii asystujących szybko zorientować się w sytuacji i wrócić do nawigacji.

Ważnym detalem jest zachowanie marki. Strona 404 nie powinna być odstająca graficznie od reszty serwisu, aby użytkownik nie czuł, że trafił „poza” witrynę. Jednocześnie należy zadbać, by jej rozmiar i zasoby nie były nadmierne – użytkownik już doświadczył problemu, więc szybkie wczytanie i klarowny układ są priorytetem. Dobrą praktyką jest rezygnacja z treści, które mogą zablokować wczytanie (np. ciężkie wideo), i ograniczenie liczby punktów rozproszenia.

Nie należy ujawniać zbyt wiele informacji technicznych. Zbyt szczegółowe komunikaty (np. pełne ścieżki systemu plików, stack trace) to ryzyko bezpieczeństwa. Lepiej posłużyć się neutralnym wyjaśnieniem, że treści nie znaleziono, i ewentualnie odnotować szczegóły w logach po stronie serwera, skąd można je bezpiecznie przeanalizować.

W kontekście metryk zachowania (bounce rate, dwell time, współczynnik wyjść) strona 404 bywa istotnym węzłem. Ułatwienie powrotu do sensownej ścieżki – poprzez linki kontekstowe, wyszukiwanie lub breadcrumb – zmniejsza poczucie „martwego punktu”. Dodanie narzędzia zgłaszania niedziałającego linku i automatyczne tagowanie źródła odwołania (referer, parametr kampanii) przyspiesza naprawy i poprawia jakość całej witryny.

Konfiguracja na popularnych serwerach i w aplikacjach

Skuteczna obsługa 404 to połączenie dwóch wymogów: prezentacji przyjaznej strony oraz zwrócenia właściwego kodu odpowiedzi. W serwerach WWW zwykle konfiguruje się dedykowaną stronę błędu i mechanizm zwrócenia 404, gdy ścieżka nie została dopasowana do pliku ani do reguł trasowania aplikacji. Ważne, aby strona błędu była zbudowana tak, by nie zależała od zasobów, które mogły wywołać 404 (np. skryptów w nieistniejących lokalizacjach). Z tego powodu często używa się minimalistycznego arkusza stylów i zasobów osadzonych.

W systemach opartych o frameworki programistyczne logika 404 jest definiowana na poziomie warstwy trasowania, gdzie przewiduje się „trasę domyślną” (catch‑all) zwracającą 404. Trzeba tu rozróżnić zachowanie dla API, dla stron SSR (Server‑Side Rendering) i dla SPA – każdy z tych trybów powinien mieć jasne reguły. W SPA serwer zwykle zwraca wejściowy dokument dla tras klientowych (aby aplikacja mogła je obsłużyć), ale jednocześnie musi zwrócić 404 dla zasobów, które rzeczywiście nie istnieją w systemie (np. obraz o nieistniejącej nazwie). Rozdzielenie tych dwóch kategorii żądań jest kluczowe dla poprawności.

W aplikacjach z dynamicznym generowaniem adresów (np. blogi, katalogi) dobrym zwyczajem jest centralizacja reguł tworzenia linków i walidacji parametrów tras. Pozwala to spójnie obsługiwać sytuacje brzegowe, takie jak nieistniejące identyfikatory, usunięte wpisy czy niepoprawne parametry. Warto też mieć mechanizmy testowe, które na etapie rozwoju sprawdzają, czy zestaw przykładowych adresów zwraca oczekiwane statusy i treści.

Jeżeli serwis korzysta z warstwy proxy lub CDN, konfiguracja zachowania w przypadku 404 powinna uwzględniać: czy pośrednik ma buforować brak zasobu (i jak długo), czy ma podejmować próby ponownego pobrania z origin, jak reagować na brak plików statycznych generowanych „na żądanie”. Jasne polityki minimalizują „flapping”, czyli naprzemienne występowanie 404 i 200 w krótkich odstępach czasu, co bywa uciążliwe dla użytkowników i robotów.

W środowiskach kontenerowych i mikroserwisowych za obsługę 404 odpowiadają często bramy API (API gateway) i load balancery w połączeniu z serwisami zaplecza. W tym układzie istotne jest spójne mapowanie ścieżek, wersjonowanie interfejsów oraz polityka wygaszania. Zmiany w topologii (np. refaktoryzacja usług) powinny iść w parze z przygotowaniem niezbędnych przekierowań lub komunikatów 410, aby konsumenci nie trafiali masowo na 404 po wdrożeniach.

Wpływ na widoczność i indeksowanie

Odpowiedzi 404 są naturalnym elementem życia każdej witryny, ale ich skala i wzorzec mają znaczenie dla jakości widoczności. Roboty wyszukiwarek interpretują 404 jako sygnał, że pod adresem nie ma treści do indeksowania; jeśli powtarza się to na masową skalę, crawler może zmniejszyć intensywność odpytywania domeny (oszczędzając budżet), a użytkownicy trafią na nieistniejące adresy z wyników wyszukiwania do czasu odświeżenia indeksu. Odpowiednie zarządzanie poprawia sytuację: usuwanie z planu witryny (sitemap) adresów, które nie istnieją; nielinkowanie wewnętrzne do stron usuniętych; a w przypadku trwałego usunięcia – rozważenie kodu 410.

Wątek jakości wyników wyszukiwania dotyka także problemu „soft 404”. Jeśli wizualny komunikat błędu idzie w parze z kodem 200, systemy oceniania treści mogą uznać takie strony za niskiej jakości, co w szerszej skali szkodzi całej domenie. Dobrym nawykiem jest cykliczna kontrola raportów narzędzi dla webmasterów, które wykrywają anomalie tego typu i podpowiadają przyczyny, np. cienką treść bez istotnej zawartości lub wzorce przekierowań prowadzących do ogólnych stron zamiast dopasowanych alternatyw.

Jeśli strona zmienia adresację (np. po migracji CMS, zmianie struktury kategorii), kluczowym krokiem jest zmapowanie starych adresów na nowe i wdrożenie przekierowanień 301 (trwałych). Taki zabieg przenosi sygnały rankingowe na nowe adresy i minimalizuje liczbę 404. Należy unikać łańcuchów i pętli przekierowań oraz dbać o to, aby kierować jak najbliżej semantycznie pasujących odpowiedników treści. W przeciwnym razie użytkownicy i roboty mogą „zgubić kontekst”, a wartość linków zewnętrznych zostanie częściowo zaprzepaszczona.

Strona 404 nie wymaga znaczników kanonicznych (canonical) wskazujących na siebie lub inne zasoby, bo nie jest stroną do indeksowania. Jednak o ile generuje się ją w standardowej ramie serwisu, to naturalne jest, że odziedziczy metadane i skrypty analityczne. Warto rozsądnie zdecydować, które elementy są potrzebne (np. mechanizm wyszukiwania, moduł nawigacji), a których można uniknąć (np. ciężkie trackery), aby nie zaburzać wrażeń użytkownika i nie wprowadzać mylących sygnałów.

Monitorowanie wpływu 404 na ruch obejmuje kilka kanałów: logi serwera, narzędzia wyszukiwarkowe, systemy analityczne oraz audyty zewnętrzne. Dobre praktyki to nadanie stronom 404 czytelnych tytułów i identyfikowalnych etykiet w analityce, co ułatwia raportowanie. Można też segmentować 404 według źródeł (wewnętrzne, zewnętrzne, kampanie) i reagować odpowiednimi działaniami: poprawą linków, kontaktami z partnerami, aktualizacją materiałów marketingowych.

Odrębne zagadnienie stanowi zarządzanie buforowaniem i pamięcią pośrednią. Z jednej strony zbyt długie przechowywanie 404 przez warstwy pośrednie opóźnia odświeżanie publikowanych zasobów (gdy wracają do życia), z drugiej – zbyt krótkie generuje zbędny ruch powrotny do serwera origin i obciąża aplikację. Rozsądne wartości nagłówków związanych z buforowaniem powinny odzwierciedlać dynamikę treści i koszt generowania odpowiedzi, a także specyfikę pośredników, przez które przechodzi ruch.

W kontekście optymalizacji technicznej i strategii SEO kluczem jest koordynacja: treści, struktury adresów i komunikacji z robotami. Planowanie wygaszania treści, utrzymanie aktualnych map witryn i konsekwentne domykanie pętli (wskazywanie alternatyw, dopasowane przekierowania) sprawiają, że 404 stają się elementem przewidywalnym, a nie symptomem chaosu informacyjnego.

FAQ

  • Czy 404 to zawsze wina użytkownika? Nie. 404 należy do błędów klasy 4xx, ale w praktyce często wynika z błędnych linków w serwisie, niepełnych wdrożeń lub migracji bez mapy adresów. To sygnał niedopasowania adresu do zasobu, a nie „wina” konkretnej strony.
  • Kiedy użyć 404, a kiedy 410? 404, gdy nie ma pewności co do trwałości braku, 410, gdy wiemy, że zasób został trwale usunięty i nie wróci. 410 pomaga wyszukiwarkom szybciej porzucić próby ponownego odwiedzania adresu.
  • Czym jest „soft 404”? To sytuacja, w której strona prezentuje informację o braku treści, ale nagłówki HTTP zwracają 200 OK lub podobny kod powodzenia. Wyszukiwarki starają się wykrywać soft 404, ponieważ wprowadza on w błąd mechanizmy indeksujące.
  • Czy strona 404 powinna zawierać wyszukiwarkę? Zwykle tak. Pole wyszukiwania i linki do kluczowych sekcji ułatwiają wyjście z „martwego punktu”, poprawiając wrażenia użytkownika.
  • Jak rozpoznać, skąd biorą się 404? Analizuj logi dostępu i błędów, raporty narzędzi dla webmasterów oraz dane z analityki (referrer, kampanie). Zestawiaj listy najczęściej trafianych brakujących adresów i naprawiaj ich źródła.
  • Czy można buforować 404? Można, ale rozważnie. Negatywne buforowanie ogranicza obciążenie, jednak zbyt długie TTL opóźnia „powrót do życia” odtworzonych zasobów. Dobierz politykę do dynamiki treści i zachowania pośredników.
  • Czy 404 w API to dobry pomysł? Tak, gdy zasób naprawdę nie istnieje. W API 404 sygnalizuje brak obiektu, 204 brak treści po udanej operacji, a 422 problemy walidacyjne. Konsekwencja ułatwia integrację.
  • Jak uniknąć 404 po migracji serwisu? Przygotuj mapę starych i nowych adresów, wdroż przekierowania 301, zaktualizuj linki wewnętrzne, usuń nieaktualne URL-e z mapy witryny i monitoruj raporty błędów po wdrożeniu.
  • Czy strona 404 może szkodzić SEO? Pojedyncze 404 są normalne. Problematyczne są masowe 404 lub soft 404, które marnują budżet indeksowania i mogą obniżać ocenę jakości. Dobre przekierowania i porządek w linkach minimalizują ryzyko.
  • Czy warto personalizować stronę 404? Tak, o ile personalizacja jest lekka i bezpieczna. Można uwzględnić kontekst (np. ostatnio przeglądane kategorie), ale nie należy eksponować danych wrażliwych ani zbyt obciążać strony.
  • Co z 404 dla zasobów statycznych (obrazy, CSS, JS)? Należy je ograniczać, bo wpływają na wydajność i wygląd strony. Stosuj rzetelne ścieżki, atomiczne wdrożenia, ewentualnie mechanizmy zastępcze dla brakujących obrazów.
  • Czy 404 powinno mieć tę samą nawigację co reszta witryny? W większości przypadków tak, ale w wersji odchudzonej i klarownej. Zachowaj spójność marki oraz łatwą drogę powrotu do treści.

Chcesz mieć dobrą stronę internetową?

Zadzwoń do nas. Porozmawiamy o stronie dopasowanej
do Twoich potrzeb.

601 162 666

Poprzedni wpis
Najczęstsze błędy przy administracji serwerem
Następny wpis
SEO w WordPress – kompletny przewodnik dla początkujących
Zadzwoń Konsultacja