I pulsanti G+ e Facebook Like vs. la validazione W3C

Nella realizzazione di siti web è importante rispettare gli standard HTML dettati dal W3C: questo sito, ad esempio, è stato realizzato seguendo gli standard dell’HTML5 e rispetta fedelmente le regole
Rispettare gli standard del W3C, permette di avere un sito web che è sfruttabile in tutte le situazioni: ad esempio lo rende usufruibile ai browser per non vedenti, può essere visualizzato su browser diversi o su piattaforme diverse (PC, PDA, SmartPhone…). Lato SEO, è provato che una pagina web che rispetta gli standard riesce ad ottenere un ranking migliore rispetto ad una pagina che non li rispetta: sia ben chiaro, gli spider dei motori di ricerca non eseguono alcun controllo, ma il rispetto degli standard permette allo spider di “capire meglio” il contenuto della pagina. Ad esempio una immagine senza l’attributo “alt”, oltre a non rispettare gli standard, risulta incomprensibile ad un motore di ricerca.

Nella fase di controllo del sito, mi sono imbattuto in un problema di non immediata soluzione: per rendere il sito “social”, ciascun articolo è corredato dai pulsanti per segnalarlo ai social network più comuni: Twitter, Facebook, Linkedin e Google+.
I pulsanti di Facebook e Google+, però, utilizzano una sintassi non compatibile con lo standard W3C. Ad esempio, il codice per Google+ “standard” è:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone size="medium" href="http://www.azns.it"></g:plusone>

Mentre quello per il pulsante “Like” di Facebook è:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like href="" layout="button_count" send="true" show_faces="false" width="450" font=""></fb:like>

Il problema è nei tag @g:pluszone@ e @fb:like@ che non sono riconosciuti dallo standard W3C, ma sono necessari per far apparire i pulsanti: come fare per superare la validazione?

Il trucco è abbastanza semplice: ultilizzo Javascript per chiedere al browser di inserire il codice di Google+ e Facebook, senza inserirlo direttamente nella pagina. Questo comporta un leggero rallentamento in quanto il browser deve eseguire l’istruzione, ma la pagina supera senza problemi il controllo del validatore di W3C.
Questo il nuovo codice:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script type="text/javascript">
  document.write('<g:plusone size="medium" href="http://www.azns.it"></g:plusone>');
  document.write('<fb:like href="" layout="button_count" send="true" show_faces="false" width="450" font=""></fb:like>');
</script>