Strumenti e risorse per Google Analytics

Dato che non si vive si solo WordPress per il sottoscritto è iniziato un periodo di studio e approfondimento su Google Analytics che con il tempo spero porterà alla certificazione.

Il motivo di questa decisione parte da questo assunto: “imparare a misurare ti porta a migliorare“. In pratica mi sono convinto che imparando a tracciare e poi a leggere il comportamento degli utenti è più facile migliorare le perfomance di un sito….

Nei prossimi giorni spero di riuscire a condividere i miei progressi ed i miei esperimenti; per il momento lascio una selezione di link presa dai miei segnalibri e che so già mi tornerà molto utile.

  • Sito ufficiale italiano: Punto di partenza per notizie, approfondimenti, video presentazioni, assistenza e formazione
  • Canale ufficiale su YouTube: Ci potete trovare molti video (in inglese) in cui vengono approfondite specifiche tematiche.
  • Blog ufficiale inglese: Io l’ho messo direttamente tra i miei feed. A volte pubblicato anche interessante howto
  • Documentazione per gli sviluppatori: Risorsa fondamentale ricca di esempi per capire il comportamento dello script di tracciamento e/o le api per l’esportazione dei dati.
  • Corso online per Individual Qualification (IQ): Materiale ed informazioni varie per prepararsi alla certificazione con “video – presentazioni” molto interessanti
  • Estensione Chrome: Utile per fare debug e capire cosa e come viene tracciata la pagina.
  • Plugin per WordPress: Potrei quasi dire “IL plugin per le statistiche”. Un Plugin veramente ben fatto che permette di usare le custom_variables per tracciare tag e categorie. Se poi ci server maggiore controllo mette a disposizione dei filtri per modificare al volo lo script
  • Snip-n-Tag – Plugin per Firefox: Un aiuto per creare url “corti” (vedi bit.ly e/o tinyurl) con il codice ga per tracciare le compagne
  • Goanalytics.info: il blog italiano verticale su Analitycs gestito da Marco Cilia
  • Web Analytics Experience: altra risorsa italiana che ho scoperto da poco ma che sembra interessante.

WordPress 3.0 @ Go!WebDesign Roma 2010

Ecco che è passata più di una settimana ed io non ho neanche pubblicato le slide del mio speech.

Riassunto breve:

Sabato 5 Giugno ero a Roma a presentare le novità di WordPress 3.0 al Go!WebDesign, il workshop organizzato da Julius.

A parte il viaggio con un treno notturno che è stato un po’ devastante è stato tutto molto bello.

Roma alle 6.30 del mattino e Bellissima e fare colazione davanti all’altare della Patria illuminato dalle prime luci del sole è una cosa che penso mi ricorderò a lungo…

Continue reading “WordPress 3.0 @ Go!WebDesign Roma 2010”

12 Plugin per sviluppatori

Per chi sviluppa template e plugin per wordpress a volte mancano gli strumenti per capire dove sono i problemi o dove poter lavorare per miglioare le perfomace.

Io per risolvere questi dilemmi, con il tempo, ho trovato alcuni plugin che a seconda delle necesità mi hanno dato un mano.

Giusto per fare un esempio vi dico che ne potete trovare uno in grado di visualizzare le query eseguite dal front-end (solo se loggati come admin)  evidenziando query eccessivamente lente, oppure altri che danno un quadro delle informazioni della piattafoma.

Continue reading “12 Plugin per sviluppatori”

imapsync: trasferire una casella imap

Imap è una gran bella comodità e quando ti abitui finisci per non poterne fare più a meno.
Se poi sei anche il sysadmin del server che ospita la tua casella e per ovvie ragioni non hai problemi di spazio è come avere una “gmail” ancora più comoda.

L’unico problema è quando arriva il momento di cambiare server.
Ecco che allora ti fai una domanda: “ma io la posta come la sposto da un server all’altro?

Inizialmente ho pensato di fare la migrazione passando attraverso un client (vedi thunderbird) ma la cosa, avendola sperimentata con alcuni clienti, sarebbe stata decisamente lunga….
Continue reading “imapsync: trasferire una casella imap”

Localizzazione dei file javascript

Per la validazione di alcuni form ho avuto la necessità di localizzare le stringhe di errore gestite all’interno di un file Javascript.
Volevo un sistema che non fosse eccessivamente invasivo, simile al gettext che uso con php ma che fosse indipendante da codice serverside e che mi permettesse di caricare e cambiare il file con le riserse localizzate anche a runtime.

