Przejdź do treści

WordPress może zawyżać liczbę odsłon. Powodem jest funkcja, o której mało kto wie

WordPress może pobrać podstronę, zanim użytkownik faktycznie na nią wejdzie. Dzięki temu strona może działać szybciej, ale pojawia się też skutek uboczny: liczniki odsłon, logi serwera i Google Analytics mogą pokazywać inne dane. Wyjaśniamy, skąd bierze się ta różnica i kiedy warto coś z nią zrobić.

Licznik odsłon w WordPressie pokazuje więcej wejść niż Google Analytics. W logach serwera pojawiają się wizyty, których nie widać w analityce. Nie zawsze oznacza to źle skonfigurowany pomiar albo ruch botów.

Od WordPressa 6.8 działa mechanizm, dzięki któremu przeglądarka może pobrać podstronę jeszcze przed faktycznym przejściem na nią przez użytkownika.

Ma to przyspieszać korzystanie ze strony. Jednocześnie może wpływać na statystyki, liczniki odsłon i funkcje, które wykonują się po stronie serwera.

Po co WordPress pobiera stronę przed kliknięciem?

Chodzi o skrócenie czasu oczekiwania użytkownika.

Jeżeli przeglądarka przewiduje, że za chwilę przejdziesz na konkretną podstronę, może rozpocząć jej pobieranie wcześniej. Kiedy faktycznie ją otworzysz, część pracy jest już wykonana.

WordPress wykorzystuje do tego mechanizm nazywany Speculation Rules API.

W domyślnej konfiguracji WordPressa nie oznacza to agresywnego pobierania wszystkich linków widocznych na stronie. Mechanizm działa ostrożniej i reaguje dopiero na zachowanie użytkownika wskazujące, że prawdopodobnie zamierza przejść pod dany adres.

Z punktu widzenia szybkości strony brzmi to dobrze. Problem zaczyna się wtedy, gdy pobranie strony jest traktowane przez inne elementy systemu tak samo jak normalna wizyta.

Użytkownik jeszcze nie wszedł, ale WordPress już wygenerował stronę

Gdy przeglądarka pobiera podstronę z wyprzedzeniem, serwer otrzymuje normalne żądanie.

WordPress uruchamia się, generuje stronę, wykonują się wtyczki i kod działający po stronie serwera.

Jeżeli masz licznik odsłon zapisujący każde wygenerowanie strony do bazy danych, może on potraktować takie pobranie jako kolejną wizytę.

Użytkownik może później faktycznie kliknąć link. Może też zmienić zdanie.

W drugim przypadku WordPress zdążył obsłużyć podstronę, mimo że użytkownik nigdy jej nie zobaczył.

Dlaczego Google Analytics może pokazywać coś innego?

To właśnie tutaj pojawia się jeden z ciekawszych skutków tej funkcji.

Przy zwykłym pobraniu strony z wyprzedzeniem przeglądarka pobiera dokument, ale nie uruchamia jeszcze znajdującego się na nim JavaScriptu.

Google Analytics działa w przeglądarce i opiera się właśnie na JavaScript. Serwerowy licznik WordPressa może więc zapisać odsłonę, podczas gdy Google Analytics jeszcze niczego nie zarejestruje.

Jeżeli użytkownik ostatecznie nie przejdzie na tę stronę, w jednym systemie pozostanie odsłona, której w drugim nie będzie.

Dlatego różnicy między statystykami WordPressa, logami serwera i Google Analytics nie należy automatycznie tłumaczyć botami albo błędem konfiguracji.

Czy oznacza to, że Google Analytics pokazuje błędne dane?

Nie.

Oba systemy mogą po prostu mierzyć coś innego.

Licznik działający po stronie serwera może odpowiadać na pytanie, ile razy WordPress wygenerował daną podstronę. Google Analytics próbuje natomiast mierzyć zachowanie użytkownika w przeglądarce.

Jeszcze kilka lat temu różnica ta mogła mieć mniejsze znaczenie. Mechanizmy pobierania stron z wyprzedzeniem sprawiają jednak, że samo wygenerowanie dokumentu coraz rzadziej można utożsamiać z jego faktycznym obejrzeniem.

Ma to znaczenie szczególnie wtedy, gdy dane z WordPressa wykorzystujesz do raportowania popularności treści, rozliczeń albo podejmowania decyzji marketingowych.

