“I social media danno diritto di parola a legioni di imbecilli che prima parlavano solo al bar dopo un bicchiere di vino, senza danneggiare la collettività. Venivano subito messi a tacere, mentre ora hanno lo stesso diritto di parola di un Premio Nobel. È l’invasione degli imbecilli”. Umberto Eco

La classifica Interbrand 2016

Interband 2016

La classifica Interbrand: Amazon, Nike e Louis Vuitton tra i migliori 100 marchi

Conoscere la classifica Interbrand 2016, ci serve per renderci consapevoli, noi amanti del web, Web Designer & Developer, come indirizzare il nostro lavoro, tra App, E-commerce, landing page ed altro.

Ma sopratutto per capire ed evolverci sulla base del mercato odierno, che è in continua evuluzione.
Conoscere quindi quello che gira tra il web e non solo e fondamentale:

Ancora una volta la classifica Interbrand dei marchi più importanti del mondo caratterizzato da una forte presenza di etichette di lusso, gli specialisti di vendita al dettaglio on-line e giganti di distribuzione di abbigliamento.

I primi 100 marchi nel 2016
Interbrand Amazon ha per esempio salito in ottava posizione, in particolare superando Disney e Facebook.
Per quanto riguarda la Nike, si siede al 18 ° posto, appena davanti a Louis Vuitton e H & M, mentre Gillette è il 24 e il 27 Zara. Un altro giocatore puro, eBay, è scivolato fino a 32 °, due posti davanti a etichetta francese Hermès.

Un altro classico marchio francese, L'Oréal, è rimasto nella top 50 da classifica 45 °, con Gucci nel 53 ° posto, davanti a Colgate in 55 ° e 60 ° in Adidas.
Cartier è a posto 62 °, seguita a una certa distanza da Tiffany & Co a 74 °. marchio di moda italiana Prada è 82 °, appena davanti a marchio britannico Burberry, 83a.

Per quanto riguarda Dior, è intervenuta in posizione 89 °, davanti a Ralph Lauren che ha tenuto a 98 °.
Tra i tratti comuni condivisi dai marchi in questo top 100 classifica, Interbrand menzionato l'aspetto esperienziale.

"Nel loro rapporto con una società, gli individui renderanno unico contatto in un paio di punti di contatto", ha spiegato l'agenzia."

La capacità di riconoscere e rispondere a queste esigenze, i contatti e le aspettative, da una interazione ad un altro, determina la qualità della customer experience.

La classifica Interbrand si basa su tre elementi:
la performance finanziaria di prodotti e servizi, l'influenza di un marchio ha nelle scelte dei consumatori, e la capacità di un marchio di sostenere un premio di prezzo e di garantire un flusso di entrate per la società.

 

Riformiamo la legge sul copyright

Mozzila riformiamo legge copyright Andres blog

Non regolamentare l’immaginazione. Battiti per la riforma del copyright in Europa.

Sapevi che in molti paesi europei i meme sono tecnicamente illegali?
Sapevi che è illegale condividere delle immagini delle installazioni notturne di luci della torre Eiffel?
Sapevi che in alcuni paesi europei, agli insegnanti non è consentito mostrare dei film e documentari, o condividere materiali didattici in classe?
Un po’ assurdo, non ti pare?
A noi sembra di sì.


È giunto il tempo che le leggi si adeguino alle innovazioni tecnologiche.

Ecco tre modi in cui possiamo aiutare a dirimere la questione del copyright... Leggi tutto sul sito uffuciale

Nginx configurare W3TC Browser Cache

wordpress nginx 

Configurare file nginx.conf per W3TC Browser Cache

Migrare da un web server Apache a un web server Nginx, potrebbe complicarci la vita?
Direi di no su molti aspetti... ora il nostro file .htaccess non ci serve più, pertanto andiamo a scrivere le nostre richieste all'interno del file nginx.conf .

Nel caso all'interno del nostro Wordpress avessimo caricato il plugin W3 Total Cache non ci resta che scrivere all'interno del nostro nginx.conf le seguenti istruzioni:

# BEGIN W3TC Browser Cache
gzip on;
gzip_types text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/bmp application/java application/msword application/vnd.ms-fontobject application/x-msdownload image/x-icon application/json application/vnd.ms-access application/vnd.ms-project application/x-font-otf application/vnd.ms-opentype application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.text audio/ogg application/pdf application/vnd.ms-powerpoint application/x-shockwave-flash image/tiff application/x-font-ttf audio/wav application/vnd.ms-write application/font-woff application/font-woff2 application/vnd.ms-excel;
# END W3TC Browser Cache

