W dniu dzisiejszym przedstawię kolejną całkowicie darmową alternatywę tym razem dla komercyjnego softu do monitorowania pozycji Stat4Seo lub innego bezpłatnego – SeoPanel. Aplikacja dostępna jest już od dawna. Gdy projekt startował myślałem, że nic z tego nie wyjdzie a tu proszę. Aplikacja którą przedstawię jest rozwijana i aktualizowana, w związku z czym postanowiłem opisać ją na blogu. Zapraszam do zapoznania się z prezentacją.
Mowa o SERPoscope – skrypcie do monitorowania pozycji w Google instalowanym na serwerze WWW. Podstawowe wymagania to: Serwer (Apache, Nginx, Lighttpd), PHP 5.3.8, MySQL, rozszerzenia CURL i COM. Najświeższą wersję możesz pobrać ze strony autora.
Instalacja SERPoscope
Rozpakuj archiwum serposcope-1.0.7.zip i prześlij pliki na serwer przy użyciu aplikacji WinSCP, FileZilla, MuCommander lub innej.
Uruchom instalację, wpisz w pole adresu przeglądarki:
http://sub.twojadomena.pl/install/
Jeśli Twój serwer spełnia wszystkie wymagania możesz przejść do kolejnego kroku. Na powyższym zrzucie jak widać musimy zmodyfikować zmienną max_execution_time znajdującą się w pliku php.ini oraz zmienić domyślną wersję PHP z 5.2.17 na przynajmniej 5.3.8.
W katalogu subdomeny sub.twojadomena.pl utwórz plik .htaccess z następującym kodem:
Oczywiście Twój serwer musi wspierać daną wersję interpretera, w przeciwnym wypadku otrzymasz komunikat o błędzie. W przypadku edycji php.ini na hostingu współdzielonym nie jest tak łatwo, wielu usługodawców nie zezwala na własnoręczną edycję pliku php.ini (między innymi Unixstorm), dlatego szukaj konkretnych informacji na stronie swojego dostawcy.
Po wyeliminowaniu wszystkich błędów przejdź do kolejnego etapu, w którym zdefiniujesz dane dostępowe do bazy danych SERPoscope. Następnie postępuj zgodnie z zaleceniami kreatora instalacji.
Monitorowanie pozycji w SERPoscope
Po zainstalowaniu skryptu zobaczysz prosty i miły dla oka interfejs.
Nie znajdziemy tutaj wypasionych opcji konfiguracyjnych, choć trzeba przyznać że i tak nie są one skromne.
Monitorowanie rozpoczynamy od przejścia do zakładki Options i skonfigurowania sposobu wykonywania zapytań. Do dyspozycji mamy następujące opcje:
- timeout – czas trwania jednego zapytania do Google, po upływie czasu nastąpi wykonanie kolejnego zapytania z listy zadań,
- fetch_retry – w przypadku błędu ile razy skrypt będzie ponawiać zapytanie,
- rm_bad_proxies – opcja usuwająca proxy z listy po osiągnięciu określonej liczby nieudanych zapytań,
- proxy_auto_rotate – rotacja serwerów proxy, każde słowo odpytywane będzie poprzez inne proxy,
- rendering – sposób wyświetlania danych w panelu widoku pozycji,
- dbc_user/dbc_pass – nazwa użytkownika i hasło usługi DeathByCaptcha. Jeśli zdecydujemy się skorzystać z tego serwisu, podajemy nazwę użytkownika oraz hasło dostępowe,
- page_sleep – liczba sekund opóźnienia między kolejnymi zapytaniami do Google,
- captcha_basesleep – jeśli podczas wykonywania zapytania stwierdzono wyświetlenie komunikatu z kodem captcha, skrypt czeka podaną ilość sekund zanim dokona kolejnego zapytania,
- tld – precyzujemy z której wyszukiwarki chcemy skorzystać np. www.google.com, www.google.pl etc.
Po skonfigurowaniu skryptu zabieramy się za stworzenie pierwszego projektu. Klikamy New Group.
Wprowadzamy nazwę dla projektu (Group name), słowa kluczowe (Keywords), nazwę domeny do monitorowania bez http. Opcjonalnie możemy także wskazać konkretne Google datacenter, które będzie odpytywane, dodatkowe parametry w zapytaniu np. hl=pl oraz lokalizację (np. Katowice).
Po zapisaniu projektu pojawi się on w lewej części okna w sekcji Groups.
Dane prezentowane są w postaci wykresu lub w tabeli. Użytkownik może filtrować zakres danych, eksportować dane do pliku CSV czy też zapisać dane z wykresu do formatu PNG, JPEG, PDF lub SVG.
Dla każdej domeny można zrobić adnotacje, możliwe jest także dodanie notki dla każdego dnia (Calendar). Na szczególną uwagę zasługuje opcja ręcznego wywołania sprawdzania pozycji (Force run), zarówno w stosunku do konkretnej domeny (grupy, projektu), jak również uruchomienie manualne zadania dla wszystkich zdefiniowanych projektów (RUN ALL).
Jak przystało na dobry skrypt do monitorowania pozycji, SERPoscope pozwala zastosować proxy, publiczne i prywatne. Przed użyciem koniecznie zapoznaj się z dokumentacją.
Na koniec warto jeszcze zwrócić uwagę na zakładkę Logs i Import. Usuwając konkretne pozycje z sekcji Logs pozbywamy się zgromadzonych danych, inaczej mówiąc tracimy zebrane dane, dlatego nie należy usuwać logów, chyba że dane wyeksportowaliśmy wcześniej do pliku CSV. Wtedy to korzystając z opcji Import możemy wczytać ów dane do SERPoscope. Dość niekonwencjonalne rozwiązanie dlatego należy uważać by odruchowo nie usunąć danych (Logs).
Jak ze skutecznością sprawdzania? Powiem krótko – wysoka i o dziwo dokładna, dokładniejsza nawet niż w komercyjnym Stat4Seo.
Dodam, że ręczne sprawdzanie odbywało się w przeglądarce Google Chrome w trybie Incognito. Swoją drogą bardzo mnie zaskoczyła niedokładność Stat4Seo. To nie pierwszy raz, gdzie ów skrypt okazuje się gorszy niż darmowe narzędzia, co nie zmienia faktu że posiada więcej funkcji. To nie miejsce na recenzję Stat4Seo, być może będzie okazja ocenić skuteczność narzędzia i opublikować wyniki w przyszłości.
Na koniec przedstawię instrukcję, w jaki sposób zainstalować SERPoscope na lokalnym serwerze WWW.
SERPoscope na localhost – instrukcja
Pobieramy najnowszą wersję XAMPP – xampp-win32-1.8.3-3-VC11-installer.exe i instalujemy.
Tworzymy katalog dla domeny i konfigurujemy vhosta.
Zakładam, że XAMPP został zainstalowany na partycji D:\XAMPP. W katalogu D:\xampp\htdocs tworzymy katalog pod pliki SERPoscope. Ja nazwę go adekwatnie do nazwy domeny, pod którą usługa SERPoscope będzie widniała – czyli serposcope.local.
Aby to wszystko miało sens, katalog trzeba podpiąć pod domenę. W tym celu definiujemy nowego vhosta. Przechodzimy do lokalizacji D:\xampp\apache\conf\extra i otwieramy do edycji plik httpd-vhosts.conf. Zdejmujemy komentarze z przykładowego wpisu i zabieramy się do podpięcia domeny serposcope.local.
Po wyedytowaniu danych zapisujemy plik.
Kolejnym krokiem jest modyfikacja pliku hosts. Przechodzimy do C:\windows\system32\drivers\etc tworzymy kopię zapasową pliku, następnie otwieramy hosts w notatniku i dodajemy linijkę – 127.0.0.1 serposcope.local. Jeśli dostaniesz odmowę dostępu, przekopiuj plik na pulpit, dokonaj modyfikacji, następnie podmień oryginalny plik akceptując komunikat UAC.
Mamy już podpiętą domenę, teraz pora uruchomić XAMPPa i sprawdzić czy wszystko działa jak należy. W lokalizacji D:\xampp uruchamiamy xampp-control.exe i startujemy z usługami Apache oraz MySQL.
W przeglądarce wpisujemy adres serposcope.local, jeśli pojawi się listowanie (Index of) i informacja o Apache jesteśmy w domu. Pozostanie tylko zmodyfikować odrobinę konfigurację serwera i zainstalować skrypt SERPoscope na localhost.
Kopiujemy pliki SERPoscope do katalogu D:\xampp\htdocs\serposcope.local, uruchamiamy przeglądarkę i rozpoczynamy instalację poprzez wpisanie adresu http://serposcope.local/install/
Przed przystąpieniem do kolejnego etapu musimy zmodyfikować konfigurację. Błędy Max execution time i COM extension. W prawym górnym rogu klikamy na phpinfo i odczytujemy informacje zawarte w wierszu Loaded Configuration File (D:\xampp\php\php.ini). Wiemy już gdzie znajduje się nasz plik php.ini, otwieramy go do edycji i szukamy zmiennej max_execution_time i zmieniamy jej wartość z 30 na 0.
Następnie zabieramy się za włączenie modułu COM. W pliku php.ini dopisujemy extension=php_com_dotnet.dll, zapisujemy plik i restartujemy serwer poprzez panel sterowania XAMPP.
Odświeżamy stronę http://serposcope.local/install/ i przechodzimy do kolejnego kroku instalacji.
O czym zapomnieliśmy? Musimy mieć stworzoną bazę SQL pod nasz skrypt. W tym celu posłużę się linią poleceń. Możesz stworzyć nową bazę ręcznie poprzez http://serposcope.local/phpmyadmin.
Uruchamiamy wiersz poleceń w trybie administratora, przechodzimy do katalogu D:\xampp\mysql\bin…
cd /D "D:\xampp\mysql\bin"
Ustawiamy wpierw hasło dla roota…
mysqladmin -u root password mojehaslo
Następnie…
mysql.exe -u root -p
CREATE DATABASE serposcope;
exit
Zostanie utworzona baza o nazwie serposcope, użytkownik root, hasło – mojehaslo.
Przechodzimy do instalacji i w kroku drugim podajemy dane dostępowe do serwera bazodanowego, po czym klikamy Next.
Dalej postępujemy zgodnie z zaleceniami kreatora, na dwóch kolejnych etapach klikamy Next i po sekundzie mamy zainstalowany skrypt na localhost, do którego dostęp uzyskać możemy z poziomu domeny serposcope.local.
W ten o to sposób w kilkanaście minut możemy postawić w pełni sprawny system monitorowania, który można odpalać nie tylko na żądanie, ale również podczas każdego uruchomienia komputera, dodając odpowiedni skrypt BAT uruchamiający CRONa. Oczywiście z tego typu skryptów największy pożytek, gdy zainstalujemy wszystko na realnym serwerze, aczkolwiek metoda z localhostem sprawdza się całkiem dobrze, o ile każdego dnia odpalamy komputer z uruchomionym XAMPPem. Niektórzy ludzie sprawdzają pozycje domen sporadycznie co 5-7 dni, zatem to rozwiązanie dla nich może być idealne.
Jak automatycznie uruchomić XAMPPa i sprawdzanie pozycji pod Windows? Wystarczy skorzystać z Harmonogramu zadań, uruchomić skrypty apache_start.bat oraz mysql_start.bat i wywołać wykonanie zadania spod CMD (skrypt BAT z poleceniem: explorer http://serposcope.local/cron.php). Można również zainstalować apache i mysql jako usługi systemowe (poprzez xampp-control.exe – tryb administratora), wtedy wywołanie ich przy starcie systemu Windows nie stanowi żadnego problemu. Sposobów jest wiele, pozostawiam to Wam do testów. UWAGA! Autouruchamianie serwera wraz ze startem Windows powoduje czasem spore opóźnienia w załadowaniu systemu, dlatego osoby sporadycznie sprawdzające pozycje niech lepiej ręcznie uruchamiają serwer i zadania, tym bardziej, że to ledwie niecała minuta roboty.
Jeśli spodobał Ci się ten artykuł udostępnij go w mediach społecznościowych 🙂