Jak przeanalizować ponad 1 mln adresów – seo na poziomie pro
Analiza ponad 1 mln domen z rynku PL
Na starcie chciałbym pozdrowić mojego ulubionego partnera do dyskusji na seo grupach Tomasza Wieliczkę.
Artykuł jest dość mocno techniczny – wchodzący w bardzo zaawansowane metody, stosowane przy seo ( scrapowanie dużych ilości danych / przeszukanie dużej ilości domen ) . Sugerowane rozwiązania nie maja praktycznie żadnego zastosowania w przypadku projektów o niskiej konkurencyjności.
Niedawno jeden z moich klientów zwrócił się do mnie z zapytaniem czy mógłbym wskazać mu linki, które z różnych domen kupuje konkurencja a nie ma ich w Ahrefs . Problem wydawał się na początku bardzo skomplikowany kilka rozwiązań, które zaproponowałem
- wykorzystanie scrapebox ,a-parser lub podobnego narzędzia to skrapowania wyników i sprawdzenie czy przypadkiem nie ma tam linków prowadzących do konkurencji
- sprawdzenie min 1 mln domen Polskich (czy są tam linki prowadzące do konkurencji )
Scrapebox vs A-parser porównanie
Tutaj należy się kilka słów wyjaśnienia czym są programy Scrapebox i A-parser. Oba narzędzia służą głównie do tego samego czyli pobierania wyników z Google na zadane wyszukiwanie. Czy któreś uważam za lepsze? W zasadzie nie widzę większej różnicy w komforcie użytkowania (a używam każdego z nich już ponad 12 lat ) .
A-parser ma wbudowane dużo więcej zaawansowanych możliwości parsowania :
W zasadzie oba te narzędzia powinny być dobrze znane komuś, kto chciałbym zajmować się pozycjonowanie na poziomie mocno profesjonalnym. Czy są ? Nie wiem , natomiast domniemam, że niewiele firm w Polsce zna A-parsera. A szkoda bo daje on naprawdę niesamowite możliwości działania.
Parsowanie wyników Google w poszukiwaniu linków prowadzących z zaplecz – test nr 1
W tym wypadku zostały pobrane 1000 fraz związanych z danym klientem do frazy zostały dołączone 2 kombinacje liter typu aa ab ac ad etc.. i zostały pobrane wyniki z Google. Przykład takiego zapytania :
ra „recepta online”
ty „recepta online”
Czemu zastosowano takie połączenie ? Po to aby z Google wyciągnąć jak najwięcej wyników. Łączna liczba zapytań wysyłana do Google przekroczyła 2 mln requestów. W jaki sposób mi się to udało ?
System do scrapingu dowolnej strony
Tutaj znowu zrobiłem 2 podejścia :
-https://rocketscrape.com (system pozwalający na szybkie pobranie dowolnej strony )
Bardzo wygodny , szybki , tani i prosty do wdrożenia.
System własnej sieci mobilnych proxy
Każde z tych rozwiązań ma swoje plusy i minusy. W przypadku rocketscrape + to :
-szybko wdrożenia
-łatwe do wdrożenia Api
W przypadku własne systemu mobilnych proxy (20 kart sim ) plusy to :
-bardzo duża ilość adresów ip dostępnych w ciągu 24 h
-bardzo krótki czas odpowiedzi serwerów
Jakie efekty uzyskałem po 1 teście :
znalezione ponad 300 domen zapleczowych ukrytych przed Ahrefs i Majestic seo (przeszukiwanie odbywało się dla kilku branż ) .
Czas na podejście nr 2 – przeszukujemy listę domen z koncówka .pl
Tutaj pierwsze zadanie to skąd pobrać listę domen do przeszukania ? W internecie można znaleść sporo serwisów, które umożliwiają zakup w formie abonamentu lub płatności jednorazowej aktywnej listy domen .pl . Trudno jest mi jednoznacznie ocenić na ile pokrywa się ona z rzeczywistością. Przykładem takiego serwisu jest chociażby :
https://whoisdatacenter.com/active-domains-database/
https://zonefiles.io/
Po zakupie otrzymałem 1 mln adresów – i teraz pytanie jak to przeszukać ? Jakiego narzędzia użyc ?
Tutaj znowu zrobiłem 3 różne podejścia :
-scrapebox
-a-parser
-własne narzędzie (połaczenie bash i gotowych bibliotek)
Założenia były takie ,żeby zrobić to miarę szybko i nie poświęcać na to więcej niż kilka godzin.
Wynik dla Scrapebox
Odpalony 2 krotnie – ani razu nie udało się przesiać całej listy . W przypadku 100 wątków niestety przeszukowanie ani razu nie zakończyło się sukcesem (2 próby).
Wyniki dla A-parser
Tutaj było już lepiej natomiast czas przeszukania ponad 1 mln domen przekraczał 48 h ( przy 75 wątkach ) . Niestety jeśli chciałem poszukać linków do kolejnej domeny proces trzeba było zaczynać od nowa.
Aleluja przeciez iles lat temu byłem administratorem serwerów linuxowych
Nadszedł wreszcie moment kiedy trzeba było troszkę pogłówkować i poszukać rozwiązania, które umożliwi mi szybkie znalezienie linków, które buduje sobie konkurencja (takich których nie pokaże a-hrefs ) . Akurat mam 1 praktycznie nieużywany serwer (
wget vs curl
Tutaj na wstępie pojawia się pytanie, które z tych narzędzi jest szybsze. Przeszukując internet znalazłem tylko 1 artykuł (dość stary bo z 2016 roku ) porównujący oba te narzędzia :
https://curl.se/mail/lib-2016-06/0143.html
Sam przeprowadziłem sobie taki test i co się okazało – wget potrafi być nawet o 50 % szybszy niż curl. Stąd decyzja o wykorzystaniu tej biblioteki.
Założenia systemu do scrapowania
-nie przekraczamy 1000 watków
-wykorzystujemy bibliotekę wget
-interesują nas wyłącznie domeny główne
-wyniki zapisujemy jako czysty html
Efekty i skrypt
Sam skrypt w bashu (język skryptowy powłoki Linux) – zajął 12 linijek . Algorytm był banalny co 0,005 s uruchamiamy kolejny wątek, który odpala nam wget w tle, który ma pobrać stronę. W ten sposób pobranie 1 mln serwisów odbyło się w czasie mniejszym niż 5 h.
Problemy przy skrapowaniu
Pierwszy problem jaki napotkałem to serwery hostujące domeny – okazało , że w momencie gdy identyfikowały mój pareser jako wget ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) od razu automatycznie wysyłały mi błąd. Jest i na to proste rozwiązanie. Spoofing user agenta – czyli oszukanie docelowego systemu i podanie się za google bota.
Dodając dodatkowy parametr udało mi się oszukać hostingi.
Jak wygładało moje narzędzie po odpaleniu (nic ciekawego )
Co otrzymałem po uruchomieniu
Ponad 1 mln plików z kodem html domen głównych (dzięki czemu mogę je w dowolnym momencie przeszukać w następujący sposób :
find -type f |xargs grep -Hln „szymonslowik.pl” >> linkiszymonslowik.pl &
Co znalazłem ?
Ponad 50 tysięcy domen głównych linkujących do różnych branż (linki są ze stron głównych ) – ukrytych przed Ahrefs/Majestic. Daje to świetny materiał do analizy (jak linkuje moja konkurencja / co daje a co nie daje efektów ).
This Post Has 0 Comments