Dlaczego wyniki wyszukiwania Google obejmują strony niedozwolone w pliku robots.txt?

18

Mam w swojej witrynie kilka stron, od których chcę trzymać wyszukiwarki z daleka, dlatego nie zezwalam na to w moim robots.txtpliku 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.txtzasadę 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.txtzasadę.

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.txtpodobne 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ą.

Ilmari Karonen
źródło
1
„i jak Google obchodzi moje pliki robots.txt”. Zgaduję, że już to wiesz (lub jak, u licha, byłbyś w stanie założyć witrynę w pierwszej kolejności), ale na wypadek, gdyby jakiś nieszczęsny głupiec wędrował przez ... robots.txtplik 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.txtprawda?
Parthian Shot

Odpowiedzi:

25

Wygląda na to, że Google celowo uwzględnia robots.txtw 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 :

„Chociaż Google nie będzie indeksować ani indeksować treści stron zablokowanych przez plik robots.txt, nadal możemy indeksować adresy URL, jeśli znajdziemy je na innych stronach w Internecie. W rezultacie adres URL strony i potencjalnie inne publicznie dostępne informacje, takie jak tekst kotwicy w linkach do witryny lub tytuł z Open Directory Project (www.dmoz.org), mogą pojawić się w wynikach wyszukiwania Google. ”

Najwyraźniej Google interpretuje Disallowdyrektywę robots.txtjako 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:

„Na początku wiele bardzo popularnych witryn wcale nie chciało być indeksowanych. Na przykład eBay i New York Times nie zezwalały żadnej wyszukiwarce, a przynajmniej Googleowi nie indeksować żadnych stron z tego. Biblioteka Kongresu zawierała różne sekcje, w których napisano, że nie wolno indeksować za pomocą wyszukiwarki. Kiedy więc ktoś przyszedł do Google i wpisał eBay, a my nie zaindeksowaliśmy eBayu i nie mogliśmy go zwrócić, wyglądało to trochę nieoptymalnie. Więc kompromis, który postanowiliśmy wymyślić, polegał na tym, że nie zaindeksowalibyśmy cię z pliku robots.txt, ale moglibyśmy zwrócić odwołanie do URL-a, które widzieliśmy.

Rozwiązaniem zalecanym na obu tych stronach jest dodanie noindexmetatagu do stron, których nie chcesz indeksować. ( X-Robots-TagNagłó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 ich robots.txtcał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-Tagnagłówek z wartością, noindex,nofollowi pozwoliłem Googlebotowi na indeksowanie adresu URL skryptu w moim pliku robots.txt. Zobaczymy, czy to zadziała, gdy Google ponownie zaindeksuje moją witrynę.

Ilmari Karonen
źródło
5

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:

Łącze URL tylko w SERP Google

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.

MrWhite
źródło