Sprawdź na żywo wyniki naszego SEO i widoczności w AI dla Analizafirm.plZobacz →

Pozycjonowanie WordPress: techniczne SEO i profil odnośników

Kamil Rybicki · Opublikowano: · Zaktualizowano:

WordPress da się pozycjonować tak samo skutecznie jak każdy inny CMS, pod warunkiem że wcześniej naprawi się kilkanaście powtarzalnych błędów technicznych. Domyślna instalacja nie ustawia adresu kanonicznego, nie usuwa duplikatów na paginacji ani nie pilnuje jednego nagłówka H1 na stronie, więc trzeba to zrobić ręcznie albo wtyczką. W tym artykule sprawdzamy, które z tych elementów rzeczywiście wpływają na widoczność w Google, a które są jedynie punktami na liście z automatycznego audytu.

Bezpłatny CMS, który dziś napędza większość sieci

WordPress to bezpłatny, otwartoźródłowy system do zarządzania treścią, dostępny od 2003 roku. Instalacja samego oprogramowania nic nie kosztuje, bo licencja GPL pozwala pobrać, zmieniać i uruchamiać kod bez opłat. Realny koszt prowadzenia strony to hosting, domena, ewentualne płatne wtyczki i motywy oraz czas potrzebny na konfigurację i bieżące utrzymanie.

Pod względem udziału w rynku WordPress od lat pozostaje najpopularniejszym CMS-em na świecie, z wyraźną przewagą nad Shopify, Wix czy Joomlą, liczoną w dziesiątkach procent wszystkich stron opartych na jakimkolwiek systemie zarządzania treścią. Ta popularność bierze się z prostego panelu administracyjnego, ogromnej liczby darmowych wtyczek i motywów oraz społeczności, która rozwiązała niemal każdy problem konfiguracyjny na forach i w dokumentacji.

Dziś z WordPressa korzystają nie tylko blogi, ale też sklepy internetowe przez wtyczkę WooCommerce, strony usługowe czy portale firmowe z rozbudowanym blogiem. Rosnącą część tego ekosystemu stanowią wtyczki wspierane sztuczną inteligencją: generatory opisów meta, asystenci pisania treści czy moduły proponujące automatycznie linkowanie wewnętrzne. Żaden taki dodatek nie zwalnia jednak z pilnowania podstaw technicznych opisanych niżej, bo AI nie naprawi błędnej struktury adresów URL ani zduplikowanej treści.

Od czego zacząć pozycjonowanie WordPressa

WordPress bywa kojarzony wyłącznie z blogami, ale od dawna obsługuje też sklepy, strony usługowe i duże portale contentowe. Zasady technicznego SEO są dla każdego z tych profili takie same: robot Google musi bez przeszkód dotrzeć do ważnych podstron, zrozumieć ich treść i nie natknąć się po drodze na duplikaty.

Zaniedbanie tych podstaw ma bezpośredni koszt biznesowy. Jeśli robot marnuje budżet indeksowania na strony filtrów czy zduplikowane adresy paginacji, nowa podstrona produktowa albo usługowa trafia do indeksu później, a to oznacza późniejszy pierwszy kontakt z tego kanału. Poniższe elementy da się wdrożyć bez znajomości programowania, korzystając z wbudowanych ustawień WordPressa i kilku bezpłatnych wtyczek.

Motyw potomny w WordPressie: po co go stworzyć

Motyw potomny, z angielskiego child theme, dziedziczy wygląd motywu głównego i przechowuje wyłącznie zmienione pliki. Dzięki niemu można modyfikować kod bez ingerencji w pliki motywu nadrzędnego.

Znaczenie ma to przy każdej aktualizacji szablonu. Bez motywu potomnego aktualizacja nadpisuje zmieniony plik i kasuje wprowadzone poprawki, a programista musi wprowadzać je od nowa. Przy motywie potomnym plik motywu rodzica aktualizuje się bezpiecznie, a modyfikacje w osobnym folderze zostają nietknięte. To bezpośrednia oszczędność: bez tego zabezpieczenia firma płaci za tę samą pracę programistyczną po raz drugi po każdej większej aktualizacji szablonu.

