Dokumentacja
Usuń noindex z działającej strony
Usuń noindex z działającej strony
noindex mówi wyszukiwarkom, żeby usunęły stronę ze swoich wyników. Na stronie testowej to dokładnie to, czego chcesz. Na działającej stronie to najdroższy jednowyrazowy błąd w SEO: strona dalej się ładuje, każdy odwiedzający dalej ją widzi, ale w ciągu dni lub tygodni Google usuwa jej podstrony, a pierwszym sygnałem jest zwykle raport ruchu miesiąc później. Prawie zawsze pojawia się tak samo: strona startuje z wciąż włączonymi ustawieniami środowiska testowego.
Lista kontrolna strony oznacza to jako Popraw i wysyła ostrzeżenie, gdy strona, która była indeksowana, staje się noindex.
Skąd bierze się noindex
| Gdzie | Jak wygląda | Kto go dodaje |
|---|---|---|
| znacznik meta w HTML | <meta name="robots" content="noindex, nofollow"> |
CMS, wtyczka SEO, motyw lub szablon aplikacji |
nagłówek X-Robots-Tag |
X-Robots-Tag: noindex |
serwer WWW, .htaccess, reguła w CDN lub aplikacja |
Lista kontrolna odczytuje oba i pokazuje, który znalazła. nofollow, noarchive i podobne same nie usuwają strony; robi to tylko noindex (także wewnątrz none).
Sprawdź sam
Zamiast example.com wpisz swoją stronę:
curl -sIL https://example.com | grep -i '^x-robots-tag'
curl -sL https://example.com | grep -ioE '<meta[^>]+name="?(robots|googlebot)"?[^>]*>'
Pierwsze polecenie wypisuje nagłówek, drugie znaczniki meta robots. Jeśli żadne nie wypisuje niczego z noindex, strona może być indeksowana. Sprawdź też kilka podstron, nie tylko stronę główną: szablon lub pojedyncza strona może mieć własny noindex.
Jak to naprawić
Znajdź, skąd pochodzi noindex (tabela powyżej), i usuń go tam. Jeśli nie masz pewności, zacznij od zakładki CMS lub aplikacji, a zakładek serwerowych użyj, gdy źródłem jest nagłówek.
WordPress
Cała strona. Otwórz Settings → Reading i odznacz Search engine visibility (Discourage search engines from indexing this site), potem kliknij Save Changes. To właśnie to pole zostaje zaznaczone, gdy strona przechodzi ze środowiska testowego na produkcję.
Pojedyncza strona lub wpis z Yoast SEO. Edytuj stronę, w polu Yoast SEO otwórz Advanced i ustaw Allow search engines to show this page in search results? na Yes (albo wartość domyślną, jeśli domyślnie jest Yes). Całe typy treści są w Yoast SEO → Settings → Content types (Show … in search results).
Pojedyncza strona lub wpis z Rank Math. Edytuj stronę, otwórz panel Rank Math, zakładkę Advanced, i w Robots Meta odznacz No Index. Domyślne ustawienia dla całej strony są w Rank Math SEO → Titles & Meta.
Następnie wyczyść pamięć podręczną strony (WP Rocket, LiteSpeed Cache, W3 Total Cache, cache hostingu): zapisana strona wciąż ma stary znacznik.
Jeśli znacznik nadal tam jest, poszukaj go w motywie i wtyczkach: może go dodawać także wtyczka "maintenance" lub "coming soon" albo linia w functions.php, która podpina się pod wp_robots.
cPanel
Znacznik meta pochodzi z CMS (zobacz zakładkę WordPress). Nagłówek może pochodzić z pliku .htaccess:
- Otwórz Files → File Manager, przejdź do folderu strony (zwykle
public_html) i w Settings włącz Show Hidden Files. - Edytuj
.htaccessi poszukaj linii zX-Robots-Tag, na przykład:
Header set X-Robots-Tag "noindex, nofollow"
- Usuń linię (albo cały otaczający ją blok
<IfModule mod_headers.c>) i zapisz.
Sprawdź też pliki .htaccess w podfolderach. Jeśli tam nic nie ma, a nagłówek zostaje, zapytaj hosting, czy dodaje go dla domen testowych lub tymczasowych.
nginx
Poszukaj nagłówka w całej konfiguracji:
sudo grep -rn -i 'x-robots-tag' /etc/nginx/
Szukasz linii takiej jak ta, często pozostałości bloku server ze środowiska testowego, skopiowanego na produkcję:
add_header X-Robots-Tag "noindex, nofollow" always;
Usuń ją z bloku server działającej strony (na Debianie i Ubuntu w /etc/nginx/sites-available/, na Rocky, Alma i CentOS w /etc/nginx/conf.d/), potem sprawdź i przeładuj:
sudo nginx -t && sudo systemctl reload nginx
Jeśli strona to aplikacja za proxy (Node, Python), nagłówek może wysyłać sama aplikacja: zobacz zakładkę Node.js lub Laravel.
Apache i LiteSpeed
Poszukaj nagłówka w konfiguracji serwera i w .htaccess:
sudo grep -rn -i 'x-robots-tag' /etc/apache2/ /var/www/
(Na Rocky, Alma i CentOS /etc/httpd/ zamiast /etc/apache2/.) Usuń linię taką jak ta:
Header set X-Robots-Tag "noindex, nofollow"
Jeśli była w wirtualnym hoście, zastosuj zmianę:
sudo apachectl configtest && sudo systemctl reload apache2
Zmiana w .htaccess działa od razu, także na hostingu współdzielonym z LiteSpeed.
Cloudflare
Cloudflare sam nie dodaje noindex do Twojej domeny, ale może to zrobić reguła, którą ktoś tam utworzył. Otwórz domenę i sprawdź:
- Rules → Transform Rules → Modify Response Header: reguła, która ustawia
X-Robots-Tag. Usuń ją lub wyłącz. - Workers Routes: Worker na domenie może dodać nagłówek lub przepisać stronę.
W Cloudflare Pages adresy podglądu na *.pages.dev celowo mają X-Robots-Tag: noindex; Twoja własna domena nie. Jeśli działająca domena go ma, zajrzyj do pliku _headers projektu.
Gdy nagłówka już nie ma, wyczyść cache: Caching → Configuration → Purge Everything.
Node.js i Next.js
W Next.js App Router poszukaj robots w metadata lub generateMetadata, najczęściej w głównym app/layout.js:
export const metadata = {
robots: { index: false, follow: false }, // usuń albo uzależnij od środowiska
};
Sprawdź też headers() w next.config.js pod kątem wpisu X-Robots-Tag, a w Pages Router ewentualny <meta name="robots"> w next/head. Jeśli chcesz ukryć środowisko testowe, powiąż to ze zmienną środowiskową ustawioną tylko tam, żeby produkcja nie mogła jej odziedziczyć.
Na Vercelu wdrożenia podglądowe dostają X-Robots-Tag: noindex automatycznie; domena produkcyjna nie. W Expressie poszukaj X-Robots-Tag w middleware.
Laravel
Poszukaj znacznika meta robots w szablonie (zwykle resources/views/layouts/app.blade.php), a w app/Http/Middleware wszystkiego, co ustawia X-Robots-Tag. Częsty wzorzec to warunek na środowisko:
@unless (app()->isProduction())
<meta name="robots" content="noindex, nofollow">
@endunless
To dobry wzorzec, ale zawodzi, gdy produkcja działa z niewłaściwym środowiskiem. Upewnij się, że .env na serwerze produkcyjnym ma APP_ENV=production, potem uruchom php artisan config:cache, żeby uwzględniła to też zapisana konfiguracja.
Shopify
Shopify nie dodaje noindex do publicznego sklepu. Jeśli lista kontrolna go znajdzie:
- Online Store → Preferences → Password protection: dopóki strona z hasłem jest włączona, sklep w ogóle nie jest publiczny. Wyłącz ją, gdy sklep startuje.
- Online Store → Themes → … → Edit code: przeszukaj
theme.liquidi snippety pod kątemnoindex. Niektóre motywy i aplikacje celowo dodają go do pewnych szablonów (wyniki wyszukiwania, filtrowane kolekcje), co jest w porządku; na stronie głównej i produktach nie. - Strony może ukrywać też aplikacja SEO; sprawdź jej ustawienia.
Wix
W panelu otwórz ustawienia SEO i upewnij się, że Let search engines index your site jest włączone. Dla pojedynczej strony: w edytorze otwórz ustawienia strony, SEO basics, i włącz Let search engines index this page. Potem opublikuj stronę.
Webflow
Webflow ukrywa tylko własny adres testowy *.webflow.io (Site settings → SEO → Disable Webflow subdomain indexing); to ustawienie nie dotyczy Twojej domeny. Jeśli Twoja domena ma noindex, pochodzi on z własnego kodu: sprawdź Site settings → Custom code (Head code) i Page settings → Custom code każdej strony, usuń znacznik meta robots i kliknij Publish.
Squarespace
Sprawdź, czy strona jest publiczna (dostępność strony nie jest prywatna ani chroniona hasłem), potem otwórz Page settings → SEO strony i wyłącz opcję, która ukrywa stronę przed wyszukiwarkami. Znacznik meta robots może zawierać też wstrzykiwanie kodu (Settings → Advanced → Code Injection, w planach, które je mają).
Ukrywaj środowisko testowe hasłem, nie noindex
noindex na środowisku testowym to ustawienie, o którym musisz pamiętać w dniu startu. Hasło (HTTP basic auth lub ochrona katalogu hasłem w panelu hostingu) zamyka drogę wyszukiwarkom i wszystkim innym, a przy przenosinach nie ma o czym zapomnieć, bo serwer produkcyjny nigdy go nie miał.
Powrót do Google
Usunięcie znacznika nie przywraca stron w tej samej minucie. Google musi je odwiedzić ponownie:
- W Google Search Console wklej adres do URL inspection na górze. Pokaże, czy Google wciąż widzi
noindex; kliknij Test live URL, żeby sprawdzić aktualną wersję. - Kliknij Request indexing dla strony głównej i najważniejszych podstron.
- Prześlij mapę strony w Indexing → Sitemaps (zobacz Dodaj mapę strony), żeby Google znalazł resztę.
Większość stron wraca w ciągu kilku dni; na dużej stronie w ciągu kilku tygodni.
Potwierdź poprawkę
Uruchom ponownie oba polecenia curl z sekcji Sprawdź sam, potem otwórz cel w PulseKeeper i kliknij Sprawdź teraz na zakładce Lista kontrolna. Pozycja zmieni się na OK w ciągu kilku minut, a nie dopiero przy kolejnym codziennym sprawdzeniu.