logo w

Pozycjonowanie Poznań - Positioning Site
TL;DR Pracowałem nad stroną poznańskiego lidera marketingu afiliacyjnego o globalnym zasięgu. Cel był ambitny: po kwartale podwoić liczbę fraz w TOP 10, TOP 50 oraz zwiększyć ruch na stronie. Na wejściu leżał crawl budget, treści się kanibalizowały, a testy GTmetrix pokazywały czasy ładowania od prawie 12 do prawie 32 sekund — migotanie przedsionków. Do tego nie miałem dostępu do strony, a właściciel siedział na monitorze 4K i chciał, żeby na 4K było ładnie, nawet jeśli spora część ruchu szła z krajów trzeciego świata.

Klient i cel — poznański czempion programów afiliacyjnych

Tym razem dzielę się efektami pracy nad pozycjonowaniem strony WWW o globalnym zasięgu. Lider marketingu afiliacyjnego w Polsce i potentat na światową skalę ma swoją siedzibę w Poznaniu. Od słowa do słowa rozpoczęła się współpraca, która miała na celu po kwartale podwojenie liczby fraz w TOP 10, TOP 50 oraz wzrost ruchu na stronie.

Marketing afiliacyjny, mówiąc po ludzku, polega na tym, że jedna strona kieruje użytkowników do ofert partnerów i zarabia na efektach: kliknięciach, rejestracjach, sprzedaży albo innych akcjach. To biznes oparty o skalę, zasięg, szybkość i precyzyjne dopasowanie ruchu do oferty. Jeśli taka strona źle się indeksuje albo ładuje się jak lodówka na korbkę, pieniądze uciekają.

Globalny zasięg komplikuje SEO. Mamy wiele języków, wiele krajów, różne wersje treści, różne prędkości sieci i użytkowników z bardzo różnych urządzeń. Strona musi działać nie tylko na biurku właściciela z monitorem 4K, ale też na telefonie użytkownika z drugiego końca świata.

Ocena stanu początkowego

Na starcie problemów było kilka i żaden nie pachniał fiołkami.

  • Wolne ładowanie strony. Strona ładowała się bardzo długo, szczególnie na testach mobilnych i 3G. To nie był drobny dyskomfort, tylko realna bariera dla użytkowników i botów Google.
  • Chaotycznie ustawione treści. Treści nie były przypisane do adresów URL w sposób jasny i logiczny. W efekcie jedna fraza mogła mieć kilka konkurujących ze sobą podstron.
  • Crawl budget leżał. Google traciło czas na miejsca, na które nie powinno go tracić. Przy globalnej stronie wielojęzycznej to proszenie się o kłopoty.
  • Linkowanie zewnętrzne — porażka. Dotychczasowe linkowanie było oparte głównie na URL-ach albo brandzie. Brakowało linków z sensownymi frazami, które wzmacniałyby konkretne tematy.

Crawl budget — pierwsza runda

W pierwszym etapie prac okazało się, że trzeba sporo popracować nad crawl budget. To brzmi technicznie, ale sens jest prosty: Google ma ograniczony czas i zasoby na skanowanie strony. Jeśli każesz mu biegać po śmieciach, nie zdąży dobrze przeczytać tego, co naprawdę ważne.

Pierwsze prace dotyczyły takich banałów jak zgłoszenie strony do Google Search Console czy wykonanie prawidłowych map witryny. Istniejące sitemapy były rozwijane o nowe podstrony, ale stare, nieistniejące należało usunąć. Zasadniczo trzeba było wykonać od podstaw nowe sitemapy dla każdego języka z osobna.

Przy globalnej domenie wielojęzycznej to jest szczególnie ważne. Osobna mapa dla każdego języka pomaga Google zrozumieć strukturę serwisu, szybciej odnaleźć właściwe wersje językowe i nie mieszać porządku z bałaganem. Ordnung muss sein, nawet jeśli projekt jest globalny.