Stworzenie motywu potomnego wymaga kilku kroków:

  1. W katalogu wp-content/themes utwórz nowy folder, np. nazwa-motywu-rodzica-child.
  2. W tym folderze dodaj plik style.css z nagłówkiem wskazującym na motyw rodzica:

„`

/*

Theme Name: Motyw Rodzic Child

Template: motyw-rodzic

Version: 1.0.0

*/

„`

  1. Dodaj plik functions.php, który wczyta style motywu rodzica:

„`php

<?php

function motyw_child_enqueue_styles() {

$parent_style = 'motyw-rodzic-style’;

wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css’ );

wp_enqueue_style( 'child-style’,

get_stylesheet_directory_uri() . '/style.css’,

array( $parent_style ),

wp_get_theme()->get( 'Version’ )

);

}

add_action( 'wp_enqueue_scripts’, 'motyw_child_enqueue_styles’ );

„`

  1. Aktywuj nowy motyw w panelu WordPressa, w zakładce Wygląd, Motywy.

Nazwa uchwytu stylu, czyli $parent_style, musi zgadzać się z nazwą zarejestrowaną w motywie nadrzędnym. Bez tego style motywu rodzica się nie załadują.

Jedna wersja adresu strony: canonical, www i https

Strona powinna być dostępna pod jednym docelowym adresem, np. https://www.domena.pl. Dla wyszukiwarki wariant z „www” i bez „www”, a także wersja „http” i „https”, to formalnie różne adresy URL. Kiedy więcej niż jeden wariant trafia do indeksu, sygnały rankingowe rozkładają się między nimi zamiast kumulować się na jednym adresie, co opisuje dokumentacja Google Search Central o konsolidacji zduplikowanych adresów URL.

Konsekwencja biznesowa jest prosta: rozproszony profil linków oznacza, że fraza sprzedażowa potrzebuje więcej czasu i więcej odnośników, żeby wejść do TOP 10, niż gdyby cała moc domeny była skupiona na jednym adresie.

Przekierowania najlepiej ustawiać w pliku .htaccess. Dostęp do niego daje serwer FTP, panel hostingu albo, w niektórych konfiguracjach, wtyczka do zarządzania plikami. Gdy edycja tego pliku nie wchodzi w grę, np. przy części hostingów współdzielonych, sprawdza się bezpłatna wtyczka Redirection, która pozwala ustawiać przekierowania z poziomu panelu WordPressa bez dotykania plików serwera.

Redirection obsługuje przekierowania 301, ale też loguje błędy 404 w obrębie witryny, wpływające niekorzystnie na ocenę serwisu przez Google. Pozwala tworzyć przekierowania warunkowe, uruchamiane tylko po spełnieniu określonego warunku, np. gdy adres zwraca kod 404, i przydaje się przy każdej zmianie struktury sklepu czy usuwaniu nieaktualnych podstron.

Duplikacja treści: paginacja, tagi i kanał RSS

Duplikacja treści to jeden z najczęstszych błędów na WordPressie, szczególnie widoczny w sklepach internetowych i większych blogach. Najczęstszą przyczyną jest publikowanie opisu kategorii na każdej kolejnej stronie paginacji, choć z punktu widzenia SEO opis powinien znaleźć się wyłącznie na pierwszej stronie.

Usunięcie opisu z kolejnych stron paginacji wymaga krótkiego warunku w kodzie szablonu:

„`php

<?php if ( ! is_paged() ) {

the_archive_description( '<div class="opis-kategorii">’, '</div>’ );

}

?>

„`

Klasa opis-kategorii musi odpowiadać nazwie użytej w konkretnym motywie, więc kod trzeba dopasować do własnego szablonu.

