SEO techniczne i optymalizacja szybkości w Biłgoraju sprowadza się do trzech rzeczy: Google musi mieć dostęp do indeksowania, musi rozumieć strukturę sklepu, a strona musi odpowiadać szybko. Szybkość nie jest osobnym projektem do odłożenia na później — to trzeci filar SEO technicznego, obok robots.txt i sitemap oraz canonicali i przekierowań. Największy problem małych i średnich sklepów to nie brak narzędzi, tylko brak kolejności: poprawki robi się raz na dwa lata, bez zapisanego stanu wyjściowego i bez osoby odpowiedzialnej. Ten tekst porządkuje temat od strony organizacyjnej — co ustalić, kto ma tego pilnować i po czym poznać, że praca idzie w dobrą stronę.

Co dokładnie obejmuje SEO techniczne i szybkość sklepu

SEO techniczne w sklepie internetowym to trzy filary, które trzeba traktować razem. Rozdzielanie ich to najczęstszy błąd organizacyjny — firma optymalizuje obrazy, podczas gdy połowa kategorii ma zostawione meta noindex po testach.

1. Dostępność do indeksowania. Plik robots.txt ma wpuszczać Googlebota na produkty i kategorie, a blokować koszyk, checkout i wewnętrzną wyszukiwarkę. Sprawdź, czy nie blokujesz katalogu /themes/ albo /media/ — zablokowany CSS psuje renderowanie i Google widzi stronę pustą. Sitemap.xml powinna zawierać wyłącznie adresy kanoniczne zwracające kod 200; adresy zwracające 301 w sitemapie to zgubiony sygnał.

2. Zrozumiałość struktury. Canonical self-referencing na produkcie i kategorii, uporządkowane parametry filtrów (?page=, ?orderby=, ?q=), jeden adres dla jednego produktu i przekierowania 301 bez łańcuchów dłuższych niż dwa przeskoki. W PrestaShop ustawiasz to w Preferencje → SEO i URL-e; w WooCommerce pilnujesz, żeby wtyczka SEO nie nadpisywała adresów po zmianie kategorii.

3. Wydajność — Core Web Vitals, TTFB i stabilność serwera, czyli brak błędów 5xx przy skoku ruchu. Dane laboratoryjne (Lighthouse, tryb lab w PageSpeed Insights) pokazują, co da się poprawić. Dane polowe (CrUX, raport Core Web Vitals w Search Console) pokazują, co realnie dostają użytkownicy — i to na nich opiera się ocena. Okno pomiarowe to 28 dni, więc jedna poprawka nie zmieni wyniku z dnia na dzień. Zakres kontroli jest identyczny w każdym mieście: SEO techniczne i optymalizacja szybkości w Krasnobrodzie to ten sam zestaw prac co w Biłgoraju — różni się tylko konkurencja w wynikach lokalnych. Sklep z Biłgoraja konkuruje w SERP-ach z ogólnopolskimi graczami, którzy mają zespoły SEO i budżety reklamowe. Higiena techniczna i szybkość to jeden z niewielu obszarów, na które mniejsza firma ma pełny wpływ — nie wymaga budżetu, tylko decyzji i kolejności.

FilarCo sprawdzić w pierwszej kolejnościTypowy błąd
Dostępność indeksowaniarobots.txt, meta robots, sitemap.xml, raport „Indeksowanie stron” w GSCnoindex pozostawiony po testach lub zablokowane CSS/JS w robots.txt
Strukturacanonicale, adresy URL, przekierowania 301dwa adresy tego samego produktu bez canonicala
WydajnośćCore Web Vitals, TTFB, kody 5xxoptymalizacja frontendu przy TTFB powyżej 1,5 s

Core Web Vitals — jakie progi musisz osiągnąć w 2025 roku

Progi Core Web Vitals są jednoznaczne. Ocena dotyczy zawsze 75. percentyla dla urządzeń mobilnych — czyli 75% wejść musi zmieścić się w progu, a nie średnia z całego miesiąca. Jeden wolny szablon na telefonie psuje wynik całej grupy URL-i.