Szybkość strony — migotanie przedsionków

Kolejny etap dotyczył błędów związanych z mobile friendly. Strona ładowała się bardzo, bardzo długo, a problematyczne okazało się ładowanie arkuszy stylów. Tutaj problemem był i nadal jest plik JavaScript odpowiedzialny jednocześnie za wygląd strony oraz przetwarzanie danych związanych z funkcjonowaniem strony.

To jest ten rodzaj problemu, którego nie da się naprawić jednym przełącznikiem. Jeśli JavaScript odpowiada jednocześnie za warstwę wizualną i logikę działania, to każda próba przyspieszenia zaczyna przypominać operację na bijącym sercu. Ruszysz jedno — może posypać się drugie. Przyspieszanie strony polegało więc na optymalizacji grafik, wdrożeniu Web Push i przepychaniu zmian tam, gdzie było to możliwe.

Pozycjonowanie strony afiliacyjnej — GTmetrix 202011 EN, 3,13 MB i prawie 12 sekund ładowania
Test z Vancoucer anglojęzycznej strony na Androidzie: 3,13 MB i prawie 12 s czasu ładowania. Jak na globalny projekt — wynik dość sportowy, tylko nie w tę stronę.
Pozycjonowanie strony afiliacyjnej — GTmetrix 202011 PL, 3,53 MB i prawie 25 sekund ładowania
Test z Vancoucer polskojęzycznej strony na Androidzie, tzw. test 3G: 3,53 MB i prawie 25 s czasu ładowania — migotanie przedsionków.
Pozycjonowanie strony afiliacyjnej — GTmetrix 202001 EN, 0,98 MB i prawie 25,5 sekundy ładowania
Test z Vancoucer anglojęzycznej strony na Androidzie: 0,98 MB i prawie 25,5 s czasu ładowania. Wdrożyłem WebP, ale co to dało?
Pozycjonowanie strony afiliacyjnej — GTmetrix 202004 PL, 1,32 MB i prawie 32 sekundy ładowania
Test z Vancoucer polskojęzycznej strony na Androidzie: 1,32 MB i prawie 32 s czasu ładowania. xD.

Wdrożenie HTTP/2 dało tyle, że mimo skandalicznie długiego czasu ładowania strony, spadł FCP i w sumie przełożyło się to na wzrosty w rankingach. Czyli trochę jak z autem, które dalej kopci, ale przynajmniej rusza spod świateł.

Crawl budget — druga runda

Po przyspieszeniu strony spojrzałem ponownie na crawl budget. Okazało się, że programy afiliacyjne na kartach „produktów" miały linki wychodzące do stron partnerów. W projekcie afiliacyjnym brzmi to naturalnie, ale dla Google i crawl budgetu robi się z tego problem.

Bot wchodzi na stronę, skanuje kartę, a potem dostaje mnóstwo sygnałów wyjścia do partnerów. Przy dużej skali i wielu językach takie rzeczy potrafią rozpraszać roboty i osłabiać skupienie na własnych adresach. Udało się to w miarę szybko naprawić.

Kolejne podejście do tych samych zagadnień nie jest de facto błędem. Mając bardzo krótki czas na działanie, skupiałem się w pierwszej kolejności na najbardziej ewidentnych kwestiach, z czasem analizując coraz drobniejsze szczegóły.

Kanibalizacja treści

Kolejna sprawa to bardzo niskiej jakości treści. Wręcz książkowy przykład kanibalizacji fraz. Uporządkowanie kolejnych adresów URL i treści, które się tam znajdowały, zajęło trochę czasu.

Kanibalizacja treści polega na tym, że kilka podstron próbuje rankować na tę samą lub bardzo podobną frazę. Dla właściciela strony wygląda to czasem jak bogactwo treści. Dla Google to często bałagan: nie wiadomo, którą podstronę pokazać. W efekcie pozycje skaczą, potencjał się rozmywa, a ruch nie idzie tam, gdzie powinien.