Drugim źródłem duplikacji jest pierwsza strona paginacji dostępna pod dwoma adresami naraz, np. domena.pl/kategoria i domena.pl/kategoria/page/1. Zduplikowany adres zwykle trafia do linkowania wewnętrznego, więc samo zablokowanie go w pliku robots.txt bywa nieskuteczne, bo linki do niego nadal prowadzą. Skuteczniejsze jest dodanie funkcji do pliku functions.php, która usuwa ten wariant z linkowania wewnętrznego. Taka funkcja nie usuwa strony z indeksu, adres nadal zwraca kod 200, więc do pełnego wykluczenia potrzebny jest jeszcze wpis w Google Search Console albo w pliku robots. Za duplikację często odpowiadają też tagi i kategorie stosowane bez planu, gdy ten sam artykuł widoczny jest pod kilkoma taksonomiami naraz.

Osobny przypadek to kanał RSS. WordPress generuje go automatycznie dla wpisów, kategorii i komentarzy, i sam w sobie nie wpływa na pozycje, bo Google nie traktuje kanału RSS jako alternatywnej strony do rankingu. Kanał RSS nie pozycjonuje strony, służy do dystrybucji treści do czytników, agregatorów i narzędzi typu newsletter, a nie do budowania widoczności w wyszukiwarce. Ryzyko pojawia się dopiero wtedy, gdy pełna treść artykułu trafia przez RSS do zewnętrznych serwisów, które publikują ją bez zmian, bo wtedy w sieci powstaje kopia tekstu poza samą witryną. O pierwszeństwie oryginału decyduje wtedy to, która wersja została zaindeksowana jako pierwsza, dlatego nowy wpis warto zgłosić do indeksacji od razu po publikacji, zanim zrobi to agregator.

Struktura nagłówków H1, H2, H3

Nagłówek H1 to jeden z podstawowych elementów optymalizacji on site. Fraza kluczowa w H1 pomaga robotowi Google szybciej zorientować się w temacie odwiedzonej podstrony, a każda podstrona powinna mieć dokładnie jeden taki nagłówek.

Sposób jego użycia zależy od typu podstrony: strona produktu powinna mieć w H1 nazwę produktu, kategoria nazwę kategorii, a wpis blogowy tytuł wpisu. Warto uzupełniać to nagłówkami niższego rzędu, H2 i H3, zawierającymi frazy kluczowe w formie odmienionej lub rozszerzonej, bo to właśnie te nagłówki roboty i modele językowe traktują jako mapę treści strony.

W większości motywów WordPressa H1 generuje się automatycznie z tytułu ustawionego w panelu:

„`php

<h1 class="title"><?php the_title(); ?></h1>

„`

Już na etapie projektowania strony warto dodać osobne pole na treść H1, niezależne od tytułu SEO wyświetlanego w wynikach wyszukiwania. Umożliwia to inne sformułowanie nagłówka widocznego dla użytkownika niż znacznika title w wynikach, co przydaje się przy dopasowywaniu obu elementów pod różne warianty tej samej frazy.

Title i description przy dużej liczbie podstron

Ręczna edycja znaczników title i description na każdej podstronie sklepu czy portalu z setkami adresów oznacza dosłownie dni pracy. Rozwiązaniem są schematy, czyli reguły ustawiane raz dla całej grupy treści, np. wszystkich wpisów blogowych albo wszystkich kart produktów.

Najpopularniejsze wtyczki do tego celu to Yoast SEO i Rank Math. Obie umożliwiają ustawienie wzorca title i description osobno dla wpisów, stron, produktów czy podstron kategorii, z użyciem zmiennych takich jak nazwa wpisu, nazwa kategorii czy nazwa serwisu, które wtyczka podstawia automatycznie przy generowaniu strony.

Ta pozornie kosmetyczna zmiana ma bezpośredni wpływ na przychody. Lepszy, trafniejszy opis w wynikach wyszukiwania podnosi CTR, czyli odsetek osób klikających dany wynik, bez zmiany samej pozycji w rankingu. Przy tej samej liczbie wyświetleń wyższy CTR oznacza więcej bezpłatnych wejść na stronę, czego odpowiednikiem w kampanii płatnej byłby wyższy budżet na kliknięcia w Google Ads.

Struktura adresów URL