INP (Interaction to Next Paint) zastąpił FID w marcu 2024 roku. Jeśli w audycie nadal widzisz FID, audyt jest nieaktualny. INP mierzy pełne opóźnienie reakcji na kliknięcie lub dotknięcie — powyżej 200 ms winnych szukaj w ciężkich skryptach wtyczek, tag managerze z kilkunastoma tagami i nieużywanym kodzie śledzącym.

Poza CWV są progi, których Google nie ogłasza jako czynnika rankingowego, ale które wpływają na UX i crawl budget:

Jak odróżnić problem z LCP po stronie serwera od problemu z frontendem: w PageSpeed Insights porównaj TTFB z LCP. Jeśli TTFB wynosi 1,2 s, a LCP 3,8 s, problem jest serwerowy — brak cache, wolne zapytania do bazy, przeciążony hosting współdzielony. Jeśli TTFB to 300 ms, a LCP 4 s, szukaj na froncie: nieoptymalizowany obraz hero bez preload i bez atrybutów width/height, plik CSS blokujący render, font wczytywany z zewnętrznego CDN albo lazy-loading włączony na obrazie hero. Pierwszy krok to sprawdzenie, czy hero ma loading="eager" i fetchpriority="high". Definicje i aktualne progi znajdziesz w dokumentacji Web Vitals na web.dev.

WskaźnikDobryWymaga poprawySłaby
LCP (75. percentyl mobile)poniżej 2,5 s2,5–4,0 spowyżej 4,0 s
INPponiżej 200 ms200–500 mspowyżej 500 ms
CLSponiżej 0,10,1–0,25powyżej 0,25
TTFB (próg praktyczny)poniżej 800 ms800–1800 mspowyżej 1800 ms

Audyt techniczny w 30 minut — co sprawdzić bezpłatnymi narzędziami

Ten scenariusz zajmuje około 30 minut i nie wymaga płatnych narzędzi. Kolejność ma znaczenie — zaczynasz od danych, które już masz.

Na koniec test hostingu: Apache Bench (ab -n 200 -c 10) albo k6 z 10 równoczesnymi użytkownikami na stronę kategorii. Jeśli średni czas odpowiedzi przekracza 1 s albo pojawiają się kody 5xx, problem jest po stronie serwera, nie szablonu. Czas odpowiedzi bazy sprawdzisz w slow query log MySQL — szukaj zapytań powyżej 200 ms.

Wszystkie liczby zapisz w jednym pliku z datą i osobą odpowiedzialną. Bez stanu wyjściowego nie udowodnisz, że poprawki cokolwiek zmieniły — SEO techniczne i optymalizacja szybkości w Frampolu prowadzimy według tej samej listy kontrolnej. Jeśli liczba stron „Odkryte – obecnie niezaindeksowane” rośnie z miesiąca na miesiąc, audyt trzeba powtórzyć.

KrokNarzędzieCo zanotować
1Search Consoleliczba URL-i w „Odkryte – obecnie niezaindeksowane”, grupa „Słabe” w raporcie CWV
2PageSpeed Insightswynik lab oraz dane polowe, TTFB i LCP dla najważniejszego adresu
3Screaming Frog (free)przekierowania 301 z łańcuchem powyżej 2, duplikaty canonical, błędy 404
4WebPageTest (Warsaw)najwolniejszy zasób, czas do pierwszego renderu na mobile
5Apache Bench / k6średni czas odpowiedzi i kody 5xx przy 10 równoczesnych użytkownikach

Najczęstsze przyczyny wolnego sklepu w PrestaShop i WooCommerce

