Come salvare le keyword cercate su un Custom Search Engine
Rispondo pubblicamente a Marco che mi chiede, via e-mail, una mano per salvare le parole cercate sul suo motore di ricerca, basato su Custom Search Engine.
Ho già scritto altrove il mio metodo per salvare le query di un CSE, ma forse c’è bisogno di spendere qualche parola in più.
Allora, il concetto alla base è semplice: dal momento che l’URL delle SERP generate dal motore contiene la query di ricerca, ci basta estrarle da lì e salvarle nel database.
Ci interessa non solo salvare i termini cercati, ma anche avere informazioni sulla quantità di traffico che genera ogni termine, e sulla variazione nel tempo di questo dato. È anche importante assicurarsi che i dati non siano falsati (vedremo poi come).
I requisiti per realizzare quello che vi illustro sono:
- un Custom Search Engine ospitato su un proprio sito;
- il supporto a PHP sul server;
- un database MySQL.
Cominciamo creando la tabella dove andremo a salvare i dati: eseguite il codice SQL che crea la tabella sul vostro database.
La tabella creata avrà due campi, oltre al classico id: essi sono query e datetime. Il primo conterrà le stringhe di ricerca, il secondo la data/ora (nel formato Unix Timestamp, che è facilmente manipolabile tramite PHP).
Ora dobbiamo fare in modo che, ogni volta che una ricerca viene eseguita, la pagina dei risultati faccia gli opportuni controlli e salvi la query nel database.
Ecco il codice da inserire nella pagina che mostra i risultati: fino alla riga 20 non c’è molto da dire… alla riga 22, puliamo la query in modo da non esporci ad SQL injection.
La riga 25 esegue tre controlli:
- Controlla che non sia impostato alcun referer (per evitare di conteggiare anche chi clicca su un link ad una nostra SERP), E
- che la query sia diversa da quella appena cercata (per evitare salvataggi multipli al refresh di pagina) OPPURE
- che siano passati almeno 60 secondi dall’ultima ricerca.
Ovviamente, questi controlli danno tutti esito negativo nel caso in cui non abbiamo effettuato ricerche in precedenza. Io ho avuto qualche problema col referer, per cui se lo script non dovesse funzionare, modificate la riga 25 eliminando tutto partendo dalla seconda parentesi tonda aperta, fino alla fine della parola “AND”.
Per concludere col codice, le ultime due righe salvano in sessione l’ora e la parola cercata (l’utente deve aver abilitato i cookie affinchè questo funzioni).
IMPORTANTE: non scordate di inserire questo codice in cima alla pagina, prima di ogni output. Diversamente, le sessioni (e di conseguenza, i controlli) non funzioneranno.
A questo punto, dopo aver lanciato qualche ricerca di prova, se tutto è andato a buon fine dovremmo avere nel nostro database i termini cercati, un record per ogni occorrenza, accompagnati dal numero che identifica l’ora. Cosa ne facciamo?
Per esempio, potreste divertirvi a creare la vostra personalissima tag cloud di quello che gli utenti cercano sul vostro Custom Search Engine! Questo tutorial vi spiega come costruirla.
Riguardo alle date, invece, potremmo ad esempio suddividere le ricerche in modo da visualizzare solo quelle effettuate in un determinato arco di tempo, oppure verificare l’andamento del volume di ricerca di una keyword nel tempo.
Per farlo bastano il comando date() di PHP (che serve a trasformare il Timestamp in una data leggibile) e una semplice query SELECT sulla tabella “query”. Buon divertimento
P.s. Per Marco: non riesco ad inviare nulla all’indirizzo Gmail che hai indicato nel form di contatto. Se passi di qui, lascia un commento
Permalink | 3 commenti | Trackback (1)
3 commenti a “Come salvare le keyword cercate su un Custom Search Engine”
(
) ·
»
Aggiungi il tuo commento:
1 Trackback / Ping verso “Come salvare le keyword cercate su un Custom Search Engine”
-
» Dai blog ai tutorial per Photoshop: news della settimana n. 16 - Blographik - Grafica, web Design e video editing
[...] Seosems.com Programmazione: Salvare le keyword cercate su Custom Search Engine. [...]

Grazie per la risposta, purtroppo l’ho trovata solo oggi ed i suoi link tipo “non scordate di inserire questo codice in cima alla pagina” non funzionano più.
Non ho ancora risolto il problema, anche se in verità ho cercato molto sul Web la soluzione.
Ti ringrazio se vorrai riattivare i link con il codice perchè mi piacerebbe arrivare in fondo.
Ho notato che anche recentemente nelle pagine del Groups di Co-Op si parla di questa esigenza, ma credo che tu sia l’unico (forse) ha dare una risposta.
Mi sai indicare una pagina dei risultati di un CSE online con inserito il codice per monitorare le ricerche?
E’forse possibile con semplicità (relativa si intende) inserire nel database MySQL anche l’IP che lo fa ?
Grazie tantissime. Marco
-Scritto da Marco - 22 January, 2007 alle 9:53 pmCiao Maurizio e grazie per gli aiuti che ci stai dando.
-Scritto da Paolo - 8 February, 2007 alle 10:34 pmTi vorrei chiedere se puoi costruire una sezione di questo sito dove ti possiamo fare delle domande tecniche sul seo o sul sem.
E a riguardo ti vorrei chiedere, per esempio, come poter ridistribuire ad altre pagine il pr o link popularity di alcuni rss in formato xml presenti nel mio sito e che hanno centinaia di link.
Chiedo scusa se scrivo qui, ma non ho trovato un altro posto.
Grazie.Paolo.
Complimenti per la directory ove sei linkato !
Vedere per credere…
http://googlecustomsearch.blogspot.com/
Attendo ancora specifiche al mio post precedente.
Saluti Marco.
-Scritto da Marco - 15 February, 2007 alle 12:14 am