Quello che ne è uscito mi piace molto e penso che sia anche sufficentemente scalabile pur avendo come limite il fatto di lavorare su array di stringhe un oggetto json piuttosto che su file compilati.

In pratica dopo aver dichiarato l’oggetto in cui “cercare” le traduzioni, ho preparato una funzione che verifica la presenza della stringa localizzata e nel caso non venga trovata mi restituisse quella “non localizzata”.

var Localization = {};
function _e( s ){
if(Localization && (v=Localization[s]) ) return v;
return s;
}

Usando questa funzione all’interno dei miei file js sono in grado di separare (ed eventualmente rimandare) le problematiche relatavie alla localizzazione rimanendo concentrato sul codice.
Nell’esempio qui sotto viene visualizzato un alert con un bel “ciao” sino a quando non viene caricata una risorsa in lingua

alert( _e(“ciao”) );

Per caricare il file con le risorse localizzate includo lo script a runtime con “getScript” (magari dopo aver letto un cookies…)

function LoadLocale( locale ){
/* es. LoadLoacale(“en_EN”); */
var Localization_path = “languages/”;
Localization = {};
try {
jQuery.getScript( Localization_path + locale + “.js”);
} catch(e) {}
}

Questa la struttura del file di risorse (en_EN.js) che nel momento in cui viene richiamata ridefinisce completamente l’oggetto “Localization”

// en_EN – javascript localization file
var Localization = {
“errore” : “error”,
“ciao” : “hello”,
“nome” : “name”,
“sito web” : “website”
}

Uno dei vantaggi di questo sistema è che andrò a localizzare solo ciò che mi serve con un approccio non intrusivo.
In atre parole se la stringa o il file non vengono trovati viene restituita la stringa non localizzata.
Ancora una nota per chi volesse usarlo: dentro LoadLocale c’è una chiamata a jQuery che quindi va considerato tra i requisiti necessari.

Per migliore le performance, indipendentamente dalla dimensione del file della localizzazione, sarebbe consigliabile minimizzare i file javascript con strumenti tipo questo.

Questi alcuni link da cui ho preso ispirazione.

5 Plugins per gestire wordpress multilingua

Sempre più spesso le realtà con cui collaboro hanno la necessità di avere un sito localizzato in diverse lingue.
Una volta, quando il tutto era fatto di semplici pagine, poteva essere sufficente duplicare la cartella, tradurla nella lingua desiderata e mettere un avviso in homepage che permettesse la scelta della lingua indirizzazzando la navigazione verso la directory corretta.

Oggi però i contenuti sono quasi sempre organizzati dentro un database e con un amministrazione che ne permetta la gestione anche da parte dei clienti. Questo, per ovvie ragione, rende impraticabile la soluzione di prima e ci si ritrova quindi costretti a progettare e personalizzare il CMS di turno.

Nel caso ci trovassimo ad affrontate il problema con WordPress, che non supporta nativamente la gestione dei contenuti localizzati, e bene sapere che esistono alcuni plugins che con approcci differenti possono venirci incontro aggiungendo il supporto multilingua.

multilanguage-wordpress-plugin

Principalmente gli approcci sono di due tipi:
Mantenere tutto il contenuto localizzato in diverse lingue all’interno dei campi utilizzando dei separatori oppure utilizzare delle tabelle di appoggio per gestire i testi in lingue diverse da quella principale.

Continue reading “5 Plugins per gestire wordpress multilingua”

10 Searchbox stilosi + howto

Uno degli elementi tipici di un blog è il box per la ricerca e qualche giorno fa mi sono messo in mente di cambiare quello presente su questa pagine.

Ho quindi iniziato a guardarmi un giro cercando di trovare qualcosa che mi piacesse e dallo screening effettuato sono venute fuori diverse cose interessanti.

Quello che non ho trovato sono state le popolarissime “inspiration list” ed ho quindi deciso di presentarvene 10 che, secondo il mio gusto, ritengo siano decisamente “stilose“.

Sohtanaka: Web development & design

sohtanaka

Michael Tyson: Life, tech, Cocoa development, Mac

michaeltyson

Continue reading “10 Searchbox stilosi + howto”

