{"id":90065,"date":"2026-10-05T08:00:00","date_gmt":"2026-10-05T06:00:00","guid":{"rendered":"https:\/\/codescriptum.pl\/blog\/100-problemow-ze-strona-internetowa\/"},"modified":"2026-10-05T08:00:00","modified_gmt":"2026-10-05T06:00:00","slug":"100-problemow-ze-strona-internetowa","status":"publish","type":"post","link":"https:\/\/codescriptum.pl\/blog\/100-problemow-ze-strona-internetowa\/","title":{"rendered":"100 problem\u00f3w ze stron\u0105 internetow\u0105 firmy i jak je rozwi\u0105za\u0107 (2026)"},"content":{"rendered":"<p>Strona internetowa to dla wi\u0119kszo\u015bci firm pierwsze miejsce kontaktu z klientem. Problem w tym, \u017ce wiele stron powstaje bez planu, a potem latami dzia\u0142a bez opieki: rosn\u0105 wtyczki, starzej\u0105 si\u0119 tre\u015bci, psuje si\u0119 formularz i nikt tego nie zauwa\u017ca. Zebrali\u015bmy 100 sytuacji, z kt\u00f3rymi firmy zg\u0142aszaj\u0105 si\u0119 do nas najcz\u0119\u015bciej, i przy ka\u017cdej opisali\u015bmy najcz\u0119stsz\u0105 przyczyn\u0119 oraz rozwi\u0105zanie.<\/p>\n<p>Lista jest podzielona na 10 grup. Ka\u017cdy punkt zaczyna si\u0119 od bezpo\u015bredniej odpowiedzi, a ko\u0144czy konkretnym dzia\u0142aniem. Zanim zmienisz co\u015b na dzia\u0142aj\u0105cej stronie, zr\u00f3b kopi\u0119 zapasow\u0105 plik\u00f3w i bazy danych, a wi\u0119ksze zmiany testuj na kopii strony (\u015brodowisku testowym).<\/p>\n<h2>Planowanie i koszty strony<\/h2>\n<p>Najwi\u0119cej problem\u00f3w zaczyna si\u0119 jeszcze przed pierwszym projektem: od niejasnego celu, por\u00f3wnywania niepor\u00f3wnywalnych ofert i um\u00f3w bez kluczowych zapis\u00f3w.<\/p>\n<h3>1. Ile kosztuje strona internetowa dla firmy i od czego zale\u017cy cena?<\/h3>\n<p>Cena strony zale\u017cy g\u0142\u00f3wnie od zakresu: liczby podstron, tego, kto przygotuje teksty i zdj\u0119cia, oraz funkcji takich jak rezerwacje, wersje j\u0119zykowe czy integracje. Ta sama \u201estrona firmowa\u201d mo\u017ce oznacza\u0107 jednostronicow\u0105 wizyt\u00f3wk\u0119 albo serwis z kilkudziesi\u0119cioma podstronami us\u0142ug, dlatego wyceny r\u00f3\u017cni\u0105 si\u0119 nawet kilkukrotnie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> przed zapytaniem o wycen\u0119 spisz list\u0119 podstron i funkcji, a oferty por\u00f3wnuj na tym samym zakresie. Nasze strony firmowe zaczynaj\u0105 si\u0119 od 990 z\u0142 netto, a wide\u0142ki cenowe opisujemy w artykule <a href=\"\/blog\/ile-kosztuje-strona-internetowa-w-2026-ceny-pakiety-i-na-co-uwazac\/\">ile kosztuje strona internetowa w 2026<\/a>.<\/p>\n<h3>2. Nie wiem, czego potrzebuj\u0119 od strony, zanim zam\u00f3wi\u0119 projekt<\/h3>\n<p>Najcz\u0119\u015bciej brakuje jednego celu: strona ma \u201epo prostu by\u0107\u201d, wi\u0119c nikt nie wie, co ma na niej zrobi\u0107 klient. Bez celu nie da si\u0119 oceni\u0107 projektu, tre\u015bci ani tego, czy strona na siebie zarabia.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zapisz jeden g\u0142\u00f3wny cel (zapytanie ofertowe, rezerwacja, zakup), trzy najwa\u017cniejsze us\u0142ugi i pytania, kt\u00f3re klienci zadaj\u0105 najcz\u0119\u015bciej. Z tych notatek powstaje struktura podstron i brief dla wykonawcy.<\/p>\n<h3>3. Wyceny stron r\u00f3\u017cni\u0105 si\u0119 kilkukrotnie. Kt\u00f3r\u0105 wybra\u0107?<\/h3>\n<p>Oferty r\u00f3\u017cni\u0105 si\u0119 przede wszystkim zakresem, a nie sam\u0105 cen\u0105: jedna zawiera teksty, podstawowe SEO i szkolenie, druga tylko wdro\u017cenie gotowego szablonu. Bez por\u00f3wnania zakresu najta\u0144sza oferta cz\u0119sto okazuje si\u0119 najdro\u017csza po dop\u0142atach.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> popro\u015b ka\u017cdego wykonawc\u0119 o list\u0119: liczba podstron, kto pisze teksty, czy jest podstawowe SEO, kopia zapasowa, szkolenie i gwarancja oraz na kogo b\u0119d\u0105 zarejestrowane domena i hosting. Por\u00f3wnuj oferty pozycja po pozycji.<\/p>\n<h3>4. Strona mia\u0142a by\u0107 gotowa w miesi\u0105c, a trwa to kilka miesi\u0119cy<\/h3>\n<p>Najcz\u0119stszy pow\u00f3d op\u00f3\u017anie\u0144 to brak tekst\u00f3w i zdj\u0119\u0107 po stronie zamawiaj\u0105cego, a nie programowanie. Projekt czeka na tre\u015bci, a poprawki wracaj\u0105 w kolejnych rundach, bo nikt nie zebra\u0142 ich w jednym miejscu.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ustal harmonogram z terminami dla obu stron i przygotuj teksty oraz zdj\u0119cia przed startem albo zle\u0107 ich przygotowanie. Uwagi do projektu zbieraj w jednym dokumencie na ka\u017cdym etapie, zamiast przesy\u0142a\u0107 je w wielu wiadomo\u015bciach.<\/p>\n<h3>5. Strona jest gotowa, ale nie przynosi zapyta\u0144<\/h3>\n<p>Strona bez ruchu i bez jasnego wezwania do dzia\u0142ania jest wizyt\u00f3wk\u0105, kt\u00f3rej nikt nie ogl\u0105da. Zwykle brakuje widoczno\u015bci w Google, konkretnej oferty na podstronach us\u0142ug i prostego sposobu kontaktu, a czasem po prostu nie dzia\u0142a formularz.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> sprawd\u017a w Google Analytics i Search Console, ile os\u00f3b odwiedza stron\u0119, czy ka\u017cda podstrona us\u0142ugi ko\u0144czy si\u0119 przyciskiem kontaktu i czy formularz dostarcza wiadomo\u015bci. Potem zaplanuj sta\u0142e \u017ar\u00f3d\u0142o ruchu: SEO, Profil Firmy w Google albo reklamy.<\/p>\n<h3>6. Strona jednostronicowa (one page) czy wiele podstron?<\/h3>\n<p>One page sprawdza si\u0119 przy jednej us\u0142udze albo jako strona docelowa kampanii reklamowej, ale ogranicza widoczno\u015b\u0107 w Google. Ka\u017cda us\u0142uga na osobnej podstronie mo\u017ce pojawia\u0107 si\u0119 w wynikach na w\u0142asne zapytania klient\u00f3w.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> je\u015bli oferujesz kilka us\u0142ug albo dzia\u0142asz w kilku miastach, wybierz stron\u0119 z osobnymi podstronami us\u0142ug. Stron\u0119 jednostronicow\u0105 zostaw na start dzia\u0142alno\u015bci albo jako landing page pod konkretn\u0105 kampani\u0119.<\/p>\n<h3>7. Wykonawca znikn\u0105\u0142 i nie mam dost\u0119pu do strony<\/h3>\n<p>To typowy skutek tego, \u017ce domena, hosting i konto administratora zosta\u0142y za\u0142o\u017cone na wykonawc\u0119. Bez dost\u0119p\u00f3w nie zmienisz nawet godzin pracy na stronie, a odzyskanie kontroli trwa i kosztuje.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zacznij od domeny: u rejestratora mo\u017cesz wykaza\u0107, \u017ce jeste\u015b jej abonentem, albo poprosi\u0107 o zmian\u0119 danych. Potem odzyskaj hosting i konto administratora. Na przysz\u0142o\u015b\u0107 domena i hosting powinny by\u0107 zawsze na Twoj\u0105 firm\u0119, a has\u0142a w firmowym mened\u017cerze hase\u0142.<\/p>\n<h3>8. Kto jest w\u0142a\u015bcicielem praw autorskich do mojej strony?<\/h3>\n<p>Je\u015bli umowa tego nie reguluje, autorskie prawa maj\u0105tkowe do projektu graficznego i kodu zostaj\u0105 przy wykonawcy, a Ty dostajesz co najwy\u017cej licencj\u0119. To problem przy zmianie wykonawcy, przebudowie albo sprzeda\u017cy firmy.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w umowie zapisz przeniesienie autorskich praw maj\u0105tkowych z wymienieniem p\u00f3l eksploatacji albo licencj\u0119 bez ogranicze\u0144 czasowych i terytorialnych. Sprawd\u017a te\u017c licencje motywu, p\u0142atnych wtyczek, zdj\u0119\u0107 i font\u00f3w u\u017cytych na stronie.<\/p>\n<h3>9. Strona generuje sta\u0142e op\u0142aty, o kt\u00f3rych nikt nie powiedzia\u0142<\/h3>\n<p>Poza projektem p\u0142acisz za domen\u0119, hosting, licencje p\u0142atnych wtyczek lub motywu i opiek\u0119 techniczn\u0105. Te koszty zwykle wychodz\u0105 dopiero po roku, przy pierwszym odnowieniu, gdy ceny promocyjne si\u0119 ko\u0144cz\u0105.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> przed podpisaniem umowy popro\u015b o list\u0119 wszystkich koszt\u00f3w rocznych z cenami odnowienia. Koszty utrzymania strony na WordPressie rozpisujemy w artykule <a href=\"\/blog\/ile-kosztuje-utrzymanie-strony-wordpress-w-2026-kompletny-cennik\/\">ile kosztuje utrzymanie strony WordPress<\/a>.<\/p>\n<h3>10. Kiedy przebudowa\u0107 stron\u0119, a kiedy wystarczy j\u0105 poprawi\u0107?<\/h3>\n<p>Przebudowa ma sens, gdy strona \u017ale dzia\u0142a na telefonie, nie da si\u0119 jej wygodnie edytowa\u0107 albo jej technologia nie jest ju\u017c aktualizowana. Je\u015bli problemem s\u0105 tre\u015bci, szybko\u015b\u0107 lub formularz, zwykle wystarczy poprawka istniej\u0105cej strony.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b audyt szybko\u015bci, wersji mobilnej, SEO, bezpiecze\u0144stwa i konwersji. Je\u015bli zdecydujesz si\u0119 na przebudow\u0119, zachowaj adresy podstron albo ustaw przekierowania 301, \u017ceby nie straci\u0107 pozycji w Google.<\/p>\n<h2>Technologia: WordPress, kreator czy strona dedykowana<\/h2>\n<p>Wyb\u00f3r technologii decyduje o tym, ile kosztuj\u0105 zmiany, kto mo\u017ce je wprowadzi\u0107 i jak szybko dzia\u0142a strona.<\/p>\n<h3>11. WordPress czy strona dedykowana pisana od zera?<\/h3>\n<p>Dla wi\u0119kszo\u015bci stron firmowych WordPress wystarcza: ma wygodny panel, \u0142atwo w nim edytowa\u0107 tre\u015bci i \u0142atwo znale\u017a\u0107 wykonawc\u0119. Strona dedykowana ma sens przy nietypowych funkcjach, du\u017cym ruchu albo \u015bcis\u0142ych integracjach z systemami firmy.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zacznij od listy funkcji. Je\u015bli wszystkie da si\u0119 zrealizowa\u0107 w WordPressie bez kilkudziesi\u0119ciu wtyczek, wybierz WordPress. Je\u015bli kluczowa funkcja wymaga w\u0142asnego kodu, rozwa\u017c rozwi\u0105zanie dedykowane albo WordPress z w\u0142asnym modu\u0142em.<\/p>\n<h3>12. Kreator stron (Wix, Squarespace) czy strona na zam\u00f3wienie?<\/h3>\n<p>Kreator jest szybki na start, ale strona zostaje na platformie dostawcy: p\u0142acisz abonament, a przeniesienie jej gdzie indziej zwykle oznacza budow\u0119 od nowa. Strona na zam\u00f3wienie daje pe\u0142n\u0105 kontrol\u0119 nad kodem, SEO i danymi.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> kreator wybierz na prost\u0105 wizyt\u00f3wk\u0119 na kr\u00f3tki czas. Je\u015bli strona ma by\u0107 \u017ar\u00f3d\u0142em klient\u00f3w przez lata, postaw na w\u0142asn\u0105 stron\u0119. Szczeg\u00f3\u0142owe por\u00f3wnanie: <a href=\"\/blog\/kreator-stron-wix-squarespace-vs-strona-na-zamowienie-co-sie-bardziej-oplaca\/\">kreator stron vs strona na zam\u00f3wienie<\/a>.<\/p>\n<h3>13. Gotowy motyw WordPress jest ci\u0119\u017cki i trudny w edycji<\/h3>\n<p>Motywy \u201edo wszystkiego\u201d \u0142aduj\u0105 dziesi\u0105tki funkcji, z kt\u00f3rych strona nie korzysta, i cz\u0119sto wymuszaj\u0105 w\u0142asny edytor. Efekt to wolna strona i zale\u017cno\u015b\u0107 od jednego dostawcy, kt\u00f3ry mo\u017ce przesta\u0107 rozwija\u0107 motyw.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wybierz lekki motyw zgodny z edytorem blokowym albo motyw przygotowany pod Twoj\u0105 stron\u0119. Przy zmianie motywu przenie\u015b tre\u015bci na bloki i sprawd\u017a wszystkie podstrony na kopii strony, zanim opublikujesz zmiany.<\/p>\n<h3>14. Page builder (Elementor, Divi) spowalnia stron\u0119<\/h3>\n<p>Page buildery dodaj\u0105 du\u017co kodu HTML, CSS i JavaScript na ka\u017cdej podstronie. Przy wielu sekcjach, animacjach i wid\u017cetach strona robi si\u0119 ci\u0119\u017cka, co najbardziej wida\u0107 na telefonach.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wy\u0142\u0105cz nieu\u017cywane modu\u0142y i wid\u017cety, ogranicz animacje i w\u0142\u0105cz \u0142adowanie styl\u00f3w tylko tam, gdzie s\u0105 potrzebne. Przy przebudowie rozwa\u017c edytor blokowy WordPressa, kt\u00f3ry generuje mniej kodu i nie uzale\u017cnia od jednej wtyczki.<\/p>\n<h3>15. Strona ma kilkadziesi\u0105t wtyczek i boj\u0119 si\u0119 cokolwiek zmieni\u0107<\/h3>\n<p>Ka\u017cda wtyczka to dodatkowy kod, ryzyko konfliktu i potencjalna luka w zabezpieczeniach. Wtyczki instalowane latami \u201ena pr\u00f3b\u0119\u201d zostaj\u0105 na stronie, cho\u0107 nikt ju\u017c nie pami\u0119ta, do czego s\u0142u\u017c\u0105.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b list\u0119 wtyczek z opisem ich zadania, usu\u0144 nieaktywne i nieu\u017cywane, a kilka ma\u0142ych zast\u0105p jedn\u0105 sprawdzon\u0105 wtyczk\u0105 albo prostym kodem w motywie potomnym. Ka\u017cd\u0105 zmian\u0119 testuj najpierw na kopii strony.<\/p>\n<h3>16. Zmiany w motywie znikaj\u0105 po aktualizacji<\/h3>\n<p>Kto\u015b edytowa\u0142 pliki motywu bezpo\u015brednio, a aktualizacja nadpisa\u0142a je now\u0105 wersj\u0105. To cz\u0119sty skutek szybkich poprawek wprowadzanych prosto na dzia\u0142aj\u0105cej stronie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wszystkie zmiany kodu wprowadzaj w motywie potomnym (child theme) albo we w\u0142asnej wtyczce. Je\u015bli zmiany ju\u017c znikn\u0119\u0142y, odzyskaj je z kopii zapasowej, przenie\u015b do motywu potomnego i dopiero potem aktualizuj motyw.<\/p>\n<h3>17. Strona dzia\u0142a na przestarza\u0142ej technologii i nikt nie chce jej rusza\u0107<\/h3>\n<p>Stare wersje PHP, nieaktualizowany CMS albo kod pisany bez dokumentacji s\u0105 trudne w utrzymaniu i niebezpieczne. Wykonawcy wyceniaj\u0105 ka\u017cd\u0105 zmian\u0119 wysoko, bo ryzyko, \u017ce co\u015b si\u0119 zepsuje, jest du\u017ce.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b kopi\u0119 tre\u015bci i list\u0119 adres\u00f3w wszystkich podstron, a potem zaplanuj przebudow\u0119 na aktualnej technologii z przekierowaniami 301. Zwykle wychodzi to taniej ni\u017c kolejne lata \u0142atania starego kodu.<\/p>\n<h3>18. Nie mog\u0119 samodzielnie edytowa\u0107 tre\u015bci na stronie<\/h3>\n<p>Strona zosta\u0142a zbudowana tak, \u017ce teksty s\u0105 wpisane w kod albo ukryte w skomplikowanym edytorze. Ka\u017cda drobna zmiana wymaga wykonawcy, wi\u0119c tre\u015bci szybko si\u0119 starzej\u0105.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> popro\u015b o panel, w kt\u00f3rym zmienisz teksty, zdj\u0119cia i wpisy bez znajomo\u015bci kodu, oraz o kr\u00f3tkie szkolenie. Przy zamawianiu nowej strony zapisz w umowie, kt\u00f3re elementy masz edytowa\u0107 samodzielnie.<\/p>\n<h3>19. Jak zrobi\u0107 stron\u0119 w kilku j\u0119zykach?<\/h3>\n<p>Najcz\u0119stszy b\u0142\u0105d to automatyczne t\u0142umaczenie bez kontroli i jeden adres dla wszystkich j\u0119zyk\u00f3w. Google nie rozpoznaje wtedy wersji j\u0119zykowych, a klienci z zagranicy widz\u0105 niezr\u0119czne t\u0142umaczenia.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ka\u017cda wersja j\u0119zykowa powinna mie\u0107 osobne adresy (np. \/en\/), znaczniki hreflang i t\u0142umaczenie sprawdzone przez cz\u0142owieka. W WordPressie u\u017cyj sprawdzonej wtyczki wieloj\u0119zycznej zamiast t\u0142umaczenia w przegl\u0105darce.<\/p>\n<h3>20. Strona nie wsp\u00f3\u0142pracuje z innymi systemami firmy (CRM, rezerwacje, sklep)<\/h3>\n<p>Integracje dodane \u201ena szybko\u201d przez kilka wtyczek przestaj\u0105 dzia\u0142a\u0107 po aktualizacjach albo gubi\u0105 dane. Typowy objaw: formularz wysy\u0142a maila, ale zapytanie nie trafia do CRM i nikt go nie obs\u0142uguje.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wypisz, jakie dane i dok\u0105d maj\u0105 trafia\u0107, a potem po\u0142\u0105cz stron\u0119 z systemami przez oficjalne API albo narz\u0119dzie do automatyzacji. Ka\u017cd\u0105 integracj\u0119 przetestuj i monitoruj, \u017ceby b\u0142\u0119dy nie przechodzi\u0142y niezauwa\u017cone.<\/p>\n<h2>Projekt, tre\u015bci i zaufanie<\/h2>\n<p>Klient ocenia firm\u0119 po stronie w kilka sekund, dlatego jasny przekaz i wiarygodne tre\u015bci s\u0105 wa\u017cniejsze ni\u017c efekty graficzne.<\/p>\n<h3>21. Strona wygl\u0105da dobrze, ale klienci nie rozumiej\u0105, czym si\u0119 zajmuj\u0119<\/h3>\n<p>Pierwszy ekran m\u00f3wi o firmie (\u201ejeste\u015bmy liderem\u201d), zamiast odpowiedzie\u0107 na pytanie klienta: co oferujesz, dla kogo i gdzie dzia\u0142asz. Klient ma kilka sekund, \u017ceby zdecydowa\u0107, czy zostaje.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w nag\u0142\u00f3wku pierwszego ekranu napisz konkretnie, co robisz i dla kogo, pod nim jedno zdanie o korzy\u015bci i przycisk do oferty lub kontaktu. Sprawd\u017a przekaz na osobie spoza firmy: czy po pi\u0119ciu sekundach potrafi powiedzie\u0107, czym si\u0119 zajmujesz.<\/p>\n<h3>22. Strona wygl\u0105da na przestarza\u0142\u0105<\/h3>\n<p>Najcz\u0119\u015bciej winne s\u0105 ma\u0142e fonty, \u015bciany tekstu bez odst\u0119p\u00f3w, stockowe zdj\u0119cia i brak dopracowanej wersji mobilnej. Klienci oceniaj\u0105 wiarygodno\u015b\u0107 firmy tak\u017ce po wygl\u0105dzie jej strony.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zacznij od typografii (wi\u0119kszy tekst, wi\u0119cej odst\u0119p\u00f3w), prawdziwych zdj\u0119\u0107 firmy i uporz\u0105dkowanego menu. Je\u015bli strona \u017ale dzia\u0142a na telefonie, rozwa\u017c nowy projekt. Inspiracje: <a href=\"\/blog\/7-trendow-w-projektowaniu-stron-internetowych-na-2026-rok\/\">trendy w projektowaniu stron na 2026 rok<\/a>.<\/p>\n<h3>23. Nie mam tekst\u00f3w na stron\u0119 i nie wiem, co napisa\u0107<\/h3>\n<p>Teksty to najcz\u0119stszy pow\u00f3d op\u00f3\u017anie\u0144 i s\u0142abych wynik\u00f3w stron. Og\u00f3lniki w rodzaju \u201eprofesjonalnie i kompleksowo\u201d nie przekonuj\u0105 ani klient\u00f3w, ani Google, bo pasuj\u0105 do ka\u017cdej firmy.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> dla ka\u017cdej us\u0142ugi odpowiedz na pytania klient\u00f3w: co dok\u0142adnie robisz, dla kogo, jak wygl\u0105da wsp\u00f3\u0142praca, ile trwa i od czego zale\u017cy cena. Najlepszym materia\u0142em s\u0105 Twoje odpowiedzi z maili do klient\u00f3w.<\/p>\n<h3>24. Teksty na stronie s\u0105 skopiowane od konkurencji lub producenta<\/h3>\n<p>Skopiowane tre\u015bci to ryzyko naruszenia praw autorskich, a Google nie ma powodu wy\u017cej pokaza\u0107 strony z tekstem, kt\u00f3ry ju\u017c jest w sieci. Klient te\u017c nie dowie si\u0119 z nich, czym r\u00f3\u017cnisz si\u0119 od innych.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> napisz w\u0142asne teksty na podstawie do\u015bwiadczenia i pyta\u0144 klient\u00f3w. Teksty z narz\u0119dzi AI traktuj jako szkic: sprawd\u017a fakty i dodaj konkretne informacje, kt\u00f3rych nie zna nikt poza Twoj\u0105 firm\u0105.<\/p>\n<h3>25. Zdj\u0119cia na stronie s\u0105 stockowe albo s\u0142abej jako\u015bci<\/h3>\n<p>Te same zdj\u0119cia z bank\u00f3w zdj\u0119\u0107 wida\u0107 na wielu stronach, wi\u0119c nie buduj\u0105 zaufania. Z kolei zdj\u0119cia z telefonu bez obr\u00f3bki i w z\u0142ym \u015bwietle wygl\u0105daj\u0105 nieprofesjonalnie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b sesj\u0119 zdj\u0119ciow\u0105 zespo\u0142u, realizacji lub produkt\u00f3w. Je\u015bli u\u017cywasz zdj\u0119\u0107 stockowych, wybieraj mniej oczywiste i zawsze sprawdzaj licencj\u0119. Zdj\u0119\u0107 znalezionych w wyszukiwarce nie wolno u\u017cywa\u0107 bez zgody autora.<\/p>\n<h3>26. Menu ma kilkana\u015bcie pozycji i klienci si\u0119 gubi\u0105<\/h3>\n<p>Menu rozrasta si\u0119 z ka\u017cd\u0105 now\u0105 podstron\u0105, a\u017c przestaje pomaga\u0107 w nawigacji. Klient nie wie, gdzie klikn\u0105\u0107, i wraca do wynik\u00f3w wyszukiwania, cz\u0119sto do konkurencji.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ogranicz menu g\u0142\u00f3wne do kilku pozycji (np. Oferta, Realizacje, O nas, Blog, Kontakt), us\u0142ugi pogrupuj w rozwijanym podmenu, a mniej wa\u017cne linki przenie\u015b do stopki.<\/p>\n<h3>27. Na stronie brakuje opinii klient\u00f3w i realizacji<\/h3>\n<p>Bez opinii i przyk\u0142ad\u00f3w klient nie ma dowodu, \u017ce firma robi to, co obiecuje. Przy us\u0142ugach o wy\u017cszej warto\u015bci brak realizacji wyra\u017anie os\u0142abia zaufanie i wyd\u0142u\u017ca decyzj\u0119.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> dodaj prawdziwe opinie z imieniem i nazw\u0105 firmy (za zgod\u0105 klienta), link do opinii w Profilu Firmy w Google i kr\u00f3tkie opisy realizacji: problem, rozwi\u0105zanie, efekt. Nie publikuj opinii, kt\u00f3rych pochodzenia nie da si\u0119 sprawdzi\u0107.<\/p>\n<h3>28. Czy strona firmowa potrzebuje bloga?<\/h3>\n<p>Nie jest obowi\u0105zkowy, ale bez tre\u015bci odpowiadaj\u0105cych na pytania klient\u00f3w strona zwykle pojawia si\u0119 w Google tylko na nazw\u0119 firmy. Blog lub poradniki to najprostszy spos\u00f3b na ruch z wyszukiwarki i cytowania w odpowiedziach AI.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zbierz pytania, kt\u00f3re klienci zadaj\u0105 przed zakupem, i odpowiedz na ka\u017cde osobnym artyku\u0142em z linkiem do w\u0142a\u015bciwej us\u0142ugi. Jeden konkretny wpis w miesi\u0105cu daje wi\u0119cej ni\u017c kilka og\u00f3lnych.<\/p>\n<h3>29. Strona \u201eO nas\u201d nic nie m\u00f3wi o firmie<\/h3>\n<p>Og\u00f3lne opisy misji i warto\u015bci nie odpowiadaj\u0105 na to, czego szuka klient: kto stoi za firm\u0105, od kiedy dzia\u0142a i dlaczego warto jej zaufa\u0107. To tak\u017ce sygna\u0142 wiarygodno\u015bci dla Google i system\u00f3w AI.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> poka\u017c ludzi (zdj\u0119cia i imiona zespo\u0142u), histori\u0119 i do\u015bwiadczenie firmy, spos\u00f3b pracy oraz sprawdzalne fakty, np. dane rejestrowe i certyfikaty. Unikaj liczb, kt\u00f3rych nie mo\u017cesz udokumentowa\u0107.<\/p>\n<h3>30. Tre\u015bci na stronie s\u0105 nieaktualne<\/h3>\n<p>Stare ceny, us\u0142ugi, kt\u00f3rych ju\u017c nie ma, ostatni wpis na blogu sprzed lat i stopka z dawnym rokiem sugeruj\u0105, \u017ce firma przesta\u0142a dzia\u0142a\u0107. Klient woli wtedy zapyta\u0107 kogo\u015b innego.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> raz na kwarta\u0142 przejrzyj ofert\u0119, cennik, dane kontaktowe i informacje o zespole. Nieaktualne podstrony zaktualizuj albo usu\u0144, a usuni\u0119te adresy przekieruj przekierowaniem 301 na najbli\u017csz\u0105 tematycznie stron\u0119.<\/p>\n<h2>Kontakt, formularze i konwersja<\/h2>\n<p>Ta cz\u0119\u015b\u0107 decyduje, czy odwiedziny zamieniaj\u0105 si\u0119 w zapytania. B\u0142\u0119dy s\u0105 tu cz\u0119sto niewidoczne, bo strona \u201edzia\u0142a\u201d, tylko nikt nie pisze.<\/p>\n<h3>31. Formularz kontaktowy nie wysy\u0142a wiadomo\u015bci<\/h3>\n<p>Najcz\u0119stsza przyczyna to wysy\u0142ka maili domy\u015bln\u0105 funkcj\u0105 serwera bez uwierzytelnienia: wiadomo\u015bci trafiaj\u0105 do spamu albo s\u0105 odrzucane, cho\u0107 formularz pokazuje komunikat o sukcesie. Rzadziej winny jest b\u0142\u0119dny adres nadawcy lub odbiorcy, konflikt wtyczek albo zbyt agresywna ochrona przed spamem.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> skonfiguruj wysy\u0142k\u0119 przez SMTP z firmowej skrzynki lub us\u0142ugi transakcyjnej, dodaj w domenie rekordy SPF, DKIM i DMARC i zapisuj zg\u0142oszenia tak\u017ce w bazie strony. <a href=\"\/blog\/formularz-kontaktowy-nie-wysyla-wiadomosci\/\">Szczeg\u00f3\u0142y i naprawa krok po kroku<\/a>.<\/p>\n<h3>32. Formularz kontaktowy zalewa spam<\/h3>\n<p>Boty wype\u0142niaj\u0105 formularze automatycznie, szczeg\u00f3lnie gdy formularz nie ma \u017cadnej ochrony. Prawdziwe zapytania gin\u0105 wtedy w\u015br\u00f3d spamu, a skrzynka przestaje by\u0107 u\u017cyteczna.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105cz niewidoczn\u0105 ochron\u0119, np. reCAPTCHA v3, Cloudflare Turnstile albo ukryte pole-pu\u0142apk\u0119 (honeypot), i filtr antyspamowy. Unikaj uci\u0105\u017cliwych zada\u0144 do rozwi\u0105zania, bo zniech\u0119caj\u0105 prawdziwych klient\u00f3w.<\/p>\n<h3>33. Formularz ma za du\u017co p\u00f3l i nikt go nie wype\u0142nia<\/h3>\n<p>Ka\u017cde dodatkowe pole to kolejny pow\u00f3d, \u017ceby zrezygnowa\u0107. Pytania o bud\u017cet, NIP czy szczeg\u00f3\u0142y projektu ju\u017c na pierwszym kroku odstraszaj\u0105 osoby, kt\u00f3re chc\u0105 tylko zada\u0107 pytanie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zostaw tylko pola potrzebne do pierwszej odpowiedzi: imi\u0119, e-mail i wiadomo\u015b\u0107. Szczeg\u00f3\u0142y zbierz w odpowiedzi albo w formularzu wieloetapowym, w kt\u00f3rym pierwszy krok jest kr\u00f3tki.<\/p>\n<h3>34. Na stronie trudno znale\u017a\u0107 dane kontaktowe<\/h3>\n<p>Kontakt ukryty w stopce albo tylko na podstronie Kontakt oznacza, \u017ce cz\u0119\u015b\u0107 klient\u00f3w go nie znajdzie, szczeg\u00f3lnie na telefonie. Ka\u017cde dodatkowe przewijanie i szukanie zmniejsza liczb\u0119 zapyta\u0144.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> dodaj przycisk kontaktu w nag\u0142\u00f3wku (widoczny tak\u017ce na telefonie), sekcj\u0119 kontaktu na ko\u0144cu ka\u017cdej podstrony us\u0142ugi i klikalny adres e-mail. Sprawd\u017a na telefonie, czy przycisk nie zas\u0142ania tre\u015bci.<\/p>\n<h3>35. Strona nie m\u00f3wi klientowi, co ma zrobi\u0107 dalej<\/h3>\n<p>Klient przeczyta\u0142 ofert\u0119, ale nie wie, jaki jest nast\u0119pny krok. Przyciski \u201eWi\u0119cej\u201d albo \u201eCzytaj\u201d nie m\u00f3wi\u0105, co si\u0119 stanie po klikni\u0119ciu, wi\u0119c ma\u0142o kto w nie klika.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> na ka\u017cdej podstronie ustaw jedno g\u0142\u00f3wne dzia\u0142anie i opisz je konkretnie, np. \u201ePopro\u015b o wycen\u0119\u201d albo \u201eUm\u00f3w konsultacj\u0119 online\u201d. Powt\u00f3rz przycisk po najwa\u017cniejszych sekcjach d\u0142u\u017cszej strony.<\/p>\n<h3>36. Klient wysy\u0142a formularz i nie dostaje potwierdzenia<\/h3>\n<p>Bez potwierdzenia klient nie wie, czy wiadomo\u015b\u0107 dotar\u0142a, i cz\u0119sto wysy\u0142a j\u0105 ponownie albo pisze do konkurencji. Brak potwierdzenia utrudnia te\u017c mierzenie skuteczno\u015bci strony.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> po wys\u0142aniu poka\u017c stron\u0119 podzi\u0119kowania z informacj\u0105, kiedy odpowiesz, i wy\u015blij automatyczne potwierdzenie mailem. Strona podzi\u0119kowania przyda si\u0119 te\u017c jako punkt pomiaru konwersji w analityce.<\/p>\n<h3>37. Nie wiem, ile zapyta\u0144 przychodzi ze strony<\/h3>\n<p>Bez pomiaru nie wiesz, kt\u00f3re podstrony, kampanie i \u017ar\u00f3d\u0142a ruchu przynosz\u0105 klient\u00f3w. Decyzje o stronie i bud\u017cecie reklamowym s\u0105 wtedy podejmowane na wyczucie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ustaw w Google Analytics 4 wys\u0142anie formularza i klikni\u0119cie w adres e-mail jako konwersje, a przy reklamach przeka\u017c je do Google Ads. Pami\u0119taj o banerze zg\u00f3d i Consent Mode v2, bez kt\u00f3rych cz\u0119\u015b\u0107 danych nie zostanie zebrana.<\/p>\n<h3>38. Czat na stronie odstrasza zamiast pomaga\u0107<\/h3>\n<p>Okno czatu, kt\u00f3re samo otwiera si\u0119 po kilku sekundach, zas\u0142ania tre\u015b\u0107, a czat bez obs\u0142ugi zostawia klienta bez odpowiedzi. Taki czat szkodzi bardziej ni\u017c jego brak.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105czaj czat tylko wtedy, gdy kto\u015b odpowiada w rozs\u0105dnym czasie, albo zast\u0105p go chatbotem, kt\u00f3ry odpowiada na podstawie tre\u015bci strony i przekazuje trudne pytania do zespo\u0142u. Wi\u0119cej: <a href=\"\/blog\/chatbot-ai-na-strone-firmowa-ile-kosztuje-i-czy-to-sie-oplaca-w-2026\/\">chatbot AI na stron\u0119 firmow\u0105<\/a>.<\/p>\n<h3>39. Ruch na stronie jest, ale zapyta\u0144 nie ma<\/h3>\n<p>Problem le\u017cy zwykle w dopasowaniu: strona przyci\u0105ga osoby szukaj\u0105ce czego\u015b innego albo nie przekonuje tych, kt\u00f3rzy szukaj\u0105 w\u0142a\u015bnie Twojej us\u0142ugi. Czasem przyczyn\u0105 jest po prostu niedzia\u0142aj\u0105cy formularz.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> sprawd\u017a w Search Console, na jakie zapytania wchodz\u0105 u\u017cytkownicy, a w mapach cieplnych i nagraniach sesji (np. Microsoft Clarity, po uzyskaniu zgody), gdzie rezygnuj\u0105. Dopasuj tre\u015bci do zapyta\u0144 i przetestuj formularz na kilku urz\u0105dzeniach.<\/p>\n<h3>40. Wyskakuj\u0105ce okienka przeszkadzaj\u0105 u\u017cytkownikom<\/h3>\n<p>Pop-up zas\u0142aniaj\u0105cy ca\u0142\u0105 tre\u015b\u0107 zaraz po wej\u015bciu irytuje, a na telefonie bywa trudny do zamkni\u0119cia. Google wskazuje natr\u0119tne okna pe\u0142noekranowe na urz\u0105dzeniach mobilnych jako element z\u0142ego do\u015bwiadczenia u\u017cytkownika.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> pokazuj okienka dopiero po przewini\u0119ciu cz\u0119\u015bci strony albo przy pr\u00f3bie wyj\u015bcia, zawsze z wyra\u017anym przyciskiem zamkni\u0119cia. Na telefonie zamiast okna pe\u0142noekranowego u\u017cywaj niewielkiego paska.<\/p>\n<h2>Szybko\u015b\u0107 strony<\/h2>\n<p>Wolna strona traci klient\u00f3w, zanim ci zobacz\u0105 ofert\u0119. Google mierzy szybko\u015b\u0107 wska\u017anikami Core Web Vitals: LCP, INP i CLS.<\/p>\n<h3>41. Strona internetowa wolno si\u0119 \u0142aduje. Co j\u0105 spowalnia?<\/h3>\n<p>Najcz\u0119stsze przyczyny to ci\u0119\u017ckie zdj\u0119cia, zbyt wiele wtyczek i skrypt\u00f3w oraz s\u0142aby hosting bez cache. Sprawdzisz to w PageSpeed Insights: najwa\u017cniejsze s\u0105 wska\u017aniki LCP, INP i CLS z danych prawdziwych u\u017cytkownik\u00f3w, a nie sam wynik punktowy.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zmniejsz i skompresuj zdj\u0119cia (WebP lub AVIF), w\u0142\u0105cz cache stron, usu\u0144 zb\u0119dne wtyczki i skrypty, a przy wolnym serwerze zmie\u0144 hosting. <a href=\"\/blog\/strona-internetowa-wolno-sie-laduje\/\">Szczeg\u00f3\u0142y i naprawa krok po kroku<\/a>.<\/p>\n<h3>42. Wynik w PageSpeed Insights jest niski, cho\u0107 strona dzia\u0142a szybko<\/h3>\n<p>Wynik punktowy to test laboratoryjny na symulowanym, wolnym telefonie z wolnym \u0142\u0105czem. Dla Google wa\u017cniejsze s\u0105 dane prawdziwych u\u017cytkownik\u00f3w (Core Web Vitals), pokazane w g\u00f3rnej cz\u0119\u015bci raportu i w Search Console.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> najpierw sprawd\u017a LCP, INP i CLS z danych terenowych. Je\u015bli s\u0105 dobre, nie poprawiaj wyniku punktowego za wszelk\u0105 cen\u0119. Je\u015bli danych terenowych nie ma, bo ruch jest ma\u0142y, kieruj si\u0119 testem laboratoryjnym dla telefonu.<\/p>\n<h3>43. Du\u017ce zdj\u0119cie na pocz\u0105tku strony \u0142aduje si\u0119 d\u0142ugo (s\u0142abe LCP)<\/h3>\n<p>G\u0142\u00f3wny obraz pierwszego ekranu, np. baner lub slider, jest zbyt ci\u0119\u017cki albo \u0142adowany leniwie. To on zwykle decyduje o wska\u017aniku LCP, kt\u00f3ry Google uznaje za dobry do 2,5 sekundy.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zmniejsz obraz do rozmiaru wy\u015bwietlania, zapisz go w WebP lub AVIF, wy\u0142\u0105cz dla niego leniwe \u0142adowanie i dodaj priorytet pobierania (fetchpriority=\"high\"). Zrezygnuj ze slidera na pierwszym ekranie.<\/p>\n<h3>44. Elementy strony przeskakuj\u0105 podczas \u0142adowania (CLS)<\/h3>\n<p>Obrazki bez podanych wymiar\u00f3w, p\u00f3\u017ano \u0142adowane banery, reklamy i fonty przesuwaj\u0105 tre\u015b\u0107 w chwili, gdy u\u017cytkownik czyta albo chce klikn\u0105\u0107. Dobry wynik CLS to do 0,1.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> podawaj wymiary obrazk\u00f3w i osadzonych element\u00f3w, rezerwuj miejsce na banery i reklamy, a fonty \u0142aduj z ustawieniem font-display: swap i zbli\u017conym fontem zast\u0119pczym.<\/p>\n<h3>45. Strona reaguje z op\u00f3\u017anieniem na klikni\u0119cia (INP)<\/h3>\n<p>Przegl\u0105darka jest zaj\u0119ta wykonywaniem JavaScriptu: page buildera, skrypt\u00f3w \u015bledz\u0105cych, czatu i slider\u00f3w. Wska\u017anik INP mierzy to op\u00f3\u017anienie, a dobry wynik to do 200 milisekund.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> usu\u0144 nieu\u017cywane skrypty, op\u00f3\u017anij \u0142adowanie czatu i wid\u017cet\u00f3w do pierwszej interakcji, ogranicz liczb\u0119 tag\u00f3w w Google Tag Manager i sprawd\u017a w narz\u0119dziach przegl\u0105darki (zak\u0142adka Wydajno\u015b\u0107), kt\u00f3re skrypty blokuj\u0105 stron\u0119 najd\u0142u\u017cej.<\/p>\n<h3>46. Hosting jest za s\u0142aby i strona zwalnia przy wi\u0119kszym ruchu<\/h3>\n<p>Najta\u0144szy hosting wsp\u00f3\u0142dzielony ma ma\u0142e limity pami\u0119ci i procesora, wi\u0119c czas odpowiedzi serwera (TTFB) ro\u015bnie przy ka\u017cdym wi\u0119kszym ruchu. \u017badna optymalizacja na stronie nie nadrobi wolnego serwera.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wybierz hosting z aktualnym PHP 8.x, szybkimi dyskami, cache po stronie serwera i serwerem w Polsce lub Europie. Zmierz czas odpowiedzi serwera przed zmian\u0105 i po niej, \u017ceby mie\u0107 por\u00f3wnanie.<\/p>\n<h3>47. Wtyczka cache psuje wygl\u0105d albo dzia\u0142anie strony<\/h3>\n<p>Agresywne \u0142\u0105czenie i op\u00f3\u017anianie plik\u00f3w CSS i JavaScript zmienia kolejno\u015b\u0107 \u0142adowania skrypt\u00f3w, przez co psuj\u0105 si\u0119 menu, slidery albo formularze. Administrator cz\u0119sto tego nie widzi, bo jako zalogowany omija cache.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105czaj opcje optymalizacji pojedynczo i po ka\u017cdej sprawdzaj stron\u0119 w oknie incognito. Skrypty, kt\u00f3re przestaj\u0105 dzia\u0142a\u0107 (np. formularza lub menu), wyklucz z optymalizacji.<\/p>\n<h3>48. Fonty \u0142aduj\u0105 si\u0119 d\u0142ugo albo tekst miga przy \u0142adowaniu<\/h3>\n<p>Strona pobiera kilka kroj\u00f3w i grubo\u015bci font\u00f3w z zewn\u0119trznego serwera. Dop\u00f3ki font si\u0119 nie za\u0142aduje, tekst jest niewidoczny albo zmienia wygl\u0105d, co pogarsza LCP i CLS.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ogranicz fonty do jednego lub dw\u00f3ch kroj\u00f3w i kilku grubo\u015bci, hostuj je lokalnie w formacie WOFF2 i \u0142aduj z font-display: swap. Lokalne fonty oznaczaj\u0105 te\u017c mniej danych u\u017cytkownik\u00f3w wysy\u0142anych do zewn\u0119trznych firm.<\/p>\n<h3>49. Osadzone filmy i mapy spowalniaj\u0105 stron\u0119<\/h3>\n<p>Ka\u017cdy osadzony film z YouTube albo mapa Google \u0142aduje du\u017co skrypt\u00f3w, nawet je\u015bli nikt ich nie uruchomi. Kilka takich element\u00f3w na jednej podstronie potrafi j\u0105 wyra\u017anie spowolni\u0107.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zamiast osadzonego odtwarzacza poka\u017c miniatur\u0119, a w\u0142a\u015bciwy odtwarzacz \u0142aduj dopiero po klikni\u0119ciu. Map\u0119 zast\u0105p obrazkiem z linkiem albo r\u00f3wnie\u017c \u0142aduj j\u0105 po klikni\u0119ciu. To pomaga tak\u017ce w zgodno\u015bci z zasadami zg\u00f3d na cookies.<\/p>\n<h3>50. Strona by\u0142a szybka, a po kilku miesi\u0105cach zwolni\u0142a<\/h3>\n<p>Z czasem przybywa wtyczek, skrypt\u00f3w marketingowych i nieskompresowanych zdj\u0119\u0107, a baza danych ro\u015bnie przez wersje wpis\u00f3w, spam i dane tymczasowe. Spowolnienie jest stopniowe, wi\u0119c nikt go nie zauwa\u017ca.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> raz na kwarta\u0142 sprawdzaj Core Web Vitals, usuwaj zb\u0119dne wtyczki i skrypty, czy\u015b\u0107 baz\u0119 danych i ogranicz liczb\u0119 zapisywanych wersji wpis\u00f3w. Ka\u017cdy nowy skrypt marketingowy sprawdzaj pod k\u0105tem wp\u0142ywu na szybko\u015b\u0107.<\/p>\n<h2>Wersja mobilna<\/h2>\n<p>Google ocenia strony przede wszystkim na podstawie ich wersji mobilnej, a klienci coraz cz\u0119\u015bciej wybieraj\u0105 firm\u0119 z telefonu.<\/p>\n<h3>51. Strona \u017ale wygl\u0105da na telefonie<\/h3>\n<p>Najcz\u0119\u015bciej strona zosta\u0142a zaprojektowana na komputer, a wersja mobilna to tylko \u015bci\u015bni\u0119ty uk\u0142ad. Google indeksuje strony przede wszystkim w wersji mobilnej, wi\u0119c s\u0142aba wersja na telefon szkodzi te\u017c widoczno\u015bci w wyszukiwarce.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> projektuj i testuj najpierw na telefonie: czytelny tekst bez powi\u0119kszania, jedna kolumna, przyciski \u0142atwe do trafienia palcem. Sprawdzaj stron\u0119 na prawdziwych telefonach, a nie tylko w podgl\u0105dzie przegl\u0105darki.<\/p>\n<h3>52. Tekst na telefonie jest za ma\u0142y<\/h3>\n<p>Fonty dobrane na monitor staj\u0105 si\u0119 nieczytelne na ma\u0142ym ekranie, a u\u017cytkownik musi powi\u0119ksza\u0107 stron\u0119 palcami. Wiele os\u00f3b w takiej sytuacji po prostu wychodzi.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ustaw tekst g\u0142\u00f3wny na co najmniej 16 px, wysoko\u015b\u0107 linii oko\u0142o 1,5 i kr\u00f3tsze akapity. Sprawd\u017a, czy strona ma poprawny znacznik viewport i czy nie blokuje powi\u0119kszania, bo to utrudnia korzystanie osobom s\u0142abowidz\u0105cym.<\/p>\n<h3>53. Przyciski i linki s\u0105 za blisko siebie<\/h3>\n<p>Na telefonie palec trafia w z\u0142y link, a klient si\u0119 irytuje albo rezygnuje. Problem najcz\u0119\u015bciej dotyczy menu, stopki i list link\u00f3w u\u0142o\u017conych g\u0119sto jeden pod drugim.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zaprojektuj przyciski i linki z obszarem dotyku oko\u0142o 48 na 48 px i odst\u0119pami mi\u0119dzy nimi. Wytyczne dost\u0119pno\u015bci WCAG 2.2 wymagaj\u0105 co najmniej 24 na 24 px dla cel\u00f3w dotyku.<\/p>\n<h3>54. Strona przewija si\u0119 na boki na telefonie<\/h3>\n<p>Jaki\u015b element jest szerszy ni\u017c ekran: tabela, obrazek, osadzony film albo blok z ustalon\u0105 szeroko\u015bci\u0105 w pikselach. Ca\u0142a strona \u201ep\u0142ywa\u201d wtedy na boki, co wygl\u0105da jak b\u0142\u0105d.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> znajd\u017a winny element w narz\u0119dziach przegl\u0105darki (tryb urz\u0105dzenia), ustaw mu maksymaln\u0105 szeroko\u015b\u0107 100%, a szerokie tabele zamknij w kontenerze z przewijaniem poziomym tylko dla tabeli.<\/p>\n<h3>55. Menu mobilne nie dzia\u0142a albo nie da si\u0119 go zamkn\u0105\u0107<\/h3>\n<p>Najcz\u0119\u015bciej przyczyn\u0105 jest b\u0142\u0105d JavaScript albo konflikt skrypt\u00f3w po w\u0142\u0105czeniu optymalizacji. Czasem menu otwiera si\u0119 pod innymi elementami strony i nie da si\u0119 w nie klikn\u0105\u0107.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> sprawd\u017a konsol\u0119 przegl\u0105darki w trybie urz\u0105dzenia, wy\u0142\u0105cz na chwil\u0119 optymalizacj\u0119 JS i popraw kolejno\u015b\u0107 warstw (z-index). Menu musi te\u017c dzia\u0142a\u0107 z klawiatury i czytnika ekranu.<\/p>\n<h3>56. Baner cookies lub pop-up zas\u0142ania ca\u0142y ekran telefonu<\/h3>\n<p>Na ma\u0142ym ekranie baner cookies, czat i p\u0142ywaj\u0105cy przycisk potrafi\u0105 zas\u0142oni\u0107 wi\u0119kszo\u015b\u0107 tre\u015bci, a przycisk zamkni\u0119cia bywa poza ekranem. U\u017cytkownik nie mo\u017ce wtedy ani przeczyta\u0107 strony, ani podj\u0105\u0107 decyzji.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b baner cookies kompaktowy, z przyciskami widocznymi bez przewijania. Elementy p\u0142ywaj\u0105ce ogranicz do jednego, kt\u00f3ry nie zas\u0142ania tre\u015bci ani przycisk\u00f3w strony.<\/p>\n<h3>57. Formularz na telefonie jest niewygodny<\/h3>\n<p>Pola bez w\u0142a\u015bciwego typu otwieraj\u0105 z\u0142\u0105 klawiatur\u0119, a przy wpisywaniu strona powi\u0119ksza si\u0119 i przesuwa. Wype\u0142nienie kilku p\u00f3l zamienia si\u0119 w walk\u0119 z ekranem.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> u\u017cywaj w\u0142a\u015bciwych typ\u00f3w p\u00f3l (np. email, url), atrybut\u00f3w autouzupe\u0142niania i fontu w polach co najmniej 16 px, \u017ceby przegl\u0105darka nie powi\u0119ksza\u0142a strony. Etykiety umieszczaj nad polami, a nie wewn\u0105trz nich.<\/p>\n<h3>58. Telefon pobiera zdj\u0119cia w pe\u0142nej rozdzielczo\u015bci<\/h3>\n<p>Telefon pobiera ten sam du\u017cy obraz co monitor, cho\u0107 wy\u015bwietla go kilka razy mniejszy. To marnuje transfer u\u017cytkownika i spowalnia stron\u0119, szczeg\u00f3lnie na internecie mobilnym.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> u\u017cywaj obraz\u00f3w responsywnych (atrybuty srcset i sizes, kt\u00f3re WordPress generuje automatycznie), wgrywaj zdj\u0119cia w rozs\u0105dnej rozdzielczo\u015bci i w\u0142\u0105cz leniwe \u0142adowanie obrazk\u00f3w poni\u017cej pierwszego ekranu.<\/p>\n<h3>59. Slider jest nieczytelny na telefonie<\/h3>\n<p>Teksty wpisane w grafiki slidera staj\u0105 si\u0119 na telefonie bardzo ma\u0142e, a automatyczne przewijanie utrudnia czytanie i spowalnia stron\u0119. Wi\u0119kszo\u015b\u0107 os\u00f3b nie ogl\u0105da dalszych slajd\u00f3w.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zast\u0105p slider jednym statycznym nag\u0142\u00f3wkiem z tekstem w HTML (nie na grafice) i jednym przyciskiem. Je\u015bli slider musi zosta\u0107, wy\u0142\u0105cz automatyczne przewijanie i dodaj widoczne sterowanie.<\/p>\n<h3>60. Strona dzia\u0142a na Androidzie, ale nie na iPhonie (lub odwrotnie)<\/h3>\n<p>Przegl\u0105darki na r\u00f3\u017cnych systemach inaczej obs\u0142uguj\u0105 niekt\u00f3re funkcje CSS i JavaScript, formaty plik\u00f3w i wysoko\u015b\u0107 ekranu. B\u0142\u0105d widoczny tylko na jednym systemie cz\u0119sto umyka przy testach.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> testuj na prawdziwych urz\u0105dzeniach z obu system\u00f3w albo w us\u0142udze testowania przegl\u0105darek. Sprawdzaj wsparcie nowych funkcji w dokumentacji (np. caniuse.com) i dodawaj rozwi\u0105zania zast\u0119pcze dla starszych przegl\u0105darek.<\/p>\n<h2>Podstawy SEO i widoczno\u015b\u0107 w Google<\/h2>\n<p>Strona, kt\u00f3rej nie ma w wynikach wyszukiwania, nie zdobywa nowych klient\u00f3w. Wi\u0119kszo\u015b\u0107 problem\u00f3w z widoczno\u015bci\u0105 da si\u0119 zdiagnozowa\u0107 w bezp\u0142atnym Google Search Console.<\/p>\n<h3>61. Dlaczego moja strona nie wy\u015bwietla si\u0119 w Google?<\/h3>\n<p>Najcz\u0119stsza przyczyna to blokada indeksowania: znacznik noindex albo zaznaczona w WordPressie opcja \u201ePro\u015b wyszukiwarki o nieindeksowanie witryny\u201d, pozostawiona po budowie strony. Nowe strony potrzebuj\u0105 te\u017c czasu, a bez link\u00f3w z innych stron Google mo\u017ce je odkrywa\u0107 powoli.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> sprawd\u017a w Google Search Console raport indeksowania stron i narz\u0119dzie do sprawdzania adresu URL, usu\u0144 noindex i blokady w robots.txt, prze\u015blij map\u0119 witryny i popro\u015b o zaindeksowanie strony g\u0142\u00f3wnej. <a href=\"\/blog\/strona-nie-pojawia-sie-w-google\/\">Szczeg\u00f3\u0142y i naprawa krok po kroku<\/a>.<\/p>\n<h3>62. Strona jest w Google, ale tylko na nazw\u0119 firmy<\/h3>\n<p>Google nie wie, na jakie zapytania pokazywa\u0107 stron\u0119, bo us\u0142ugi nie maj\u0105 osobnych podstron, a teksty s\u0105 og\u00f3lne. Strona konkuruje wtedy tylko o w\u0142asn\u0105 nazw\u0119.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ka\u017cd\u0105 g\u0142\u00f3wn\u0105 us\u0142ug\u0119 opisz na osobnej podstronie z tytu\u0142em i nag\u0142\u00f3wkiem zawieraj\u0105cym fraz\u0119, kt\u00f3r\u0105 wpisuj\u0105 klienci (np. us\u0142uga i miasto). Dodaj tre\u015b\u0107 odpowiadaj\u0105c\u0105 na ich pytania i linki mi\u0119dzy powi\u0105zanymi podstronami.<\/p>\n<h3>63. Tytu\u0142y i opisy strony w Google s\u0105 przypadkowe<\/h3>\n<p>Brak ustawionych tytu\u0142\u00f3w (title) i opis\u00f3w (meta description) sprawia, \u017ce Google pokazuje sam\u0105 nazw\u0119 firmy albo przypadkowy fragment tekstu. Taki wynik rzadziej przyci\u0105ga klikni\u0119cia.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ustaw ka\u017cdej podstronie unikalny tytu\u0142 do oko\u0142o 60 znak\u00f3w z g\u0142\u00f3wn\u0105 fraz\u0105 i opis do oko\u0142o 155 znak\u00f3w z konkretn\u0105 korzy\u015bci\u0105. W WordPressie zrobisz to wtyczk\u0105 SEO. Google mo\u017ce zmieni\u0107 opis, ale dobry opis zwykle zostaje.<\/p>\n<h3>64. Kilka podstron konkuruje o t\u0119 sam\u0105 fraz\u0119<\/h3>\n<p>Podobne podstrony albo kilka wpis\u00f3w na ten sam temat dziel\u0105 si\u0142\u0119 i Google nie wie, kt\u00f3r\u0105 pokaza\u0107. To tzw. kanibalizacja s\u0142\u00f3w kluczowych, przez kt\u00f3r\u0105 \u017cadna z podstron nie zajmuje dobrej pozycji.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> po\u0142\u0105cz podobne tre\u015bci w jedn\u0105, mocniejsz\u0105 podstron\u0119, a pozosta\u0142e adresy przekieruj przekierowaniem 301. Ka\u017cd\u0105 wa\u017cn\u0105 fraz\u0119 przypisz do jednej podstrony i linkuj do niej z pozosta\u0142ych.<\/p>\n<h3>65. Po przebudowie strony ruch z Google spad\u0142<\/h3>\n<p>Najcz\u0119\u015bciej zmieni\u0142y si\u0119 adresy podstron bez przekierowa\u0144, znikn\u0119\u0142y tre\u015bci albo nowa strona zosta\u0142a zablokowana przed indeksowaniem. Google traktuje wtedy nowe adresy jak zupe\u0142nie nowe strony.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b list\u0119 starych adres\u00f3w (z Search Console lub kopii strony) i ustaw przekierowania 301 na ich odpowiedniki. Sprawd\u017a noindex, robots.txt, map\u0119 witryny i tytu\u0142y podstron. Przed kolejn\u0105 przebudow\u0105 przygotuj plan migracji.<\/p>\n<h3>66. Firmy nie ma w wynikach lokalnych i w Mapach Google<\/h3>\n<p>Do wynik\u00f3w lokalnych potrzebny jest zweryfikowany Profil Firmy w Google z trafn\u0105 kategori\u0105 i sp\u00f3jnymi danymi. Sama strona internetowa nie wystarczy, \u017ceby pojawi\u0107 si\u0119 na mapie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> za\u0142\u00f3\u017c lub uzupe\u0142nij Profil Firmy w Google, wybierz w\u0142a\u015bciw\u0105 kategori\u0119 g\u0142\u00f3wn\u0105, dodaj us\u0142ugi, zdj\u0119cia i link do strony, zbieraj opinie i odpowiadaj na nie. Je\u015bli nie przyjmujesz klient\u00f3w na miejscu, ustaw obszar obs\u0142ugi zamiast adresu.<\/p>\n<h3>67. Strona nie ma mapy witryny albo robots.txt blokuje wa\u017cne adresy<\/h3>\n<p>Bez mapy witryny Google wolniej odkrywa nowe podstrony, a b\u0142\u0119dny plik robots.txt potrafi zablokowa\u0107 ca\u0142\u0105 stron\u0119 albo pliki CSS i JavaScript potrzebne do jej oceny.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wygeneruj map\u0119 witryny (WordPress tworzy j\u0105 automatycznie pod adresem \/wp-sitemap.xml, wtyczki SEO maj\u0105 w\u0142asn\u0105), zg\u0142o\u015b j\u0105 w Search Console i sprawd\u017a, czy robots.txt nie blokuje wa\u017cnych adres\u00f3w ani zasob\u00f3w.<\/p>\n<h3>68. Obrazy na stronie nie maj\u0105 opis\u00f3w alternatywnych<\/h3>\n<p>Bez atrybutu alt Google nie wie, co przedstawia zdj\u0119cie, a osoby korzystaj\u0105ce z czytnik\u00f3w ekranu nie dostaj\u0105 \u017cadnej informacji. To jednocze\u015bnie problem SEO i dost\u0119pno\u015bci.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> dodaj kr\u00f3tki, konkretny opis do zdj\u0119\u0107, kt\u00f3re nios\u0105 tre\u015b\u0107, np. realizacji, produkt\u00f3w czy zespo\u0142u. Obrazki czysto dekoracyjne mog\u0105 mie\u0107 pusty alt. Nazwy plik\u00f3w te\u017c powinny opisywa\u0107 zawarto\u015b\u0107.<\/p>\n<h3>69. Strona nie ma danych strukturalnych<\/h3>\n<p>Dane strukturalne w formacie schema.org m\u00f3wi\u0105 Google i systemom AI wprost, kim jest firma, jakie ma us\u0142ugi i opinie. Bez nich wyszukiwarka musi zgadywa\u0107 te informacje z tre\u015bci.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> dodaj dane Organization lub LocalBusiness z nazw\u0105, logo i danymi kontaktowymi, a na podstronach odpowiednio Service, Article lub BreadcrumbList. Poprawno\u015b\u0107 sprawd\u017a w Te\u015bcie wynik\u00f3w z elementami rozszerzonymi Google.<\/p>\n<h3>70. Moja firma nie pojawia si\u0119 w odpowiedziach ChatGPT i innych system\u00f3w AI<\/h3>\n<p>Systemy AI buduj\u0105 odpowiedzi na podstawie tre\u015bci, kt\u00f3re mog\u0105 odczyta\u0107 i kt\u00f3rym ufaj\u0105. Je\u015bli strona blokuje boty, nie zawiera konkretnych odpowiedzi, a o firmie nie ma wzmianek w sieci, AI jej po prostu nie zna.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> nie blokuj bot\u00f3w AI w robots.txt bez powodu, publikuj tre\u015bci z konkretnymi odpowiedziami, dodaj dane strukturalne i dbaj o sp\u00f3jne informacje o firmie w katalogach i profilach. Tym zajmujemy si\u0119 w ramach <a href=\"https:\/\/codescriptum.pl\/pozycjonowanie-ai\/\">pozycjonowania AI (GEO)<\/a>.<\/p>\n<h2>Bezpiecze\u0144stwo i aktualizacje<\/h2>\n<p>Wi\u0119kszo\u015b\u0107 w\u0142ama\u0144 na strony firmowe nie jest wymierzona w konkretn\u0105 firm\u0119. To automatyczne ataki na nieaktualne oprogramowanie i s\u0142abe has\u0142a.<\/p>\n<h3>71. Przegl\u0105darka pokazuje \u201eNiezabezpieczona\u201d przy adresie strony<\/h3>\n<p>Strona dzia\u0142a bez certyfikatu SSL, czyli bez HTTPS, albo \u0142aduje cz\u0119\u015b\u0107 element\u00f3w przez zwyk\u0142e http. Klienci widz\u0105 ostrze\u017cenie, a dane z formularzy s\u0105 przesy\u0142ane bez szyfrowania.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105cz certyfikat SSL w panelu hostingu (np. darmowy Let's Encrypt), ustaw adres strony na https, przekieruj http na https przekierowaniem 301 i popraw stare odno\u015bniki http do obrazk\u00f3w i skrypt\u00f3w.<\/p>\n<h3>72. Strona zosta\u0142a zhakowana. Co robi\u0107?<\/h3>\n<p>Najcz\u0119\u015bciej atakuj\u0105cy wykorzystuj\u0105 nieaktualizowane wtyczki lub motywy, s\u0142abe has\u0142a albo pliki pozostawione przez dawnych wykonawc\u00f3w. Objawy to przekierowania na obce strony, spam w wynikach Google i ostrze\u017cenia przegl\u0105darki.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> odetnij dost\u0119p, zmie\u0144 wszystkie has\u0142a, przywr\u00f3\u0107 czyst\u0105 kopi\u0119 albo usu\u0144 z\u0142o\u015bliwy kod, zaktualizuj wszystko i popro\u015b Google o ponown\u0105 weryfikacj\u0119. Instrukcja: <a href=\"\/blog\/wordpress-zhakowany-co-robic-7-krokow-do-odzyskania-strony\/\">WordPress zhakowany - co robi\u0107<\/a>.<\/p>\n<h3>73. WordPress i wtyczki nie s\u0105 aktualizowane<\/h3>\n<p>Nieaktualne oprogramowanie to najcz\u0119stsza droga ataku na strony WordPress, bo luki w popularnych wtyczkach s\u0105 publicznie opisywane, a boty szukaj\u0105 ich automatycznie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> aktualizuj WordPress, motyw i wtyczki regularnie, najpierw na kopii strony, i r\u00f3b kopi\u0119 zapasow\u0105 przed ka\u017cd\u0105 aktualizacj\u0105. Usu\u0144 wtyczki porzucone przez autor\u00f3w. Wi\u0119cej: <a href=\"\/blog\/dlaczego-twoja-strona-wordpress-potrzebuje-regularnej-administracji\/\">dlaczego strona WordPress potrzebuje regularnej administracji<\/a>.<\/p>\n<h3>74. Nie mam kopii zapasowej strony<\/h3>\n<p>Bez kopii awaria serwera, atak albo nieudana aktualizacja mog\u0105 oznacza\u0107 budow\u0119 strony od nowa. Kopia przechowywana tylko na tym samym serwerze przepada razem z nim.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ustaw automatyczne kopie plik\u00f3w i bazy danych, przechowuj je poza serwerem, np. w chmurze, i co jaki\u015b czas sprawd\u017a, czy kopi\u0119 da si\u0119 faktycznie przywr\u00f3ci\u0107. Kopia, kt\u00f3rej nikt nie testowa\u0142, mo\u017ce okaza\u0107 si\u0119 bezu\u017cyteczna.<\/p>\n<h3>75. Kilka os\u00f3b loguje si\u0119 na jedno konto administratora<\/h3>\n<p>Wsp\u00f3lne konto \u201eadmin\u201d z prostym has\u0142em, u\u017cywane przez pracownik\u00f3w i dawnych wykonawc\u00f3w, to otwarte drzwi dla atakuj\u0105cych. Nie wiadomo te\u017c, kto i kiedy co\u015b zmieni\u0142.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> ka\u017cda osoba powinna mie\u0107 w\u0142asne konto z minimalnymi potrzebnymi uprawnieniami, silnym has\u0142em z mened\u017cera hase\u0142 i logowaniem dwusk\u0142adnikowym. Usu\u0144 konta os\u00f3b, kt\u00f3re ju\u017c nie pracuj\u0105 przy stronie.<\/p>\n<h3>76. Boty bez przerwy pr\u00f3buj\u0105 zalogowa\u0107 si\u0119 do panelu<\/h3>\n<p>Boty automatycznie zgaduj\u0105 has\u0142a do \/wp-login.php i xmlrpc.php. Nawet je\u015bli \u017cadna pr\u00f3ba si\u0119 nie powiedzie, obci\u0105\u017caj\u0105 serwer i spowalniaj\u0105 stron\u0119.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105cz ograniczenie liczby pr\u00f3b logowania, logowanie dwusk\u0142adnikowe i zapor\u0119 aplikacji (WAF) na poziomie hostingu lub CDN. Wy\u0142\u0105cz XML-RPC, je\u015bli z niego nie korzystasz.<\/p>\n<h3>77. Google lub przegl\u0105darka ostrzega przed wej\u015bciem na stron\u0119<\/h3>\n<p>Strona zosta\u0142a oznaczona jako niebezpieczna, bo zawiera z\u0142o\u015bliwy kod, phishing albo podejrzane przekierowania. Klienci widz\u0105 czerwony ekran ostrze\u017cenia i nie wchodz\u0105 dalej.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> sprawd\u017a raport problem\u00f3w dotycz\u0105cych bezpiecze\u0144stwa w Search Console, usu\u0144 z\u0142o\u015bliwy kod i luk\u0119, przez kt\u00f3r\u0105 si\u0119 dosta\u0142, a potem popro\u015b o ponown\u0105 weryfikacj\u0119 w tym samym raporcie.<\/p>\n<h3>78. Strona wysy\u0142a spam albo domena trafi\u0142a na czarn\u0105 list\u0119<\/h3>\n<p>Formularz bez zabezpiecze\u0144 lub zainfekowane pliki wysy\u0142aj\u0105 spam z serwera, przez co domena trafia na listy blokad. Skutek: Twoje zwyk\u0142e maile przestaj\u0105 dociera\u0107 do klient\u00f3w.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> znajd\u017a \u017ar\u00f3d\u0142o w logach poczty u hostingu, zabezpiecz formularze, usu\u0144 z\u0142o\u015bliwe pliki, a potem z\u0142\u00f3\u017c wniosek o usuni\u0119cie z listy blokad. Maile firmowe wysy\u0142aj przez uwierzytelniony serwer z rekordami SPF, DKIM i DMARC.<\/p>\n<h3>79. Nikt nie sprawdza, czy strona dzia\u0142a<\/h3>\n<p>O awarii firma dowiaduje si\u0119 od klienta albo po kilku dniach, gdy zapytania przestaj\u0105 przychodzi\u0107. Przez ten czas strona nie sprzedaje, a Google mo\u017ce odwiedzi\u0107 j\u0105 akurat w czasie awarii.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105cz monitoring dost\u0119pno\u015bci z powiadomieniem mailowym, monitoring wygasania domeny i certyfikatu oraz okresowy test formularza. To sta\u0142y element naszej <a href=\"https:\/\/codescriptum.pl\/administracja-i-opieka-stron-www-lodz\/\">opieki nad stron\u0105 WWW<\/a>.<\/p>\n<h3>80. Po aktualizacji strona pokazuje b\u0142\u0105d krytyczny albo bia\u0142y ekran<\/h3>\n<p>Najcz\u0119\u015bciej to niezgodno\u015b\u0107 wtyczki lub motywu z now\u0105 wersj\u0105 WordPressa albo PHP. Komunikat \u201eNa stronie wyst\u0105pi\u0142 b\u0142\u0105d krytyczny\u201d oznacza, \u017ce kod przerwa\u0142 dzia\u0142anie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> skorzystaj z trybu odzyskiwania z maila od WordPressa albo wy\u0142\u0105cz wtyczki przez zmian\u0119 nazwy folderu na serwerze, sprawd\u017a log b\u0142\u0119d\u00f3w (WP_DEBUG_LOG) i w razie potrzeby przywr\u00f3\u0107 kopi\u0119. Kolejne aktualizacje r\u00f3b najpierw na kopii strony.<\/p>\n<h2>Domena, hosting i poczta firmowa<\/h2>\n<p>Domena, hosting i poczta dzia\u0142aj\u0105 w tle, dop\u00f3ki co\u015b si\u0119 nie zepsuje. Wtedy przestaje dzia\u0142a\u0107 jednocze\u015bnie strona i komunikacja z klientami.<\/p>\n<h3>81. Domena wygas\u0142a i strona przesta\u0142a dzia\u0142a\u0107<\/h3>\n<p>Domen\u0119 trzeba odnawia\u0107, a powiadomienia o terminie trafiaj\u0105 na nieaktualny e-mail albo do dawnego wykonawcy. Po wyga\u015bni\u0119ciu przestaje dzia\u0142a\u0107 strona i poczta w tej domenie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> odn\u00f3w domen\u0119 u rejestratora jak najszybciej, bo po zako\u0144czeniu okresu ochronnego mo\u017ce j\u0105 zarejestrowa\u0107 kto\u015b inny. W\u0142\u0105cz automatyczne odnawianie, podaj aktualny e-mail abonenta i upewnij si\u0119, \u017ce domena jest zarejestrowana na Twoj\u0105 firm\u0119.<\/p>\n<h3>82. Domena jest zarejestrowana na wykonawc\u0119 lub pracownika<\/h3>\n<p>Formalnie domena nale\u017cy do abonenta wpisanego u rejestratora, a nie do firmy, kt\u00f3ra z niej korzysta. Przy sporze albo odej\u015bciu tej osoby mo\u017cesz straci\u0107 adres strony i firmow\u0105 poczt\u0119.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> przenie\u015b domen\u0119 na dane firmy przez zmian\u0119 abonenta u rejestratora i przechowuj dost\u0119p do panelu domeny we w\u0142asnym mened\u017cerze hase\u0142. Sprawd\u017a to samo dla hostingu i kont Google.<\/p>\n<h3>83. Strona dzia\u0142a pod kilkoma adresami (z www i bez, http i https)<\/h3>\n<p>Ka\u017cdy wariant adresu jest dla Google osobn\u0105 stron\u0105 z t\u0105 sam\u0105 tre\u015bci\u0105, a ciasteczka i sesje mog\u0105 dzia\u0142a\u0107 tylko na jednym z nich. To os\u0142abia pozycje i potrafi psu\u0107 logowanie lub formularze.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wybierz jeden adres g\u0142\u00f3wny, np. z https i www, i przekieruj pozosta\u0142e warianty przekierowaniem 301. Ustaw ten sam adres w ustawieniach strony i w Search Console.<\/p>\n<h3>84. Hosting cz\u0119sto przestaje dzia\u0142a\u0107<\/h3>\n<p>Tani hosting z przeci\u0105\u017conymi serwerami i bez realnego wsparcia technicznego to cz\u0119ste przerwy i wolna strona. Bez danych z monitoringu trudno to jednak udowodni\u0107 dostawcy.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w\u0142\u0105cz monitoring dost\u0119pno\u015bci, \u017ceby mie\u0107 histori\u0119 przerw. Przy powtarzaj\u0105cych si\u0119 awariach przenie\u015b stron\u0119 do dostawcy z okre\u015blon\u0105 w umowie gwarancj\u0105 dost\u0119pno\u015bci (SLA), automatycznymi kopiami zapasowymi i wsparciem technicznym.<\/p>\n<h3>85. Przeniesienie strony na nowy hosting zepsu\u0142o stron\u0119<\/h3>\n<p>Najcz\u0119stsze przyczyny to niekompletna kopia plik\u00f3w, stare adresy zapisane w bazie danych, inna wersja PHP albo zmiana DNS przed sprawdzeniem nowej wersji strony.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> przenie\u015b pliki i baz\u0119 narz\u0119dziem do migracji, sprawd\u017a stron\u0119 na nowym serwerze przez plik hosts lub adres tymczasowy i dopiero potem zmie\u0144 DNS. Zostaw stary hosting aktywny, dop\u00f3ki nie potwierdzisz, \u017ce wszystko dzia\u0142a.<\/p>\n<h3>86. Maile z domeny firmowej trafiaj\u0105 do spamu<\/h3>\n<p>Domena nie ma rekord\u00f3w SPF, DKIM i DMARC albo s\u0105 ustawione b\u0142\u0119dnie. Duzi dostawcy poczty coraz ostrzej traktuj\u0105 nieuwierzytelnione wiadomo\u015bci, wi\u0119c problem narasta z czasem.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> dodaj w DNS rekord SPF z list\u0105 serwer\u00f3w, kt\u00f3re wysy\u0142aj\u0105 maile w Twoim imieniu, w\u0142\u0105cz DKIM u dostawcy poczty i ustaw DMARC, zaczynaj\u0105c od polityki monitoruj\u0105cej (p=none). Sprawd\u017a wynik testem dostarczalno\u015bci.<\/p>\n<h3>87. Po zmianie DNS poczta firmowa przesta\u0142a dzia\u0142a\u0107<\/h3>\n<p>Przy przenoszeniu strony zmieniono serwery DNS, ale nie przeniesiono rekord\u00f3w MX odpowiedzialnych za poczt\u0119. Maile przestaj\u0105 przychodzi\u0107, cho\u0107 strona dzia\u0142a poprawnie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> przed zmian\u0105 DNS spisz wszystkie rekordy (MX, SPF, DKIM, DMARC, rekordy weryfikacyjne us\u0142ug) i odtw\u00f3rz je u nowego dostawcy. Je\u015bli poczta ju\u017c nie dzia\u0142a, przywr\u00f3\u0107 rekordy MX zgodnie z instrukcj\u0105 dostawcy poczty.<\/p>\n<h3>88. Certyfikat SSL wygas\u0142<\/h3>\n<p>Certyfikat nie odnowi\u0142 si\u0119 automatycznie, bo zmieni\u0142y si\u0119 ustawienia DNS, przekierowania albo hosting. Przegl\u0105darki pokazuj\u0105 wtedy pe\u0142noekranowe ostrze\u017cenie i wi\u0119kszo\u015b\u0107 klient\u00f3w rezygnuje z wej\u015bcia.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> odn\u00f3w certyfikat w panelu hostingu, sprawd\u017a, dlaczego automatyczne odnawianie nie zadzia\u0142a\u0142o, i w\u0142\u0105cz monitoring daty wyga\u015bni\u0119cia certyfikatu z powiadomieniem z wyprzedzeniem.<\/p>\n<h3>89. Nie wiem, gdzie jest moja strona i kto ma do niej dost\u0119p<\/h3>\n<p>Dost\u0119py rozproszone po mailach dawnych pracownik\u00f3w i wykonawc\u00f3w to ryzyko przy ka\u017cdej awarii. Gdy co\u015b si\u0119 psuje, cenny czas idzie na szukanie hase\u0142 zamiast na napraw\u0119.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> spisz w firmowym mened\u017cerze hase\u0142: rejestratora domeny, hosting, panel strony, konta Google (Analytics, Search Console, Profil Firmy) i dostawc\u0119 poczty. Ka\u017cdy dost\u0119p powinien by\u0107 przypisany do konta firmowego, a nie prywatnego.<\/p>\n<h3>90. Serwer jest daleko od klient\u00f3w i strona dzia\u0142a wolno<\/h3>\n<p>Serwer w odleg\u0142ym kraju wyd\u0142u\u017ca czas odpowiedzi dla klient\u00f3w z Polski. Przy danych osobowych dochodzi te\u017c pytanie, gdzie s\u0105 przechowywane i na jakiej podstawie.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wybierz serwer w Polsce lub Europie albo u\u017cyj CDN, kt\u00f3ry podaje pliki z serwera blisko u\u017cytkownika. Sprawd\u017a lokalizacj\u0119 danych i zawrzyj z dostawc\u0105 hostingu umow\u0119 powierzenia przetwarzania danych.<\/p>\n<h2>Dost\u0119pno\u015b\u0107, prawo i analityka<\/h2>\n<p>Ostatnia grupa dotyczy obowi\u0105zk\u00f3w, kt\u00f3re \u0142atwo przeoczy\u0107, oraz danych, bez kt\u00f3rych nie da si\u0119 \u015bwiadomie rozwija\u0107 strony.<\/p>\n<h3>91. Czy moja strona musi spe\u0142nia\u0107 wymagania dost\u0119pno\u015bci (EAA)?<\/h3>\n<p>Przepisy wdra\u017caj\u0105ce Europejski akt o dost\u0119pno\u015bci, stosowane od 28 czerwca 2025 r., obejmuj\u0105 m.in. sklepy internetowe i inne us\u0142ugi elektroniczne dla konsument\u00f3w, a nie ka\u017cd\u0105 stron\u0119 wizyt\u00f3wk\u0119. Mikroprzedsi\u0119biorstwa \u015bwiadcz\u0105ce us\u0142ugi s\u0105 z tego obowi\u0105zku zwolnione.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> sprawd\u017a, czy sprzedajesz przez stron\u0119 konsumentom i czy nie jeste\u015b mikroprzedsi\u0119biorstwem. Nawet bez obowi\u0105zku warto spe\u0142ni\u0107 podstawy WCAG: kontrast, opisy obrazk\u00f3w, obs\u0142ug\u0119 klawiatur\u0105 i etykiety p\u00f3l formularzy.<\/p>\n<h3>92. Tekst ma za ma\u0142y kontrast i jest trudny do przeczytania<\/h3>\n<p>Jasnoszary tekst na bia\u0142ym tle albo bia\u0142y tekst na jasnym zdj\u0119ciu utrudnia czytanie wszystkim, a osobom s\u0142abowidz\u0105cym cz\u0119sto je uniemo\u017cliwia. To jeden z najcz\u0119stszych b\u0142\u0119d\u00f3w dost\u0119pno\u015bci.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zapewnij kontrast co najmniej 4,5:1 dla zwyk\u0142ego tekstu i 3:1 dla du\u017cego, czyli poziom AA wed\u0142ug WCAG. Kolory sprawdzisz w narz\u0119dziach przegl\u0105darki albo w bezp\u0142atnym kalkulatorze kontrastu.<\/p>\n<h3>93. Strony nie da si\u0119 obs\u0142u\u017cy\u0107 sam\u0105 klawiatur\u0105<\/h3>\n<p>Menu, przyciski i formularze zbudowane z element\u00f3w, kt\u00f3re nie reaguj\u0105 na klawisze Tab i Enter, wykluczaj\u0105 osoby korzystaj\u0105ce z klawiatury i czytnik\u00f3w ekranu. Cz\u0119sto zawodz\u0105 te\u017c okna modalne i baner cookies.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> u\u017cywaj w\u0142a\u015bciwych element\u00f3w HTML (button, a, label), poka\u017c wyra\u017any obrys elementu w fokusie i przejd\u017a ca\u0142\u0105 stron\u0119 sam\u0105 klawiatur\u0105: menu, formularz, baner cookies i okna modalne.<\/p>\n<h3>94. Strona nie ma polityki prywatno\u015bci albo jest skopiowana z innej strony<\/h3>\n<p>Ka\u017cda strona, kt\u00f3ra zbiera dane (formularz, analityka, cookies, newsletter), musi informowa\u0107 o przetwarzaniu danych zgodnie z RODO. Polityka skopiowana z innej strony opisuje cudze narz\u0119dzia i cudze procesy, wi\u0119c tego obowi\u0105zku nie spe\u0142nia.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> przygotuj polityk\u0119 opisuj\u0105c\u0105 Twoje narz\u0119dzia i podlinkuj j\u0105 w stopce oraz przy formularzach. Jak to zrobi\u0107, opisujemy we wpisie o <a href=\"\/blog\/polityka-prywatnosci-na-stronie-internetowej\/\">polityce prywatno\u015bci na stronie internetowej<\/a>.<\/p>\n<h3>95. Baner cookies nie blokuje skrypt\u00f3w przed zgod\u0105<\/h3>\n<p>Baner si\u0119 wy\u015bwietla, ale Google Analytics, piksel Meta i inne skrypty uruchamiaj\u0105 si\u0119 od razu, zanim u\u017cytkownik co\u015b wybierze. Na cookies, kt\u00f3re nie s\u0105 niezb\u0119dne do dzia\u0142ania strony, potrzebna jest wcze\u015bniejsza zgoda.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wdro\u017c baner, kt\u00f3ry blokuje skrypty do czasu zgody, ma przycisk odrzucenia r\u00f3wnie widoczny jak akceptacja i przekazuje decyzj\u0119 do Google przez Consent Mode v2. Instrukcja: <a href=\"\/blog\/baner-cookies-skrypty-przed-zgoda\/\">baner cookies a skrypty przed zgod\u0105<\/a>.<\/p>\n<h3>96. Na stronie brakuje danych firmy<\/h3>\n<p>Klient i Google nie mog\u0105 sprawdzi\u0107, kto stoi za stron\u0105, a przepisy wymagaj\u0105 podania danych us\u0142ugodawcy. Sp\u00f3\u0142ki musz\u0105 dodatkowo podawa\u0107 na stronie m.in. s\u0105d rejestrowy i numer KRS.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> w stopce lub na podstronie Kontakt podaj pe\u0142n\u0105 nazw\u0119 firmy, NIP i dane kontaktowe, a w przypadku sp\u00f3\u0142ek tak\u017ce s\u0105d rejestrowy, numer KRS, a dla sp\u00f3\u0142ki z o.o. wysoko\u015b\u0107 kapita\u0142u zak\u0142adowego. Dane musz\u0105 by\u0107 zgodne z rejestrem.<\/p>\n<h3>97. Zdj\u0119cia, fonty lub ikony na stronie s\u0105 u\u017cyte bez licencji<\/h3>\n<p>Zdj\u0119cie z wyszukiwarki, font z p\u0142atnej kolekcji albo ikona z licencj\u0105 tylko do u\u017cytku niekomercyjnego to ryzyko roszcze\u0144 autora. Problem cz\u0119sto wychodzi dopiero po latach, gdy przychodzi wezwanie do zap\u0142aty.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> zr\u00f3b list\u0119 grafik i font\u00f3w na stronie ze \u017ar\u00f3d\u0142em i rodzajem licencji, wymie\u0144 materia\u0142y bez licencji na w\u0142asne lub legalne, a wizerunek os\u00f3b publikuj tylko za ich zgod\u0105.<\/p>\n<h3>98. Strona nie ma analityki albo dane s\u0105 niepe\u0142ne<\/h3>\n<p>Bez analityki nie wiesz, sk\u0105d przychodz\u0105 klienci i kt\u00f3re podstrony dzia\u0142aj\u0105. Dane bywaj\u0105 niepe\u0142ne, bo cz\u0119\u015b\u0107 os\u00f3b nie zgadza si\u0119 na cookies, a narz\u0119dzie jest \u017ale skonfigurowane.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> skonfiguruj Google Analytics 4 z Consent Mode v2 oraz Google Search Console, ustaw konwersje (formularz, klikni\u0119cie w e-mail) i por\u00f3wnuj trendy w czasie zamiast pojedynczych liczb.<\/p>\n<h3>99. Nie wiem, co klienci robi\u0105 na stronie<\/h3>\n<p>Liczba odwiedzin nie m\u00f3wi, gdzie u\u017cytkownicy si\u0119 gubi\u0105 i dlaczego rezygnuj\u0105. Bez tej wiedzy poprawki strony s\u0105 zgadywaniem.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> u\u017cyj narz\u0119dzia z mapami cieplnymi i nagraniami sesji, np. Microsoft Clarity, uruchamianego po zgodzie u\u017cytkownika. Przejrzyj nagrania z podstron us\u0142ug i formularza i popraw miejsca, w kt\u00f3rych ludzie najcz\u0119\u015bciej rezygnuj\u0105.<\/p>\n<h3>100. Strona nie ma opiekuna i nikt za ni\u0105 nie odpowiada<\/h3>\n<p>Strona bez opiekuna szybko si\u0119 starzeje: nieaktualne wtyczki, wygasaj\u0105ce certyfikaty, niedzia\u0142aj\u0105cy formularz i stare tre\u015bci. Ka\u017cdy z tych problem\u00f3w osobno jest drobny, razem kosztuj\u0105 klient\u00f3w.<\/p>\n<p><strong>Rozwi\u0105zanie:<\/strong> wyznacz osob\u0119 odpowiedzialn\u0105 za tre\u015bci i zle\u0107 opiek\u0119 techniczn\u0105: aktualizacje, kopie zapasowe i monitoring. Nasza <a href=\"https:\/\/codescriptum.pl\/administracja-i-opieka-stron-www-lodz\/\">opieka nad stron\u0105 WWW<\/a> zaczyna si\u0119 od 299 z\u0142 netto miesi\u0119cznie.<\/p>\n<h2>Od czego zacz\u0105\u0107<\/h2>\n<p>Najpierw sprawd\u017a to, co blokuje klient\u00f3w od razu: formularz (problem 31), HTTPS (71), wersj\u0119 mobiln\u0105 (51) i obecno\u015b\u0107 w Google (61). Potem zajmij si\u0119 szybko\u015bci\u0105 (41-50) i tre\u015bciami (21-30), a na ko\u0144cu analityk\u0105 i dalszym rozwojem. Je\u015bli nie wiesz, gdzie le\u017cy problem, zacznij od <a href=\"https:\/\/codescriptum.pl\/audyt-strony-internetowej\/\">bezp\u0142atnego skanu strony<\/a>: w kilka minut sprawdzi szybko\u015b\u0107, podstawy SEO, bezpiecze\u0144stwo i dane strukturalne. Je\u015bli lepiej zbudowa\u0107 stron\u0119 od nowa, nasz zesp\u00f3\u0142 przygotuje j\u0105 w ramach us\u0142ugi <a href=\"https:\/\/codescriptum.pl\/strony-internetowe\/\">strony internetowe<\/a> (od 990 z\u0142 netto, wycena w 24 h).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lista 100 problem\u00f3w, z kt\u00f3rymi firmy zg\u0142aszaj\u0105 si\u0119 z powodu swojej strony internetowej, z bezpo\u015bredni\u0105 odpowiedzi\u0105 i rozwi\u0105zaniem przy ka\u017cdym.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-90065","post","type-post","status-publish","format-standard","hentry","category-strony-internetowe"],"_links":{"self":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/comments?post=90065"}],"version-history":[{"count":0,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90065\/revisions"}],"wp:attachment":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/media?parent=90065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/categories?post=90065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/tags?post=90065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}