L’usabilità degli URL

Il sistema di protezione dallo spam di WordPress si chiama Akismet.

Un nome un po’ infelice, difficile da ricordare e, per un italiano almeno, anche da scrivere.

Se ne devono essere accorti anche quelli di WordPress, perché il sito è raggiungibile sia che scriviate Akismet.com sia, come è successo a me, Askimet.com. Ma anche Askismet.com porta da qualche parte, ovvero in casa di uno dei creatori di WordPress.

Una bella idea, applicata da pochi che usano nomi di Url altrettanto – o più – complessi.

Interventi efficaci in aiuto ai motori di ricerca

Scalare posizioni nei risultati di ricerca sembra essere il pensiero fisso di molti gestori di siti. In effetti il traffico proveniente da Google e compagni non è sicuramente trascurabile, e comparire nella prima piuttosto che nella seconda pagina dei risultati fa una bella differenza.

Esiste un’intera scuola (Seo, Search Engine Optimization) che con metodi più o meno discutibili cerca di migliorare il posizionamento dei siti (doorway pages, inclusione di link cross sito, ecc.), ma in realtà molto può essere fatto in fase di costruzione delle pagine.

Bastano pochi accorgimenti per istruire, senza trucchi, il motore di ricerca riguardo ai contenuti del nostro sito.

Regole di markup

L’abbiamo detto più volte: una pagina web non è un contenitore di elementi posti tutti allo stesso livello di importanza. Se state inserendo un titolo, non limitatevi a specificarne la dimensione, ma utilizzate un tag che indichi ai lettori – soprattutto quelli automatici, quindi gli screen reader e i motori di ricerca – qual è il testo principale (titoli, capitoli, ecc.) rispetto al normale contenuto. Per questo esistono gli heading (h1…h6).

Stesso discorso per il tag title, molte volte lasciato in bianco (avete mai provato a cercare ‘Untitled Document’ in Google?) oppure invariato in ogni pagina del sito. Il title è tra i campi più importanti per un motore di ricerca, anche perché è tra le poche informazioni che compare nella schermata dei risultati. Cercate di specificarne sempre uno di significativo che illustri qual è il contenuto della pagina in oggetto, magari completandolo con il nome della società o del sito (ma senza esagerare nella lunghezza).

Nomi negli Url

Anche l’indirizzo al quale si trova la vostra pagina – nonché, ovviamente, il nome del dominio – possono aiutare il motore di ricerca a privilegiare il vostro sito rispetto agli altri. A parità di contenuto, un Url nella forma http://nomesito/ilmioprodotto.html comparirà generalmente prima rispetto a http://nomesito/0001.html nell’elenco dei risultati per chi cerca il vostro prodotto.

Questo è relativamente semplice per un sito statico, un po’ meno per uno che utilizzi un sistema di gestione dei contenuti (Cms) che si appoggia a un database. In realtà molto si è fatto anche in questo senso. Il sistema di publishing utilizzato per Fucinaweb, WordPress, aiuta in questo senso lasciando al redattore la possibilità di specificare il testo presente nella seconda parte dell’Url.

Come vedete sono semplici accorgimenti, ma che possono fare una bella differenza.

Sito nuovo, Url vecchi

Nel rifacimento di Fucinaweb si è passati da una piattaforma Microsoft (Asp) a una Linux.

Al di là degli indiscussi vantaggi di questa migrazione, un problema che questo tipo di operazioni comporta è la difficoltà nel mantenere ancora funzionanti i link (sparsi per Internet) diretti al vecchio sito.

Il caso più evidente sono gli accessi provenienti dai motori di ricerca: un utente che compie una ricerca si troverà di fronte ad un “page not found”, almeno fino a quando il motore non aggiornerà i propri indici (sì, ma quando?).

Ma in giro di link sparsi ce ne possono essere a decine, magari provenienti da siti partner o da chi semplicemente ha trovato interessanti gli articoli del sito: in questo caso è molto difficile che vengano aggiornati. Questo ha poi delle dirette ripercussioni sempre sul nostro posizionamento nei motori di ricerca, che dipende anche da quanti link in ingresso (funzionananti) il nostro sito riceve.

Anche se non sempre adottate, esistono in realtà alcune tecniche, basate su file di configurazione, che permettono di associare, tramite opportune mappe, la struttura dei vecchi Url con quelli nuovi.

Se la nuova versione del sito è ospitata da un server Linux/Unix, avete buone probabilità di poter configurare il file .htaccess che, tra le tante cose, permette di convertire un Url in ingresso con uno di uscita.

Proprio questo file è quello che abbiamo usato per fare in modo che Fucinaweb funzioni correttamente sia con la nuova nomenclatura di Url, sia con la precedente.

Un tipico esempio di riga presente nel nostro file .htaccess è il seguente:

RewriteRule ^home/collabora.asp$ /index.php?pagename=collabora

La prima parte indica qual è l’Url in ingresso (in questo caso home/collabora.asp), la seconda parte qual è in realtà la pagina da servire al browser (index.php?pagename=collabora). Il tutto in modo assolutamente trasparente al visitatore, senza che vari neppure l’indirizzo nella finestra del browser.

Le potenzialità del file .htaccess sono in realtà molto elevate, più di quanto appaia da questo semplice esempio. E’ infatti possibile utilizzare delle regole di conversione degli Url che si basano sulle cosiddette espressioni regolari. Un esempio in questo caso è il seguente:

RewriteRule ^blog/([_0-9a-z-]+)?.asp$ /index.php?category_name=news&paged=1

In questo secondo caso, tutto quello che inizia con blog/ ed è seguito da una qualsiasi combinazione di lettere e numeri e da .asp, viene convertito in /index.php?category_name=news&paged=1.

La trattazione completa del file .htaccess esula dai nostri propositi, ma non dovrebbe essere difficile trovare qualche buon tutorial in internet.

E per chi non ha Linux? Anche Asp.Net, tramite il file di configurazione web.config dà la possibilità di specificare mappature tra Url di ingresso e uscita (per saperne di più, esiste un buon articolo di The Code Project).

Qualunque sia la soluzione che adotterete, ecco qualche consiglio per rendere la migrazione meno dolorosa:

  • cercate di associare ad ogni pagina un nome univoco, indipendentemente dalla cartella in cui verrà salvata (es. comunicati2005.asp, promozioni.asp); se possibile, utilizzate dei progressivi numerici (anche se ne perdete un po’ in usabilità)
  • posizionate le pagine sempre allo stesso livello di cartelle (es /cartella/cartella1, /cartella/cartella2 e non cartella/cartella1/cartella11 /cartella, ecc.)
  • non usate link assoluti (http://) per pagine del vostro sito collegate a pagine dello stesso sito