Temi per wordpress: 50 link pieni di template

Spesso mi chiedono dove sia possibile trovare template per wordpress e, anche se in passato avevo già affrontato l’argomento, con il tempo ho raccolto qualche link che spero riesca e soddisfare la maggior parte delle persone.

Non ho idea del numero totale di temi presenti in questo elenco ed anche se in qualche caso trovere dei “doppioni” posso garantirvi che la somma conta diverse centinaia di lavori originali.

Sicuramente ho dimenticato molti link che meriterebbero di comparire in questa lista ma in ogni caso ritengo che sia abbastanza rappresentativa dei quelli che sono i siti più importati.

Aspetto le vostre segnalazioni per completarla e provare a farlo diventare uno degli elenchi più completi in circolazione.

Non posso con iniziare da dove il tutto ha inizio ossia dalla sezione dedicata ai template del sito ufficiale:

  1. Directory ufficiale su wordpress.com

temi-per-wordpress

Segue adesso un elenco con raccolte di template selezionati da vari blog (in lingua inglese):

  1. 15 High Quality Free Premium WordPress 2.7 Themes
  2. 45+ Must See WordPress themes
  3. Top 12 Premium WordPress themes of 2008
  4. 45+ Free Premium WordPress Themes
  5. 20 WordPress Theme Releases for January 2009
  6. 10 of the Best WordPress 2.7 Compatible Themes
  7. 20 More Free First-Class WordPress Themes
  8. 100 Excellent Free WordPress Themes
  9. 80 WordPress Themes
  10. 3-Column WordPress Theme Gallery

Continue reading “Temi per wordpress: 50 link pieni di template”

Montate automaticamente periferiche USB

Ubuntu e molte altre distribuzioni “desktop” ci hanno abituato a quella piccola magia chiamata automount che permette il colleganeti automatico al filesystem di periferiche USB come un dischi removibili o sempici chiavette.

In pratica ci evita la “noia” del mount.

Come dicevo qualche riga sopra questa funzionalità è presente in moltissime distrubuzioni dotate di Desktop environment ma nel caso volessimo usarla sulla nostra debian minimale dobbiamo installare un pacchetto aggiuntivo.

liunx-usbmount

Fino a ieri avrei suggerito autofs il quale funziona egregiamente a patto di avere voglia di fare qualche piccola configurazione ma, oggi, dopo aver fatto una piccola ricerca per rispondere ad un mail ricevuta da un certo Riccardo sono venuto a conoscenda di USBmount.

The USBmount Debian package automatically mounts USB mass storage devices (typically USB pens) when they are plugged in, and unmounts them when they are removed. The mountpoints (/media/usb[0-7] by default), filesystem types to consider, and mount options are configurable.

Essendo presente nei reposity debian è sufficente il solito:

# apt-get install usbmount

Come già scritto anche in queste pagine il mount di chiavette formattate con fat32 richiede una modifica al file di configurazione (“/etc/usbmount/usbmount.conf”) aggiungendo “vfat” all’elenco dei filesystem riconosciuti.

FILESYSTEMS=”vfat ext2 ext3″

Infine per applicare i cambiamenti è necessario riavviare udev

# /etc/init.d/udev restart

A questo punto per poter poter accedere alla nostra chiavetta USB ci basterà spostarci sotto “/media/usb” (ovviamente dopo averla inserita) 😉

La gestione degli archivi

La gestione degli archivi di un blog è una di quelle cose spesso trascurata e demandata ad un semplice elenco nella sidebar.
Ammetto che per molto tempo è stata sottovalutata anche dal sottoscritto, ma quando alcune persone mi hanno fatto notare quanto fosse difficile recuperare le informazioni già “archiviate” ho incominciato a pensare come poterli organizzare in modo che la loro consultazione fosse più agevole.

WordPress mette a disposizione una funzione chiamata “wp_get_archives” che permette di creare liste organizzare secondo diversi criteri ma, dopo aver fatto qualche prova, mi sono reso conto di non riuscire ad ottenere nulla che mi piacesse.

Quello che avevo in testa era un elenco di tutti i posts raggruppato per mese e sono così passato ad utilizzare “get_posts“.

Continue reading “La gestione degli archivi”

Appunti per i Posteri

In questi giorni ho fatto un po’ di pulizia su questo blog, infatti l’aggiornamento alla nuova versione mi ha dato lo stimolo per tolgliere qualche plugins ed aggiungerne altri.

