Przekierowania a wyszukiwarka Google

Przekierowywanie adresów URL polega na otwieraniu innego adresu URL niż ten, który został wybrany. W praktyce pozwala to poinformować użytkowników i wyszukiwarkę Google, że strona ma nową lokalizację. Przekierowania są szczególnie użyteczne w tych przypadkach:

  • Witryna została przeniesiona do nowej domeny i zależy Ci na możliwie płynnym przejściu.
  • Użytkownicy odwiedzają Twoją witrynę, korzystając z różnych adresów URL. Jeśli na Twoją stronę główną można wejść przy użyciu kilku adresów, np. https://example.com/home, http://home.example.com lub https://www.example.com – warto wybrać jeden z nich jako preferowaną (kanoniczną) lokalizację docelową i używać przekierowań, aby trafiał do niej ruch z pozostałych adresów.
  • Łączysz 2 witryny i chcesz, aby linki do nieaktualnych adresów URL były przekierowywane do właściwych stron.
  • Chcesz przekierować użytkowników na nową stronę, ponieważ poprzednia została usunięta.

Omówienie typów przekierowań

Użytkownicy zwykle nie są w stanie rozróżnić poszczególnych typów przekierowań, jednak dla wyszukiwarki Google są one silnym lub słabym sygnałem, że docelowy adres powinien być traktowany jako kanoniczny. Wybór przekierowania zależy od tego, jak długo ma ono działać i jaką stronę Google ma pokazywać w wynikach wyszukiwania:

  • Trwałe przekierowania: w wynikach wyszukiwania pokazuje się strona docelowa.
  • Tymczasowe przekierowania: w wynikach wyszukiwania pokazuje się strona źródłowa.

W tabeli poniżej opisujemy różne sposoby konfigurowania stałych i tymczasowych przekierowań. Uporządkowaliśmy je według prawdopodobieństwa prawidłowego zinterpretowania przez Google (np. największe szanse na poprawną interpretację przez Google ma przekierowanie po stronie serwera). Wybierz typ przekierowania, który pasuje do Twojej sytuacji i witryny:

Typy przekierowań
Trwałe

Googlebot śledzi przekierowanie, a proces indeksowania interpretuje je jako mocny sygnał, że docelowa strona przekierowania powinna być kanoniczna.

HTTP 301 (moved permanently)

Skonfiguruj przekierowania po stronie serwera.

HTTP 308 (moved permanently)
meta refresh (0 sekund)

Skonfiguruj przekierowania meta refresh.

Odświeżanie HTTP (0 sekund)
JavaScript location

Skonfiguruj przekierowania JavaScript.

Przekierowanie Crypto

Dowiedz się więcej o przekierowaniach crypto.

Tymczasowe

Googlebot śledzi przekierowanie, a proces indeksowania interpretuje je jako słaby sygnał, że docelowa strona przekierowania powinna być kanoniczna.

HTTP 302 (found)

Skonfiguruj przekierowania po stronie serwera.

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (więcej niż 0 sekund)

Skonfiguruj przekierowania meta refresh.

HTTP refresh (więcej niż 0 sekund)

Przekierowania po stronie serwera

Skonfigurowanie przekierowań po stronie serwera wymaga dostępu do plików konfiguracji serwera (na przykład pliku .htaccess na serwerze Apache) lub ustawienia nagłówków przekierowań przy użyciu skryptów po stronie serwera (np. PHP). Po stronie serwera możesz ustawiać zarówno przekierowania stałe, jak i tymczasowe.

Trwałe przekierowania po stronie serwera

Jeśli musisz zmienić adres URL strony wyświetlany w wynikach wyszukiwania, zalecamy użycie stałego przekierowania po stronie serwera, gdy tylko jest taka możliwość. To najlepszy sposób na to, aby kierować wyszukiwarkę Google i użytkowników na odpowiednią stronę. Kody stanu 301308 oznaczają, że strona została na stałe przeniesiona do innej lokalizacji.

Tymczasowe przekierowania po stronie serwera

Jeśli chcesz tylko chwilowo przekierować użytkowników na inną stronę, użyj przekierowania tymczasowego. Dzięki temu Google będzie dłużej wyświetlać w wynikach stary adres URL. Jeśli na przykład usługa, którą oferujesz w swojej witrynie, jest chwilowo niedostępna, możesz skonfigurować przekierowanie tymczasowe, aby odsyłać użytkowników na stronę, która wyjaśnia, co się dzieje, nie obniżając pozycji oryginalnego adresu URL w wynikach wyszukiwania.

Implementowanie przekierowań po stronie serwera

Sposób implementacji przekierowań po stronie serwera zależy od środowiska hostingu i serwera lub języka skryptowego w backendzie witryny.

Aby skonfigurować stałe przekierowanie w języku PHP, użyj funkcji header(). Zanim prześlesz cokolwiek na ekran, musisz ustawić nagłówki:

header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/newurl');
exit();