Prace w zakresie content marketingu są nieodłącznym zadaniem przy pozycjonowaniu stron. Zwłaszcza wtedy, gdy strona jest duża, wielojęzyczna i przez lata rosła bardziej jak krzak przy płocie niż jak zaplanowany ogród.

Linkowanie

Finalnie, po prawidłowym ustawieniu treści na konkretnych podstronach, koordynowałem linkowanie. Dotychczas całe linkowanie było na URL lub brand. Totalnie brakowało linków na frazę, jakąkolwiek. Oj, dużo było tu do poprawy.

Link na brand pomaga marce, ale nie zawsze pomaga Google zrozumieć, z jakim tematem ma powiązać konkretną podstronę. Linkowanie na frazę oznacza, że anchor tekstu wskazuje temat: np. konkretną usługę, kategorię albo zapytanie, na które strona ma być widoczna. Bez tego duży projekt może mieć dużo linków i nadal słabą precyzję SEO.

Wyniki

Oto efekty prac. Wykresy pokazują zarówno dane z Ahrefs, jak i Google Analytics, Google Search Console oraz Senuto. Nie chodzi o jeden cudowny skok, tylko o zestaw sygnałów: więcej fraz, większy ruch i lepszą widoczność.

Pozycjonowanie strony afiliacyjnej — Ahrefs, liczba fraz organicznych globalnie
Wykres liczby fraz na pozycjach 1–3 i 4–10 z Ahrefs — globalnie. Widoczność zaczęła rosnąć tam, gdzie projekt faktycznie zarabia skalą.
Pozycjonowanie strony afiliacyjnej — Ahrefs, liczba fraz organicznych w Polsce
Wykres liczby fraz na pozycjach 1–3 i 4–10 z Ahrefs — lokalnie dla Polski. Tu widać, że działania nie były tylko globalnym szumem, ale dawały też lokalny efekt.
Pozycjonowanie strony afiliacyjnej — Ahrefs, ruch organiczny globalnie
Wykres ruchu organicznego z Ahrefs — globalnie. Przy afiliacji to ważny wskaźnik, bo więcej sensownego ruchu to więcej szans na kliknięcia w oferty partnerów.
Pozycjonowanie strony afiliacyjnej — Ahrefs, ruch organiczny w Polsce
Wykres ruchu organicznego z Ahrefs — lokalnie dla Polski. Poznański czempion działa globalnie, ale krajowe dane nadal dobrze pokazują jakość zmian.
Pozycjonowanie strony afiliacyjnej — Google Analytics, sesje globalnie
Wykres liczby sesji dla domeny — globalnie. Wzrost sesji pokazuje, że zmiany zaczęły przekładać się na realne wejścia użytkowników.
Pozycjonowanie strony afiliacyjnej — Google Analytics, globalny ruch organiczny
Wykres liczby sesji dla domeny — globalnie, sam ruch organiczny. To ważne, bo celem nie był dowolny ruch, tylko wzrost z wyszukiwarki.
Pozycjonowanie strony afiliacyjnej — Google Search Console, ruch organiczny globalnie
Wykres ruchu według Google Search Console — globalnie. GSC potwierdza, że zmiany były widoczne także po stronie danych Google, a nie tylko w narzędziach zewnętrznych.
Pozycjonowanie strony afiliacyjnej — Senuto, liczba fraz w TOP 3
Wykres liczby fraz w TOP 3 według Senuto. TOP 3 to nie próg pocieszenia — to miejsca, które realnie zbierają kliknięcia.
Pozycjonowanie strony afiliacyjnej — Senuto, liczba fraz w TOP 10
Wykres liczby fraz w TOP 10 według Senuto. To podstawowy wskaźnik, czy strona zaczyna być widoczna tam, gdzie użytkownik jeszcze ma szansę ją zobaczyć.
Pozycjonowanie strony afiliacyjnej — Senuto, liczba fraz w TOP 50
Wykres liczby fraz w TOP 50 według Senuto. Plik ma w nazwie top-80, podpis mówi TOP 50 — zostawiam oryginalną nazwę pliku, bo Ordnung muss sein, ale bez podmieniania źródła.

