Jak określić stronę kanoniczną za pomocą rel="canonical" i innych metod

Aby określić kanoniczny URL dla duplikatów stron lub bardzo podobnych stron w wyszukiwarce Google, możesz to zrobić za pomocą kilku metod. Oto one uporządkowane według tego, w jakim stopniu mogą wpływać na wybór strony kanonicznej):

Pamiętaj, że te metody kumulują się, więc można je łączyć, aby były skuteczniejsze. Oznacza to, że jeśli używasz co najmniej 2 metod, zwiększasz szanse na wyświetlanie preferowanego kanonicznego adresu URL w wynikach wyszukiwania.

Zachęcamy do korzystania z tych metod, ale nie są one wymagane. Witryna będzie prawdopodobnie działać dobrze, nawet jeśli nie określisz kanonicznego ustawienia. Dzieje się tak dlatego, że jeśli nie określisz kanonicznego adresu URL, Google ustali, która wersja adresu URL jest obiektywnie najlepsza, aby wyświetlać ją użytkownikom w wyszukiwarce.

Dlaczego warto określić kanoniczny URL

Ustawienie kanonicznego adresu URL nie jest zazwyczaj niezbędne. Istnieje jednak wiele powodów, dla których warto wyraźnie poinformować Google o stronie kanonicznej w zbiorze duplikatów lub podobnych stron:

  • Aby określić adres URL, który ma być widoczny w wynikach wyszukiwania. Możesz skonfigurować witrynę tak, aby użytkownicy trafiali na stronę produktu, którym jest zielona sukienka, znajdującą się pod adresem https://www.example.com/dresses/green/greendress.html, a nie https://example.com/dresses/cocktail?gclid=ABCD.
  • Aby skonsolidować sygnały dotyczące podobnych lub zduplikowanych stron. Możliwość konsolidowania sygnałów o poszczególnych adresach URL (np. linków, które do nich prowadzą) w jednym preferowanym adresie URL upraszcza działanie wyszukiwarek. Oznacza to, że sygnały z innych witryn do strony https://example.com/dresses/cocktail?gclid=ABCD zostaną skonsolidowane z linkami do strony https://www.example.com/dresses/green/greendress.html, jeśli ta druga strona stanie się kanoniczna.
  • Aby uprościć śledzenie danych dotyczących określonych treści W przypadku różnych adresów URL trudniej jest uzyskać skonsolidowane dane dla konkretnych treści.
  • Aby nie tracić czasu na indeksowanie duplikatów stron. Możesz chcieć, aby Googlebot w pełni wykorzystywał możliwości Twojej witryny, lepiej więc, żeby indeksował nowe (lub zaktualizowane) strony, zamiast skanować duplikaty z tą samą trescią.

Sprawdzone metody

W przypadku wszystkich metod wyboru strony kanonicznej postępuj zgodnie z tymi sprawdzonymi metodami:

  • Do wyboru strony kanonicznej nie używaj pliku robots.txt.
  • Nie wybieraj strony kanonicznej przy użyciu narzędzia do usuwania adresów URL – ukryje ono wszystkie wersje adresu URL w wyszukiwarce.
  • Nie określaj różnych adresów URL jako kanonicznych dla tej samej strony, używając różnych metod (np. nie określaj jednego adresu URL w mapie witryny, a innego dla tej samej strony przy użyciu atrybutu rel="canonical").
  • Nie zalecamy używania noindex do uniemożliwiania wyboru strony kanonicznej w jednej witrynie, ponieważ całkowicie zablokuje to dostęp wyszukiwarki do tej strony. Preferowanym rozwiązaniem są adnotacje rel="canonical" link.
  • Jeśli używasz elementów hreflang, pamiętaj, aby określić stronę kanoniczną w tym samym języku lub w najlepszym zastępczym języku, jeśli strona kanoniczna nie istnieje dla tego samego języka.
  • Linki w witrynie ustawiaj na kanoniczny URL, a nie duplikat. Spójne wskazywanie tego samego adresu URL, który uważasz za kanoniczny, pomaga Google odczytać Twoje preferencje.

Porównanie metod wyboru strony kanonicznej

W tabeli poniżej znajdziesz porównanie różnych metod wyboru strony kanonicznej oraz ich mocnych i słabych stron w kontekście konserwacji i skuteczności w różnych sytuacjach.

Metoda i opis
Element rel="canonical" link

Dodaj wskazujący stronę kanoniczną element <link> w kodzie wszystkich zduplikowanych stron.

Zalety:
  • Pozwala zmapować nieskończoną liczbę zduplikowanych stron.