Z wdrożeń sklepów w Biłgoraju i okolicy wynika, że właściciel szuka przyczyny tam, gdzie jej nie ma — najczęściej w wtyczce do cache. Ranking przyczyn według realnego wpływu na czas odpowiedzi wygląda inaczej:

  1. Hosting i brak OPcache — odpowiada za TTFB na poziomie 1,5–4 s. Potwierdzenie jednym poleceniem: curl -o /dev/null -s -w "%{time_starttransfer}\n" https://twojsklep.pl. Wynik powyżej 0,8 s oznacza, że żadna wtyczka tego nie naprawi.
  2. Nieoptymalizowane obrazy — 2–5 MB na stronę kategorii to standard po zmianie szablonu. DevTools → Network, sortowanie po Size i od razu widać baner 4000 px oraz dziesięć zdjęć po 600 KB.
  3. Brak cache obiektowego (Redis/Memcached) — objaw to 200+ zapytań SQL na stronę kategorii. Query Monitor pokaże liczbę zapytań i czas ich wykonania.
  4. Wtyczki ładujące skrypty globalnie — slider wgrywa CSS i JS także w koszyku i na stronie kontaktu. Sprawdź w DevTools, które pliki ładują się na każdej podstronie.
  5. PrestaShop: brak kompilacji szablonów (Zaawansowane → Wydajność → „Kompilacja szablonów: nigdy nie kompiluj”), pozostawiony tryb debug (_PS_MODE_DEV_ w config/defines.inc.php) wyłączający cache, nieindeksowane klucze obce w bazie, zapytania N+1 w listach produktów.
  6. WooCommerce: page builder ładujący CSS na całym sklepie, brak HPOS przy kilkunastu tysiącach zamówień (zamówienia jako wpisy w wp_posts), nieużywane wtyczki zostawiające tabele, WP-Cron odpalany przez ruch użytkowników zamiast DISABLE_WP_CRON i prawdziwego crona co 5 minut.

Zakres metryk, na które realnie patrzy Google, opisuje Web Vitals na web.dev. Jeśli podejrzewasz warstwę WooCommerce, zacznij od uporządkowania projektu — zobacz, jak wygląda wdrożenie i uporządkowanie WooCommerce, bo część „wolnych” sklepów to skutek dokładania wtyczek bez planu.

PrzyczynaTypowy objaw / wartośćJak potwierdzić w kilka minut
Wolny hosting, brak OPcacheTTFB 1,5–4 scurl z time_starttransfer albo phpinfo() i sekcja OPcache
Nieoptymalizowane obrazy2–5 MB na stronę kategoriiDevTools → Network → sortowanie po Size
Brak Redis/Memcached200+ zapytań SQL na listę produktówQuery Monitor w WooCommerce, profilowanie SQL w PrestaShop
Wtyczki ładujące skrypty globalniete same pliki CSS/JS na wszystkich podstronachDevTools → Network, filtr po CSS i JS
PrestaShop: brak kompilacji szablonów, tryb debugkażde wejście przelicza szablonyZaawansowane → Wydajność oraz config/defines.inc.php
WooCommerce: brak HPOS, WP-Cron od ruchurosnąca tabela wp_posts, cron nieregularnyWooCommerce → Ustawienia → Zaawansowane, wtyczka WP Crontrol

Optymalizacja krok po kroku — od serwera do frontendu

Kolejność jest ważniejsza niż narzędzia. Optymalizacja CSS, gdy serwer odpowiada po 3 sekundach, to praca w miejscu. Pięć etapów, w tej kolejności:

  1. Infrastruktura (2–4 h). PHP 8.2 lub 8.3, OPcache z opcache.memory_consumption 128–256 MB i opcache.max_accelerated_files powyżej 10 000, Redis lub Memcached, HTTP/2 lub HTTP/3, kompresja Brotli, nagłówki Cache-Control: public, max-age=31536000, immutable dla plików statycznych z hashem w nazwie oraz no-cache dla HTML.
  2. Baza danych (3–8 h). Indeksy na kolumnach filtrowanych i sortowanych, czyszczenie tabel logów, sesji i porzuconych koszyków (w PrestaShop m.in. ps_connections, ps_guest, ps_cart), przebudowa zapytań list produktowych, a przy stałym ruchu — osobny serwer bazy. Strukturę tabel i konfigurację środowiska opisuje dokumentacja dla deweloperów PrestaShop.
  3. Frontend (4–10 h). Konwersja do WebP/AVIF daje 30–60% oszczędności wagi, srcset z realnymi rozmiarami, lazy loading dla wszystkiego poza obrazem LCP, fonty lokalne z font-display: swap.
  4. CSS/JS (4–12 h). Krytyczny CSS inline, odroczenie skryptów niezwiązanych z widokiem, usunięcie nieużywanego CSS. Agregacja — ostrożnie, bo potrafi wysypać moduły płatności i koszyk. Po każdym włączeniu przetestuj pełną ścieżkę zakupu, nie tylko stronę główną.
  5. CDN i cache (2–4 h). Warstwa CDN przed serwerem, cache pełnostronicowy z wykluczeniem koszyka, zamówienia i panelu klienta.