Adresy URL powinny być krótkie, czytelne dla użytkownika i jednoznacznie wskazywać na zawartość podstrony. W adresach warto unikać znaków specjalnych, polskich znaków diakrytycznych oraz zakodowanych encji.

Przykładowa struktura: produkt pod adresem domena.pl/nazwa-produktu albo domena.pl/nazwa-kategorii/nazwa-produktu, kategoria pod domena.pl/nazwa-kategorii, wpis blogowy pod domena.pl/nazwa-wpisu.

WordPress domyślnie dodaje do adresów segmenty w rodzaju „kategoria” czy „produkt”. Im krótszy slug, tym lepiej, a strukturę można dowolnie zmieniać w Ustawieniach, w zakładce Bezpośrednie odnośniki. Zmiana struktury adresów na działającej stronie wymaga jednak przekierowań 301 ze starych adresów na nowe, inaczej wszystkie zdobyte dotąd linki i pozycje przepadają razem ze starym adresem.

Blokowanie mało wartościowych podstron i kontrola indeksowania

Obserwacja tego, które podstrony trafiają do indeksu, jest podstawą pozycjonowania, bo ruch z wyszukiwarki może przyjść wyłącznie z zaindeksowanych adresów. Obecność w indeksie dużej liczby adresów niskiej jakości, np. wyników wewnętrznej wyszukiwarki czy filtrów, obniża jednocześnie ogólną ocenę serwisu i marnuje budżet indeksowania na strony bez wartości.

Blokowanie takich adresów wykonuje się na dwa sposoby: tagiem noindex w sekcji head strony, którą trzeba wykluczyć z indeksu, albo komendą Disallow w pliku robots.txt, przydatną przy wielu adresach zawierających wspólny element, np. parametr filtrowania. Komendy w robots.txt są jednak tylko wskazówką dla robotów i nie każdy crawler musi ich przestrzegać.

Adresy, które warto oznaczyć noindex w pierwszej kolejności:

  • koszyk,
  • strona logowania,
  • polityka prywatności.

We wtyczce Yoast SEO ustawienie noindex dla pojedynczej podstrony jest dostępne w ustawieniach zaawansowanych przy edycji wpisu, a dla całej kategorii treści, np. wszystkich tagów, w globalnych ustawieniach wtyczki. Po ustawieniu noindex Yoast automatycznie usuwa dany adres z generowanej przez siebie mapy witryny.

Ten sam plik robots.txt reguluje dziś też coś, czego w 2021 roku praktycznie nie było: dostęp botów pobierających treści dla modeli językowych, takich jak GPTBot czy Google-Extended. Reguły dla tych botów dodaje się osobnymi wpisami User-agent w tym samym pliku, niezależnie od reguł dla klasycznego robota wyszukiwarki. Decyzja o widoczności w wynikach Google i decyzja o obecności treści w modelach AI to dziś dwa osobne ustawienia.

Dane strukturalne: schema.org i test wyników rozszerzonych

Dane strukturalne, czyli mikrodane w formacie schema.org, opisują robotom i modelom językowym, czym jest dany fragment strony: produktem, opinią, firmą lokalną czy pytaniem z odpowiedzią. Odpowiadają też za rozszerzony wygląd wyniku w wyszukiwarce, np. cenę, dostępność czy ocenę produktu widoczną bezpośrednio pod tytułem strony.

Najlepiej wdrażać je w kodzie szablonu, bo każda dodatkowa wtyczka potrafi spowolnić ładowanie strony. Jeśli edycja kodu nie wchodzi w grę, dane strukturalne dla produktów, wpisów czy firm lokalnych generują wbudowane moduły Yoast SEO i Rank Math, bez konieczności pisania kodu ręcznie. Google wycofał wcześniejsze Structured Data Testing Tool, a poprawność znaczników sprawdza się dziś w Teście wyników z elementami rozszerzonymi albo w walidatorze schema.org.

