JavaScript, HTML, CSS e... !
0 commenti

Funzione personalizzata per la SEO Automation

Google Suggest direttamente dai Fogli Google

Google Suggest per la ricerca di Keyword direttamente dal tuo Foglio Google. Puoi trovare argomenti correlati al tuo topic, titoli per il tuo blog e spunti interessanti per fare SEO copywriting con un click.

Sono Michele e se vuoi scoprire il mondo di Apps Script a 360°, dai Fogli di Google automatizzati a trucchi, funzioni e applicazioni da utilizzare nel quotidiano, iscriviti al mio canale perché sei nel posto giusto giusto!

Tornando alla nostra funzione Google Suggest, ti mostro nel video come fare a implementarla!

Il codice da utilizzare, e da inserire nell'editor di script incorporato del tuo Foglio Google, raggiungibile dal menu Strumenti → Editor di script... è quello che trovi di seguito. Non serve apportare alcuna modifica, ti basterà copiarlo ed incollarlo così com'è.

/**
* Returns Google autosuggest results, 1 level deep (one iteration for each first result)
* @param {"cats"} keyword REQUIRED The keyword seed
* @param {"en"} lang OPTIONAL The language parameter, same as Google search &hl= parameter value. Default is "en", 
* @param {"us"} country OPTIONAL The country parameter, same as Google search &gl= parameter value. Default is "us"
* @customfunction
*/

function GOOGLE_SUGGEST(keyword, lang, country) {
  var lang = lang || "en" // per la ricerca in italiano puoi modificare in "it" o passare il valore alla funzione
  var country = country || "us" // per la ricerca in italiano puoi modificare in "it" o passare il valore alla funzione
  var rawResult = []
  var queryResult = getDataFromGoogleClient(keyword, lang, country);
  
  if (queryResult.length < 2) return "No results";
  
  rawResult.push(queryResult);
  queryResult.forEach(function(kw) {
    rawResult.push(getDataFromGoogleClient(kw, lang, country)) 
  })

  var raw_output = rawResult.filter(Boolean).join().split(",");
  
  return raw_output.filter(onlyUnique);
}

function getDataFromGoogleClient(keyword, lang, country) {
  Utilities.sleep(500);
  var res = UrlFetchApp.fetch("http://clients1.google.com/complete/search?hl="+lang+"&gl="+country+"&output=toolbar&q="+encodeURIComponent(keyword));
  var array_result = XmlService.parse(res).getRootElement().getChildren();
  var array_result_len = array_result.length;
  var array_kw = [];
  
  for (var i = 0 ; i < array_result_len; i++) {
    array_kw.push(array_result[i].getChild("suggestion").getAttribute("data").getValue());
  }
  
  return array_kw;
}

function onlyUnique(value, index, self) {
  return self.indexOf(value) === index;
}

David Sottimano mostrò in un suo speech questo tipo di funzionalità che ho ripreso ed ottimizzato al fine di semplificarti le operazioni, ovvero senza che tu debba utilizzare le formule dello Spreadsheet per pulire il risultato dai duplicati. Ti verranno restituiti direttamente i valori unici delle keywords suggerite applicando semplicemente la formula nel Foglio.

La prima parte, quella in verde, serve per far riconoscere la nostra funzione personalizzata GOOGLE_SUGGEST come se fosse una vera e propria funzione del Foglio di Google. In questo modo, scrivendola nella barra delle funzioni, comparirà una modal con i dettagli informativi sul suo scopo e sui parametri che accetta.

Questi parametri sono la parola chiave per la quale stiamo richiedendo a Google i suggerimenti, la lingua e il paese. Nel nostro caso utilizzeremo "it" per entrambi questi ultimi due parametri.
Il cuore della funzione è la chiamata al client di Google per l'ottenimento dei risultati che saranno in questo formato. Non devi preoccuparti, le righe successive servono proprio per estrapolare i termini da questa struttura e, poiché è sicuramente utile ottenere più risultati oltre ai 10 ottenibili nella ricerca di Google, la funzione effettua a sua volta una chiamata per ognuno di questi 10 suggerimenti.
Dal momento che alcuni risultati possono essere uguali entra in gioco un filtro che garantisce come output risultati unici.

Tutto questo viene fatto in completa trasparenza, a te basterà solo richiamare la formula all'interno della cella desiderata, specificando la parola chiave di interesse ed i parametri descritti in precedenza… e il risultato verrà stampato direttamente nelle celle sottostanti.
La stessa formula può essere utilizzata più volte all'interno del Foglio.
A questo punto i risultati possono essere organizzati e utilizzati in base alle tue finalità!

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web