Wady:
  • Może zwiększyć rozmiar strony.
  • Mapowanie może stać się zbyt skomplikowane w większych witrynach lub tam, gdzie adresy URL często się zmieniają.
  • Działa tylko w przypadku stron HTML i nie działa w przypadku plików, np. PDF. Możesz wtedy użyć nagłówka HTTP rel="canonical".
Nagłówek HTTP rel="canonical"

Umieść nagłówek rel="canonical" w odpowiedzi dla Googlebota.

Zalety:
  • Nie zwiększa rozmiaru strony.
  • Pozwala zmapować nieskończoną liczbę zduplikowanych stron.
Wady:
  • Mapowanie może stać się zbyt skomplikowane w większych witrynach lub tam, gdzie adresy URL często się zmieniają.
Mapa witryny

Określ strony kanoniczne w mapie witryny.

Zalety:

  • Łatwa do stosowania i utrzymywania, zwłaszcza w przypadku dużych witryn.

Wady:

  • Google nadal musi określić duplikaty powiązane ze stronami kanonicznymi zadeklarowanymi w mapie witryny.
  • Mniej wyraźny sygnał dla Google niż technika mapowania rel="canonical".
Przekierowania Użyj przekierowań, aby poinformować Googlebota, że adres URL przekierowania jest lepszą wersją niż adres analizowany. Używaj tej metody tylko wtedy, gdy wycofujesz duplikat strony.
Wersja AMP Jeśli jedną z wersji strony jest stroną AMP, postępuj zgodnie ze wskazówkami dotyczącymi standardu AMP, aby wskazać stronę kanoniczną i jej wersję AMP.

Google obsługuje adnotacje rel canonical link zgodnie z opisem w RFC 6596. Adnotacje rel="canonical" link można dodać na 2 sposoby:

Zalecamy skorzystanie tylko z jednego z nich: Użycie obu metod w tym samym czasie jest bardziej podatne na błędy (np. możesz podać jeden URL w nagłówku HTTP i drugi w elemencie rel="canonical" link).

Element rel="canonical" link (nazywany też elementem kanonicznym) to element używany w sekcji head kodu HTML, wskazujący, że dla treści na stronie reprezentatywna jest inna strona.

Załóżmy, że chcesz określić adres https://example.com/dresses/green-dresses jako kanoniczny URL, nawet wtedy, gdy do tej samej treści prowadzą także inne adresy URL. Aby go oznaczyć jako kanoniczny, wykonaj te czynności:

  1. Dodaj element <link> z atrybutem rel="canonical" do sekcji <head> duplikatów stron, aby wskazać stronę kanoniczną. Na przykład:
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  2. Jeśli strona kanoniczna ma wersję na komórki pod osobnym adresem URL, dodaj do niej element rel="alternate" link prowadzący do jej wersji mobilnej:
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="alternate" media="only screen and (max-width: 640px)"  href="https://m.example.com/dresses/green-dresses">
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  3. Dodaj wszystkie elementy hreflang i inne elementy odpowiednie dla strony.

Stosuj bezwzględne ścieżki dostępu zamiast ścieżek względnych z elementem rel="canonical" link. Chociaż ścieżki względne są obsługiwane przez Google, w dłuższej perspektywie mogą powodować problemy (np. gdy w sposób niezamierzony zezwolisz na skanowanie witryny testowej), dlatego nie zalecamy ich stosowania.

Dobry przykład: https://www.example.com/dresses/green/greendress.html

Zły przykład: /dresses/green/greendress.html

Adnotacja rel="canonical" link element jest akceptowana tylko wtedy, gdy występuje w sekcji <head> w kodzie HTML, więc upewnij się, że sekcja <head> jest prawidłowym kodem HTML.

Jeśli używasz JavaScriptu do dodawania elementu rel="canonical" link, pamiętaj, żeby prawidłowo wstawić element link strony kanonicznej.

Nagłówek HTTP rel="canonical"

Jeśli możesz zmienić konfigurację serwera, do wskazania kanonicznego adresu URL dokumentu obsługiwanego przez wyszukiwarkę (w tym dokumentów w formacie innym niż HTML, takich jak pliki PDF) możesz użyć nagłówka HTTP rel="canonical", a nie elementu HTML.

Obecnie Google obsługuje tę metodę tylko w odniesieniu do wyników wyszukiwania w internecie.

Jeśli publikujesz treść w różnych formatach, np. PDF lub Microsoft Word, i każdy z nich ma własny adres URL, możesz zwrócić nagłówek HTTP rel="canonical", aby poinformować Googlebota, jaki jest adres kanoniczny plików innych niż HTML. Aby na przykład wskazać, że wersja PDF pliku .docx powinna być kanoniczna, możesz dodać ten nagłówek HTTP przy wersji.docx danej treści:

HTTP/1.1 200 OK
Content-Length: 19
...
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"
...