Questi i risultati del mio lavoro:

Twitter Tools: scritto da alexking è un plugin per visualizzare i propri tweet dentro wordpress. Tramite un bel pannello di amministrazione permette di scegliere il numero di cinquettii da visualizzare ma cosa forse più interessante permette di mandare un tweet per ogni post pubblicato e/o di creare un post per ogni tweet scritto.

Thumbnail for Excerpts: aggiunge un’immagine di anteprima  (selezionata cercando la prima immagine presente nel post) affianco al contenuto del “riassunto“.
In questo caso ho dovuto  fare una piccola modifica al codice del template in modo che in home page, dopo il primo post, venisse usato “the_excerpt” al posto di “the_content“.
Peccato che per questo plugin non esista un pannello di amministrazione e le opzioni configurabili siano modificabili solo aprendo il file PHP.

Simple Pie Plugin: Questo è il plugin ufficiale del simple pie team e permette la lettura di fonti RSS esterne e la loro visualizzazione all’interno di wordpress.
In questo caso ho dovuto ricorrere ad un plugin esterno in quanto la funzione integrata non gestiva correttamente il feed di google reader (forse perchè Atom?).
Per utilizzare Simple Pie è necessario installare anche il core mentre per personalizzare la visualizzazione si deve utilizzare dei file di “templates” caricati dentro una directory del plugin.

Admin Drop Down Menu: Come dice il nome “trasforma” il menu dell’amministrazione in un “menu a tendina“. Dopo averlo disattivato in quanto non compatibile con la nuova versione ed essermi detto “bello il nuovo menu” ho deciso dopo pochi giorni di aggiornarlo e di riattivarlo. Io lo trovo di una comodita assoluta.

wordpress-admin-drop-menu

Adesso qualche appunto relativo alle funzioni core:

Per una migliore della paginazione può venire utile sapere il numero di pagina dove ci troviamo.
La variabile da usare è “$paged” (ovviamente preceduta da un bel “global $paged;”)

Se si vuole creare un elenco con i post di una determinata categoria non è necessario ricorre a plugin esterni.
Con poche righe di codice possiamo fare tutto in casa usando i paramentri messi a disposizione da get_posts che dalla versione 2.6 accetta anche i parametri gestiti da “query_posts“.

Questo l’esempio per visualizzare gli ultimi 10 articoli della categoria “featured”:

<?php
$postslist = get_posts(‘numberposts=12&orderby=date&category_name=featured’);
foreach ($postslist as $post) :
setup_postdata($post);
?>
<li><a href=”” rel=”bookmark” title=”Permanent Link to < ?php the_title(); ?>”>< ?php the_title(); ?>< /a>< /li>
<?php endforeach; ?>

Per il momento mi fermo qui, ma vi invito a farmi sapere cosa nel pensate del mio nuovo footer in cui ho usato parte dei plugin di cui parlavo qui sopra.

Footer

Twilight: swarovski vegetariani

Uno nella vita pensa che i vampiri si nutrano di sangue umano ed abbiano problemi ad andare in giro durante il giorno. Poi arriva un film che senza darti nessuna spiegazione trasforma il tuo bel vampiro in uno swarovski vegetariano.

Diciamo subito che ci troviamo di fronte al primo capitolo di una saga che sulla carta sta par pubblicare il “quinto“. Questo per mettere le cose in chiaro ed assere consci di andare a quardare un Herry Potter versione vampiri e licantropi.
A dire le verità le analogie con il personaggio della Rowling non sono tantissime ma l’atmosfera che trasuda a me in qualche modo la ricorda molto.

twilight: swarovski vegetariani

Ma torniamo al discorso del vampiro che in questa occasione vengono disegnati come mostri che si nutrono di sangue animale dalla pelle sberluccicante.
Mi dicono che anche altri scrittori come Anne Rice, l’autrice de “Intervista col vampiro“, ha fatto andare in giro il loro personaggio di giorno ma qua ci troviamo di fronte ad un vero e proprio swarovski che alla luce del giorno “brilla“.
Bhe ecco, se posso sorvolare sul fatto che bevano sangue animale e non umano (i primi vampiri vegetariani della storia), questa cosa della pelle luccicante proprio non riesco a digerirla.

Continue reading “Twilight: swarovski vegetariani”