home Generale


Apache e gli URL "SEO Friendly"

Per SEO, Search Engine Optimization, si intende un insieme di operazioni volte a migliorare la visibilità di un sito web sui motori di ricerca, con conseguente aumento di visualizzazioni e visite. Tra queste una delle attività più importanti è quella nota come URL Optimization, che consiste nel costruire i link delle pagine del sito in modo da risultare più leggibili e contenere qualche informazione sul contenuto della pagina stessa. Solitamente i CMS più diffusi offrono questa funzionalità out of the box. Wordpress ad esempio, come impostazione predefinita, genera link del tipo dominio/anno/mese/titolo-articolo, ma come possiamo modificarne la struttura a piacimento? E se il nostro sito non si appoggiasse ad un CMS? Ed è qui che entra in gioco Apache.   Apache HTTP Server è la piattaforma server web più diffusa, perchè in grado di operare su una grande varietà di macchine e sistemi operativi e perchè modulare, vale a dire che a seconda delle necessità è possibile caricare o meno diversi moduli della piattaforma. Tra questi ci viene in aiuto mod_rewrite, che permette di riscrivere l'url delle pagine del nostro sito. Per default questo modulo mappa un URL in un percorso sul filesystem, vale a dire che dominio/foo/bar.php indirizzerà al file bar.php contenuto nella cartella foo, ma permette anche di reindirizzare determinati URL ad altri. Questo può essere effettuato attraverso delle direttive impartite modificando il file httpd.conf (file di configurazione di Apache, solitamente non modificabile) oppure il file .htaccess presente nella root del sito web.   Tornando un attimo al SEO, l'ottimizzazione dei link deve essere effettuata tenendo conto di alcune regole base quali Evitare l'uso di query string, quali articolo.php?idarticolo=1234 Evitare link più lunghi di 250 caratteri Inserire negli indirizzi alcune informazioni sul contenuto della pagina, quali titolo, categoria o tag Nel momento in cui si progetta un sito web dinamico, i cui contenuti vengono salvati in un database, però, risulta praticamente impossibile non utilizzare le query string (quindi l'identificazione di una risorsa specifica esclusivamente attraverso parametri GET), con l'obiettivo di scrivere solo una pagina che faccia da template e che verrà popolata dal contenuto dei vari articoli. Facendo un esempio pratico, L'angolo nerd per la gestione degli articoli ha proprio una struttura di questo tipo: una pagina post.php a cui vengono passati i parametri per recuperare l'articolo corretto dal database. Come abbiamo appena visto questo non è l'approccio migliore se si tiene al proprio ranking sui motori di ricerca, quindi abbiamo utilizzato il modulo rewrite di Apache per rimappare gli URL degli articoli, in modo da avere una struttura del tipo /post/id/titolo-articolo. Per farlo è stato modificato il file .htaccess in questo modo RewriteEngine OnRewriteBase / RewriteRule ^post/([0-9]+)/[A-Za-z0-9\-\.]+/?$ post.php?id=$1 [NC,L] In particolare è necessario abilitare il rewrite attraverso il comando RewriteEngine On e poi aggiungere la regola per il mapping desiderato. La sintassi è del tipo RewriteRule pattern$ target [flags]. Il pattern inizia sempre per ^, che sta a significare la nostra webroot (www.langolonerd.it/), si conclude con $ e accetta le espressioni regolari (regex). Nel nostro caso le due regex presenti sono ([0-9]+), che sta a significare una serie di caratteri numerici non nulla, e [A-Za-z0-9\-\.]+, vale a dire una serie di caratteri alfanumerici non nulla con l'aggiunta di caratteri speciali come - e . . Il target riporta il link "reale", quello che PHP dovrà considerare per ottenere le informazioni relative a quell'articolo, a cui viene passato il parametro $1, vale a dire il "risultato" della prima espressione regolare contenuta nel pattern. Per quanto riguarda i flag abbiamo usato NC per un matching case insensitive e L per specificare al modulo Rewrite di fermarsi e non processare altre regole ogni volta che questa viene soddisfatta.    In questo modo i link agli articoli risulteranno più leggibili e più sensati, sia per gli esseri umani che per un "robot" come il Search Engine che, si spera, sarà più contento.

L'angolo nerd app si aggiorna alla versione 1.0

