Monetizzare con il proprio blog: Subtext e Adsense per la ricerca

Questo post non vuole essere l'ennesima guida su come creare un blog di successo, su come si scrive un post su di un blog, su cosa è un blog o su come si guadagna con un blog.
Parto dall'assunto che voi tutti sappiate già di cosa sto parlando, anche se non è ho parlato in uno dei miei post precedenti.

Diversamente voglio soffermarmi su un micro aspetto della blogosfera legato in particolare alla piattaforma di blogging che sto usando, SubText, e ad AsSense.

AdSense, non ci metto la mano sul fuoco, credo sia il sistema più diffuso tra gli utenti internet per ricavare dal proprio blog o dal proprio sito Internet qualcosina in termini di dindi ($) semplicemente ospitando degli annunci pubblicitari tramite banner, annunci di testo e referral. Vi è poi un altro sistema dello stesso AdSense, che è l'AdSense per la ricerca, cioè la possibilità di ospitare il form di Google tramite il quale i vostri visitatori possono interrogare il motore di ricerca per trovare qualcosa nel Big Motore o focalizzando la ricerca solo per il vostro sito.

Ecco il fulcro di questo post.

Google ha fatto (e continuerà a fare) un ottimo lavoro prevedendo che alla fine di ogni configurazione si possa copiare il codice HTML da inserire all'interno delle proprie pagine per essere pronti da subito.
Tuttavia il codice HTML proposto non sempre funziona, ma non per una carenza del codice proposto, quanto per delle impossibilità di integrazione.

Nella fattispecie se si volesse rimpiazzare il search box di SubText con quello di Google, la cosa non è del tutto immediata. Vediamo il perchè, scendendo anche un pò sul lato tecnico.

Per funzionare il form di ricerca, è previsto per l'appunto l'uso del tag form con un metodo get che punta alla pagina di google. Un utente normale, con la piattaforma SubText, avrebbe come unica possibilità quella di mettere questo codice all'interno dell'area Opzioni -> Configurazione -> Annunci statici.
L'aggiunta del codice però, se qualcuno ha provato, non funziona, perchè da un punto di vista di output il form di Google verrebbe inserito all'interno di un ulteriore altro form generato dalla piattaforma di blogging, il cui metodo post fa un postback su stesso e che – senza entrare troppo nel merito – non permette al form con metodo get di Google di indirizzare correttamente la richiesta.

Come fare? Rinunciare all'AdSense per la ricerca. La risposta è no. Tuttavia requisiti fondamentali sono:

  1. Avere accesso alla macchina che ospita la piattaforma di blogging, e quindi al codice apsx
  2. Saper lavorare sia in HTML che in ASP.Net

Vediamo in maniera semplice come si può ovviare al problema.

Si deve lavorare esclusivamente su di un file, contenuto per ciascuno skin, nell'apposita cartella controls. Il file in questione è il controllo ASPX SubtextSearch.ascx.
Questo file è quello del controllo utilizzato per il rendering del box di ricerca del blog. La zona di nostro interesse è quella dove c'è scrito:

< Text="Search" CausesValidation="False" />

Per prima cosa si deve procedere ad un commento HTML dei due controlli ASP.Net. Il commento HTML consentirà al motore ASP.Net di effettuare correttametne il rendering dei due controlli che hanno comunque delle dipendenze all'interno delle classi richiamate, ma di non venire visualizzati nell'output finale, ottenendo quello che vogliamo cioè che il form standard non venga mostrato. A questo punto dobbiamo aggiungere il form di Google. Si dovrà allora prendere il codice generato dall'AdSense per la ricerca e metterlo immediatamente sotto i due tag appena commentati, aggiustando l'HTML come più si ritiene opportuno, ma senza andare a togliere i campi input necessari.

Nel mio caso ho proceduto così:


< input type="text" name="q" size="31" maxlength="255" value="" id="sbi" class="searchterm">< /input>
< input type="submit" name="sa" value="Cerca" id="sbb" onclick="noPostBack()" class="searchButton">< /input>

Se notate ho aggiunto al pulsante di Submit della form di ricerca un evento onclick – onclick="noPostBack()" – che si scatena per l'appunto quando la form viene sottomessa. 

A che pro? Dentro a quell'evento il cui semplice codice Javascript è quello qui sotto riportato, non faccio altro che catturare il post della form, trasformare il metodo generale della form inserita dal motore di blogging dal metodo post in get, cambiare l'action passando l'indirizzo fornitomi da google e cancellando parametri che a Google non servono, tipo il ViewState.


< script language=""javascript"">
function noPostBack()
{
    document.forms[0].method = "get";
    document.forms[0].action = "http://www.google.it/custom";
    document.forms[0].__VIEWSTATE.name = '';
    document.forms[0].__EVENTVALIDATION.name = '';
}
< /script>

 

Risultato? Adesso anche AdSense per i contenuti può lavorare con Subtext. Certo a Google verrà inviato qualche parametro di troppo (dovuto al fatto che si usa il metodo get) ma questo non inficia sul funzionamento, permettendo anche a voi di monetizzare il vostro blog tramite l'AdSense per la ricerca.

Technorati tags: ,