Cookie e Privacy: come mettere in regola il tuo sito wordpress

    Da giugno 2021 il Garante per la Privacy ha meglio spiegato alcuni dettagli circa l’applicazione della legge sulla privacy per quanto riguarda i siti web. Sebbene alcuni punti fondamentali non siano ancora chiari, è stato messo un punto fermo su alcuni aspetti del funzionamento del banner di avviso dei cookies e sulla raccolta di questi ultimi. 6 mesi di tempo per adeguarsi, bisogna effettuare subito le opportune modifiche per evitare pesanti sanzioni (da 6mila euro a salire, fino a cifre astronomiche per siti ed organizzazioni più grandi). Cerchiamo di fare un resoconto e di indicare facilmente le novità e come adeguarsi.

    PREMESSA
    Ogni sito per funzionare utilizza i cookies, che sono piccoli file contenenti dati, che si suddividono i varie categorie (tecnici, funzionali, ma anche analitici, di profilazione, ecc come descritto su Kaspersky [link]). Qualche esempio per capirci: un sito con più lingue, una volta che avete selezionato la lingua italiana, tiene traccia della vostra scelta grazie ad un cookie funzionale, e ogni volta che visiterete il sito si aprirà la versione italiana. I vari siti di posta (esempio Gmail, Libero) una volta che fate il login con username e password, si “ricordano” di voi le volte successive grazie ad un cookie. Se su un sito di e-commerce (esempio Amazon) mettete un articolo nel carrello, e poi magari chiudete il sito, quando lo riaprirete troverete probabilmente quell’articolo nel carrello perché un cookie ha associato quella scelta al dispositivo che state utilizzando. Anche i siti meno complessi utilizzano dei cookies: non è lo stesso numero e tipologia di quelli utilizzati da un e-commerce o da un sito che mostri pubblicità varie, ma sempre ne utilizza. Anche semplicemente mettere la GoogleMap per mostrare dove si trovi l’attività comporta l’utilizzo di un cookie. Anche un bottone “Mi piace” di Facebook e altri social crea dei cookie. Sono solo pochi e comuni esempi, i cookies sono molti di più, per non parlare che servono per servire pubblicità targetizzate, per le statistiche dei siti, o anche solo per ottimizzare la velocità di caricamento dei siti.

    OBBLIGO DI LEGGE
    Ogni sito, che utilizza appunto i cookies, da qualche anno a questa parte è obbligato a rispettare una serie di regole:

    Pagina con Cookie/Privacy Policy. Contiene l’elenco dei cookies utilizzati dal sito, suddivisi per categorie, e il nome del titolare del trattamento dati del sito. E’ OBBLIGATORIA. Il tuo sito dovrebbe già averla. Eventualmente controllare se siano inseriti tutti i cookies (quando si cambiano o aggiungono servizi allora cambiano anche i cookies)

    Banner di avviso cookie e di consenso. Come avrai notato, alla prima visita in ogni sito compare un avviso riguardante i cookie, con un breve disclaimer, il rinvio ad una pagina di spiegazione più ampia e alla Cookie Policy, e l’opportunità di Accettare o meno il consenso. E’ diventato OBBLIGATORIO. Il tuo sito dovrebbe già averlo. Va ora implementato con le novità seguenti (giugno 2021), che potete trovare ad esempio in questi link: garanteprivacy.it, altalex.com

    Ora bisogna adeguarsi ai seguenti punti:

    1 – Consenso informato. Riguarda il modo in cui è proposto questo banner di consenso, ovvero:

    a) Non è più valido mettere la “spunta” di default ai vari box. La stessa cosa per i moduli tipo iscrizione alla newsletter: significa che l’utente deve cliccare volontariamente su – esempio – casella “accetto condizioni del sito”

    b) Non è più valido l’accettazione tramite scroll della pagina : se è indicato “proseguendo la navigazione accetti di prestare il consenso… ecc” non va più bene. Quindi l’accettazione può avvenire solo cliccando sull’apposita casellina

    c) Cambiare idea. L’utente deve avere la possibilità – oltre che di accettare/non accettare – anche quella di cambiare idea facilmente –>significa che dopo l’accettazione deve rimanere presente un link che possa riaprire la finestra dove vedere quali categorie di cookie ha selezionato e se vuole togliere il consenso a tutte o a parte di queste.

    2 – Registro dei consensi. E’ obbligatorio tenere archiviazione (digitale) di ogni consenso prestato da parte degli utenti. Ogni volta che l’utente visualizza il banner e fa la sua scelta (accetta tutti i cookies, non accetta, oppure ne accetta solo una o più categorie) si deve registrare la scelta e conservarla. Questi dati devono contenere: indirizzo IP dell’utente, un codice anonimo identificativo, l’orario della scelta, cosa ha scelto (quali categorie di cookies ha accettato).

    MODIFICHE ED IMPLEMENTAZIONI RICHIESTE

    Se per i punti del consenso informato si possono effettuare le modifiche “una tantum” modificando il banner di consenso (che dovreste già avere) togliendo le spunte di default, togliendo l’accettazione con scroll ma lasciando solo quella con click, e aggiungendo il mini banner che compare dopo l’accettazione, diverso è il discorso del registro dei consensi: intanto c’è un piccolo vuoto legislativo non chiarito. Non viene specificato se questo registro dei consensi può essere tenuto sul proprio sito (con la funzione di esportazione in caso di controllo) o deve essere su server appositi di questi fornitori (non si parla di marca temporale, ndr). Negli ultimi 8 mesi ho effettuato molti test con almeno una decina di fornitori diversi, scartando quelli che non rispondevano a tutte le caratteristiche richieste da questa nuova normativa. Altra permessa importante: in caso di conservazione presso registri terzi, il costo varia in base al volume di questo registro e/o al numero di sessioni mensili e/o di pagine del sito.

    Pubblicheremo a breve una carrellata di test e prove fatte con diversi fornitori di script e plugins per gestire i cookie, con pro e contro, e sopratutto con documentazione dei costi per mantenere il nostro sito in regola e al riparo da multe. Vai alle recensioni su: CookieYes , CookieHub

    Categories: Tutorial & Modifiche Tags: Tag: ,

    Come individuare i problemi di visualizzazione del sito su Smartphone Android

    come ispezionare il codice di un sito

    Effettuare il debugging di un sito in versione mobile tramite il proprio computer desktop

    Hai realizzato un bel sito? Bene, ma hai tenuto a mente che la maggior parte della navigazione dei siti web avviene tramite cellulari smartphone e tablet? Questo significa che la versione più importante del tuo sito è quella mobile! Fortunatamente i temi WordPress oramai hanno tutti una versione viewport, che si modifica a seconda del dispositivo utilizzato, mostrando al visitatore la versione giusta per lui. Ma cosa succede se la visualizzazione per smartphone ha qualche imperfezione da sistemare? Dobbiamo fare il debugging, ovvero controllare il codice del sito e localizzare il problema. In questo caso vediamo un esempio di problema CSS. I CSS sono i fogli di stile che permettono al nostro sito la visualizzazione “graficamente elegante” della struttura (colori, indentazioni, spazi, caratteri utilizzati, ecc.). Per fare il debugging di una pagina web (visualizzata dal desktop) ci basta visitare quella pagina, andare nella zona che ci interessa controllare (ad esempio in corrispondenza di un titolo che ha una dimensione o un carattere che vorremmo cambiare), cliccare col tasto destro e scorrere su “Ispeziona” (oppure usare la combinazione di tasti CTRL + Maius + I ), e si aprirà una schermata a lato che ci mostrerà il codice relativo a quella parte di sito (vedi sezione Styles).

    come ispezionare il codice di un sito

    Questo strumento ci permette di individuare quale proprietà di foglio di stile dobbiamo andare a modificare, ovvero come si chiamano i selettori identificativi all’interno del foglio di stile. Senza addentrarci troppo nello specifico (servirebbe un corso completo di CSS a parte), nell’esempio seguente ecco cosa viene visualizzato ispezionando la parte relativa al logo di questo sito (ad esempio vogliamo capire come ridurre lo spazio dall’alto o il margine sinistro, ecc.).

    ispeziona codice sito

    Se ad esempio volessimo ridurre lo spazio tra il logo e la parte sottostante, sappiamo che dobbiamo andare a modificare il codice <em>padding-bottom:15px</em> . Possiamo fare una prova immediata, cliccandoci sopra e modificandone il valore: ad esempio mettendo 50px, e vedremo subito come cambia la visualizzazione del sito. Ma questa è solo un’anteprima, se soddisfatti, ora dovremo andare nel foglio di stile del nostro sito, cercare (con F3) ad esempio .header oppure .logo o altro che ci permetta di individuare quella parte di codice CSS che vogliamo modificare, e una volta trovato fare la modifica e salvare.

    E se dovessimo modificare la visualizzazione per cellulari? Sempre con Chrome Il procedimento è analogo, abbiamo sempre a disposizione strumenti potenti e completi, e possiamo fare così: in alto a destra clicchiamo sui 3 puntini –> scendiamo su altri strumenti –> strumenti per sviluppatori. Anche questa volta si aprirà la consolle di debug. Se guardiamo bene, in alto, c’è un’icona mobile: cliccando su questa “Toggle Device Bar” la consolle di commuterà in visione per cellulare. Se non trovate l’icona, potete usare il comando CTRL + Shift + M. Questa funzione, diventa utile anche per capire come si visualizza il vostro sito web su cellulare.

    debug sito mobile

    Questa consolle di debug per cellulari vi permetterà ora di ispezionare la versione mobile del vostro sito, e anche di cambiare tipo di visualizzazione (dimensione schermo) e tipo di dispositivo (Ios, Android, ecc.). Ora che lo sapete, sarà il compagno di ogni webmaster che realizza un sito o decide di cambiare il tema del proprio sito WordPress e non. Ricordatevi che per vedere le modifiche live dovete cancellare la cache del vostro browser oppure aprire una sessione in incognito.

     

    Categories: Tutorial & Modifiche Tags: Tag:

    Ottimizzare le immagini e migliorare la velocità del sito – Test ShortPixel

    prima e dopo l'ottimizzazione

    Uno dei punti fondamentali da seguire per rendere il tuo sito internet più veloce nel caricamento e meglio posizionato nei risultati di ricerca di Google è rendere le immagini del tuo sito meno pesanti e più veloci da caricare. E’ una soluzione relativamente semplice, che porta grossi vantaggi sia immediati (il sito si carica più velocemente, l’utente non scappa dal sito, il potenziale cliente resta nel tuo e-commerce), sia a medio termine (Google si accorge della migliorata velocità di caricamento e assegna un punteggio più alto al ranking del tuo sito).

    In cosa consiste questa ottimizzazione delle immagini? Il concetto è semplice: in sostanza la stessa immagine può essere ricreata senza che l’utente ne noti la differenza utilizzando meno risorse, risultando molto più leggera e veloce da caricare. Più tecnicamente, un algoritmo riduce selettivamente alcuni colori, riducendo così il numero di bytes necessari per la sua visualizzazione. La differenza è praticamente inesistente all’occhio umano, ma è molto importante in termini di velocità di caricamento del sito (e permette di risparmiare tempo e bandwith)

    Se hai un sito basato su piattaforma WordPress, allora esistono molti plugin che ti possono aiutare in questa operazione. Di recente abbiamo testato il plugin ShortPixel, sia nella versione Free, sia nella versione Pro a pagamento. Tra l’altro, visto il costo molto contenuto, è giocoforza considerare l’opzione a pagamento (con circa 4 euro al mese si possono ottimizzare fino a 7500 immagini, sottoscrizione annullabile in qualsiasi momento)

    prima e dopo l'ottimizzazione

    Prima e dopo l’ottimizzazione, noti delle differenze?

    Vantaggi dell’utilizzo di un plugin per l’ottimizzazione delle immagini (e in questo caso anche dei PDF)

    • Il plugin necessita di poche risorse, si installa e praticamente ci si dimentica di averlo in quanto svolge il suo lavoro in background, ovvero in maniera autonoma ed efficace (opzione deattivabile). Ogni nuova immagine che caricherete verrà automaticamente ottimizzata, ridotta nel suo peso senza perdere caratteristiche importanti. Se invece avete un preesistente archivio immagini, allora potete lanciare lo strumento di ottimizzazione massiva dell’archivio (Bulk Optimizer)
    • ottimizza non solo le immagini caricate nell’archivio WordPress, ma anche i PDF e le immagini di altri plugin gallerie foto, come NextGen e altri slider
    • ottimizza molte estensioni: JPG, PNG, GIF (quindi anche le gif animate) e WebP, oltre ai files PDF
    • offre l’opzione di convertire automaticamente le immagini da PNG a JPG se il risultato è migliore
    • non ci sono limiti alla grandezza del file da convertire/ottimizzare
    • offre l’opzione di convertire qualsiasi JPEG, PNG or GIF (quindi anche le immagini animate) nel formato WebP , al momento assai amato da Google love
    • possibilità di comprimere automaticamente tutte le immagina retina
    • analizza le immagini utilizzate dal vostro sito e ne ottimizza tutte le versioni: ad esempio quelle generate ed utilizzate da Woocommerce , o dal tema che avete installato
    • controlla e permette di testare i possibili risultati dell’ottimizzazione, a seconda del grado di compressione che scegliete(test lossy/lossless versions)
    • offre l’opzione di mantenere o rimuovere i dati EXIF dalle immagini (opzione utile per gli appassionati di fotografia)
    • la versione a pagamento può essere usata indifferentemente su più siti. Significa che con una singola chiave API si può utilizzare il credito dove si vuole, senza dover creare /acquistare nuovi piani per altri siti
    • le immagini originali possono essere conservate come backup, in modo da poter tornare indietro se non si è soddisfatti del risultato.
    • in generale, questa ottimizzazione di immagini è compatibile con tutti i plugins di watermarking (aggiunta logo/scritta alle proprie foto), gallerie foto, slider foto, e-commerce
    • offre statistiche di ottimizzazione, e le immagini ottimizzate per meno del 5% non vengono conteggiate nel credito da scalare
    • la sottoscrizione/abbonamento può essere disdetta in qualsiasi momento

    Questo un esempio di risultato dopo l’ottimizzazione: notare la % di miglioramento/compressione delle foto. In alcuni casi possono essere ottimizzate del 95%, ovvero un’immagine non ottimizzata, pesante 500kb, può diventare meno di 40kb, senza perdere qualità. Immaginate la pagina di un sito che deve caricare logo, elementi del template grafico, immagini dei posts, widget, ecc. può diventare molto più leggera

    risultati ottimizzazione ShortPixel

    Nota importante: tutti i plugins, nei loro abbonamenti, offrono un numero di immagini. Questo numero è il numero di conversioni/ottimizzazioni previste dal singolo piano. Nel piano da noi scelto, ovvero quello ShortPixel da 4,99usd vengono indicate 7500 immagini al mese. NOn è il numero reale di immagini ottimizzate, bensì il numero di ottimizzazioni: ogni immagine su wordpress ha la sua thumbnail, la versione intermedia, quella usata ad esempio da WooCommerce, quelle eventualmente create dal tema utilizzato. In sostanza ogni immagine può dover essere ottimizzata più volte, e quindi 1000 immagini al mese in realtà può diventare 100 immagini realmente ottimizzate. Fatevi questo conto quando decidede il piano da acquistare. I piani free, ad esempio con 400 immagini incluse, in realtà vi danno l’ottimizzazione per molte meno immagini.

    Categories: Plugins Wordpress Tags: Tag:

    bbPress: come mettere un’immagine in evidenza per ogni forum

    Hai un forum basato sulla piattaforma WordPress + il plugin bbPress? Bene, un bel modo di renderlo più accattivante e meno standardizzato è quello di mettere un’immagine specifica per ogni forum. Ad esempio se si tratta di un forum di viaggi diviso in sezioni, è bello mettere un’immagine del paese o relativo alla sezione in cui l’utente navigherà. Questa funzione non è inclusa nel forum di WordPress, nè è disponibile un plugin per aggiungerla. E allora come fare? Dobbiamo modificare il codice, ma per fortuna si tratta di una semplice modifica. Il codice seguente praticamente attiva una funzione già esistente all’interno di WordPress. In sostanza non dobbiamo creare chissà che cosa ma semplicemente attivare quanto c’è già. Il codice è il seguente:

    // Original Source: http://www.kristarella.com/2013/04/bbpress-forum-icons/
    add_post_type_support('forum', array('thumbnail'));
    function ks_forum_icons() {
    	if ( 'forum' == get_post_type() ) {
    		global $post;
    	    if ( has_post_thumbnail($post->ID) )
    	    	echo get_the_post_thumbnail($post->ID,'thumbnail',array('class' => 'alignleft forum-icon'));
    	 }
    }
    add_action('bbp_theme_before_forum_title','ks_forum_icons');
    

    In sostanza, se ora andate all’interno dell’amministrazione del singolo forum, quello che mettete come “immagine in evidenza” diventerà automaticamente l’immagine che il vostro template mostrerà nel singolo forum (con posizione che può cambiare a seconda del tipo di template che usate). Questo uno screenshot dell’amministrazione:

    Questo il risultato sul singolo forum (vedi forum)
    esempio immagine in evidenza

    Dove e come inserire questo codice?
    Il codice va inserito nel file functions.php del vostro tema. Meglio se è un tema child, ovvero figlio, così in caso di aggiornamenti il codice non verrà sovrascritto. Un’alternativa migliore – rivolta sopratutto ai meno esperti – è di utilizzare un plugin che permetta l’inserimento di questo codice. Io ad esempio utilizzo Code Snippets. Disponibile su wordpress, permette di inserire pezzi di codice nel file di cui sopra, e vi fa anche un controllo generale che il codice che andate ad inserire non provochi errori fatali:

    Ora potete rendere più interessante graficamente il vostro forum.

    Categories: Tutorial & Modifiche Tags: Tag: ,

    Come sbloccare wordpress che si blocca durante l’aggiornamento

    unvailable for maintenance

    Chi utilizza wordpress avrà sicuramente notato che compaiono spesso notifiche di aggiornamenti disponibili, sia per il core (aggiornamenti della versione di wordpress), sia per i plugins che abbiamo installato nel nostro blog: e se ne usiamo tanti, allora gli aggiornamenti sono frequenti, ed importanti (non possiamo non aggiornare in quanto rischiamo di lasciare wordpress con delle vulnerabilità che lasciano entrare hackers).

    Il bello di WordPress è che (quasi) sempre possiamo fare l’aggiornamento in maniera facile ed intuitiva tramite il pannello di controllo, che ci porta all’indirizzo vostrosito/wp-admin/update.php . Dico quasi, perchè se abbiamo dei plugins premium (acquistati tramite marketplace come Codecanyon o comunque da terze parti) a volte non permettono l’aggiornamento diretto bensì bisogna scaricare la nuova versione dal loro sito. Sono comunque una piccola minoranza. In generale, come già avrai sperimentato, alla notifica è disponibile un aggiornamento per questo plugin ti basta cliccare e confermare l’update.

    Nel 99% l’aggiornamento funziona bene, il sistema segue questi passaggi:
    – mette temporaneamente offline il sito
    – disinstalla / sovrascrive il plugin (o la versione wordpress)
    – sovrascrive / reinstalla il plugin (o la versione wordrpress)
    – riattiva il plugin e rimette online il sito

    Ma a volte l’aggiornamento si blocca, non si completa, e se proviamo a fare il refresh della pagina o a navigare nell’amministrazione (o nel sito) compare la seguente schermata di blocco:

    unvailable for maintenance

    Da questo momento il sito è inutilizzabile, sia per i visitatori, sia per gli amministratori. Ma l’avviso “briefly unavailable for scheduled maintenance. Check back in a minute” diventa un’eternità se non risolviamo manualmente. Come sbloccare la situazione e tornare online? L’unico modo è utilizzare il vostro programma FTP (oppure il sistema di gestione files che vi fornisce il vostro hosting) e andare nella root (cartella principale) del vostro sito, dove vengono elencati i file principali (index.php, wp-config.php, ecc.). Una volta aperta/visualizzata la cartella principale, troverete un nuovo file, che viene creato da WordPress nel momento in cui effettua l’aggiornamento: .maintenance . E’ un file “nascosto”, come il file .htaccess : potreste non vederlo in quanto il vostro gestore di files potrebbe avere settato di default di non mostrare questo file. Se così fosse, ad esempio se utilizzate cpanel, in alto a destra cliccare su Impostazioni e selezionare l’opzione “Mostra files nascosti” (o “Show hidden files”). In sostanza, dovrete vedere come in figura:

    file .maintenance

    Ora semplicemente rimuovetelo / cancellatelo, e il vostro sito tornerà funzionante come prima. Una volta rimosso potrete tornare nell’amministrazione, nella sezione aggiornamenti/updates e riprovare a fare l’aggiornamento online. Se il problema torna nuovamente, ripetete la procedura di rimozione, e attendete a rifare l’aggiornamento, potrebbe esserci un temporaneo blocco di importazione files dalla piattaforma wordpress (o terza parte) e il vostro server. Riprovate più tardi, se continua allora contattate il vostro gestore di hosting per controllare il log degli errori e vedere cosa impedisce l’aggiornamento.

     

    Come sistemare Upload “HTTP Error” su WordPress

    Può capitare che caricando un file immagine mentre stai creando un post o una pagina compaia l’errore http error nella finestra di caricamento immagini. Come risolvere?

    L’errore non è di origine certa, nel senso che le cause possono essere diverse, e allora bisogna provare varie soluzioni. Ecco le cause più comuni e le possibili soluzioni, partendo dalle più semplici alle più tecniche:

    1) E’ finito lo spazio web a disposizione. Se il tuo account ha esaurito lo spazio fisico allocato (limite imposto dall’hosting) allora non può caricare nuovi files.
    Soluzione: liberare spazio fisico oppure chiedere un upgrade del proprio hosting

    2) Riducete la dimensione dell’immagine. Non caricate ad esempio un’immagine da 2000px di larghezza. Riducetela ad esempio 1024px, o meglio ancora – se la dovete inserire all’interno di un post – a 600px. Esistono sia siti internet per ottimizzarle online, sia plugin per ottimizzare le immagini già caricate all’interno del vostro sito.

    3) Il formato del file o dell’immagine non è compatibile. A volte può capitare per alcune immagini.
    Soluzione: provare con un’immagine diversa. Se funziona, allora convertire l’immagine che vogliamo caricare e salvarla in un altro formato. Se ad esempio è una .jpg potete convertirla in .png, e viceversa.

    4) Conflitto con plugin di ottimizzazione immagini.
    Soluzione: disattivate (anche solo temporaneamente) il plugin e riprovate.

    5) La memoria allocata per Apache/PHP nella configurazione di wordpress è troppo bassa/limitata. Si può facilmente verificare ed aumentare.
    Soluzione: aumentare la memoria php. Aprire il file wp-config.php (presente nella root / directory principale del vostro hosting). In questo file vengono elencati tutti i set up della configurazione wordpress. Importante: editatelo solo con un normale programma Notepad o direttamente con il file editor del vostro hosting, NON utilizzate Word e simili. Cercate la riga con questa istruzione:

    define('WP_MEMORY_LIMIT', ' ');

    (avrà un valore in MB all’interno.).
    Cambiatela nel modo seguente (se non presente, semplicemente aggiungetela)

    define('WP_MEMORY_LIMIT', '64MB');

    o meglio

    define('WP_MEMORY_LIMIT', '128MB');

    Salvate il file e riprovate.

    6) Potete provare a risolvere aggiungendo queste righe al file .htaccess, che si trova anch’esso nella directory root del vostro spazio web. Nota importante: editare con il file manager del vostro hosting, oppure con programma apposito, oppure con un semplice Notepad. Non usare word e simili. Codice da aggiungere all’inizio del file .htaccess :

    <IfModule mod_security.c>
    SecFilterEngine Off
    SecFilterScanPOST Off
    </IfModule>

    oppure

    <FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
    </FilesMatch>

    oppure

    AddType x-mapp-php5 .php

    8) Se questi non funzionano, allora è bene contattare l’assistenza del vostro fornitore di spazio web.

    Categories: Tutorial & Modifiche Tags: Tag:

    Come sapere quali bots/spider rallentano il server (e come bloccarli)

    Un crawler, detto anche bot oppure spider, è un software che analizza i contenuti di un sito, per raccogliere informazioni (collect data). In sostanza visitano i siti presenti sul server, raccolgono dati, pagine, informazioni e li inviano ai loro server di provenienza, per essere elaborati e archiviati. Parlando in maniera semplicistica, sono come degli ambasciatori che vengono a vedere casa vostra o il vostro negozio. Sono indispensabili al funzionamento dei motori di ricerca, in quanto raccolgono (collect) tutti i dati del vostro sito per poterli poi restituire agli utenti che fanno ricerche (se i loro algoritmi decidono che i vostri dati possono essere utili all’utente che ha effettuato la ricerca). Ma dietro questa nobile attività vi sono due tipi di problemi:

    1. gli spider dei motori di ricerca possono consumare molte risorse del vostro sito, sia per quanto riguarda la bandwith (traffico dati), sia per quanto riguarda il carico del server
    2. non sempre si tratta di bot dei motori di ricerca, ma spesso di altre tipologie di siti che vogliono utilizzare i dati del vostro sito per altri scopi (copiatura, analisi da parte della concorrenza)

    Spider e consumo risorse del sito

    Ogni volta che lo spider visita il vostro sito, generalmente lo visita tutto o almeno tenta di collezionare le informazioni del maggior numero di pagine possibile. Questa procedura consuma bandwith: questa rappresenta il traffico dati (in entrata e in uscita) concesso al vostro sito. Ogni piano hosting lo prevede (anche quando trovate in certe offerte bandwith illimitata c’è in realtà un limite). Anche se oggigiorno questo limite mensile di banda dati è aumentato rispetto al passato, esiste e va considerato, sopratutto se avete un hosting economico. Gli spider sono ingordi, gli piace leggere e rileggere tutti i siti. Tutti insieme consumano. Gli stessi motori di ricerca ammettono questa cosa: Google, ad esempio, attraverso il Google Webmaster Tool (o Search Console) permette di ridurre la frequenza di queste scansioni da parte del loro bot. E’ un’opzione semplice da utilizzare e comunque da considerare a seconda del tipo di sito che abbiamo. Un sito di notizie, aggiornato più volte al giorno, va scansionato spesso, per indicizzare subito le novità. Stesso discorso per un forum. Un sito più statico, nel senso che posta news con minor frequenza, può benissimo impostare una scansione meno frequente. E risparmiare bandwith. E non solo: a volte l’insieme dei bot concorre ad aumentare il carico del server, provocando rallentamenti al sito. Se è vero che i rallentamenti di un server (e dei siti che ospita) dipendono sopratutto dalla configurazione (errata) o dagli script (malscritti o non aggiornati), la coincidenza di più bot contemporaneamente è un fattore che in alcuni casi provoca high cpu usage , cosa che manda in crash/black out tutto quando si tratta di attacchi ddos.

    Come dicevamo, i bot che visitano il sito sono inviati anche da altri siti che non sono motori di ricerca, ma che hanno scopi totalmente differenti dal collezioare dati per restituirli nei risultati di ricerca. Tra questi siti che “copiano” le vostre pagine: dal quasi legittimo Google News che legge le vostre notizie e le riporta sul suo aggregatore (o come Trivago o Momondo che analizzano ed estraggono dati relativi alle tariffe hotels o alle offerte di viaggi), ai veri e propri siti scraper (che ri-copiano nei loro siti), fino ai siti per analisi seo (search engine oriented) che leggono il vostro sito simulando il motore di ricerca, ma per capire quali parole chiave avete, che densità hanno, come sono linkate le pagine, chi vi linka, ecc. in modo da aggregare ai dati e far capire alla concorrenza quali sono i vostri punti di forza. Alcuni esempi trai i più famosi: Ahrefs, SiteExplorer, Moz.

    Conoscere quali spiders/bot contattano i siti ospitati sul server

    Se avete accesso alla console SSH del server, allora ecco uno script già pronto per conoscere: nome dello spider, indirizzo ip (da quale server è stato lanciato), numero di volte ha contattato il sito. Copiatelo, aprite la console SSH, incollatelo e premete invio. Dal momento che lancia un processo (di calcolo) intensivo, ci impiegherà qualche minuto per restituire i dati che ci interessano (presi dal domainlogs, dalla mezzanotte precedente). Ecco lo script:

    echo -e "\n\e[1;31m=== Bots (robots or crawlers) ===\e[0m\n"; find /usr/local/apache/domlogs/*/ -type f|grep -v -E $'(_|-)log|.gz'|xargs grep -H "" | perl -ne 'if (/$DATE/ && /\/usr\/local\/apache\/domlogs\/.*\/(.*):(\d{1,3}(?:\.\d{1,3}){3}).*\((?:.*?;)*([^;]*(?:b(?:ot|ing)|crawl|yahoo|google|spider)[^;]*);/i) { print ("$1\t$2\t$3\n")}'|sort|uniq -c|sort -rn|awk '{print $1" "$3" "$4" "$2}'|column -t|head

    Il risultato sarà come il seguente:

    2735  162.158.78.71    SemrushBot/1.2~bl                  ###ar.it
    62    141.101.105.133  AhrefsBot/5.2                      ##zar.it
    124   88.198.66.230    MJ12bot/v1.4.7                     tuttoblog.com
    82    5.9.63.162       MJ12bot/v1.4.7                     tuttoblog.com
    56    198.204.243.138  MJ12bot/v1.4.7                     tuttoblog.com
    76    162.158.74.178   bingbot/2.0                        ##log.com
    72    172.68.58.42     bingbot/2.0                        ##log.com

    Notare ad esempio quanto sia vorace Semrush (noto tool di analisi siti), e come ad esempio il bot del motore di ricerca Bing arrivi da diversi IP (i motori di ricerca ne utilizzano centinaia). E’ normale vedere più ip (in quanto se il server ne blocca uno, ne hanno altri da cui far partire l’analisi al nostro sito)

    Bloccare gli spider indesiderati

    Abbiamo diverse possibilità per bloccare i bot che non ci interessano, e che anzi possono solo danneggiarci (provocando rallentamenti al sito, consumando risorse, copiando i nostri dati per la concorrenza), ovvero inserire delle istruzioni apposite. Possiamo scoraggiarli inserendo l’istruzione nel file robots.txt del sito (maniera soft) oppure bloccando tali bot direttamente tramite il server (istruzioni nel file .htaccess)

    Di seguito una lista di spider da bloccare già pronta all’uso, solo da copiare ed incollare nel vostro file robots.txt Due note importanti: è una lista molto ampia, che ovviamente esclude i motori di ricerca, ma è bene controllare che non vi siano servizi che invece vi interessano al suo interno, perchè finireste per bloccarli. E secondo, ognuno la usa sotto la propria responsabilità, proprio perchè state decidendo di scoraggiare la raccolta dei dati del vostro sito a questi spider. Se non avete un file robots, andate nel file manager del vostro sito web, create un file robots.txt e copiate questa lista. Se esiste già, dopo le istruzioni già presenti, potete aggiungere questa lista:

    User-agent: 1 2 3 Submit PRO
     disallow: /
    
    User-agent: 200PleaseBot
     disallow: /
    
    User-agent: 2ADAMbot
     disallow: /
    
    User-agent: 2ADAMbot/1.0
     disallow: /
    
    User-agent: 360Spider
     disallow: /
    
    user-agent: Abonti
     disallow: /
    
    user-agent: Abonti/0.92
     disallow: /
    
    user-agent: abot v1.0
     disallow: /
    
    user-agent: aboutthedomain
     disallow: /
    
    user-agent: Add Catalog
     disallow: /
    
    user-agent: Add Catalog/2.1
     disallow: /
    
    user-agent: AdvBot
     disallow: /
    
    user-agent: AdvBot/2.0
     disallow: /
    
    user-agent: AhrefsBot
     disallow: /
    
    user-agent: Ahrefs-Bot
     disallow: /
    
    user-agent: AhrefsBot/1.0
     disallow: /
    
    user-agent: Ahrefs-Bot/1.0
     disallow: /
    
    user-agent: Ahrefs-Bot/2.0
     disallow: /
    
    user-agent: Ahrefs-Bot/3.0
     disallow: /
    
    user-agent: Ahrefs-Bot/4.0
     disallow: /
    
    user-agent: Ahrefs-Bot/5.0
     disallow: /
    
    user-agent: aiHitBot
     disallow: /
    
    user-agent: aiHitBot/2.9
     disallow: /
    
    user-agent: Anonymous/0.0
     disallow: /
    
    user-agent: Arachnida
     disallow: /
    
    user-agent: Associative Spider
     disallow: /
    
    User-agent: Baiduspider
     disallow: /
    
    User-agent: Baidu Spider
     disallow: /
    
    User-agent: Battleztar Bazinga
     disallow: /
    
    User-agent: Battleztar Bazinga/0.01
     disallow: /
    
    User-agent: BDFetch
     disallow: /
    
    User-agent: betaBot
     disallow: /
    
    User-agent: bieshu
     disallow: /
    
    User-agent: Bigli SEO
     disallow: /
    
    User-agent: Blackboard Safeassign
     disallow: /
    
    User-agent: Blazer 1.0
     disallow: /
    
    User-agent: BLEXBot
     disallow: /
    
    User-agent: BLEXBot/1.0
     disallow: /
    
    User-agent: BLP_bbot
     disallow: /
    
    User-agent: BLP_bbot/0.1
     disallow: /
    
    User-agent: BOIA-Accessibility-Agent/PR 1.0
     disallow: /
    
    User-agent: BOT for JCE
     disallow: /
    
    User-agent: BOT/0.1 (BOT for JCE)
     disallow: /
    
    User-agent: BPImageWalker
     disallow: /
    
    User-agent: BPImageWalker/2.0
     disallow: /
    
    User-agent: BUbiNG
     disallow: /
    
    User-agent: BuiBui-Bot
     disallow: /
    
    User-agent: BuiBui-Bot/1.0
     disallow: /
    
    User-agent: ca-crawler
     disallow: /
    
    User-agent: ca-crawler/1.0
     disallow: /
    
    User-agent: CakePHP
     disallow: /
    
    User-agent: Calypso v/0.01
     disallow: /
    
    User-agent: Calypso
     disallow: /
    
    User-agent: CB/Nutch-1.7
     disallow: /
    
    User-agent: CCBot
     disallow: /
    
    User-agent: CCBot/2.0
     disallow: /
    
    User-agent: Checkbot
     disallow: /
    
    User-agent: checkgzipcompression.com
     disallow: /
    
    User-agent: chushou
     disallow: /
    
    User-agent: CloudServerMarketSpider
     disallow: /
    
    User-agent: CloudServerMarketSpider/1.0
     disallow: /
     
    User-agent: Clushbot/3.x-BinaryFury
     disallow: /
    
    User-agent: CMS Crawler
     disallow: /
    
    User-agent: CMS Crawler: http://www.cmscrawler.com
     disallow: /
    
    User-agent: coccoc
     disallow: /
    
    User-agent: CoinCornerBot
     disallow: /
    
    User-agent: CoinCornerBot/1.1
     disallow: /
    
    User-agent: Copyscape
     disallow: /
    
    User-agent: crawler4j
     disallow: /
    
    User-agent: CRAZYWEBCRAWLER 0.9.0
     disallow: /
    
    User-agent: CRAZYWEBCRAWLER 0.9.1
     disallow: /
    
    User-agent: CRAZYWEBCRAWLER 0.9.7
     disallow: /
    
    User-agent: CrazyWebCrawler
     disallow: /
    
    User-agent: CrazyWebCrawler-Spider
     disallow: /
    
    User-agent: Crowsnest
     disallow: /
    
    User-agent: Crowsnest/0.5
     disallow: /
    
    User-agent: Curious George - www.analyticsseo.com/crawler
     disallow: /
    
    User-agent: Curious George
     disallow: /
    
    User-agent: cuwhois
     disallow: /
    
    User-agent: cuwhois/1.0
     disallow: /
    
    User-agent: dahoms
     disallow: /
    
    User-agent: datagnionbot
     disallow: /
    
    User-agent: DeuSu/5.0.2
     disallow: /
    
    User-agent: Digincore
     disallow: /
    
    User-agent: Digincore bot
     disallow: /
    
    User-agent: Dispatch/0.11.0
     disallow: /
    
    User-agent: Domain Re-Animator Bot
     disallow: /
    
    User-agent: DomainAppender /1.0
     disallow: /
    
    User-agent: DomainAppender
     disallow: /
     
     User-agent: DomainCrawler/3.0
     disallow: /
    
    User-agent: DomainSigmaCrawler
     disallow: /
    
    User-agent: DomainSigmaCrawler/0.1
     disallow: /
    
    User-agent: Domnutch
     disallow: /
    
    User-agent: Domnutch-Bot
     disallow: /
    
    User-agent: Domnutch-Bot/Nutch
     disallow: /
    
    User-agent: Domnutch-Bot/Nutch-1.0
     disallow: /
    
    User-agent: dotbot
     disallow: /
    
    User-agent: ECCP/1.2.1
     disallow: /
    
    User-agent: eCommerceBot
     disallow: /
    
    User-agent: enlle punto com/Nutch-1.9
     disallow: /
    
    User-agent: EPiServer Link Checker
     disallow: /
    
    User-agent: EuripBot
     disallow: /
    
    User-agent: EuripBot/2.0
     disallow: /
    
    User-agent: evc/2.0
     disallow: /
    
    User-agent: evc-batch
     disallow: /
    
    User-agent: evc-batch/2.0
     disallow: /
    
    User-agent: Express WebPictures
     disallow: /
    
    User-agent: Faraday v0.8.8
     disallow: /
    
    User-agent: Faraday
     disallow: /
    
    User-agent: Findxbot
     disallow: /
    
    User-agent: Findxbot/1.0
     disallow: /
    
    User-agent: Flamingo_SearchEngine
     disallow: /
    
    User-agent: Flipboard Robot
     disallow: /
    
    User-agent: GetProxi.es-bot
     disallow: /
    
    User-agent: GetProxi.es-bot/1.1
     disallow: /
    
    User-agent: GigablastOpenSource
     disallow: /
    
    User-agent: GigablastOpenSource/1.0
     disallow: /
    
    User-agent: Girafabot
     disallow: /
    
    User-agent: Gluten Free Crawler
     disallow: /
    
    User-agent: Gluten Free Crawler/1.0
     disallow: /
    
    User-agent: GriffinBot
     disallow: /
    
    User-agent: GrifinBot/0.01
     disallow: /
    
    User-agent: GWPImages
     disallow: /
    
    User-agent: GWPImages/1.0
     disallow: /
    
    User-agent: Haiula
     disallow: /
    
    User-agent: Haiula/1.4
     disallow: /
    
    User-agent: HaosouSpider
     disallow: /
    
    User-agent: Hivemind
     disallow: /
    
    User-agent: HostHarvest
     disallow: /
    
    User-agent: HostHarvest/0.4.28
     disallow: /
    
    User-agent: HRCrawler
     disallow: /
    
    User-agent: HRCrawler/2.0
     disallow: /
    
    User-agent: http://git.io/tl_S2w
     disallow: /
    
    User-agent: http://www.checkprivacy.or.kr:6600/RS/PRIVACY_ENFAQ.jsp
     disallow: /
    
    User-agent: HubSpot Links Crawler 1.0
     disallow: /
    
    User-agent: HubSpot Webcrawler
     disallow: /
    
    User-agent: HubSpot
     disallow: /
    
    User-agent: hunchan
     disallow: /
    
    User-agent: HyperCrawl
     disallow: /
    
    User-agent: HyperCrawl/0.2
     disallow: /
    
    User-agent: ICAP-IOD
     disallow: /
    
    User-agent: ICC-Crawler
     disallow: /
    
    User-agent: ICC-Crawler/2.0
     disallow: /
    
    User-agent: Ichiro Robot
     disallow: /
    
    User-agent: image.coccoc/1.0
     disallow: /
    
    User-agent: Image2play
     disallow: /
    
    User-agent: Image2play/0.1
     disallow: /
    
    User-agent: Indy Library
     disallow: /
    
    User-agent: InsightsCollector
     disallow: /
    
    User-agent: InsightsCollector/0.1
     disallow: /
    
    User-agent: InsightsCollector/0.1beta
     disallow: /
    
    User-agent: integrity/5
     disallow: /
    
    User-agent: InterNaetBoten
     disallow: /
    
    User-agent: InterNaetBoten/0.99
     disallow: /
    
    User-agent: IRL Crawler
     disallow: /
    
    User-agent: James BOT - WebCrawler
     disallow: /
    
    User-agent: James BOT
     disallow: /
    
    User-agent: JamesBOT
     disallow: /
    
    User-agent: JetBrains 5.0
     disallow: /
    
    User-agent: JetBrains
     disallow: /
    
    User-agent: Kraken
     disallow: /
    
    User-agent: Kraken/0.1
     disallow: /
    
    User-agent: Kyoto-Tohoku-Crawler/v1
     disallow: /
    
    User-agent: larbin
     disallow: /
    
    User-agent: lechenie
     disallow: /
    
    User-agent: libwww-perl
     disallow: /
    
    User-agent: link checker
     disallow: /
    
    User-agent: Link/1.0
     disallow: /
    
    User-agent: linkCheck
     disallow: /
    
    User-agent: linkCheckV3.0
     disallow: /
    
    User-agent: Linkdex
     disallow: /
    
    User-agent: linkdex.com/v2.0
     disallow: /
    
    User-agent: linkdex.com/v2.1
     disallow: /
    
    User-agent: LinkdexBot
     disallow: /
    
    User-agent: linkdexbot/2.0
     disallow: /
    
    User-agent: linkdexbot/2.1
     disallow: /
    
    User-agent: linkdexbot-mobile/2.1
     disallow: /
    
    User-agent: LinkpadBot
     disallow: /
    
    User-agent: LinkpadBot/1.06
     disallow: /
    
    User-agent: LinqiaScrapeBot
     disallow: /
    
    User-agent: LinqiaScrapeBot/1.0
     disallow: /
    
    User-agent: Lipperhey SEO Service
     disallow: /
    
    User-agent: Lipperhey
     disallow: /
    
    User-agent: Lipperhey-Kaus-Australis
     disallow: /
    
    User-agent: Lipperhey-Kaus-Australis/5.0
     disallow: /
    
    User-agent: listicka
     disallow: /
    
    User-agent: LSSRocketCrawler
     disallow: /
    
    User-agent: LSSRocketCrawler/1.0 LightspeedSystems
     disallow: /
    
    User-agent: LSSRocketCrawler/1.0
     disallow: /
    
    User-agent: ltx71
     disallow: /
    
    User-agent: LWNutch/Nutch-1.4
     disallow: /
    
    User-agent: Mail.RU
     disallow: /
    
    User-agent: Mail.RU_Bot
     disallow: /
    
    User-agent: Mail.RU_Bot/2.0
     disallow: /
    
    User-agent: Mail.RU_Bot/Fast/2.0
     disallow: /
    
    User-agent: md5sum
     disallow: /
    
    User-agent: md5sum\x22
     disallow: /
    
    User-agent: meanpathbot
     disallow: /
    
    User-agent: MegaIndex.ru
     disallow: /
    
    User-agent: MegaIndex.ru/2.0
     disallow: /
    
    User-agent: mezhpozvonochnoi
     disallow: /
    
    User-agent: Mike-Crawler
     disallow: /
    
    User-agent: MixBot
     disallow: /
    
    User-agent: MixrankBot
     disallow: /
    
    User-agent: MJ12bot
     disallow: /
    
    User-agent: Monkeybot/0.1
     disallow: /
    
    User-agent: my crawler
     disallow: /
    
    User-agent: My Nutch Spider/Nutch-1.9
     disallow: /
    
    User-agent: mycrowl/Nutch-1.9
     disallow: /
    
    User-agent: MyGreatUA/2.0
     disallow: /
    
    User-agent: MyIPTest
     disallow: /
    
    User-agent: NameProtect Robot
     disallow: /
    
    User-agent: NerdyBot
     disallow: /
    
    User-agent: Netcraft Spider
     disallow: /
    
    User-agent: netEstate NE Crawler
     disallow: /
    
    User-agent: NetLyzer FastProbe
     disallow: /
    
    User-agent: NetResearchServer
     disallow: /
    
    User-agent: NetResearchServer/4.0
     disallow: /
    
    User-agent: Nmap Scripting Engine
     disallow: /
    
    User-agent: node.io
     disallow: /
    
    User-agent: node.js
     disallow: /
    
    User-agent: Node/simplecrawler 0.5.2
     disallow: /
    
    User-agent: Node/simplecrawler
     disallow: /
    
    User-agent: oBot/2.3.1
     disallow: /
    
    User-agent: omgilibot
     disallow: /
    
    User-agent: omgilibot/0.4
     disallow: /
    
    User-agent: Online Domain Tools - Online Website Link Checker
     disallow: /
    
    User-agent: Online Domain Tools - Online Website Link Checker/1.2
     disallow: /
    
    User-agent: Openfind Robot
     disallow: /
    
    User-agent: OpenHoseBot
     disallow: /
    
    User-agent: OpenHoseBot/2.1
     disallow: /
    
    User-agent: Openstat
     disallow: /
    
    User-agent: Openstat/0.1
     disallow: /
    
    User-agent: OptimizationCrawler
     disallow: /
    
    User-agent: OptimizationCrawler/0.2
     disallow: /
    
    User-agent: Page Analyzer v4.0
     disallow: /
    
    User-agent: Page Analyzer
     disallow: /
    
    User-agent: PageAnalyzer
     disallow: /
    
    User-agent: PageAnalyzer/1.1
     disallow: /
    
    User-agent: PageAnalyzer/1.5
     disallow: /
    
    User-agent: PagesInventory
     disallow: /
    
    User-agent: Pagespeed/1.1 Fetcher
     disallow: /
    
    User-agent: Pagespeed/1.1
     disallow: /
    
    User-agent: Pagespeedbot
     disallow: /
    
    User-agent: Perl LWP
     disallow: /
    
    User-agent: PHPCrawl
     disallow: /
    
    User-agent: phpSiteCheck 1.0
     disallow: /
    
    User-agent: phpSiteCheck
     disallow: /
    
    User-agent: Plukkie
     disallow: /
    
    User-agent: POGS/2.0
     disallow: /
    
    User-agent: Powermarks
     disallow: /
    
    User-agent: PowerPivot
     disallow: /
    
    User-agent: PRIVACY_ENFAQ.jsp
     disallow: /
    
    User-agent: Prlog
     disallow: /
    
    User-agent: Prlog/1.0
     disallow: /
    
    User-agent: publiclibraryarchive.org
     disallow: /
    
    User-agent: publiclibraryarchive.org/1.0
     disallow: /
    
    User-agent: Pu_iN Crawler
     disallow: /
    
    User-agent: Putin
     disallow: /
    
    User-agent: Putin spider
     disallow: /
    
    User-agent: qingdao
     disallow: /
    
    User-agent: QlikView
     disallow: /
    
    User-agent: quipu
     disallow: /
    
    User-agent: quipu/1.0
     disallow: /
    
    User-agent: quipu/2.0
     disallow: /
    
    User-agent: R6_CommentReader
     disallow: /
    
    User-agent: R6_FeedFetcher
     disallow: /
    
    User-agent: Riddler
     disallow: /
    
    User-agent: RivalSeek.com-Bot
     disallow: /
    
    User-agent: rogerbot
     disallow: /
    
    User-agent: rogerbot/1.0
     disallow: /
    
    User-agent: rootlink
     disallow: /
    
    User-agent: RU_Bot/2.0
     disallow: /
    
    User-agent: Scopia
     disallow: /
    
    User-agent: Scopia crawler
     disallow: /
    
    User-agent: Scopia crawler 1.0
     disallow: /
    
    User-agent: Scopia crawler 1.1
     disallow: /
    
    User-agent: Scopia crawler 1.2
     disallow: /
    
    User-agent: Scrapy
     disallow: /
    
    User-agent: Scrapy/0.16.5
     disallow: /
    
    User-agent: Scrapy/0.24.4
     disallow: /
    
    User-agent: Scrapy/0.24.5
     disallow: /
    
    User-agent: Scrapy/0.24.6
     disallow: /
    
    User-agent: Scrapy/1.0.1
     disallow: /
    
    User-agent: Screaming Frog SEO Spider
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/2,55
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/2.55
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/3.1
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/3.3
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/4.1
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/5.0
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/5.1
     disallow: /
    
    User-agent: Screaming Frog SEO Spider/5.1 Beta 2
     disallow: /
    
    User-agent: scrutiny/4
     disallow: /
    
    User-agent: SemrushBot
     disallow: /
    
    User-agent: SemrushBot-SA
     disallow: /
     
    User-agent: SEOdiver/1.0
     disallow: /
    
    User-agent: SEOkicks
     disallow: /
    
    User-agent: SEOkicks-Robot
     disallow: /
    
    User-agent: SEOlyticsCrawler
     disallow: /
    
    User-agent: SEOlyticsCrawler/3.0
     disallow: /
    
    User-agent: seoscanners
     disallow: /
    
    User-agent: seoscanners.net/1
     disallow: /
    
    User-agent: SEOstats 2.1.0
     disallow: /
    
    User-agent: Seosys/Nutch-2.3
     disallow: /
    
    User-agent: SetCronJob/1.0
     disallow: /
    
    User-agent: SeznamBot
     disallow: /
    
    User-agent: SheerBoredom.Experimental.Robot
     disallow: /
    
    User-agent: SheerBoredom.Experimental.Robot/0.2
     disallow: /
    
    User-agent: ShowyouBot
     disallow: /
    
    User-agent: Simplecrawler
     disallow: /
    
    User-agent: SISTRIX Crawler
     disallow: /
    
    User-agent: sistrix
     disallow: /
    
    User-agent: SiteBot
     disallow: /
    
    User-agent: SiteBot/0.1
     disallow: /
    
    User-agent: SiteExplorer
     disallow: /
    
    User-agent: SiteExplorer/1.0
     disallow: /
    
    User-agent: SiteExplorer/1.0b
     disallow: /
    
    User-agent: Siteluxbot
     disallow: /
    
    User-agent: Siteluxbot/1.0
     disallow: /
    
    User-agent: SkimBot
     disallow: /
    
    User-agent: SkimBot/1.0
     disallow: /
    
    User-agent: sky nutch crawler/Nutch-1.9
     disallow: /
    
    User-agent: SMTBot
     disallow: /
    
    User-agent: SMTBot/1.0
     disallow: /
    
    User-agent: SNK Screenshot Bot
     disallow: /
    
    User-agent: SNK Screenshot Bot/0.20
     disallow: /
    
    User-agent: Sogou Spider
     disallow: /
    
    User-agent: Sogou web spider
     disallow: /
    
    User-agent: SpamBayes
     disallow: /
    
    User-agent: SpamBayes/1.1a3+
     disallow: /
    
    User-agent: spbot
     disallow: /
    
    User-agent: spbot/4.4.2
     disallow: /
    
    User-agent: spiderbot
     disallow: /
    
    User-agent: SpiderLing
     disallow: /
    
    User-agent: Spiderbot/Nutch-1.7
     disallow: /
    
    User-agent: spray-can
     disallow: /
    
    User-agent: spray-can/1.2.1
     disallow: /
    
    User-agent: SSG/3.0
     disallow: /
    
    User-agent: Statastico
     disallow: /
    
    User-agent: Statastico/4.0
     disallow: /
    
    User-agent: Steeler
     disallow: /
    
    User-agent: Steeler/3.5
     disallow: /
    
    User-agent: Stratagems Kumo
     disallow: /
    
    User-agent: Stratagems
     disallow: /
    
    User-agent: StudioFACA Search
     disallow: /
    
    User-agent: StudioFACA
     disallow: /
    
    User-agent: sukibot
     disallow: /
    
    User-agent: sukibot_heritrix
     disallow: /
    
    User-agent: sukibot_heritrix/3.1.1
     disallow: /
    
    User-agent: SurveyBot
     disallow: /
    
    User-agent: Synapse
     disallow: /
    
    User-agent: Synthesio Crawler release MonaLisa
     disallow: /
    
    User-Agent: tbot-nutch/Nutch-1.10
     disallow: /
    
    User-Agent: Traackr.com bot
     disallow: /
    
    User-Agent: trendictionbot
     disallow: /
    
    User-Agent: Trendiction-Bot
     disallow: /
    
    User-Agent: TrueBot
     disallow: /
    
    User-Agent: TrueBot/1.0
     disallow: /
    
    User-Agent: TulipChain/5.xx
     disallow: /
    
    User-Agent: TWMBot/0.1
     disallow: /
    
    User-Agent: Typhoeus
     disallow: /
    
    User-Agent: UCMore Crawler App
     disallow: /
    
    User-Agent: uMBot-LN
     disallow: /
    
    User-Agent: uMBot-LN/1.0
     disallow: /
    
    User-Agent: updown_tester
     disallow: /
    
    User-Agent: URLChecker
     disallow: /
    
    User-agent: V1.0/1.2
     disallow: /
    
    User-agent: w3af.org
     disallow: /
    
    User-agent: WASALive
     disallow: /
    
    User-agent: WASALive-Bot
     disallow: /
    
    User-agent: vBSEO
     disallow: /
    
    User-agent: WBSearchBot
     disallow: /
    
    User-agent: WBSearchBot/1.1
     disallow: /
    
    User-agent: WeAreNotEvil
     disallow: /
    
    User-agent: WebAlta
     disallow: /
    
    User-agent: WebAlta Crawler
     disallow: /
    
    User-agent: Web corpus crawler
     disallow: /
    
    User-agent: WebCookies
     disallow: /
    
    User-agent: WebCookies/1.0
     disallow: /
    
    User-agent: WebCopier vx.xa
     disallow: /
    
    User-agent: Webnest 0.9
     disallow: /
    
    User-agent: WebQL
     disallow: /
    
    User-agent: Webscout
     disallow: /
    
    User-agent: Webscout/1.0
     disallow: /
    
    User-agent: Web-sniffer
     disallow: /
    
    User-agent: Web-sniffer/1.1.0
     disallow: /
    
    User-agent: Webster Pro V3.4
     disallow: /
    
    User-agent: WebTarantula.com Crawler
     disallow: /
    
    User-agent: WeCrawlForThePeace
     disallow: /
    
    User-agent: VegeBot
     disallow: /
     
     User-agent: Vegi bot
     disallow: /
    
    User-agent: WeLikeLinks
     disallow: /
    
    User-agent: VeriCiteCrawler
     disallow: /
    
    User-agent: VeriCiteCrawler/Nutch-1.9
     disallow: /
    
    User-agent: WhatWeb
     disallow: /
    
    User-agent: WhatWeb/0.4.8-dev
     disallow: /
    
    User-agent: Visited by http://tools.geek-tools.org
     disallow: /
    
    User-agent: Voila Robot
     disallow: /
    
    User-agent: voltron
     disallow: /
    
    User-agent: woobot
     disallow: /
    
    User-agent: woobot/1.1
     disallow: /
    
    User-agent: woobot/2.0
     disallow: /
    
    User-agent: Vorboss Web Crawler
     disallow: /
    
    User-agent: Vorboss Web Crawler/Nutch-2.3
     disallow: /
    
    User-agent: WorldBrewBot
     disallow: /
    
    User-agent: WorldBrewBot/2.1
     disallow: /
    
    User-agent: worldwebheritage.org
     disallow: /
    
    User-agent: worldwebheritage.org/1.0
     disallow: /
    
    User-agent: wscheck.com
     disallow: /
    
    User-agent: wscheck.com/1.0.0
     disallow: /
    
    User-agent: www.deadlinkchecker.com
     disallow: /
    
    User-agent: www.petitsage.fr site detector 0.4
     disallow: /
    
    User-agent: WWW-Mechanize
     disallow: /
    
    User-agent: WWW-Mechanize/1.74
     disallow: /
    
    User-agent: Xenu Link Sleuth
     disallow: /
    
    User-agent: Xenu's Link Sleuth
     disallow: /
    
    User-agent: XoviBot
     disallow: /
    
    User-agent: XoviBot/2.0
     disallow: /
    
    User-agent: XSpider
     disallow: /
    
    User-agent: Yandex Robot
     disallow: /
    
    User-agent: Yandex
     disallow: /
    
    User-agent: Yetibot
     disallow: /
    
    User-agent: YisouSpider
     disallow: /
    
    User-agent: yoozBot
     disallow: /
    
    User-agent: yoozBot-2.2
     disallow: /
    
    User-agent: zgrab/0.x
     disallow: /
    
    User-agent: zzabmbot
     disallow: /
    
    User-agent: zzabmbot/1.0
     disallow: /

    Nota: è stato bloccato anche Yandex. Se al vostro sito interessa essere presente sul motore di ricerca russo, allora rimuovetelo. Suggerimenti e aggiunte sono ben accetti.

    Slider immagini per wordpress: i plugins più veloci

    Se vuoi aggiungere una carrellata di immagini a scorrimento nella tua homepage, oppure nelle pagine o negli articoli, wordpress ti mette a disposizione molti plugins, sia gratuiti, sia nelle versioni più evolute a pagamento. In breve, uno slider ti permette di far visualizzare delle immagini in rotazione, che si susseguono con tempi ed effetti a tua scelta, per rendere la presentazione del tuo sito (o di un articolo) di maggior impatto per l’utente. Tutti questi plugins hanno in comune la capacità essere configurati velocemente e di offrire una grande varietà di opzioni anche nelle versioni gratuite. E, aspetto fondamentale, questi slider sono responsive, ovvero le immagini in rotazione si adattano automaticamente al dispositivo utilizzato dall’utente per navigare nel nostro sito.. Un aspetto importante da tener conto, e non di immediata comprensione per il webmaster che deve scegliere il plugin più adatto, è il possibile rallentamento del sito a seconda del tipo di slider che utilizziamo. Fermo restando che le slides dovrebbero contenere immagini già ottimizzate e al tempo stesso è consigliabile limitare il numero di slides, alcuni dei più famosi plugins utilizzati si sono rivelati anche un po’ più lenti di altri plugins meno conosciuti ma ugualmente validi. Ecco una lista di plugins per slider, con le caratteristiche principali e i risultati dei test di velocità. Note: per il test è stata creata una slide di 3 immagini. Esistono moltissimi slider plugins, ecco i più performanti del nostro test.

    MetaSlider

    meta slider
    Permette di creare slideshows in modo facile e veloce. Semplicemente si selezionano le immagini dalla libreria media, si trascinano nello spazio di costruzione slides, si settano le varie opzioni, i links e i campi seo, tutto da un’unica pagina. Si può scegliere tra 4 diversi tipi di slideshow già inclusi nel pacchetto: Flex Slider 2 (Responsive, 2 effetti di transizione, possibilità carosello), Nivo Slider (responsive, 16 effetti di transizione, 4 temi), Responsive Slides (responsive, maggior velocità), Coin Slider (4 effetti di transizione). Una volta creato lo slider, si copia lo shortcode all’interno della pagina, del post o del template. Tra le altre opzioni: image cropping (ritaglio dell’immagine), compatibile con plugin di traduzione (WPML, PolyLang & qTranslate). Esiste anche una versione premium.
    Risultato del test: la versione free è risultata veloce. La performance si riduce quando si utilizza l’opzione image cropping

    Cyclone Slider 2

    cyclone-sliderSlideshow plugin semplice e con interfaccia intuitiva. Anche questo permette di aggiungere slides, selezionare le proprietà e scegliere tra differenti tipi di slides (immagine, video Youtube o Vimeo, html oppure testimonianze), scelta del template (default, scuro, standard e thumbnails) e pubblicare, scegliendo tra uno shortcode da aggiungere alle pagine oppure una stringa di codice da aggiungere direttamente al template. Anche questo ha possibilità di essere tradotto, e ha un sistema avanzato per customizzarlo a seconda del sito in cui dobbiamo inserirlo. E’ gratuito, e ha il grande vantaggio di caricare solo gli script e gli stili che abbiamo selezionato, riducendo così il caricamento del plugin. Opzioni di base incluse: scelta effetti di transizione (fade, scroll out, ecc.), velocità effetti di transizione, gestione larghezza (responsive), scala immagini (eventuale forzatura resize), pausa al passaggio del mouse, mostra pulsanti precedente/successivo, mostra navigazione, ordina diapositive. Esiste anche una versione Pro. Se hai installato il plugin per immagini NextGen, allora puoi facilmente creare uno slider selezionando una galleria già esistente.
    Risultato del test: nella versione di default si è rivelato veloce.

    Slider Revolution

    slider revolution
    Slider Revolution un plugin premium, non è free ma ha ugualmente ottenuto grande popolarità tra i plugins dedicati alla creazione di slides per le tante opzioni che offre e per la sua facilità d’uso e di installazione. Spesso viene incluso nei templates premium. Tra le opzioni generali incluse: possibilità di scelta tra più tipologie di slider (classiche diapositive, carosello, ecc.), ridimensionamento automatico immagini, possibilità di scelta di visualizzazione (fullwidth, schermo intero, auto responsive), editor arricchito e drag and drop immagini, lazy loading (caricamento immagini solo quando l’utente arriva nella zona delle slides, per una maggior velocità della pagina), performance monitor. La sezione relativa alle Layer Capatibilities (funzioni di livello) è molto avanzata: molteplici possibilità di customizzazione, animazioni e transizioni; possibilità di settare inizio/fine/durata degli effetti; possibilità di integrare Youtube, Vimeo, video caricati sul sito; grande varietà di bottoni disponibile; possibilità di inserire link per i singoli livelli; possibilità di variare la visualizzazione dello slides a seconda del dispositivo usato dall’utente. Altre caratteristiche a completare il pacchetto: molteplici possibilità di navigazione per l’utente tra le slides (bottoni, bullet, navigazione per thumbnails, ecc. posizionabili in alto/basso, ecc.), stop al passaggio del mouse, countdown, scomparsa dopo x secondi. Opzioni video: autoplay (sempre, solo la prima volta, ecc.), rewind, funzione loop, ecc. Inoltre Revolution Slider offre la possibilità di importare i contenuti delle slides direttamente dai social media (Facebook, Twitter, YouTube, Vimeo, Flickr, Instagram, WooCommerce), oltre che dai posts WordPress. Guarda la lista completa e le demo
    Risultato del test: abbastanza veloce. Questa grandissima varietà di possibilità di opzioni deve matematicamente far lievitare i tempi di caricamento rispetto ad altri plugins che utilizzano meno funzioni. L’aspetto che rassicura il webmaster è che, essendo un plugin premium (con oltre 175mila download!), ha alle spalle un team di sviluppatori che costantemente aggiorna il codice per renderlo più veloce e compatibile.

    Considerazioni finali: per avere un plugin di visualizzazione immagini a slides (classiche, a scomparsa, a carosello, ecc.) si può tranquillamente optare per un plugin free (come le versioni free di MetaSlider e Cyclone Slider 2), che offre comunque tante possibilità di scelta di effetti, visualizzazione, adattamento agli smartphone e velocità di caricamento (a patto che le nostre immagini siano ottimizzate, in generale). Se invece ci interessa la funzione di includere direttamente contenuti presi direttamente dai nostri posts o dai nostri profili social allora è bene dare un’occhiata alle possibilità di Revolution Slider. Se avete altri plugins da suggerire ben vengano, proveremo a testarne la velocità.

    Categories: Plugins Wordpress Tags: Tag:

    Sostituire termini e stringhe nel sito con Search And Replace Db Master

    Programma gratuito che permette di lavorare facilmente nel database mysql del vostro sito, con interfaccia semplice. Perchè utilizzarlo? Devi correggere delle stringhe, degli indirizzi url, delle parole accentate o altri termini in tutto il sito? Se hai spostato il tuo sito wordpress, o hai trovato degli errori che sono presenti in tutto il sito (esempio parole accentate), o devi cambiare degli url (ad esempio per passare da http ad https) uno strumento molto utile e di facile utilizzo è Search Replace DB Master, che ti permette di trovare la stringa che cerchi, localizzarla, modificarla senza dover scrivere codici in php o query in sql. Il programma, gratuito, ha un’interfaccia chiara e il suo funzionamento è molto semplice. Vediamo come si installa, come si utilizza e qualche esempio pratico.

    Download ed Installazione

    dove installare search replace db masterIl programma, creato da Interconnectit.com, è disponibile per il download tramite Github qui. Una volta scaricato il file zippato e decompresso, estrarre tutti i files in una cartella che chiamerete come volete (esempio Search-Replace-Db-Master) ma che suggerisco vivamente di rinominare in un nome conosciuto solo a voi o con una nota che vi ricordi di cancellare tale directory una volta finito il lavoro. Potete ad esempio creare la cartella “CANCELLAMI-QUANDO-FINITO”, per evitare di lasciare questo potente programma accessibile a tutti una volta completate le sostitutizioni che ci interessano. Create quindi la cartella nella root del vostro spazio web, e caricateci tutti i files decompressi. In breve, la root del vostro spazio web dovrebbe essere qualcosa come nello screenshot seguente.

    Utilizzo

    Una volta caricati tutti i files in questa cartella (ad esempio “search-replace-db-master”), digitate la url vostrosito/nomecartella, e vi troverete già nel pannello di controllo dello script. Noterete subito due aspetti: il primo, è che ci siete arrivati senza dover digitare nessun username o password. La seconda, è che mostra già i dati di accesso del vostro database! Ha già “capito” qual è l’username, quale sia la password, la porta di accesso. Per questo motivo la cartella deve avere un nome conosciuto solo a voi, e sempre per questo motivo va cancellata una volta finito.

    schermata search replace db master

    Testiamo lo script effettuando una semplice ricerca di quello che vorremmo modificare, inserendo il termine o la stringa all’interno della casella Search. Lanciamo il comando Dry Run (che ci permette di fare una sorta di simulazione, ovvero non fare sostituzioni). Ad esempio, dal momento che nel sito di prova stiamo passando da http ad https , vorremmo controllare quanto è ancora presente il vecchio url classico http:// (in modo da poter mettere ovunque il nuovo https:// ). Lanciamo la query e il programma, oltre a ricordarci di aver selezionato l’opzione Dry Run “The dry-run option was selected. No replacements will be made.” ovvero nessuna sostituzione verrà eseguita, ci mostrerà quante volte occorre il termine cercato e in quali tabelle si trova:

    comando dry run

    E’ banale ricordare che, essendo uno strumento potente ed irreversibile, bisogna fare un backup prima di lanciare qualsiasi operazione di sostituzione.

    Opzioni e utilità principali del programma

    Search Replace DB Master permette di:

    • limitare o estendere le tabelle sulle quali cercare e/o operare sostituzioni. E’ un’opzione molto importante e molto comoda, perchè potremmo essere interessati solo a correggere, ad esempio, le parole accentate contenuti nei posts, oppure nei commenti, lasciando stare le opzioni principali del sito stesso, su cui operare in modo diverso
    • specificare le colonne (delle tabelle) su cui andare a cercare e/o operare sostituzioni

    Di default il programma opererà su tutto il sito, possiamo andare a limitare il campo andando a selezionare le tabelle e/o indicando i nomi delle colonne:

    tabelle e colonne

    Sostituzione stringhe, parole ed esempi pratici

    Prima di fare qualsiasi sostituzione è bene quindi, dopo aver fatto un backup, lanciare questa sostituzione tramite il comando Dry Run, per simularla.

    Esempio 1: vogliamo cambiare i percorsi delle immagini da assoluti a relativi (in modo da non avere errori se passiamo all’https), ovvero sostituire

    <img src="http://www.nostrosito.it/immagine1.jpg" />

    con

    <img src="//www.nostrosito.it/immagine1.jpg" />

    Nel campo “Search” inseriamo src=”http://www. e nel campo “replace with” inseriamo src=”//www. . Opzionale: ci interessa fare questa sostituzione solo all’interno dei post? Scriviamo “post_content” nel campo columns to include only (optional, comma separated). Lanciamo il dry run per simulare la sostituzione. Una volta terminata, il programma ci mostrerà dove andrebbe ad operare la sostituzione richiesta. Verifichiamo che sia come avevamo pensato, e se tutto ok, ora possiamo lanciare il comando Live Run, che effettuerà veramente le sostituzioni richieste.

    Esempio 2: vogliamo sistemare le parole accentate. Copiamo la stringa mal accentata nel campo Search. Ad esempio, vorrei cambiare tutte le parole che terminano con è con é, come ad esempio la parola perchè in perché (o anche solo questa). Inserisco il termine sbagliato e quello giusto nei due campi ad inizio schermata, clicco su Dry Run per vedere quali sostituzioni farebbe, lancio il comando Live Run per rendere effettive le sostituzioni
    sostituzioni effettuate

    Esempio 3: vogliamo cambiare gli iframe che richiamano siti esterni (esempio: mappe di google, widget di Facebook) che avevamo inserito con codice normale http e che ora devono essere in https. Nel campo Search inseriamo

    <iframe src="http://

    mentre nel campo Replace with inseriamo

    <iframe src="https://

    Lanciamo il comando Dry Run e poi Live Run, e la sostituzione verrà effettuata in tutto il sito (non solo nelle descrizioni dei post)

    Raccomandazioni

    Come avrete intuito, questo è uno strumento molto potente, i cui effetti sono spesso irreversibili, ma abbiamo gli strumenti per lanciare i comandi di sostituzione con sicurezza: fare prima un backup del database, e per ogni sostituzione lanciare prima la simulazione Dry Run che ci permette di capire in anteprima se stiamo lanciando una query sbagliata. E, molto importante per la sicurezza, al termine cancellare la directory contenente il programma. La stessa schermata mette ben in evidenza il bottone Delete me per rendere il sito sicuro una volta terminato il nostro lavoro.
    delete me
    Se avete domande sulle stringhe da sostituire e in generale sugli errori presenti nel vostro sito i commenti sono a disposizione.

    Categories: Hosting, Tutorial & Modifiche Tags: Tag: ,

    WordPress, come passare da http a https (e aumentare le visite al sito)

    Le operazioni necessarie per gestire correttamente il cambio di indirizzo del sito dal vecchio formato http al nuovo protocollo sicuro https

    Nell’articolo precedente abbiamo parlato delle tipologie di certificati SSL, quale scegliere per il nostro sito e come acquistarlo. Noi, grazie al nostro fornitore di hosting, l’abbiamo acquistato tramite il pannello di controllo hosting cPanel. Questa operazione ha due grossi vantaggi: il certificato di cui ha bisogno il nostro sito ha un prezzo molto accessibile, e inoltre il certificato – una volta rilasciato dall’authority competente – viene direttamente installato sul nostro server. Non dobbiamo preoccuparci di nulla, se non della parte post installazione, ovvero fare le opportune modifiche al nostro wordpress per gestire correttamente il cambio da http ad https senza avere errori nel sito e senza perdere posizionamenti sui motori di ricerca. Anzi, il cambio a protocollo sicuro in teoria ci porterà più visite.

    Dopo aver installato il certificato sul server dobbiamo mettere mano alla nostra installazione wordpress per cambiare le impostazioni (url, media) da http a https. In sostanza si tratta di trasformare le pagine vecchie in pagine nuove, e pertanto non dobbiamo lasciare errori nei link interni, nel caricamento delle immagini, oltre che reindirizzare le pagine linkate da siti esterni verso le la nuova struttura url. Può sembrare un lavoraccio, ma in realtà seguendo pochi semplici passaggi possiamo già sistemare il 95% di tutta la struttura (il restante 5% lo scopriremo in seguito grazie a qualche verifica post migrazione).

    1) Cambio della struttura dei permalink

    Semplice ma fondamentale. Fare il login nel pannello di amministrazione wordpress, andare nel menu Impostazioni e poi su Permalink. Si tratta di quella impostazione che si setta una volta nella vita quando installi wordpress e poi ci si mette mano in occasioni straordinarie. Ecco questa è una di quelle. Nella schermata seguente dei aggiungere la s all’http, ovvero cambiare il percorso del sito da http ad https, come nella figura:

    ssl cambio url wordpress

    Salvate. Il sistema ora vi farà fare il logout, e vi reindirizzerà alla nuova pagina di login https://www.vostrosito.com/wp-login.php . Potete rientrare con stessi username e password di sempre.

    2) Reindirizzare da http ad https tutte le url del sito

    Ora dobbiamo impostare il redirect di tutti gli indirizzi da http ad https, in modo che ogni link/richiesta ad una vecchia pagina tipo http://www.miosito.net/articolo-numero-1/ venga automaticamente indirizzata alla nuova https://www.miosito.net/articolo-numero-1/ . Per fare questo, dobbiamo inserire queste poche righe di codice nel file .htaccess . Quindi, tramite un programma FTP oppure tramite il gestore file del nostro pannello hosting, andiamo ad editare il file .htaccess che si trova nella directory principale dell’installazione wordpress (in genere in /home/vostroaccount/public_html/ ). Ecco le righe da inserire all’inizio:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://www.tuttoblog.com/$1 [R,L]
    </IfModule>

    Dove ovviamente al posto di tuttoblog.com metterete l’indirizzo del vostro sito. Dopo aver inserito il codice e aver salvato il file, ogni vostro indirizzo url verrà automaticamente reindirizzato, in maniera permanente, alla nuova versione https. Come ad esempio la vecchia pagina in esempio

    indirizzo http non sicuro

    ricaricando la pagina (tasto F5), verrà automaticamente reindirizzata alla versione https, e comparirà il lucchetto che sancisce la sicurezza del sito

    indirizzo https sicuro, con lucchetto

    Cliccando sul lucchetto, è possibile avere informazioni aggiuntive, ovvero la dicitura “sito sicuro” e ulteriori informazioni sul certificato e da chi è stata emessa la certificazione:

    info sul certificato del sito

    Finito? Diciamo che oltre il 75% del lavoro è già fatto. Se il sito è recente, o comunque è stato realizzato in maniera corretta, allora siamo vicini al 100%. Cosa può essere sfuggito? Immagini e iframe possono causare errore di sicurezza ed impedire al sito di essere sicuro al 100%. Ad esempio il caricamento di immagini interne che abbiamo inserito utilizzando un percorso assoluto. Se la nostra pagina di esempio è ora con indirizzo https://www.nostrosito.it/pagina1/ , e al suo interno un’immagine è stata inserita con percorso tipo

    <img src="http://www.nostrosito.it/immagine1.jpg" />

    allora dovremmo modificare anche questa aggiungendo la s all’http. Ma come facciamo se abbiamo molte immagini da sistemare? Un aiuto ci viene utilizzando in modo corretto il phpmyadmin che gestisce il database: con queste poche istruzioni possiamo cambiare tutti i percorsi di tutte le immagini incluse nei nostri post e nelle nostre pagine. In sostanza, dobbiamo dire alla macchina che ogni volta che (nel database) trova il tag immagine
    src=”http:// lo deve sostituire con il codice src=”// , ovvero il percorso relativo. L’ideale, è avere le immagini richiamate in questo modo:

    <img src="//example.com/image.jpg" alt="nome immagine">

    In questo modo, le immagini che nel nostro wordpress sono inserite con il percorso relativo, sarà il nostro wordpress ad attribuirgli il giusto https davanti. Attenzione: questa istruzione, inserita nello spazio istruzioni sql del nostro phpmyadmin, è irreversibile. Pertanto è opportuno fare un backup del database. Per passare anche le immagini in https andare nel pannello hosting fornito dal vostro provider, aprire il phpmyadmin. Una volta aperto, selezionate il database del vostro wordpress (generalmente trovate solo un database). Nella schermata che si apre, cliccare sul tab “SQL” in alto:

    phpmyadmin tab sql

    Qui possiamo inserire questa istruzione che sostituisce il percorso immagine all’interno del contenuto di post e pagine.

    UPDATE wp_posts 
    SET    post_content = ( Replace (post_content, 'src="http://', 'src="//') )
    WHERE  Instr(post_content, 'jpeg') > 0 
            OR Instr(post_content, 'jpg') > 0 
            OR Instr(post_content, 'gif') > 0 
            OR Instr(post_content, 'png') > 0;

    La ripetiamo nel caso siano state inserite con l’apostrofo ‘ anzichè con le doppie virgolette ” (thanks to css-tricks.com)

    UPDATE wp_posts 
    SET   post_content = ( Replace (post_content, "src='http://", "src='//") )
    WHERE  Instr(post_content, 'jpeg') > 0 
            OR Instr(post_content, 'jpg') > 0 
            OR Instr(post_content, 'gif') > 0 
            OR Instr(post_content, 'png') > 0;

    Secondo lo stesso criterio, aggiusteremo non solo il percorso delle immagini, ma anche quello degli iframes (come ad esempio un video di youtube o un widget con una mappa). Anche questi tag non devono più comparire nella forma

    <iframe src="http://

    bensì nella forma

    <iframe src="https://

    Con il codice seguente, lo sistemiamo all’interno dei postmeta:

    UPDATE wp_postmeta 
    SET meta_value=(REPLACE (meta_value, 'iframe src="http://','iframe src="//'));

    Dopo aver lanciato le query sql appena menzionate, il vostro phpmyadmin vi indicherà l’esito e quante sostituzioni ha effettuato:
    sql query completata

    3) Operazioni aggiuntive e opzionali

    Per rendere più sicuro il pannello di amministrazione, possiamo forzare l’utilizzo del protocollo https anche per tutte le pagine di gestione del sito. E’ sufficiente andare ad editare il file wp-config.php che si trova sempre nella directory principale, andando ad aggiungere il seguente codice:

    define('FORCE_SSL_ADMIN', true);

    Devi informare Google del cambio di dominio da http ad https? Se utilizzi Google Webmaster Tools la risposta è sì. Attenzione: con il redirect 301 che abbiamo inserito (vedi sopra), ogni volta che un motore di ricerca visita il nostro sito viene automaticamente informato che gli url sono cambiati e quali sono quelli nuovi. Un po’ di tempo e il cambio viene digerito. Ma se usi il GWT, allora come indicato da Google qui, è bene inserire la nuova proprietà (dominio con https) e segnalare il cambio nella vecchia proprietà.

    Ora non ti resta che navigare nel tuo sito (se hai un sistema di cache svuota tutto), e verificare che le immagini si carichino correttamente (non dovrebbero esserci problemi) e che sopratutto l’icona del certificato sia ok (se il sito ancora carica immagini non https allora ti comparirà errore). Come è andato il passaggio verso il sito più sicuro?

    Categories: Tutorial & Modifiche Tags: Tag: , ,