Pułapka numer jeden: włączenie agregacji i wtyczki cache jako pierwszy krok. Efekt to wyższy wynik w PageSpeed i nieprzechodzący checkout. Ten sam porządek prac stosujemy w mniejszych sklepach — np. przy optymalizacji szybkości sklepu w Szczebrzeszynie różni się tylko skala, nie kolejność.

EtapZakresRealny czas wdrożenia
1. InfrastrukturaPHP 8.2/8.3, OPcache, Redis/Memcached, HTTP/2–3, Brotli, nagłówki Cache-Control2–4 h
2. Baza danychindeksy, czyszczenie logów i koszyków, zapytania list produktowych, osobny serwer bazy3–8 h
3. FrontendWebP/AVIF, srcset, lazy loading poza LCP, fonty lokalne4–10 h
4. CSS/JSkrytyczny CSS inline, defer, usuwanie nieużywanego CSS, ostrożna agregacja4–12 h
5. CDN i cacheCDN przed serwerem, cache pełnostronicowy z wykluczeniami2–4 h

SEO techniczne poza szybkością — indeksowanie, canonicale, dane strukturalne

Sama szybkość nie naprawi problemów z indeksacją. Lista rzeczy do sprawdzenia jest krótka i konkretna:

Pułapki, które psują wyniki po optymalizacji

Najczęstszy scenariusz: po audycie sklep ma LCP 2,1 s, a trzy tygodnie później 4,3 s. Ktoś „przyspieszył” stronę i coś się rozjechało. Poniżej pięć pułapek, które widzimy najczęściej w sklepach na PrestaShop i WooCommerce.

Progi LCP, INP i CLS bierz z oficjalnego opisu Web Vitals — to jedyne liczby, które warto wpisać do umowy z wykonawcą.

PułapkaObjawMinimalny test
Lazy loading na LCPLCP wyższe o 1–2 sDevTools → Elements, sprawdź atrybut na obrazie nad zagięciem
Cache łapiący koszykPusty mini-koszyk, zła cenaDodaj produkt, odśwież 5× w trzech kartach
Agregacja JSPłatność lub kurier nie działaZamówienie testowe na każdą metodę płatności
Cookies / chatCLS powyżej 0,25Lighthouse mobile, zakładka Layout shifts
CDN bez purgeStara cena lub stan magazynowyZmień cenę i sprawdź stronę po 2 minutach

Ile to trwa i ile kosztuje — realne widełki dla MŚP

Widełki, które podajemy sklepom z Biłgoraja i okolic, wyglądają podobnie niezależnie od branży — różni się tylko nakład. Trzy warianty:

Na szacunek wpływa pięć rzeczy: liczba produktów (10 000 SKU to inna baza niż 300), liczba szablonów stron, stan bazy (zaśmiecone tabele po odinstalowanych modułach), jakość hostingu (współdzielony kontra VPS z OPcache) oraz liczba integracji — każda płatność, kurier i ERP to osobny punkt do przetestowania.

