Dot Net Nuke e SEO: URL, menù javascript, cloaking e molto altro ancora!

E' passato un po' di tempo da quando ho scritto questo articolo.
Il mondo del digital è sempre in evoluzione e potresti trovare delle informazioni non più aggiornate.

DotNetNuke è un sistema per la gestione dei contenuti (CMS) ed un Portal Application Framework realizzato con tecnologia Microsoft ASP .net.

Lato SEO questo CMS di default non ha una grandissima ottimizzazione, come la gran parte dei CMS per .NET, ma fortunatamente la folta community ci ha messo una pezza sistemando le macrocriticità e facendo di DNN un CMS dalle buone potenzialità per la visibilità nei motori di ricerca.

1- Menù vincolato da Javascript con cloaking sullo user-agent

Il menù di navigazione principale, generalmente disposto in posizione orizzontale nella parte alta della pagina, ha un meccanismo di cloaking sullo user-agent:

  • gli utenti che utilizzano browser vedono il menù solo se hanno il supporto Javascript attivo

dot-net-nuke-js-menu-visibile

[screenshot pagina www.dotnetnuke.it con js attivo]

dot-net-nuke-menu-nojs

[screenshot pagina www.dotnetnuke.it con js non attivo]

  • gli user-agent, come ad esempio gli spider, visualizzano lo stesso menù senza supporto Javascript, ma senza stile CSS:

dot-net-nuke-googlebot

[screenshot pagina www.dotnetnuke.it con user-agent Googlebot]

Una prima criticità di questo meccanismo è che se gli spider cambiano nome, come ogni tanto accade, bisogna ricordarsi di modificare la configurazione di Don Net Nuke aggiornandola in modo corretto, come indicato nel dettaglio in questo post.

Questo meccanismo di cloaking, lo vedo un punto abbastanza critico sia per ragioni SEO ma soprattutto per l’accessibilità: non credo ci sia bisogno di vincolare un menù via Javascript per avere una buona resa grafica: HTML e CSS credo siano più che sufficienti! :-)

Per quanto riguarda, invece, il capitolo penalizzazioni per cloaking non ci dovrebbero essere grossi problemi poiché i link nel menù per i due differenti user-agent sono identici, cambiano solo le modalità di visualizzazione.

Una valida alternativa per eliminare il meccanismo di cloaking ed utilizzare una semplice gestione del menù via HTML e CSS è l’adozione di un componente aggiuntivo, come ad esempio quello di Sinapsi.

2- Gestione URL

Le URL sono da sempre un capitolo molto doloroso per molti CMS, tra i quali Dot Net Nuke. Le URL che vengono assegnate di default alle risorse sono spesso prolisse e migliorabili.

  • http://www.miosito.com/tabid/81/Default.aspx
  • http://www.miosito.com/Default.aspx?tabid=81

Anche in questo caso la community ha tentato di mettere una pezza: sono infatti disponibili alcuni componenti che permettono la produzione di URL sicuramente più brevi e piacevoli sia agli utenti che ai motori di ricerca (anche se non sono proprio come Jakob Nielsen comanda….)

Lo standard più utilizzato è il componente di iFinity, chiamato URL Master, che in poco tempo permette di ottenere URL corte e completamente customizzabili.

dot-net-nuke-ifinity-Page-SEO-Urls

Va detto che la configurazione del modulo è abbastanza pesante poiché dovrà essere specificata per ciascuna pagina l’URL di destinazione.

Il modulo, inoltre, è in grado di gestire anche le redirezioni HTTP.

3- Pesantezza del codice

Il problema del codice pesante dipende molto spesso dalla capacità di sviluppare un buon codice HTML di front-end minimale accompagnato da un foglio di stile.

Certo è che il campo nascosto “__VIEWSTATE”, id degli elementi distribuiti lautamente non contribuiscono a creare un codice HTML leggero e che piaccia ai motori di ricerca.

4- Sitemap.xml

Anche la creazione della sitemap non sembra essere supportato con un aggiornamento automatico.

Anche in questo caso c’è un modulo esterno che ci viene in aiuto. La soluzione attualmente più utilizzata è sviluppata ancora una volta da iFinity, si chiama Google Sitemap Provider.

5- Contenuto duplicato e URL canonical

Per quanto riguarda il capitolo contenuto duplicato, non sembrano esserci grandi criticità, ma si consiglia l’utilizzo di un modulo per l’inserimento del tag rel=”canonical”, chiamato Canonical links for DNN

Canonical-Link-Settings

6- Gestione flessibile e automatizzata dei link

Nel caso in cui si desideri, invece, inserire il nofollow per determinati pattern di link (ad esempio link esterni) è possibile utilizzare un modulo chiamato Inline Link Master.

Il modulo permette di definire delle regular expression per i diversi link, creando dei filtri e potendo eseguire delle azioni su di essi.

InlineLinkMasterScreen

Il modulo permette, ad esempio, di cercare le occorrenza di un testo in pagina (nell'immagine sopra il testo da intercettare è "DotNetNuke") e di creare automaticamente dei link verso una pagina (nell'immagine un link verso una pagina interna del dominio dotnetnuke.com).

E voi avete esperienze di ottimizzzione con Dot Net Nuke? Che tool avete utilizzato per risolvere i problemi SEO?

Altri post che potrebbero interessarti: