Come usare AdSense con XHTML

← Statistiche e Google Analytics     Are you ready to CRUSH ? →

Prima di tutto scordatevi di servire le pagine come application/xhtml+xml. So che XHTML 1.1 dovrebbe essere servito via HTTP con questo MIME type ma per ora crea troppi problemi. Giusto per fare un esempio Explorer non riconosce e nanche le pagine servite in questo modo mentre FireFox disabilita alcune funzioni Javascript, alcune anche fondamentali come la write(), quando il parser XML viene usato. Questo impedisce allo script di Google di scrivere il codice all'interno della pagina. Se proprio si vuole si può usare questo nel .htaccess per servire le pagine con application/xhtml+xml solo quando questo è supportato.

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml\s*;\s*q=0
RewriteCond %{REQUEST_URI} \.htm$
RewriteCond %{THE_REQUEST} HTTP/1\.1
RewriteRule .* - [T=application/xhtml+xml]

Ma i problemi non finiscono di certo qui. Infatti guardando il codice generato dallo script si nota subito che viene fatto uso di un iframe. Ora questo tag fa parte di HTML 4 ma non di XHTML. Quindi tutte le pagine in cui c'è la publicità non sono più conformi allo standard. Per ritornare in riga e rispettare le regole basta usare il nuovo tag tutto fare <object>. Prima di tutto si deve prendere la parte che riguarda lo script di AdSense e inserirla in una pagina separata come ho fatto io qui sotto.

<body style="overflow:visible; border:0px; padding:0; margin:0;">
<script type="text/javascript">
<!--
google_ad_client = "pub-5620876628652457";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "FAFAFA";
google_color_bg = "FAFAFA";
google_color_link = "980000";
google_color_url = "0000FF";
google_color_text = "000000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</body>

Ora basta usare <object> per inserire la pagina HTML appena creata all'interno delle pagine in questo modo.

<div>
<object data="/static/ads.htm" type="text/html" width="468" height="60">
</object>
</div>

A questo punto basta salvare le modifiche per avere un sito con AdSense e perfettamente conforme agli standards.

Nessun TrackBack

URL TrackBack: http://www.pigaz.org/cgi-bin/mt/mt-tb.cgi/37

Lascia un Commento