Przejdź do treści głównej

Poradniki / Pojęcia monitoringu wyjaśnione

Czym jest noindex i kiedy go używać

Dyrektywa noindex mówi wyszukiwarkom, żeby trzymały stronę poza swoim indeksem, mimo że wciąż wolno im ją crawlować. Ustawia się ją albo jako meta tag w <head> strony, albo jako nagłówek odpowiedzi HTTP X-Robots-Tag, i to właściwe narzędzie dla stron, które muszą istnieć, ale nie mogą pojawiać się w wynikach wyszukiwania.

Dwa miejsca, w których żyje noindex

Są dokładnie dwa wspierane sposoby, żeby to powiedzieć, i oznaczają to samo:

<meta name="robots" content="noindex">
X-Robots-Tag: noindex

Meta tag działa wyłącznie wewnątrz <head> dokumentu HTML. Nagłówek działa na wszystkim, co wysyła serwer, dlatego jest jedyną opcją dla PDF-a, obrazu czy endpointu JSON. Możesz też celować w jedną konkretną wyszukiwarkę po nazwie, więc <meta name="googlebot" content="noindex"> dotyczy Google, a zostawia inne wyszukiwarki w spokoju.

Druga wartość w content to osobna decyzja. noindex, follow trzyma stronę poza indeksem, jednocześnie pozwalając crawlerom korzystać z jej linków; noindex, nofollow zatrzymuje obie rzeczy. Dla paginowanego archiwum albo filtrowanej listy noindex, follow to zwykle to, czego chcesz, bo linki na tych stronach są sposobem, w jaki odkrywane są głębsze strony.

Kiedy noindex to właściwy wybór

Używaj go na stronach, które muszą być osiągalne, ale nie mają czego szukać w rankingach: wewnętrznych stronach wyników wyszukiwania, stronach z podziękowaniem i potwierdzeniem zamówienia, duplikatach do druku, obszarach konta użytkownika, archiwach tagów zawierających po jednym wpisie oraz środowiskach staging czy demo jako całości.

Nie używaj go jako naprawy zduplikowanej treści, gdy obie strony są naprawdę tym samym. Do tego służy rel=canonical: kanoniczny adres konsoliduje sygnały z obu adresów URL w jeden, podczas gdy noindex całkowicie odrzuca duplikat, razem z jego linkami.

Reguła, którą wszyscy mylą: crawlowanie jest pierwsze

Crawler musi pobrać stronę, żeby zobaczyć na niej noindex. Jeśli zablokujesz ten URL w robots.txt, crawler nigdy go nie pobiera, nigdy nie widzi dyrektywy, a URL wciąż może pojawić się w wynikach dzięki linkom zewnętrznym, zwykle bez opisu.

Łączenie obu jest więc samobójcze. Żeby usunąć stronę z wyszukiwania, zezwól na crawlowanie i serwuj noindex. Gdy strona zostanie ponownie zindeksowana i wypadnie, możesz zablokować ją w robots.txt, jeśli dodatkowo chcesz oszczędzić budżet crawlowania. Zrobienie tego w odwrotnej kolejności zostawia stronę w indeksie na czas nieokreślony. Wstawienie noindex wewnątrz robots.txt też nie działa; Google przestał honorować tę nieudokumentowaną składnię 1 września 2019 roku.

Jak to przecieka ze staging na produkcję

Niemal każdy poważny incydent z noindex zaczyna się jako celowy, poprawny noindex na witrynie staging. Potem dzieje się jedno z poniższych:

  • Kopia bazy danych. Baza staging zostaje przywrócona nad produkcją, niosąc ze sobą flagę CMS-a. W WordPressie to checkbox "Zniechęcaj wyszukiwarki do indeksowania tej witryny" w Ustawieniach, zapisany jako wiersz opcji.
  • Promocja konfiguracji. Plik .env ze staging albo fragment konfiguracji nginx dodający X-Robots-Tag: noindex do każdej odpowiedzi zostaje wdrożony razem z wydaniem.
  • Scalenie motywu albo szablonu. Zakodowany na sztywno meta tag we współdzielonym pliku layoutu przetrwa scalenie, którego nikt nie przeczytał linia po linii.
  • Reguła CDN albo brzegu sieci napisana, żeby chronić hosta podglądu, zastosowana do wzorca trasy, który pasuje też do produkcji.

Powodem, dla którego jest to kosztowne, jest to, że nic się nie psuje. Strona zwraca 200, ładuje się normalnie i przechodzi każdą kontrolę uptime. Ruch zanika przez kolejne dni, w miarę jak strony są ponownie indeksowane i wypadają, a zanim ktoś zauważy wykres, powrót też zajmuje kilka dni.

Jak wykryć niezamierzony noindex

  1. Przeczytaj nagłówek. curl -sI https://example.com/ | grep -i x-robots-tag nic nie zwraca na zdrowej stronie. Wszystko, co wypisze, warto wyjaśnić.
  2. Przeczytaj meta tag w serwowanym HTML-u, nie w swoim edytorze: curl -s https://example.com/ | grep -i 'name="robots"'. Logika po stronie serwera i edge workery mogą wstrzykiwać tagi, których nie ma w Twoim repozytorium.
  3. Sprawdź Search Console. URL Inspection raportuje "Wykluczone przez tag 'noindex'" dla każdego URL-a, a raport Pages grupuje każdy dotknięty URL pod tym samym powodem.
  4. Przeskanuj całą witrynę, bo przeciek rzadko dotyczy strony głównej, którą testowałeś. Crawl oznacza noindex dla każdego URL-a, więc szablon dotykający tylko stron produktowych pojawi się jako blok oznaczonych wierszy, a nie pojedyncza niespodzianka.

Noindex na całej witrynie to łatwy przypadek. Częstszy to pojedynczy szablon albo pojedyncza trasa, czyli dokładnie to, co pomija wyrywkowa kontrola strony głównej.

Sprawdź każdą stronę, nie tylko tę, którą pamiętasz

Dla pojedynczego URL-a darmowe sprawdzenie noindex odczytuje meta tag robots i nagłówek X-Robots-Tag tak, jak strona jest serwowana, i mówi, który z nich ustawił dyrektywę. Żeby sprawdzić, czy to jedna strona, czy cała sekcja, darmowe narzędzie do crawlowania strony przechodzi po witrynie i oznacza każdą znalezioną stronę z noindex, razem z brakującymi kanonicznymi adresami i zduplikowaną treścią. A ponieważ przeciek zwykle przychodzi razem z wydaniem, opcja Indexability na monitorze HTTP HostTracker odczytuje oba przy każdej kontroli i wysyła powiadomienie w dniu, w którym któryś z nich się zmieni - monitoring SEO wyjaśnia, jak to działa.

Sprawdź teraz

Uruchom darmowe sprawdzenie na swojej stronie - bez zakładania konta.

Noindex checker

Monitoruj to na stałe

Otrzymasz powiadomienie w chwili awarii: HostTracker sprawdza z ponad 300 lokalizacji i powiadamia e-mailem, SMS-em, przez Slack, Telegram i nie tylko.

Funkcje HostTracker

Więcej w tej sekcji: Pojęcia monitoringu wyjaśnione