Wnioski — kiedy nie wszystko jest dozwolone

Dlaczego w tytule napisałem „kiedy nie wszystko jest dozwolone"? Bo w tym projekcie nie można było po prostu wejść, poprawić wszystkiego i wyjść jak bohater z filmu klasy B.

  1. Strona jest ciągle rozwijanym projektem Laravel. To oznacza, że SEO nie działało w próżni. Każda zmiana musiała uwzględniać rozwój produktu, logikę aplikacji i ograniczenia techniczne.
  2. Nie miałem dostępu do strony. Zwykła optymalizacja grafik szła jak po grudzie. Gdy nie możesz sam wdrożyć zmian, SEO zamienia się w pisanie zaleceń, pilnowanie priorytetów i czekanie, aż ktoś po drugiej stronie zatrybi.
  3. Właściciel używa monitoru 4K i kładzie duży nacisk na wygląd strony na własnym monitorze. Mimo że spora część ruchu to kraje trzeciego świata, na 4K ma być ładnie. I weź tu człowieku tłumacz, że telefon na wolnym internecie nie żyje w tej samej bajce.
  4. Moje zalecenia dotyczące treści i linków były wdrażane niezbyt starannie. To częsty problem. Strategia może być dobra, ale jeśli wdrożenie jest byle jakie, efekt przychodzi wolniej i trzeba mocniej pilnować kierunku.

Wniosek: nie poddawaj się, walcz o swoje, ciśnij na swoje priorytety. Jak nie teraz, to trochę później, ale w końcu się uda.

Ten projekt pokazał mi jeszcze jedno: czasem specjalista SEO nie wygrywa dlatego, że ma pełną kontrolę. Wygrywa dlatego, że umie wskazać najważniejsze problemy, wracać do nich po kilka razy i nie odpuszczać tylko dlatego, że ktoś ma ładny monitor i inne priorytety.

Jeśli chcesz sprawdzić, czy Twoja strona traci ruch przez crawl budget, wolne ładowanie albo kanibalizację treści, zacznij od audytu SEO.

Więcej o tym, jak pracuję z firmami z Poznania i nie tylko, znajdziesz tutaj: pozycjonowanie stron w Poznaniu.

Najczęściej zadawane pytania

Co to jest crawl budget i dlaczego ma znaczenie dla dużych stron?

Crawl budget to ilość zasobów, które Google przeznacza na skanowanie strony. Przy dużych, globalnych i wielojęzycznych serwisach ma ogromne znaczenie, bo błędne sitemapy, stare adresy i chaos w strukturze mogą sprawić, że Google skanuje śmieci zamiast ważnych podstron.

Czy można pozycjonować stronę bez dostępu do jej kodu?

Można, ale jest to droga przez mękę. Bez dostępu do kodu specjalista SEO może przygotowywać zalecenia, priorytety i kontrolować efekty, ale tempo zależy od ludzi wdrażających zmiany. Nawet zwykła optymalizacja grafik potrafi wtedy iść jak po grudzie.

Czym jest kanibalizacja treści i jak ją usunąć?

Kanibalizacja treści występuje wtedy, gdy kilka podstron walczy o tę samą frazę. Usunięcie problemu wymaga przypisania tematów do konkretnych adresów URL, uporządkowania nagłówków, treści, linkowania wewnętrznego i czasem połączenia lub usunięcia zbędnych podstron.

Jak czas ładowania strony wpływa na pozycje w Google?

Wolna strona utrudnia życie użytkownikom i robotom Google. Przy czasach ładowania rzędu 12, 25 czy 32 sekund problem przestaje być kosmetyczny. To wpływa na crawl budget, doświadczenie użytkownika, FCP i ogólną zdolność strony do konkurowania w wynikach.