Come potete vedere abbiamo attivato la compressione gzip.

PhpList Email list management software

phplist Andres Hunger

 

L'importanza di un giusto software email management PhpList

PhpList è uno strumento open source per la gestione di liste di sottoscrizione. È scritto nel
linguaggio di programmazione 'php', ed è utilizzato per diffondere informazioni a un gran numero
di utenti. I destinatari che riceveranno i contenuti sono chiamati Sottoscrittori. I Sottoscrittori sono
membri delle Liste, mentre gli utenti che creano i contenuti da diffondere utilizzando phpList, sono
gli Amministratori. I contenuti inviati tramite e-mail sono noti come Messaggi della Campagna.
Facile da utilizzare e si integra bene su ogni soluzione web, possibile integrazione su Wordpress.

Amministratore

L'amministratore (Admin in breve) è l'utente del sistema che gestisce phpList. E' responsabile della
configurazione, gestione liste, statistiche, invio dei messaggi della campagna, e può usufruire della
piena funzionalità di phpList. Un amministratore ha un login e una password che permette di
accedere alle funzioni amministrative di phpList (aka il backend ). Ci sono due diversi livelli di
amministratore, un SuperAdmin con tutti i diritti e le funzionalità del sistema, e gli amministratori
che gestiscono liste specifiche.
Sottoscrittore (Utente)
phpList supporta un concetto molto flessibile di "appartenenza". I Sottoscrittori sono identificati
principalmente da un indirizzo email registrato nel database di phpList. Ogni indirizzo e-mail
rappresenta un sottoscrittore e ogni sottoscrittore è memorizzato con propri attributi. Cioè, un
sottoscrittore è individuato da un indirizzo email più preferenze specifiche, come ad esempio
"Voglio sempre le email HTML" e, inoltre, tutti gli attributi (nome, indirizzo, professione , ecc )
scelti dall'Amministratore. Gli attributi possono essere liberamente creati dall'Amministratore senza
limiti e un Sottoscrittore può essere membro di più Liste.
Per impostazione predefinita (a meno che l'amministratore approvi manualmente), i Sottoscrittori
non cominciano a ricevere messaggi fino a che confermano la loro adesione (Double Opt-in). Non
appena si iscrive ad una Lista, un Sottoscrittore riceve un messaggio di richiesta di conferma
all'indirizzo email fornito. In questo messaggio sarà presente un link che, una volta cliccato, consente di riconoscere e confermare l'iscrizione alla Lista. La rinuncia alla sottoscrizione di una
Lista (Opt-out), invece, è un processo a singolo step. 

Lista

Una lista ha un titolo e dei sottoscrittori. Il titolo è creato dall'Amministratore e i sottoscrittori si
registrano come scritto al punto precedente. Le Liste hanno Messaggi e Utenti (Sottoscrittori). Le
Liste vengono usate per inviare messaggi dall'Amministratore al Sottoscrittore. Non è un forum di
discussione

Relazione tra Sottoscrittore e Lista

C'è una relazione "molti-a-molti" tra Liste e Sottoscrittori, il che significa che ogni Lista può avere
molti Sottoscrittori, e ogni Sottoscrittore può appartenere a molte Liste. Ciò è evidente in siti che
usano phpList per gestire più liste correlate. I sottoscrittori hanno la possibilità di diventare membri
di una o di tutte o di un gruppo di liste.

Relazione tra Amministratore e Lista

Ogni lista è di proprietà di un solo amministratore, ma ogni amministratore può possedere diverse
liste. Un amministratore non può inviare un messaggio a liste di proprietà di altri amministratori.
Importante: Ogni amministratore può avere accesso solo ai file delle persone che hanno sottoscritto
almeno una tra le liste che amministrano. A differenza degli amministratori, i SuperAdmin hanno
accesso a tutti i sottoscrittori ed a tutte le liste.

Campagna di Messaggi e Modelli

Una Campagna di Messaggi è una singola e-mail (evento) inviata ai Membri/Sottoscrittori di una o più liste. Un Messaggio può utilizzare un Modello o si può inserire il contenuto del messaggio tutto in una volta, inserendo direttamente il codice HTML. In generale, un singolo messaggio viene inviato solo una volta per ciascun sottoscrittore. In altre parole, se un amministratore invia lo stesso messaggio a più elenchi (che condividono gli stessi iscritti), ciascun abbonato in tali liste riceve quel messaggio una sola volta.

Download phpList

 

Mozilla Observatory

Mozilla Observatory

Mozilla Observatory, verifica la sicurezza del tuo sito

Proteggere il proprio sito deve essere la prima preoccupazione di qualsiasi amministratore di sistema!

Essere informati sulle tipologie di attacchi e sulle misure preventive ha ormai un’importanza fondamentale, anche perché è solo tramite una continua formazione che è possibile precedere i tentativi di attacco.

Inoltre, dopo tutte le preoccupazioni e azioni intraprese per proteggere il proprio sito, è fondamentale comunicarlo ai propri visitatori.

Configurare correttamente una connessione HTTPS è importante, ma può non essere sufficiente per dire che un sito è sicuro.
A questo proposito Mozilla ha creato una nuova piattaforma chiamata Mozilla Observatory.

Mozilla Observatory è una piattaforma open source da qualche mese disponibile online.

Questa piattaforma permette di testare gratuitamente la sicurezza di qualsiasi sito web e il suo utilizzo è molto semplice.
Le prove che vengono effettuate sono:

Mozilla Observatory è una piattaforma open source da qualche mese disponibile online.

Questa piattaforma permette di testare gratuitamente la sicurezza di qualsiasi sito web e il suo utilizzo è molto semplice.
Le prove che vengono effettuate sono:

  • Content Security Policy
  • Cookies
  • Cross-origin Resource Sharing
  • HTTP Public Key Pinning
  • HTTP Strict Transport Security
  • Redirectiol
  • Subresource Integrity
  • X-Content-Type-Options
  • X-Frame-Options
  • X-XSS-Protection

In base al risultato, al il sito web o alla pagina inseriti verrà associato un punteggio e un voto.

Fonte: www.shellrent.com

 

Disabilitare le emoji di WordPress senza l'uso di plugin

Disabilitare le emoji di WordPress

Alleggerire il proprio WP se non si usano nuove funzionalità emoji

Come disabilitare le emoticons (emoji) di WordPress?
Grazie agli sviluppatori di wp basta inserire questo codice all'interno del propio file functions.php:

// Disabilitare le emoji
   remove_action('wp_head', 'print_emoji_detection_script', 7);
   remove_action('wp_print_styles', 'print_emoji_styles');

Breadcrumbs su WordPress

Sviluppo Breadcrumbs Wordpress

Come aggiungere i Breadcrumbs su WordPress senza l'uso di plugin

Le breadcrumbs, assumo un’importanza sempre maggiore, poichè aiutano utenti e motori di ricerca a comprendere la struttura di un sito.
Soprattutto all'interno di un piccolo-sito o e-commerce woocommerce,
implementando questo codice all'interno del file function.php del proprio tema:
(fate sempre una copia del file function.php, meglio nel tema child)

function the_breadcrumb () {

// Settings 
$separator  = '>';
$id         = 'breadcrumbs';
$class      = 'breadcrumbs';
$home_title = 'Homepage';

// Get the query & post information
global $post,$wp_query;
$category = get_the_category();

// Build the breadcrums
echo '<ul id="' . $id . '" class="' . $class . '">';
// Do not display on the homepage
if ( !is_front_page() ) {

// Home page
echo '<li class="item-home"><a class="bread-link bread-home" href="' . get_home_url() . '" title="' . $home_title . '">' . $home_title . '</a></li>';
echo '<li class="separator separator-home"> ' . $separator . ' </li>';

if ( is_single() ) {

// Single post (Only display the first category)
echo '<li class="item-cat item-cat-' . $category[0]->term_id . ' item-cat-' . $category[0]->category_nicename . '"><a class="bread-cat bread-cat-' . $category[0]->term_id . ' bread-cat-' . $category[0]->category_nicename . '" href="' . get_category_link($category[0]->term_id ) . '" title="' . $category[0]->cat_name . '">' . $category[0]->cat_name . '</a></li>';
echo '<li class="separator separator-' . $category[0]->term_id . '"> ' . $separator . ' </li>';
echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></li>';

} else if ( is_category() ) {

// Category page
echo '<li class="item-current item-cat-' . $category[0]->term_id . ' item-cat-' . $category[0]->category_nicename . '"><strong class="bread-current bread-cat-' . $category[0]->term_id . ' bread-cat-' . $category[0]->category_nicename . '">' . $category[0]->cat_name . '</strong></li>';

} else if ( is_page() ) {

// Standard page
if( $post->post_parent ){

// If child page, get parents
$anc = get_post_ancestors( $post->ID );

// Get parents in the right order
$anc = array_reverse($anc);

// Parent page loop
foreach ( $anc as $ancestor ) {
$parents .= '<li class="item-parent item-parent-' . $ancestor . '"><a class="bread-parent bread-parent-' . $ancestor . '" href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a></li>';
$parents .= '<li class="separator separator-' . $ancestor . '"> ' . $separator . ' </li>';
}

// Display parent pages
echo $parents;

// Current page
echo '<li class="item-current item-' . $post->ID . '"><strong title="' . get_the_title() . '"> ' . get_the_title() . '</strong></li>';

} else {

// Just display current page if not parents
echo '<li class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '"> ' . get_the_title() . '</strong></li>';

}

} else if ( is_tag() ) {

// Tag page

// Get tag information
$term_id = get_query_var('tag_id');
$taxonomy = 'post_tag';
$args ='include=' . $term_id;
$terms = get_terms( $taxonomy, $args );

// Display the tag name
echo '<li class="item-current item-tag-' . $terms[0]->term_id . ' item-tag-' . $terms[0]->slug . '"><strong class="bread-current bread-tag-' . $terms[0]->term_id . ' bread-tag-' . $terms[0]->slug . '">' . $terms[0]->name . '</strong></li>';

} elseif ( is_day() ) {

// Day archive

// Year link
echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>';
echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>';

// Month link
echo '<li class="item-month item-month-' . get_the_time('m') . '"><a class="bread-month bread-month-' . get_the_time('m') . '" href="' . get_month_link( get_the_time('Y'), get_the_time('m') ) . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</a></li>';
echo '<li class="separator separator-' . get_the_time('m') . '"> ' . $separator . ' </li>';

// Day display
echo '<li class="item-current item-' . get_the_time('j') . '"><strong class="bread-current bread-' . get_the_time('j') . '"> ' . get_the_time('jS') . ' ' . get_the_time('M') . ' Archives</strong></li>';

} else if ( is_month() ) {

// Month Archive

// Year link
echo '<li class="item-year item-year-' . get_the_time('Y') . '"><a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a></li>';
echo '<li class="separator separator-' . get_the_time('Y') . '"> ' . $separator . ' </li>';

// Month display
echo '<li class="item-month item-month-' . get_the_time('m') . '"><strong class="bread-month bread-month-' . get_the_time('m') . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</strong></li>';

} else if ( is_year() ) {

// Display year archive
echo '<li class="item-current item-current-' . get_the_time('Y') . '"><strong class="bread-current bread-current-' . get_the_time('Y') . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</strong></li>';

} else if ( is_author() ) {

// Auhor archive

// Get the author information
global $author;
$userdata = get_userdata( $author );

// Display author name
echo '<li class="item-current item-current-' . $userdata->user_nicename . '"><strong class="bread-current bread-current-' . $userdata->user_nicename . '" title="' . $userdata->display_name . '">' . 'Author: ' . $userdata->display_name . '</strong></li>';

} else if ( get_query_var('paged') ) {

// Paginated archives
echo '<li class="item-current item-current-' . get_query_var('paged') . '"><strong class="bread-current bread-current-' . get_query_var('paged') . '" title="Page ' . get_query_var('paged') . '">'.__('Page') . ' ' . get_query_var('paged') . '</strong></li>';

} else if ( is_search() ) {

// Search results page
echo '<li class="item-current item-current-' . get_search_query() . '"><strong class="bread-current bread-current-' . get_search_query() . '" title="Search results for: ' . get_search_query() . '">Search results for: ' . get_search_query() . '</strong></li>';

} elseif ( is_404() ) {

// 404 page
echo '<li>' . 'Error 404' . '</li>';
}

}

echo '</ul>';

}

?>

Inserire un’altro codice nel template per richiamare la funzione, nella posizione nella quale vogliamo che i breadcrumbs siano mostrati:

<?php the_breadcrumb(); ?> 

In seguito agiremo via CSS...

Sviluppa le tue competenze digitali grazie a Google

Google marketing

Google ci fa partecipi al corso di formazione online

Si tratta di un piano di lezioni gratuite per scoprire tutte le opportunità del Web, con video tutorial che spaziano dalle strategie sui social media al marketing per i motori di ricerca, e molto altro.

Scopri come fare pubblicità su smartphone, social media e motori di ricerca con il corso online gratuito di Google.

link:Eccellenze in digitale

CSS winner Andres Hunger
CSSRELL Andres Hunger
BESTcss Andres Hunger