Problem nie kończy się na statystykach

Większym ryzykiem są podstrony, których otwarcie powoduje jakąś zmianę.

Poprawnie zaprojektowana strona nie powinna wykonywać istotnej operacji tylko dlatego, że ktoś otworzył zwykły adres. W praktyce w starszych stronach i niestandardowych integracjach nadal można spotkać takie rozwiązania.

Może to być własny link dodający produkt do koszyka, wylogowanie użytkownika, potwierdzenie jakiejś operacji, przekierowanie afiliacyjne albo naliczenie konwersji wykonywane bezpośrednio po stronie serwera.

Jeżeli przeglądarka pobierze taki adres z wyprzedzeniem, operacja może zostać wykonana zanim użytkownik faktycznie zdecyduje się w niego wejść.

Dlatego po aktualizacji WordPressa warto zwrócić uwagę nie tylko na wygląd strony, ale również na niestandardowe mechanizmy działające po kliknięciu linków.

Co z WooCommerce?

Standardowy WooCommerce jest w znacznej części zabezpieczony przez sposób, w jaki WordPress dobiera adresy do pobierania z wyprzedzeniem.

WordPress domyślnie pomija między innymi adresy zawierające parametry. Dzięki temu klasyczne operacje WooCommerce wykorzystujące takie adresy nie są automatycznie traktowane jak zwykłe podstrony do wcześniejszego pobrania.

Więcej uwagi wymagają sklepy rozwijane indywidualnie.

Jeżeli przez lata powstawały w nich własne endpointy, integracje i akcje wykonywane po wejściu na określony adres, warto sprawdzić ich zachowanie.

Dotyczy to szczególnie dużych sklepów, w których WordPress i WooCommerce komunikują się z ERP, magazynem, programem lojalnościowym, systemem afiliacyjnym lub innymi usługami.

Czy trzeba wyłączać tę funkcję?

W większości przypadków nie.

Sam mechanizm ma sens. Jego zadaniem jest poprawa szybkości odczuwanej przez użytkownika i w prawidłowo zbudowanej stronie nie powinien powodować niepożądanych operacji.

Zamiast wyłączać go od razu, lepiej sprawdzić, czy wpływa na konkretne elementy witryny.

Jeżeli jedynym skutkiem jest zawyżony licznik odsłon we wtyczce, można poprawić sposób liczenia. Jeżeli określone adresy nie powinny być pobierane wcześniej, można je wykluczyć. Dopiero jeżeli mechanizm powoduje więcej komplikacji niż korzyści, można rozważyć jego całkowite wyłączenie.

Jak sprawdzić, czy WordPress korzysta z pobierania z wyprzedzeniem?

Jest tutaj jedna pułapka. WordPress domyślnie generuje te reguły dla niezalogowanych użytkowników.

Jeżeli administrator sprawdza stronę podczas pracy w panelu WordPressa, może ich w ogóle nie zobaczyć.

Dlatego test należy przeprowadzić jako zwykły odwiedzający, na przykład w prywatnym oknie przeglądarki.

Programista może następnie sprawdzić, które adresy są pobierane z wyprzedzeniem i czy takie żądania powodują zapis danych po stronie WordPressa.

Jeżeli statystyki zaczęły rozjeżdżać się po aktualizacji albo licznik odsłon wygląda podejrzanie, jest to jeden z elementów, które warto zweryfikować przed przebudową całej analityki.

Co warto sprawdzić na własnej stronie?

Najpierw warto ustalić, czy korzystasz z jakichkolwiek liczników działających bezpośrednio w WordPressie. Jeżeli ich wyniki mają znaczenie biznesowe, powinny odróżniać faktyczną wizytę od pobrania wykonanego z wyprzedzeniem.

Drugim obszarem są niestandardowe funkcje. Szczególnej uwagi wymagają linki, których samo otwarcie zapisuje coś w bazie, zmienia stan użytkownika albo uruchamia inną operację.

W sklepie warto również przejrzeć własne modyfikacje WooCommerce oraz integracje tworzone specjalnie dla danego biznesu.

Standardowa strona może nie wymagać żadnej zmiany. Im bardziej rozbudowany i indywidualnie rozwijany system, tym większy sens ma jednak sprawdzenie, jak zachowuje się po aktualizacji WordPressa.