Tak jak w przypadku elementu rel="canonical" link, używaj bezwzględnych adresów URL w nagłówku HTTP rel="canonical" i zgodnie ze standardem RFC2616 wokół adresu URL używaj tylko cudzysłowów podwójnych.

Używanie mapy witryny

Wybierz kanoniczne adresy URL wszystkich stron i prześlij je w mapie witryny. Wszystkie strony wymienione w mapie witryny są proponowane jako kanoniczne. Na podstawie podobieństwa ich zawartości Google decyduje, które z nich ewentualnie są duplikatami.

W mapie witryny możesz umieścić preferowane kanoniczne adresy URL, dzięki którym możesz łatwo zdefiniować adresy kanoniczne w przypadku dużych witryn. Poza tym mapy witryn pozwalają informować Google o tym, które strony są według Ciebie najważniejsze w witrynie.

Korzystanie z przekierowań

Użyj tej metody, jeśli chcesz pozbyć się zduplikowanych stron. Wszystkie metody przekierowania – przekierowania 301 i 302, meta-refresh, przekierowania JavaScript – mają taki sam wpływ na wyszukiwarkę Google, ale czas rozpoznawania poszczególnych metod przez wyszukiwarki może się różnić.

Aby uzyskać najszybszy efekt, użyj przekierowań HTTP 3xx (nazywanych też przekierowaniami po stronie serwera).

Powiedzmy, że na Twoją stronę można wejść przy użyciu tych adresów:

  • https://example.com/home
  • https://home.example.com
  • https://www.example.com

Wybierz jeden z tych adresów jako kanoniczny adres URL i użyj przekierowań , aby przesyłać na niego ruch z pozostałych adresów.

Inne sygnały

Oprócz wyraźnie wskazanych metod Google używa też zestawu sygnałów wyboru strony kanonicznej, które zależą zwykle od konfiguracji witryny: preferują protokół HTTPS przed HTTP i adresy URL w klastrach hreflang.

Pierwszeństwo protokołu HTTPS przed HTTP w URL-ach kanonicznych

Jako kanoniczne Google woli określać strony HTTPS, a nie równoważne strony HTTP, poza sytuacjami, w których – jak w poniższych przykładach – występują problemy lub sygnały wzajemnie się wykluczające:

  • Strona HTTPS ma nieprawidłowy certyfikat SSL.
  • Strona HTTPS zawiera niezabezpieczone zależności (inne niż obrazy).
  • Strona HTTPS przekierowuje użytkowników do strony HTTP lub przez taką stronę.
  • Strona HTTPS zawiera tag rel="canonical" link prowadzący do strony HTTP.

Chociaż nasze systemy domyślnie wybierają strony HTTPS zamiast stron HTTP, możesz zdecydować, żeby robiły tak zawsze. W tym celu wykonaj jedną z tych czynności:

  • Dodaj przekierowania ze strony HTTP do strony HTTPS.
  • Dodaj tag rel="canonical" link prowadzący ze strony HTTP do strony HTTPS.
  • Zaimplementuj HSTS.

Aby zapobiec nieprawidłowemu interpretowaniu przez Google strony HTTP jako kanonicznej, unikaj tych praktyk:

  • Użycie nieprawidłowych certyfikatów TLS/SSL i przekierowań HTTPS do HTTP, ponieważ powodują one, że Google zdecydowanie preferuje HTTP. Wykorzystanie mechanizmu HSTS nie umożliwia obejścia określonego w ten sposób wysokiego priorytetu strony.
  • Podawanie w mapie witryny lub w adnotacjach hreflang wersji HTTP swoich stron zamiast wersji HTTPS.
  • Wdrażanie certyfikatu SSL/TLS dla nieprawidłowego wariantu hosta. Na przykład udostępnianie przez witrynę example.com certyfikatu dla domeny subdomain.example.com. Certyfikat musi pasować do pełnego adresu URL witryny lub być certyfikatem typu Wildcard, którego można używać w odniesieniu do wielu subdomen domeny.

Preferowanie adresów URL w klastrach hreflang

Aby ułatwić lokalizowanie witryn, w celu wyboru strony kanonicznej Google preferuje adresy URL należące do klastrów hreflang. Jeśli na przykład strony https://example.com/de-de/cats oraz https://example.com/de-ch/cats wskazują na siebie nawzajem za pomocą adnotacji hreflang, ale nie wskazują na stronę https://example.com/de-at/cats, jako strony kanoniczne będą preferowane strony dla języków de-de i de-ch, a nie strona /de-at/, która nie pojawia się w klastrze hreflang.

Dowiedz się więcej o rozwiązywaniu problemów z wyborem strony kanonicznej.