Każdy, kto w SEO wyszedł poza dbanie o widoczność dla kliku czy kilkunastu fraz, zadaje sobie podobne pytania:
- Jak przeanalizować wpływ zmian algorytmu Google na wyniki mojego serwisu?
- W jaki sposób ocenić wpływ nowych treści na widoczność strony w wyszukiwarce?
- Jak podsumować „performance” serwisu w Google?
- W jaki sposób można znaleźć odpowiedzi na powyższe pytania również dla konkurencji?
Wraz ze skalą i ilością prowadzonych projektów coraz więcej czasu trzeba poświęcić tym zadaniom. Dodatkowo wzrost konkurencji, skomplikowania algorytmu Google oraz narzędzi udostępniających dane dla SEO powoduje, że taki proces staje się coraz bardziej pracochłonny.
Czym jest API i czemu do SEO?
Rozwiązaniem tej sytuacji jest automatyzacja pobierania i przetwarzania danych. Taką automatyzację można uzyskać za pomocą API.
Czym jest API? Jak podaje Wikipedia, jest to „ściśle określony zestaw reguł i ich opisów, w jaki programy komputerowe komunikują się między sobą” .
W praktyce oznacza to, że możemy napisać raz aplikację, która, komunikując się z API SEMSTORM, będzie pobierać i przygotowywać dane. Na podstawie takich danych będziesz mógł/mogła podejmować decyzje.
Czym jest R ?
R jest językiem programowania przeznaczonym do obliczeń statystycznych. Dlaczego język R może być interesującym dla specjalistów SEO? Poniżej przywołuję cechy tego języka programowania, które pomogą odpowiedzieć na to pytanie.
- Dostępność olbrzymiej ilości bibliotek (mini programów rozszerzających możliwości języka R) . Dzięki temu możemy analizować dane pochodzące z wielu źródeł.
- Język R jest darmowy (także do zastosowań komercyjnych).
- Dostępnych jest wiele darmowych edytorów ułatwiających pracę w R.
- Język R jest bardzo popularny w środowisku akademickim. Daje to dostęp do wielu specjalistów wysokiej klasy znających tę technologię.
Jak rozpocząć pracę z R?
W dalszej części artykułu znajdziesz skrypt, który pomoże Ci zacząć swoją przygodę z językiem R. Aby z niego skorzysta należy wykonać 2 kolejne kroki:
- Zainstaluj język R (link instalacji dla Windows oraz dla MAC)
- Zainstaluj R Studio (dla Windows i Mac )
Możliwości API SEMSTORM
API SEMSTORM pozwala pobrać i przetworzyć dane, które dotyczą:
- Pozycji dla słów kluczowych, które monitorujemy w SEMSTORM — jest to API o nazwie Monitoring API: http://api.semstorm.com/?api=monitoring
- Widoczności w wynikach wyszukiwania wybranej domeny — jest to API o nazwie Explorer API: http://api.semstorm.com/?api=explorer. Poniżej zostanie opisany i udostępniony skrypt używający tego właśnie API.
- Tworzenia i zarządzania audytami, które już istnieją w panelu (np. usuwanie czy zmiana nazwy audytu) — jest to API o nazwie Audits API: http://api.semstorm.com/?api=audits
- Pobierania informacji o audytach technologii, które zostały wykonane przez użytkownika i są dostępne w panelu — jest to API o nazwie Technology API: http://api.semstorm.com/?api=technology#documentation
Jak uruchomić skrypt?
- Zaloguj się do konta SEMSTORM.
- Pobierz klucz API w panelu SEMSTORM. Jest on dostępny w menu Konto (z menu głównego) -> API. Klucz należy skopiować i w krokach, opisanych poniżej, wstawić do skryptu.
- Pobierz kompletny skrypt z lokalizacji: https://github.com/sebaSEO/Semstorm/blob/master/NoweFrazy.r
- Zaznacz w głównym oknie R Studio cały dostępny kod i naciśnij kombinację klawiszy Ctrl i Enter razem (dla systemu Windows).
- W oknie, które pojawiło się po uruchomieniu skryptu, wklej swój klucz API pobrany z konta SEMSTORM.
- Następnie wpisz domenę, dla której chcesz sprawdzić dane. Domenę należy wprowadzać (bez http:// lub https://).
- W oknie, które wyskoczyło jako kolejne, należy wybrać lokalizacje, w której zostanie zapisany plik Excel (z rozszerzeniem .xlsx). W pliku znajdują się informacje o wszystkich frazach, na które widoczna jest wybrany serwis.
- W kolejnym oknie należy wybrać miejsce zapisu pliku podsumowującego widoczność podstron domeny, wpisanej w kroku 5.
Dane wygenerowane przez skrypt
Jak widać z opisu skrypt generuje dwa pliki.
Plik 1 zawierający kolumny:
Fraza — słowo kluczowe, na które serwis był widoczny w Google w momencie uruchomienia skryptu.
Lp — podstrona serwisu, która na daną frazę była widoczna w Google.
Pozycja — pozycja w wynikach wyszukiwania, na której znajdował się badany serwis.
Ilość wyszukań— średnia miesięczna ilość wyszukań danej frazy (dana udostępniana przez Google Ads).
CPC — średni koszt kliknięcia dla danej frazy w Google Ads.
Data — data, dla której został wygenerowany raport.
Ruch – wyliczona ilość sesji, którą uzyskała dana strona dzięki wyświetleniom na dane słowo kluczowe (na podstawie CTR dla danej pozycji wg. danych https://www.advancedwebranking.com/ctrstudy/).
Plik 2 zawierający kolumny:
Lp — podstrona serwisu, dla której zebrane zostały dane.
ile_fraz — informacja na ile fraz w Google dana podstrona jest widoczna.
ile_Ruchu — estymacja ile sesji z wyników wyszukiwania (średnio miesięcznie) uzyskuje dana podstrona.
sr_pozycja — średnia pozycja dla wszystkich fraz, na które widoczna w Google jest dana podstrona.
ile_wyszukan — łączna ilość wyświetleń (średnio miesięcznie) danej podstrony serwisu w wynikach wyszukiwania.
Data — data wygenerowania raportu.
Analiza pliku
Załadowanie koniecznych bibliotek
Skrypt zaczyna się od załadowania koniecznych bibliotek. Są to:
- Httr (pozwala wysłać do API SEMSTORM żądanie, dzięki któremu nawiązujemy połączenie z mechanizmem API).
- Jsonlite (do przetwarzania plików typu JSON. API SEMSTORM zwraca odpowiedzi w tym formacie, więc dzięki tej bibliotece możemy przetworzyć odpowiedź serwera SEMSTORM).
- Openxlsx (do zapisu danych zwróconych i przetworzonych do plików Excel).
- Dplyr (do przetworzenia danych zwróconych przez API – jest to jedna z najpopularniejszych na świecie bibliotek języka R. W sieci dostępnych jest wiele materiałów ułatwiających pracę z nią).
Ustawienie zmiennych
Do dalszej pracy potrzebujemy dwóch zmiennych:
- URL — adresu URL, pod którym znajduje się konkretne API, z którego chcemy skorzystać (każde API ma swój osobny adres).
- Ile_wynikow — zmienna wymagana przez API określa, ile jednorazowo wyników zwraca API (dostępne wartości to 10, 20, 50 i 100).
Wywołanie okien dialogowych
W tej części skryptu tworzymy dwa okna dialogowe. Do tych okien wpisujemy klucz API oraz nazwę domeny, dla której chcemy wygenerować raport. Wartości podane w tych oknach są przekazywane jako zmienne do skryptu.
Wysłanie pierwszego żądania do API SEMSTORM
W tej części kodu wykonujemy pierwsze zapytanie API. W zapytaniu wykorzystujemy wcześniej ustawione zmienne. W kodzie zakładamy, że odpytujemy API o:
- Nowe słowa kluczowe (takie, na które wcześniej serwis nie był widoczny): zmienna keywords_type.
- 100 fraz (jest to maksymalna obsługiwana ilość fraz): zmienna ile_wynikow.
Przetworzenie pierwszej odpowiedzi API (pliku JSON)
Mamy już plik JSON z danymi, które udostępnia SEMSTORM. Możemy teraz zapisać do obiektu te dane i kontynuować pracę z nim.
Ustalenie ilości fraz dla domeny
Chcąc pobrać wszystkie dane, musimy zrobić to w pętli z powodu ograniczenia API, które może jednorazowo zwrócić maksymalnie 100 fraz. W celu uruchomienia potrzebujemy poznać liczbę wyników (zmiennna liczba_fraz_new) oraz ilość obrotów pętli odpytującej API (zmienna ile_obotow_new).
Zapisanie danych z pierwszego zapytania do API
Do obiektu możemy zapisać dane z pierwszej pętli.
Wykonanie kolejnych zapytań do API w pętli
Na tym etapie mamy już:
- Liczbę wyników dla analizowanej domeny.
- Ilość obrotów, które powinna wykonać pętla.
- Dane z pierwszego obrotu pętli zapisane do dedykowanego obiektu.
W związku z tym możemy wykonać pozostałe obroty pętli pobierającej i przetwarzającej dane.
Wyliczenie liczby sesji dla danej frazy
Mając już dane o wszystkich frazach dla serwisu, możemy wyliczyć ilość odwiedzin generowanych przez widoczność dla danej frazy. Liczbę tę liczę według wzoru:
Ilość sesji = pozycja dla danej frazy / CTR dla pozycji danego słowa w Google
Określając CTR bazuję na wynikach udostępnionych https://www.advancedwebranking.com/ctrstudy/
Sortowanie i zapisanie danych
Mając już pełne dane dla fraz (rozszerzone o estymację liczby sesji), możemy zgrupować dane według stron docelowych widocznych w Google.
Eksport danych do plików Excel
Ostatnim elementem skryptu jest eksport danych do plików xlsx.
Możliwości rozwoju skryptu
Skrypt ten usprawnia analizę obecnej widoczności w Google wybranego serwisu na podstawie danych SEMSTORM . Skrypt także stanowi bazę do dalszego rozwoju pod kątem własnych potrzeb. Najciekawsze moim zdaniem możliwości rozwoju to:
- Zapis wyników do bazy danych. Dzięki temu uzyskamy możliwość stałego zbierania danych o serwisie, które w przyszłości mogą stanowić podstawę analiz. Najlepszym rozwiązaniem wydają się tutaj bazy danych mysql, do których język R oferuje wiele bardzo dopracowanych bibliotek.
- Automatyczne uruchamianie skryptu co określony czas. W ten sposób możemy zbierać kompletne dane do dalszych analiz. Doświadczenie pokazuje, że najlepiej uruchamiać taki skrypt raz na miesiąc.
- Dołożenie danych z innych narzędzi – ciekawą wydaje się możliwość łączenia danych np. z Majestic SEO lub Ahrefs. Z narzędzi tych można pobrać ilość linków zewnętrznych, kierujących do analizowanych podstron.
- Dystrybucja raportu poprzez e-mail – przykładowo gotowy miesięczny raport mógłby być wysyłany bezpośrednio na skrzynkę mailową.
Masz pytania/ uwagi lub propozycje rozwoju? Skontaktuj się z nami.
Komentarze