Mam w swojej witrynie kilka stron, od których chcę trzymać wyszukiwarki z daleka, dlatego nie zezwalam na to w moim robots.txt
pliku w następujący sposób:
User-Agent: *
Disallow: /email
Jednak ostatnio zauważyłem, że Google nadal czasami zwraca linki do tych stron w wynikach wyszukiwania. Dlaczego tak się dzieje i jak mogę to zatrzymać?
Tło:
Kilka lat temu stworzyłem prostą stronę internetową dla klubu, w którym brał udział mój krewny. Chcieli mieć na swoich stronach linki e-mail, więc staraj się, aby adresy te nie kończyły się na zbyt wielu listy spamowe, zamiast korzystać z bezpośrednich mailto:
linków, sprawiłem, że te linki wskazują na prosty skrypt pułapki przekierowującego / zbierającego adresy działający na mojej stronie. Ten skrypt zwróci przekierowanie 301 do faktycznego mailto:
adresu URL lub, jeśli wykryje podejrzany wzorzec dostępu, stronę zawierającą wiele losowych fałszywych adresów e-mail i łącza do większej liczby takich stron. Aby utrzymać prawidłowe boty wyszukiwania z dala od pułapki, skonfigurowałem robots.txt
zasadę pokazaną powyżej, nie zezwalając na całą przestrzeń zarówno legalnych linków przekierowujących, jak i stron pułapek.
Jednak niedawno jedna z osób w klubie szukała w Google własnego nazwiska i była dość zaskoczona, gdy jednym z wyników na pierwszej stronie był link do skryptu przekierowującego, a następnie tytuł składający się z adresu e-mail po moim imieniu Oczywiście natychmiast wysłali mi e-mail i chcieli dowiedzieć się, jak uzyskać adres z indeksu Google. Byłem też dość zaskoczony, ponieważ nie miałem pojęcia, że Google w ogóle indeksuje takie adresy URL, najwyraźniej naruszając moją robots.txt
zasadę.
Udało mi się przesłać prośbę o usunięcie do Google i wygląda na to, że zadziałało, ale chciałbym wiedzieć, dlaczego i jak Google obchodzi moje robots.txt
podobne sposoby i jak upewnić się, że żadna niedozwolona strona nie pojawi się na ich wyniki wyszukiwania.
Ps. Właściwie znalazłem możliwe wyjaśnienie i rozwiązanie, które opublikuję poniżej, przygotowując to pytanie, ale pomyślałem, że i tak go zadam, na wypadek gdyby ktoś miał ten sam problem. Prosimy o zamieszczanie własnych odpowiedzi. Chciałbym również wiedzieć, czy robią to inne wyszukiwarki i czy te same rozwiązania również działają.
źródło
robots.txt
plik jest jak mały „No Trespassing” znak obok czyjegoś podjazdu. To nie jest magia i (chyba, że gość wyraźnie jej szuka), mogą wędrować po twojej nieruchomości bez najmniejszego wpływu na jej istnienie. Istnieją internetowe odpowiedniki reflektorów i ogrodzeń z żyletek, ale jeśli to jest to, czego chcesz,robots.txt
prawda?Odpowiedzi:
Wygląda na to, że Google celowo uwzględnia
robots.txt
w indeksie adresy URL niedozwolone, jeśli istnieją linki do tych adresów URL z innych stron, które zaindeksowały. Aby zacytować strony pomocy Narzędzi dla webmasterów :Najwyraźniej Google interpretuje
Disallow
dyrektywęrobots.txt
jako zakaz indeksowania strony, a nie indeksowania jej. Podejrzewam, że jest to technicznie poprawna interpretacja, nawet jeśli narusza przepisy prawne, które mnie dotyczą.W tym artykule z wywiadu Matt Cutts z Google przedstawia nieco więcej tła i podaje uzasadnione uzasadnienie, dlaczego to robi:
Rozwiązaniem zalecanym na obu tych stronach jest dodanie
noindex
metatagu do stron, których nie chcesz indeksować. (X-Robots-Tag
Nagłówek HTTP powinien również działać w przypadku stron innych niż HTML. Nie jestem jednak pewien, czy działa on na przekierowaniach.) Paradoksalnie oznacza to, że musisz zezwolić Googlebotowi na indeksowanie tych stron (przez usunięcie ichrobots.txt
całkowicie lub przez dodanie osobnego, bardziej liberalnego zestawu reguł dla Googlebota), ponieważ w przeciwnym razie nie będzie w stanie zobaczyć metatagu.Zmodyfikowałem skrypt przekierowania / pająka, aby wysłać zarówno metatag, jak i
X-Robots-Tag
nagłówek z wartością,noindex,nofollow
i pozwoliłem Googlebotowi na indeksowanie adresu URL skryptu w moim plikurobots.txt
. Zobaczymy, czy to zadziała, gdy Google ponownie zaindeksuje moją witrynę.źródło
Prawdą jest, że chociaż powinno to uniemożliwić Google (i dobrym botom) indeksowanie tych stron i czytanie ich treści, nadal mogą wyświetlać link SERP tylko w adresach URL, jeśli są one połączone, w postaci:
Jak widać, nie ma tytułu ani opisu, to dosłownie tylko adres URL. Oczywiście tego typu wyniki są zwykle pomijane w SERP, chyba że ich jawnie szukasz.
Jak wspominasz w swojej odpowiedzi, jeśli nie chcesz, aby adres URL pojawiał się w SERP, musisz zezwolić robotom, ale zawierać metatag noindex.
źródło