Mam zamiar opracować funkcjonalność, która będzie indeksować różne publiczne strony internetowe i przetwarzać / agregować na nich dane. Nic nie jest złowrogie jak poszukiwanie adresów e-mail - w rzeczywistości jest to coś, co może faktycznie zwiększyć ruch w ich witrynach. Ale dygresję.
Poza honorowaniem robots.txt
, czy istnieją jakieś zasady lub wytyczne, pisemne lub niepisane, których powinienem przestrzegać, aby (a) uniknąć pojawienia się złośliwego i potencjalnie zbanowanego oraz (b) nie powodować żadnych problemów dla właścicieli witryn / webmasterów?
Oto kilka przykładów, które mogą mieć znaczenie:
- Liczba równoległych wniosków
- Czas między żądaniami
- Czas między pełnymi indeksowaniami
- Unikanie potencjalnie destrukcyjnych linków (nie chcę być Pająkiem Zagłady - ale kto wie, czy to w ogóle praktyczne)
Ale to naprawdę tylko plucie jaja; czy jest jakaś sprawdzona mądrość, która ma szerokie zastosowanie dla każdego, kto zamierza pisać lub wykorzystywać pająka?
źródło
Odpowiedzi:
Oprócz przestrzegania pliku robots.txt, słuchaj
nofollow
oraznoindex
w<meta>
elementach i linkach:Jest wielu, którzy uważają, że plik robots.txt nie jest właściwym sposobem blokowania indeksowania iz tego punktu widzenia, poinstruował wielu właścicieli witryn, aby polegali na
<meta name="robots" content="noindex">
tagu i informowali roboty indeksujące strony, aby nie indeksowały strony.Jeśli próbujesz utworzyć wykres połączeń między stronami internetowymi (coś podobnego do PageRank),
(i
<meta name="robots" content="nofollow">
) ma oznaczać, że witryna źródłowa nie ufa stronie docelowej na tyle, aby zapewnić jej odpowiednie poparcie. Chociaż możesz indeksować witrynę docelową, nie powinieneś przechowywać relacji między tymi dwiema stronami.SEO jest bardziej sztuką niż prawdziwą nauką i jest praktykowane przez wielu ludzi, którzy wiedzą, co robią, i wielu ludzi, którzy czytają streszczenia ludzi, którzy wiedzą, co robią. Będziesz mieć problemy z blokowaniem stron za robienie rzeczy, które inne strony uznają za całkowicie akceptowalne z powodu pewnych zasad, które ktoś podsłuchał lub przeczytał w poście na blogu na SEOmoz, które mogą, ale nie muszą być poprawnie interpretowane.
Z powodu tego elementu ludzkiego, chyba że jesteś Google, Microsoft lub Yahoo !, jesteś uważany za złośliwego, chyba że udowodniono inaczej. Musisz zachować szczególną ostrożność, aby zachować się tak, jakby nie stanowił zagrożenia dla właściciela strony internetowej, i postępować zgodnie z tym, w jaki sposób chciałbyś, aby działał potencjalnie złośliwy (ale miejmy nadzieję łagodny) robot:
/admin/
na przykład adresów URL z nimi zawartych.Nawet wtedy będzie to bitwa pod górę, chyba że skorzystasz z technik czarnych kapeluszów, takich jak podszywanie się pod UA lub celowe maskowanie wzorców indeksowania: wielu właścicieli witryn z tych samych powodów zablokuje widok nieznanego robota zamiast brać szansa, że ktoś nie próbuje „zhakować swojej witryny”. Przygotuj się na wiele niepowodzeń.
Jedną z rzeczy, które możesz zrobić, aby zwalczyć negatywny obraz nieznanego przeszukiwacza, jest wyjaśnienie w łańcuchu klienta użytkownika, kim jesteś:
Gdzie
http://example.com/aarobot.html
wyjaśnia, co próbujesz osiągnąć i dlaczego nie jesteś zagrożeniem. Ta strona powinna zawierać kilka rzeczy:Ta ostatnia jest kluczowa: dobra rezygnacja jest jak zwrot pieniędzy i zapewnia nieuzasadnioną wartość dobrej woli. Powinien być humanitarny: jeden prosty krok (adres e-mail lub, najlepiej, formularz) i wyczerpujący (nie powinno być żadnych „gotchas”: rezygnacja oznacza, że przestaniesz indeksować bez wyjątku).
źródło
(+http://example.com/aarobot.html)
. Nie wiem, jaki jest cel tego+
znaku, ale często go widziałem. Web-Sniffer to robi, podobnie jak wiele innych.rel="noindex"
niej jak o<a>
atrybucie, ale strona, do której prowadzisz, opisuje ją jako część atrybutu<meta>
tagucontent
. Czy to jedno, czy może to była literówka w odpowiedzi?Chociaż to nie odpowiada na wszystkie pytania, uważam, że będzie to pomocne dla Ciebie i dla stron, które indeksujesz.
Podobnie jak w przypadku techniki brutalnej siły witryn bez zwracania uwagi, jeśli masz wystarczająco dużą pulę witryn, którą musisz zaindeksować, nie indeksuj następnej strony w witrynie, dopóki nie zaindeksujesz następnej strony wszystkich innych witryn . Cóż, nowoczesne serwery pozwolą na ponowne użycie połączenia HTTP , więc możesz chcieć zrobić więcej niż jeden, aby zminimalizować koszty ogólne, ale pomysł nadal istnieje. Nie indeksuj jednej witryny do wyczerpania, dopóki nie przejdziesz do następnej . Dziel się miłością.
Dla Ciebie na koniec dnia możesz zaindeksować tyle samo stron, ale średnie wykorzystanie przepustowości w jednej witrynie będzie znacznie niższe.
Jeśli chcesz uniknąć bycia pająkiem zagłady, nie ma pewnej metody ognia. Jeśli ktoś chce wsadzić fasolę do nosa , zrobi to i prawdopodobnie w sposób, którego nigdy nie można było przewidzieć. Powiedziawszy to, jeśli nie masz nic przeciwko pominięciu sporadycznie ważnej strony, przygotuj czarną listę słów dla linku, który uniemożliwi ci jej podążanie. Na przykład:
Nie jest głupi, ale czasem po prostu nie możesz powstrzymać ludzi przed trudem;)
źródło
robots.txt
jest już wspomniany w pytaniu i można go przyjąć za zakładany.Moja jedyna rada to wysłuchanie, co mówi witryna, którą indeksujesz, i dynamiczne zmienianie indeksowania w reakcji na to.
Czy strona działa wolno? Czołgaj się wolniej, więc nie DDOS. Czy to jest szybkie Czołgaj się więc jeszcze trochę!
Czy witryna zawiera błędy? Czołgaj się mniej, aby nie stresować witryny, która już znajduje się pod przymusem. Używaj wykładniczo wydłużającego się czasu ponawiania, abyś ponawiał próbę, im dłużej witryna będzie zawierała błędy. Pamiętaj jednak, aby spróbować później, abyś mógł zobaczyć wszystko, czego brakuje z powodu, powiedzmy, tygodniowego błędu w określonej ścieżce adresu URL.
Dostajesz dużo 404? (pamiętaj, że nasze fantazyjne strony 404 również zajmują czas serwera!) Na razie unikaj indeksowania kolejnych adresów URL tą ścieżką, ponieważ być może wszystko, czego brakuje; jeśli
file001.html
-file005.html
nie ma, założę się, że dolary na pączki teżfile999.html
nie są! A może zmniejszyć procent czasu, w którym odzyskujesz coś na tej ścieżce.Myślę, że w tym miejscu wielu naiwnych robotów idzie głęboko w błędzie, mając jedną strategię robotów, którą wycinają tak samo bez względu na sygnały, które wracają z miejsca docelowego.
Inteligentny przeszukiwacz reaguje na dotykane witryny docelowe.
źródło
Inni wspominali o niektórych mantrach, ale dodam trochę.
Zwróć uwagę na typ i rozmiar pliku. Nie wyciągaj tych ogromnych plików binarnych.
Zoptymalizuj pod kątem niektórych typowych stron z listą katalogów. W szczególności pozwalają sortować według rozmiaru, daty, nazwy, uprawnień i tak dalej. Nie traktuj każdej metody sortowania jako osobnego katalogu głównego do indeksowania.
Zapytaj o gzip (kompresja w locie), gdy tylko jest to możliwe.
Ogranicz głębokość lub wykryj rekurencję (lub obie).
Ogranicz rozmiar strony. Niektóre strony implementują plandeki, aby udaremnić roboty zbierające wiadomości e-mail. Jest to strona ładująca się z prędkością ślimaka i ma długość terabajtów.
Nie indeksuj 404 stron. Silniki o największych indeksach to robią i otrzymują w zamian zasłużoną nienawiść.
Może to być trudne, ale spróbuj wykryć farmy równoważące obciążenie. Jeśli v329.host.com/pages/article.php?99999 zwraca to samo co v132.host.com/pages/article.php?99999, nie usuwaj pełnej listy serwerów z v001.host.com do v999. host.com
źródło
Dodam tylko jedną małą rzecz.
Prawa autorskie i inne kwestie prawne: wiem, że piszesz, że są to publiczne strony internetowe, więc może nie być praw autorskich, ale mogą istnieć inne problemy prawne związane z przechowywaniem danych.
Będzie to oczywiście zależeć od tego, jakie dane kraju przechowujesz (i gdzie je przechowujesz). Przykładem mogą być problemy z amerykańską ustawą Patriot Act vs. unijną dyrektywą o ochronie danych. Streszczenie problemu polega na tym, że firmy amerykańskie muszą podać swoje dane np. na prośbę FBI, bez informowania o tym użytkowników, w przypadku gdy dyrektywa o ochronie danych stanowi, że użytkownicy muszą zostać o tym poinformowani. Se http://www.itworld.com/government/179977/eu-upset-microsoft-warning-about-us-access-eu-cloud
źródło
Zadzwoń do swojego webcrawlera albo tego, albo pająka, powiązanego z twoim imieniem. To jest ważne. Silniki analityczne i tym podobne szukają osób, które kojarzą cię jako ... pająka. ;)
Widziałem, jak to zrobiłem, za pośrednictwem nagłówka żądania User-Agent
źródło
źródło