Czego nie ocenia się po trzech dniach: CrUX publikuje dane po 28 dniach, więc LCP i INP sprawdzasz po tym okresie dla 75. percentyla ruchu mobilnego. Poza tym patrzysz na pozycje na wybrane 20–30 fraz, liczbę błędów w GSC i konwersję. Chwilowy spadek konwersji w pierwszych dniach po zmianach zdarza się często i nie znaczy, że wdrożenie było złe — znaczy, że trzeba ponownie przejść pełną ścieżkę zakupu.

Pracujemy bezpośrednio z deweloperem, który wdraża poprawki. Mniej godzin idzie na przekazywanie kontekstu między pośrednikami, jedna osoba odpowiada za wynik. Podobny zakres dla mniejszego sklepu opisaliśmy przy okazji SEO technicznego i optymalizacji szybkości w Krasnobrodzie.

PakietNakładCo obejmujeKiedy ma sens
Szybki audyt4–8 hLista poprawek z priorytetami i szacunkiem zysku w sekundachGdy zmiany wdraża ktoś po stronie klienta
Optymalizacja techniczna20–40 hAudyt i wdrożenie szybkości oraz podstaw indeksowaniaGdy sklep wolno się ładuje, a indeks jest w miarę czysty
SEO techniczne z wdrożeniem40–80 hCanonicale, 301, dane strukturalne, praca z indeksem i szablonamiGdy sklep ma tysiące SKU i wiele integracji

Lista kontrolna przed i po wdrożeniu

Lista do wydrukowania i odklikania w rozmowie z wykonawcą. Punkty oznaczone [WP] mają najwyższy wpływ — szacowany zysk 0,5–2 s albo odblokowanie indeksowania. Od nich zaczynasz.

Przed audytem

Infrastruktura

Frontend

SEO techniczne

Po wdrożeniu

Ten sam zestaw kryteriów stosujemy w mniejszych miejscowościach — zobacz, jak wygląda to dla SEO technicznego i optymalizacji szybkości w Zwierzyńcu.

Najczęstsze błędy i jak je wykryć

Szybkość traktowana jako osobny projekt „na później”, poza zakresem SEO technicznego.

Jak wykryć: W dokumentacji SEO nie ma ani jednego wpisu o Core Web Vitals, a temat wraca dopiero wtedy, gdy spada ruch z Google.

Jak naprawić: Wpisz wydajność do tego samego zakresu co indeksowanie i canonicale. Jeden właściciel tematu, jeden backlog, jedna data przeglądu w kwartale.

Optymalizacja bez zapisanego stanu wyjściowego — nikt nie wie, czy cokolwiek się poprawiło.

Jak wykryć: Na pytanie „jakie było LCP dla mobile przed zmianami?” nie ma odpowiedzi w żadnym pliku ani zrzucie ekranu.

Jak naprawić: Zapisz raport Core Web Vitals w Search Console (zakładka mobile, 75. percentyl) i wyniki PageSpeed Insights dla 5 najważniejszych URL-i. To Twój punkt odniesienia.

Testowanie wyłącznie na desktopie i z biura, na szybkim łączu.

Jak wykryć: Strona „chodzi” na stanowisku właściciela, a raport polowy w Search Console określa większość URL-i jako słabe.

Jak naprawić: Ustaw mierzenie na mobile: PageSpeed Insights w trybie mobilnym i WebPageTest z lokalizacji Warszawa. To bliżej realnego użytkownika niż test lokalny.

Gonienie wyniku 100/100 w PageSpeed Insights zamiast progów Core Web Vitals.

Jak wykryć: Zespół raportuje wynik z laboratorium, a w Search Console nadal setki adresów ze statusem „wymaga poprawy”.

Jak naprawić: Cel ustaw na 75. percentyl dla mobile: LCP poniżej 2,5 s, INP poniżej 200 ms, CLS poniżej 0,1. Wynik lab traktuj jako wskazówkę, nie jako KPI.

Nakładanie kolejnych wtyczek cache i minify bezpośrednio na produkcję, bez kopii testowej.

Jak wykryć: Po włączeniu nowej wtyczki koszyk, checkout lub logowanie zachowują się inaczej niż wcześniej.

