Навигация по сайту

Популярные статьи

Big Ass SEO: czy Twoja strona jest zbyt obszerna, aby indeksować ją Screaming Frog?

  1. Jak radzić sobie z tymi ogromnymi witrynami?
  2. Używanie PHPCrawl jako podstawy oprogramowania do indeksowania Big Ass

Wielu specjalistów ds. Marketingu internetowego (SEO) zna się na ładnym oprogramowaniu zwanym Krzycząca Żaba . Funkcjonalności różnią się od sprawdzania duplikatów stron, tytułów i opisów meta do sprawdzania problemów technicznych dotyczących statusu nagłówka HTTP, zwariowanych konstrukcji przekierowań itp. Program kosztuje tylko 99 GBP rocznie, co jest naprawdę tanie, biorąc pod uwagę fakt, że większość konsultantów SEO będzie go używać codziennie.

Istnieje jednak jeden duży problem. Screaming Frog to program działający lokalnie w systemie Windows. Co oznacza, że ​​oprogramowanie zależy od granic sprzętu komputerowego lub laptopa. Podczas procesu indeksowania określonej witryny Screaming Frog przechowuje pewne punkty danych w pamięci RAM. W zależności od wielkości dostępnej pamięci istnieje ograniczenie liczby stron, plików lub adresów URL, które program może obsłużyć. Każdy może łatwo próbować wykryć ograniczenia, zaczynając indeksować witrynę taką jak Amazon.com lub Ebay.com. Strony te mają miliony unikalnych stron i mogę cię zapewnić, że przeciętny komputer nie dostanie się tak daleko w te strony. Spowoduje to wyświetlenie następującego komunikatu:

Kolejny problem ze Screaming Frog polega na tym, że nie można indeksować wielu witryn za pomocą jednego polecenia. Jest to przydatne, gdy chcesz na przykład analizować sieci linków. Po zidentyfikowaniu określonych członków w sieci blogów oszczędza się dużo czasu, gdy można wprowadzić listę z blogami i odzyskać wszystkie powiązane witryny zewnętrzne.

Jak radzić sobie z tymi ogromnymi witrynami?

Ponieważ pracuję dla niektórych większych niż przeciętne stron internetowych pod względem indeksowanych stron i użytkowników dziennie, musiałem znaleźć rozwiązanie tego problemu. Istnieją na to rozwiązania komercyjne, jednym z nich jest Deepcrawl z siedzibą w Wielkiej Brytanii . Mieli ten sam problem co ja i stworzyłem dla niego komercyjne rozwiązanie. Problem z rozwiązaniami komercyjnymi polega na tym, że jesteś zobowiązany do ograniczeń zakupionego pakietu oprogramowania.

To sprawiło, że pomyślałem: „Jak mogę zbudować skalowalne rozwiązanie do przeszukiwania stron internetowych z ponad 1.000.000 adresów URL?” Istnieje wiele systemów przeszukiwania open source, z których tylko kilka jest naprawdę odpowiednich do tego zadania. W zależności od języka, który możesz zaprogramować, możesz przyjrzeć się następującym opcjom:

Zastrzeżenie: pamiętaj o tym, że możesz zostać zablokowany przez serwer lub zepsuć witrynę, przeszukując ją zbyt agresywnie.

Używanie PHPCrawl jako podstawy oprogramowania do indeksowania Big Ass

Niestety jestem w stanie kodować tylko PHP i SQL, więc najlepszą opcją dla mnie na początek była biblioteka PHPCrawl. Jest to naprawdę kompletny system indeksowania stron internetowych, który można łatwo dostosować do własnych potrzeb. Wiem, że rozwiązania oparte na językach programowania takich jak Java lub C ++ są bardziej odpowiednie do wykonywania zadań szybkiego indeksowania, zwłaszcza ze względu na fakt, że można przyspieszyć proces indeksowania, uruchamiając wiele instancji oprogramowania i wykorzystując procesory wielordzeniowe. PHPCrawl może uruchamiać wiele instancji z wiersza poleceń, ale nie każdy serwer jest do tego odpowiedni. Musisz sprawdzić wymagane specyfikacje na swojej stronie internetowej.

Po zainstalowaniu tej biblioteki na lokalnym lub zewnętrznym serwerze należy skonfigurować bazę danych do przechowywania informacji. Myślę, że najłatwiejszym sposobem zapisania danych jest baza danych MySQL. Nie zamierzam zbytnio wchodzić w szczegóły, ponieważ oczekuję, że ludzie, którzy chcą pracować z takim robotem indeksującym, będą mieli wystarczające umiejętności programistyczne, aby rozwijać swoje systemy baz danych (frontend i backend), w zależności od ich potrzeb.

Możesz pobierz mały przykład PHP + MySQL (Plik ZIP), którego można użyć do przeszukiwania określonej domeny lub tablicy domen dla wszystkich łączy wewnętrznych i wychodzących. Dane są przechowywane w bazie danych MySQL. Myślę, że jest to prosty i jasny przykład na początek.

W przypadku dużych witryn system będzie potrzebował czasu, aby uzyskać wszystkie adresy URL. Możesz łatwo przyspieszyć proces, uruchamiając wiele instancji. Aby uzyskać więcej informacji na temat konfiguracji PHPCrawl do szybszego zakończenia procesów, przeczytaj instrukcje na stronie internetowej . Jeśli uruchamiasz wiele instancji w celu przyspieszenia procesu, pamiętaj, że serwery mogą blokować Twój adres IP na podstawie dużej liczby żądań na sekundę. Aby tego uniknąć, można zbudować system proxy, aby każde żądanie przechodziło przez losowy adres IP.

Musisz upewnić się, że używasz buforowania bazy danych zamiast używać lokalnej pamięci, w przeciwnym razie otrzymasz te same problemy, co w Screaming Frog. Pamięć RAM jest ograniczona, bazy danych nie są. PHPCrawl jest w stanie buforować dane w bazie danych SQLite. Wystarczy dodać pojedynczy wiersz kodu do skryptu: odwiedź stronę PHPCrawl do Przeczytaj instrukcję .

Podstawowa implementacja PHPCrawl rozpoczyna się od pojedynczej domeny i przeszukuje każdy znaleziony adres URL. Możesz także poinstruować przeszukiwacza, aby przeszukiwał tylko określoną domenę. Używając prostej pętli, można łatwo wstawić tablicę domen, aby mogła sprawdzać i analizować określone sieci.

Jeśli masz jakiekolwiek pytania dotyczące konfiguracji robotów indeksujących, nie wahaj się odpowiedzieć na ten post na blogu. Jakaś pomoc w przetwarzaniu danych? Po prostu napisz do mnie na e-mail [email protected] . Chciałbym również wiedzieć, jak radzisz sobie z indeksowaniem witryn z ponad milionem stron, podziel się swoimi doświadczeniami w komentarzach.

Jak radzić sobie z tymi ogromnymi witrynami?
Jak radzić sobie z tymi ogromnymi witrynami?
Adresów URL?
Jakaś pomoc w przetwarzaniu danych?