Warto mieć realistyczne oczekiwania wobec znacznika FAQPage, używanego do oznaczania sekcji pytań i odpowiedzi, takiej jak ta na końcu tego artykułu. Rozszerzony wygląd w wynikach wyszukiwania Google przyznaje z tego tytułu dziś wąskiej grupie zaufanych witryn, głównie rządowych i medycznych, co opisuje dokumentacja Google dotycząca danych strukturalnych FAQ. Blog firmowy nie powinien liczyć na dodatkowe akapity w wynikach z tego powodu, ale same dane strukturalne nadal pomagają robotom i systemom AI poprawnie rozpoznać, które zdanie jest pytaniem, a które odpowiedzią.

Szybkość WordPressa i Core Web Vitals

Liczba aktywnych wtyczek ma bezpośredni wpływ na szybkość ładowania strony, a szybkość jest jednym z sygnałów rankingowych Google, mierzonym między innymi wskaźnikiem LCP, czyli czasem wyświetlenia największego elementu na ekranie. Dokumentacja web.dev zaleca, by LCP mieściło się poniżej 2,5 sekundy.

Dla sklepu internetowego to nie jest abstrakcyjny wynik testu, tylko konkretna liczba porzuceń koszyka: im dłużej ładuje się strona produktu, tym więcej odwiedzających wychodzi, zanim zdąży zobaczyć ofertę. Przy WordPressie najczęstszą przyczyną wolnego LCP jest nadmiar wtyczek, ciężkie obrazy bez kompresji oraz motywy z rozbudowanymi, rzadko wykorzystywanymi funkcjami. Warto ograniczać liczbę aktywnych wtyczek do tych faktycznie używanych i weryfikować wynik po każdej większej zmianie w motywie.

Linkowanie wewnętrzne: jak nie zgubić własnej oferty

Wyszukiwarka Google traktuje cały internet jako sieć powiązanych ze sobą stron, a linki, w tym linki wewnętrzne, jako główny sposób poruszania się po tej sieci i oceniania, które podstrony są ważniejsze od innych. Strona, do której prowadzi więcej linków wewnętrznych, dostaje sygnał, że jest istotna, i zwykle szybciej oraz częściej trafia do indeksu.

Na WordPressie linkowanie wewnętrzne najłatwiej budować przy okazji publikacji nowych wpisów blogowych, linkując z nich do podstron ofertowych, które mają realnie sprzedawać. To częsty błąd: firma inwestuje w bloga, ale artykuły linkują wyłącznie do siebie nawzajem, a strona z ofertą zostaje bez wsparcia. W efekcie to wpis blogowy, a nie podstrona usługowa, zaczyna wygrywać w wynikach na frazę, na której firmie zależy najbardziej, a to podstrona ofertowa ma prowadzić do kontaktu czy zamówienia.

Kotwica linku, czyli klikalny tekst, powinna opisywać, dokąd prowadzi, najlepiej frazą zbliżoną do tej, na którą pozycjonowana jest strona docelowa, a nie generycznym „kliknij tutaj”. Liczba linków wewnętrznych z jednej podstrony nie powinna być przypadkowa: im więcej linków na stronie, tym mniej mocy przekazuje każdy z nich, więc do najważniejszych podstron warto linkować świadomie, a nie z automatu w stopce czy menu bocznym.

Budowanie profilu odnośników dla WordPressa

Zaplecze linkowe to zbiór stron, z których prowadzą odnośniki do pozycjonowanej witryny. Jego jakość liczy się bardziej niż liczba: kilka odnośników z domen o wypracowanej historii i naturalnym profilu linków wychodzących działa mocniej niż kilkadziesiąt linków z przypadkowych, świeżo założonych stron.

Na WordPressie budowanie takiego zaplecza zaczyna się od własnych zasobów: bloga firmowego, podstron poradnikowych i treści, które inne serwisy mogą chcieć zacytować z własnej inicjatywy. Dopiero na tej bazie dokłada się linki zewnętrzne, np. z publikacji gościnnych czy artykułów sponsorowanych na innych portalach.

Skala budżetu na sam link building bywa dla właścicieli mniejszych firm zaskoczeniem. Badanie Linkhouse „Link building w Polsce 2022”, oparte na odpowiedziach ponad 270 specjalistów SEO i agencji, wskazało wyraźnie rosnący trend średniego budżetu na pozyskiwanie linków dla jednej domeny:

RokŚredni budżet miesięczny na jedną domenę
20201 894,90 zł
20212 438,62 zł
20222 807,97 zł

To nadal najświeższe badanie tej skali na polskim rynku, a przy uwzględnieniu inflacji i wzrostu cen publikacji od 2022 roku realny budżet rynkowy jest dziś wyższy niż w tych danych.

Dla firmy oznacza to prostą kalkulację progu opłacalności: jeśli fraza sprzedażowa generuje choćby jedno zapytanie ofertowe miesięcznie o wartości kilku tysięcy złotych, budżet rzędu kilkuset złotych miesięcznie na jej pozycjonowanie zwraca się przy pojedynczym domkniętym kliencie. Część firm buduje takie zaplecze samodzielnie, inne zlecają to agencji specjalizującej się w link buildingu, a decyzja zależy głównie od tego, ile własnego czasu właściciel może na to poświęcić bez zaniedbania reszty biznesu.

Pytania o pozycjonowanie WordPressa

Czym jest CMS WordPress?

WordPress to system do zarządzania treścią, czyli oprogramowanie do tworzenia i publikowania stron bez znajomości programowania. Umożliwia obsługę bloga, sklepu internetowego przez wtyczkę WooCommerce, strony usługowej albo portalu firmowego z jednego panelu administracyjnego. Pozostaje najpopularniejszym CMS-em na świecie dzięki prostocie obsługi i ogromnej liczbie darmowych rozszerzeń.

Czy WordPress to bezpłatny CMS?

Samo oprogramowanie WordPress jest bezpłatne i objęte licencją GPL, więc pobranie, instalacja i modyfikacja kodu nic nie kosztują. Płatne bywają hosting, domena, premium wtyczki i motywy oraz czas potrzebny na konfigurację i bieżące utrzymanie. Dla małej strony wizytówkowej realny koszt startu ogranicza się właściwie do hostingu i domeny.

Jak zbudować zaplecze linkowe dla strony na WordPressie?

Fundamentem jest własny blog firmowy i treści, do których inne strony mogą chcieć linkować z własnej inicjatywy, a dopiero na tej bazie dokłada się linki zewnętrzne z publikacji gościnnych czy artykułów sponsorowanych. Liczy się jakość i historia domeny linkującej, nie sama liczba odnośników. Rynkowy budżet na sam link building jednej domeny w Polsce sięgał już w 2022 roku niemal 2 808 zł miesięcznie, z trendem rosnącym.

Czy kanał RSS pomaga w pozycjonowaniu strony?

Sam kanał RSS nie wpływa na pozycje w Google, bo wyszukiwarka nie traktuje go jako alternatywnej wersji strony do rankingu. RSS służy do dystrybucji treści do czytników i agregatorów, nie do budowania widoczności organicznej. Ryzykiem jest wyłącznie sytuacja, w której pełna treść wpisu trafia przez RSS do zewnętrznego serwisu szybciej, niż Google zdąży zaindeksować oryginał.

Czy do pozycjonowania WordPressa trzeba znać programowanie?

Większość działań opisanych w tym artykule, jak ustawienia w Yoast SEO, strukturę adresów URL czy blokowanie podstron przez noindex, da się wykonać z panelu administracyjnego bez pisania kodu. Znajomość PHP przydaje się przy tworzeniu motywu potomnego czy usuwaniu duplikacji z paginacji, ale gotowe fragmenty kodu wystarczy wkleić i dostosować nazwy klas czy uchwytów stylu. Dla bardziej złożonych wdrożeń, np. danych strukturalnych bezpośrednio w kodzie szablonu, potrzebny bywa programista.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze wpisy

Jak technologia wspiera nasz dział Google ADS?

Czytaj więcej 

Marka premium: co to znaczy i jak ją zbudować?

Czytaj więcej 

Błąd 404 not found: co to znaczy i jak naprawić w 5 krokach

Czytaj więcej