Szybsza strona nie powinna oznaczać gorszych danych

Pobieranie podstron z wyprzedzeniem jest dobrym przykładem funkcji, która dla większości użytkowników pozostaje całkowicie niewidoczna.

Strona może dzięki niej reagować szybciej, ale sposób działania ma znaczenie dla analityki i kodu wykonywanego po stronie serwera.

Jeżeli liczba odsłon w WordPressie nie zgadza się z Google Analytics, nie oznacza to automatycznie, że jeden z systemów jest źle skonfigurowany. Mogą po prostu rejestrować inne zdarzenia.

W Dock zajmujemy się utrzymaniem i rozwojem stron oraz sklepów opartych o WordPress i WooCommerce. Przy przejmowaniu projektu sprawdzamy nie tylko aktualizacje i wydajność, ale również niestandardowe mechanizmy, integracje i sposób zbierania danych.

Jeżeli po aktualizacji WordPressa coś zaczęło zachowywać się inaczej albo dane przestały się zgadzać, możemy sprawdzić, z czego wynika różnica i czy wymaga zmian po stronie witryny.

Masz pytania?

Czy wczytywanie spekulatywne trzeba wyłączać?

W większości witryn nie. Domyślna konfiguracja rdzenia jest ostrożna: pobiera jeden dokument dopiero po naciśnięciu linku i pomija wszystkie adresy z ciągiem zapytania. Wyłączenie ma sens tam, gdzie akcje zmieniające stan działają pod ładnymi adresami i nie da się ich szybko wykluczyć filtrem.

Czy prefetch zawyża liczbę odsłon w Google Analytics 4?

Nie, bo przy prefetchu przeglądarka pobiera sam dokument i nie uruchamia skryptów. Zawyżają się liczniki działające po stronie PHP, na przykład wtyczki zliczające wyświetlenia postów oraz statystyki z logów serwera. Przy prerenderze jest odwrotnie: kod się wykonuje, ale Google Analytics wstrzymuje pomiar do aktywacji strony.

Czy przez prefetch WooCommerce doda produkt do koszyka?

Przy standardowych linkach nie. Adres z parametrem add-to-cart w ciągu zapytania zawiera ciąg zapytania, a rdzeń wyklucza takie adresy, gdy witryna używa ładnych odnośników. Ryzyko dotyczy własnych endpointów zbudowanych na ładnych ścieżkach, na przykład szybkiego zamawiania z listingu.

Jak sprawdzić, czy moja strona wysyła reguły spekulacji?

Otwórz stronę w oknie prywatnym i poszukaj w kodzie źródłowym frazy speculationrules. Zalogowany użytkownik reguł nie dostaje, więc podgląd z panelu nic nie powie. Szczegóły pokaże panel Application w Chrome DevTools, sekcja Background services, pozycja Speculative loads.

Czy to obciąża serwer?

Każda spekulacja to pełne żądanie strony, więc serwer generuje dokument, którego użytkownik może nigdy nie zobaczyć. Przy gotowości conservative dodatkowych żądań jest niewiele, bo pobranie startuje dopiero po naciśnięciu linku. Skala rośnie po zmianie gotowości na moderate lub eager i po włączeniu prerenderu.

Czy wczytywanie spekulatywne działa we wszystkich przeglądarkach?

Nie. Reguły spekulacji obsługują przeglądarki oparte na Chromium od wersji 109, Firefox ich nie obsługuje, a Safari 26.2 z grudnia 2025 udostępnia prefetch wyłącznie za flagą. Przeglądarki bez wsparcia ignorują blok z regułami, więc strona działa jak wcześniej.

Jacek Sultan

Technical Solutions Architect

CTO i współzałożyciel Dock. Na co dzień zajmuje się projektowaniem i rozwojem aplikacji webowych, architekturą systemów oraz infrastrukturą. Łączy techniczne podejście z perspektywą biznesową, skupiając się na rozwiązaniach, które są proste, niezawodne i mają konkretne uzasadnienie biznesowe. W technologii ceni przede wszystkim praktyczność. Dobre rozwiązanie powinno nie tylko działać, ale też przynosić wartość.

Porozmawiaj z nami