SerpBear è un'applicazione open source per il search engine position tracking. Questo software permette in buona sostanza di eseguire il tracking della posizioni delle parole chiave su Google. SerpBear offre inoltre un servizio di notifica quando il raking di una specifica keyword, o di un gruppo di esse, subisce una variazione di qualsiasi tipo. L'applicativo funge da hub per una serie di servizi di keyword scraping, come ad esempio: ScrapingRobot o ScrapingAnt, che si occupano di raccogliere tali informazioni.
SerpBear può quindi diventare uno strumento utile per tutte le operazioni di SEO (Search Engine Optimization), l'insieme di strategie adottate da un SEO specialist per migliorare la quantità di traffico di un sito Web.
SerpBear viene utilizzato in diverse configurazioni per i SEO specialist anche perché offre un sistema di API da integrare con vari tool di marketing e data reporting. Nella guida di oggi andremo ad illustrare l'installazione di SerpBear su di un server Linux in modo da averlo sempre operativo da più postazioni di lavoro.
Preparazione del sistema operativo
Come distribuzione di riferimento utilizzeremo Debian, ovviamente è possibile optare per qualsiasi altro sistema Linux. SerpBear si basa infatti su NodeJS, dunque è agnostico rispetto all'OS di riferimento. Avviamo quindi bash e iniziamo questo tutorial accertandoci di avere a disposizione i software più aggiornati:
sudo apt update && sudo apt upgrade
Successivamente reperiamo il pacchetto di git, cosi da clonare il repository pubblico di SerpBear che contiene tutto il codice e gli script necessari al suo funzionamento, oltre ad una serie di software utili per i nostri scopi:
sudo apt install git ca-certificates curl gnupg
Installazione di NodeJS su Debian
Passiamo ora all'installazione di NodeJS. Posizioniamoci nuovamente in bash e digitiamo questo comando per scaricare la chiave GPG del repository di NodeJS tramite curl:
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
Fatto questo aggiungiamo il repository della versione stabile di tale runtime system JavaScript all'interno del source list:
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR=20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
Modificando il parametro NODE_MAJOR=XX
del precedente comando si può optare per l'edizione che preferite di nodeJS.
Adesso aggiorniamo il package manager APT in modo tale che possa attingere ai pacchetti di NodeJS:
sudo apt update
e finalmente passiamo passare alla fase di installazione vera e propria:
sudo apt install nodejs
Installazione e configurazione di SerpBear
Passiamo alla clonazione del repository git di SerpBear e torniamo nel terminale per lanciare questo comando:
git clone https://github.com/towfiqi/serpbear.git
A download terminato spostiamoci nella nuova directory di SerpBear:
cd serpbear
Adesso tramite openssl, che abbiamo precedentemente installato tramite il gestore di pacchetti APT, generiamo delle random string che verranno utilizzate dalle API di SerpBear per scambiare i dati in modo sicuro con i servizi di keyword scraping e per altre operazioni dove è necessario criptare i dati. Creiamo la prima stringa da 68 caratteri:
openssl rand -hex 34
e la seconda per le SerpBears API da 38 caratteri:
openssl rand -hex 19
Andiamo dunque ad utilizzare queste due stringhe all'interno del file di configurazione:
nano .env.local
che popoliamo con queste impostazioni:
USER_NAME=admin
PASSWORD=[LAVOSTRAPASSWORD]
SECRET=[LASTRINGADA68CARATTERI]
APIKEY=[LASTRINGADA38CARATTERI]
SESSION_DURATION=24
NEXT_PUBLIC_APP_URL=http://localhost:3000
Salviamo le modifiche apportate con CTRL+O e chiudiamo con CTRL+X.
Primo avvio di SerpBear
Ora bisogna eseguire il build dell'eseguibile di SerpBear. Per farlo useremo il package manager npm. Prima di tutto andiamo a creare una nuova directory chiamata data
:
mkdir data
e poi affidiamoci a npm per le operazioni di build e l'avvio del processo di SerpBear:
npm install
npm run build
npm run start:all
Aggiungere gli scraping a SerpBear
Ora che SerpBear è completamente installato e configurato possiamo inserire i keyword scraping che ci interessa utilizzare per la search engine position tracking. Connettiamoci alla Web interface di SerpBear tramite il browser scrivendo nella barra degli URL:
http://192.168.1.12:3000
Se non conosciamo l'indirizzo IP del nostro server Linux possiamo reperirlo con questo semplice comando:
hostname -I
Dovremmo appunto ottenere un output similare:
192.168.1.12
3000
è invece il numero della porta su cui è in ascolto SerpBear.
Dopo aver digitato il link dovrebbe caricarsi la WebUI di SerpBear. Successivamente eseguiamo il login con la password impostata in precedenza. L'username è ovviamente admin
e dal menu "Setting" in alto a destra selezioniamo la voce "Scraper" ed inseriamo lo "Scraper Method", ovvero il servizio di keyword scraping desiderato, aggiungendo la Scraper API Key o il Token attribuito durante la registrazione.
Impostiamo SerpBear per l'esecuzione in background
Dopo aver salvato il setup possiamo uscire dalla WebUI di SerpBear. Ora dobbiamo impostare l'esecuzione in background di SerpBear per evitare di doverlo avviare ogni volta manualmente. Torniamo dunque in bash e digitiamo:
CTRL+C
In questo modo arresteremo il processo di SerpBear. Procediamo poi tramite npm ed il modulo chiamato pm2:
sudo npm install -g pm2 pm2-logrotate
pm2 start npm --name "SerpBear" -- start
pm2 start npm --name "SerpBear Cron" -- cron
pm2 save
pm2 startup
Dopo aver lanciato l'ultimo comando comparirà una stringa come la seguente in output:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u utentediprova --hp /home/utentediprova
Usiamo dunque tale comando per indicare a systemd, l'init system della distribuzione, di avviare il processo di SerpBear in background al boot del sistema operativo.