Jak naprawić: Każdą wtyczkę wydajnościową testuj najpierw na kopii sklepu, a po wdrożeniu na produkcję przejdź całą ścieżkę zakupu od dodania produktu do potwierdzenia zamówienia.

Brak osoby odpowiedzialnej i terminu — zadania z audytu wiszą tygodniami.

Jak wykryć: Nikt nie potrafi powiedzieć, kto ma zamówić lepszy hosting albo kto wgra poprawione obrazy.

Jak naprawić: Przypisz konkretne osoby: zadania techniczne do wykonawcy, decyzje i budżet do właściciela firmy. Ustal datę wdrożenia i datę ponownego pomiaru.

Lista kontrolna do odklikania

Podsumowanie

Szybkość sklepu to trzeci filar SEO technicznego, a nie dodatek do niego — dlatego powinna trafić do tego samego backlogu co indeksowanie i canonicale. Zapisz stan wyjściowy, ustal progi Core Web Vitals w 75. percentylu dla mobile i przypisz jedną osobę do pilnowania tematu. Ten sam schemat pracy stosujemy w sklepach z okolic Biłgoraja, m.in. we Frampolu i Krasnobrodzie. Bez tych trzech elementów kolejna optymalizacja znów zakończy się na liście rzeczy do zrobienia.

Najczęściej zadawane pytania

Czy szybkość strony to część SEO technicznego, czy osobny temat?

To część SEO technicznego — obok dostępu do indeksowania i zrozumiałości struktury. Google ocenia wydajność na podstawie danych polowych, czyli realnych wizyt użytkowników, a nie pojedynczego testu w laboratorium. Dlatego jednorazowe „projekty szybkościowe” raz na dwa lata zwykle nie dają trwałego efektu.

Od czego zacząć, jeśli mam mały budżet?

Od darmowej diagnozy: raport Core Web Vitals w Search Console, PageSpeed Insights i Screaming Frog do 500 URL-i. Dopiero potem wydawaj pieniądze — najczęściej największy zwrot daje hosting, kompresja obrazów i cache, a nie wymiana motywu. Zapisz stan wyjściowy, żeby po miesiącu móc porównać dane polowe.

Czy muszę mieć 100/100 w PageSpeed Insights?

Nie. Wynik laboratoryjny to wskazówka, a nie cel biznesowy. Liczy się 75. percentyl dla mobile: LCP poniżej 2,5 s, INP poniżej 200 ms, CLS poniżej 0,1. Realistyczny cel dla sklepu to status „dobry” w raporcie polowym dla większości adresów.

Jak często powtarzać audyt techniczny?

Pełny przegląd raz na kwartał, a szybki rzut oka na Search Console po każdej większej zmianie: nowy motyw, aktualizacja PrestaShop lub WooCommerce, nowa wtyczka. Przy każdej takiej okazji zapisz nowy pomiar TTFB i LCP, żeby wiedzieć, czy było warto.

Czy przeniesienie sklepu na VPS zawsze przyspieszy stronę?

Nie zawsze. Jeśli problemem są obrazy po 3 MB albo kilkadziesiąt wtyczek ładujących skrypty na każdej stronie, szybszy serwer podniesie tylko koszt. Najpierw zmierz TTFB, wagę strony i liczbę zapytań do bazy, a decyzję o hostingu podejmij na podstawie tych liczb.

Kto w firmie powinien pilnować tematu szybkości i SEO technicznego?

Jedna osoba po stronie firmy jako właściciel tematu i jedna po stronie wykonawcy technicznego. Bez tego zadania z audytu rozjeżdżają się między działami i nikt nie czuje się za nie odpowiedzialny. Właściciel pilnuje terminów i budżetu, wykonawca — wdrożeń i ponownych pomiarów.

Jeśli chcesz, żeby ktoś przeszedł z Tobą przez audyt techniczny i wskazał, co poprawić w pierwszej kolejności — napisz do nas. Powiemy wprost, co da się zrobić w Twoim budżecie, a czego robić nie warto.

Źródła i materiały