Oto przykład konfiguracji tymczasowego przekierowania z użyciem języka PHP:

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Jeśli masz dostęp do plików konfiguracyjnych serwera WWW, możesz mieć możliwość samodzielnego utworzenia reguł przekierowania. Postępuj zgodnie z instrukcjami dotyczącymi serwera WWW, którego używasz:

  • Apache: zapoznaj się z samouczkiem .htaccessApache, przewodnikiem Apache na temat przepisywania adresów oraz dokumentacją Apache – mod_alias. Używając elementu mod_alias, możesz na przykład skonfigurować najprostszą formę przekierowań:

    # Permanent redirect:
    Redirect permanent "/old" "https://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "https://example.com/two-new"

    W przypadku bardziej złożonych przekierowań użyj elementu mod_rewrite. Na przykład:

    RewriteEngine on
    # redirect the service page to a new page with a permanent redirect
    RewriteRule   "^/service$"  "/about/service"  [R=301]
    
    # redirect the service page to a new page with a temporary redirect
    RewriteRule   "^/service$"  "/about/service"  [R]
  • NGINX: przeczytaj o tworzeniu reguł przepisywania adresów w NGINX na blogu NGINX. Podobnie jak w przypadku serwera Apache, istnieje wiele opcji tworzenia przekierowań. Na przykład:

    location = /service {
      # for a permanent redirect
      return 301 $scheme://example.com/about/service
    
      # for a temporary redirect
      return 302 $scheme://example.com/about/service
    }

    Jeśli chcesz ustawić bardziej skomplikowane przekierowanie, użyj reguły rewrite:

    location = /service {
      # for a permanent redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
    
      # for a temporary redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
    }
  • W przypadku pozostałych serwerów WWW skontaktuj się ze swoim menedżerem serwera lub dostawcą hostingu albo poszukaj instrukcji w ulubionej wyszukiwarce (np. „przekierowania LiteSpeed”).

meta refresh i jego odpowiednik HTTP

Jeśli nie możesz zaimplementować na swojej platformie przekierowań po stronie serwera, dobrym rozwiązaniem mogą być przekierowania meta refresh. Google rozróżnia 2 rodzaje przekierowań meta refresh:

  • Natychmiastowe przekierowanie meta refresh: uruchamia się zaraz po wczytaniu strony w przeglądarce. Wyszukiwarka Google interpretuje natychmiastowe przekierowania meta refresh jako trwałe.
  • Opóźnione przekierowanie meta refresh: uruchamia się po dowolnej liczbie sekund ustawionej przez właściciela witryny. Wyszukiwarka Google interpretuje opóźnione przekierowania meta refresh jako tymczasowe.

Umieść przekierowanie meta refresh w elemencie <head> w kodzie HTML lub w nagłówku HTTP z kodem po stronie serwera. Oto przykładowe natychmiastowe przekierowanie meta refresh w elemencie <head> w kodzie HTML:

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="0; url=https://example.com/newlocation">
  <title>Example title</title>
  <!--...-->

Oto przykład odpowiednika nagłówka HTTP, który możesz wstrzyknąć za pomocą skryptów po stronie serwera:

HTTP/1.1 200 OK
Refresh: 0; url=https://www.example.com/newlocation
...

Aby utworzyć opóźnione przekierowanie, które Google będzie traktować jako tymczasowe, ustaw liczbę sekund opóźnienia przekierowania w atrybucie content:

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="5; url=https://example.com/newlocation">
  <title>Example title</title>
  <!--...-->

Przekierowania JavaScript location

Gdy indeksowanie adresu URL zostaje ukończone, wyszukiwarka Google interpretuje i wykonuje kod JavaScript za pomocą usługi renderowania internetowego.

Aby skonfigurować przekierowanie JavaScript, we właściwości location ustaw docelowy URL przekierowania w bloku skryptu w nagłówku HTML. Na przykład:

<!doctype html>
<html>
  <head>
    <script>
      window.location.href = "https://www.example.com/newlocation";
    </script>
    <title>Example title</title>
    <!--...-->

Przekierowania Crypto

Nawet jeśli nie możesz zastosować tradycyjnych metod przekierowania, nadal musisz dołożyć starań, aby poinformować użytkowników o przeniesieniu strony lub jej zawartości. Najprostszym sposobem jest dodanie linku do nowej strony wraz z krótkim wyjaśnieniem. Na przykład:

<a href="https://newsite.example.com/newpage.html">Przenieśliśmy się! Nasze treści znajdziesz w nowej witrynie.</a>

Pomaga to użytkownikom znaleźć Twoją nową witrynę, a Google może to uznać za przekierowanie crypto (to jest tak jak z potworem z Loch Ness, którego istnienie może zostać zakwestionowane – niektóre wyszukiwarki nie rozpoznają tego pseudoprzekierowania jako oficjalnego przekierowania).

Alternatywne wersje adresu URL

Gdy przekierowujesz adres URL, Google śledzi zarówno źródło przekierowania (stary URL), jak i jego cel (nowy adres URL). Jeden z tych adresów zostanie wybrany jako kanoniczny. Wybór zależy od różnych czynników, na przykład od tego, czy przekierowanie jest tymczasowe czy trwałe. Drugi adres URL będzie uznawany za alternatywną nazwę kanonicznego adresu URL. Alternatywne nazwy to różne wersje kanonicznego adresu URL, które użytkownicy mogą rozpoznawać i darzyć większym zaufaniem. Te nazwy mogą pojawiać się w wynikach wyszukiwania, jeśli zapytanie użytkownika wskazuje, że bardziej ufa on staremu adresowi URL.

Jeśli na przykład przeniesiesz witrynę do nowej domeny, jest bardzo prawdopodobne, że Google nadal od czasu do czasu będzie wyświetlać w wynikach wyszukiwania stare adresy URL, mimo że nowe będą już zindeksowane. Jest to normalne. Gdy użytkownicy przyzwyczają się do nowej nazwy domeny, alternatywne nazwy samoczynnie znikną.