A sei giorni dal lancio della prima versione pubblica, l'applicazione Android de L'angolo nerd si aggiorna alla versione 1.0 con importanti novità. La più interessante è sicuramente l'introduzione del servizio di notifica alla pubblicazione di nuovi articoli attraverso le Push Notifications, funzione che, attraverso la schermata di impostazioni raggiungibile dal menù a tendina, sarà poi possibile attivare o disattivare (attiva di default). Di seguito trovate il changelog completo riportante tutte le novità e le modifiche.   Changelog v1.0 Notifiche push Nuova voce Settings nel menù Rimossa dal menù la voce Privacy Policy Rimossi i cookie di profilazione presenti nel sito completo Rimosso il banner di notifica dei cookie Rimosse le pubblicità eccetto il banner sotto il titolo del singolo articolo Gestione dei link esterni (social links, sharing links ecc) Rimosse numerose dipendenze utili per il sito completo   N.B. Il caricamento iniziale, soprattutto al primo avvio, potrebbe essere sensibilmente più lungo. Questo è dovuto alla procedura di inizializzazione del servizio per le notifiche push, ma stiamo costantemente lavorando al miglioramento delle performance dell'app... abbiate pazienza! N.B.2 Nel caso in cui l'installazione dell'aggiornamento non dovesse andare a buon fine, la soluzione è disinstallare la versione precedente e installare la 1.0. Questo è dovuto a un probabile cambio di firma del file .apk.   DOWNLOAD cloud_download  

L'angolo nerd: disponibile l'applicazione Android

È con grande piacere che L'angolo nerd annuncia il lancio dell'applicazione ufficiale per Android! In piena fase di sviluppo, non è ancora presente sul Play Store, ma è disponibile per l'installazione manuale scaricando il file .apk. Attualmente non offre molte funzionalità aggiuntive rispetto alla versione mobile del sito, che viene caricata all'interno di una WebView, ma sono in programma diverse idee da implementare, prime fra tutte le notifiche push alla pubblicazione di un nuovo articolo. Vediamo ora nello specifico le caratteristiche dell'app. Innanzitutto dispone di una splash screen che copre la schermata bianca - odiosa n.d.r - di caricamento della pagina web e permette la visualizzazione mobile del sito.     La funzionalità aggiuntiva attualmente presente è la "capacità" di intercettare gli URL indirizzati al sito e permetterne l'apertura in-app piuttosto che in una nuova scheda nel browser.   Inoltre, per chi fosse interessato, l'applicazione viene distribuita sotto licenza GPLv3 e il codice sorgente è stato caricato su GitHub, permettendo a chiunque volesse di contribuire allo sviluppo attraverso delle Pull Request. L'applicazione è stata scritta from scratch, da zero, con Android Studio e richiede Android Lollipop come requisito minimo (Android 5.0+, API 21). Per concludere, di seguito trovate il link per il download del file .apk con annesso QR Code, comodo se state visualizzando questa pagina da PC. DOWNLOAD cloud_download

Newsletter: come rimanere sempre aggiornati

Ormai quasi tutti i siti web e blog che si rispettino lo offrono e di certo L'angolo nerd non poteva non vantare di questo servizio. Sto parlando della newsletter, un servizio che permette di inviare a tutti gli iscritti delle notifiche via email, solitamente alla pubblicazione di nuovi contenuti o con cadenze precise riportando le notizie più rilevanti (ad esempio settimanale o mensile). Attualmente questo servizio su L'angolo nerd è limitato alla notifica al momento della pubblicazione di ogni nuovo articolo ed è in costante perfezionamento, con la particolarità che è stato progettato per memorizzare meno dati personali possibili: viene infatti richesto soltanto l'inserimento dell'indirizzo email. L'iscrizione è semplicissima, basterà infatti inserire l'email nel form che potete trovare in fondo ad ogni pagina del sito (quello che vedete riportato in foto) e dal successivo articolo riceverete la notifica all'indirizzo specificato. Ogni volta che viene pubblicato un articolo viene infatti richiamata una funzione PHP che provvede a compilare il template dell'email e ad inviarla ad ogni email registrata nel database. Per ora si tratta semplicemente della classica funzione mail(): $headers = "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";$headers .= "From: postmaster@langolonerd.it" . "\r\n" .mail($email, "Nuovo articolo disponibile | L'angolo nerd", $text, $headers);  Dove $email contiene l'indirizzo di destinazione e $text il template delle email compilato con i dati relativi al nuovo articolo. Questa funzione è però tanto semplice quanto limitata, in quanto non permette ad esempio di raccogliere statistiche o, cosa molto più importante, di garantire che ogni client email riesca a visualizzare correttamente il contenuto dell'email. Proprio per questo motivo in futuro potremmo decidere di appoggiarci a servizi come MailChimp o simili, che permettono di configurare la newsletter in modo da gestire liste di iscritti differenziate così come diversi template, nonchè l'invio di email cumulative in stile "Ecco cosa ti sei perso!" e la reportistica completa sulle newsletter inviate, ma in ogni caso verrete avvisati per qualsiasi modifica delle condizioni. Per concludere, nel caso in cui vi siate iscritti ma non voleste più ricevere alcuna email sarà sufficiente seguire il link che trovate in fondo all'email per cancellarvi definitivamente, con la consapevolezza che i vostri dati verranno realmente rimossi dal nostro database, non semplicemente "nascosti".