Dam Company

Perché investire in un sito web per la tua attività

Anche nel caso di piccole aziende o attività che non vendono direttamente online, oggi avere un sito web è fondamentale.

Il web, infatti, è diventato il primo spazio di approdo quando cerchiamo un nuovo prodotto o servizio di cui abbiamo bisogno.

 

La struttura

Il sito web è uno spazio completamente personalizzabile, dal layout alle grafiche e contenuti.

Nel layout la parola chiave è personalizzazione. È consigliabile però prediligere grafiche pulite e chiare che non confondano l’utente.

Per quanto riguarda i contenuti, i principali da inserire nel sito sono le informazioni chiave come il tipo di attività, i prodotti e servizi offerti, i contatti (l’indirizzo, il numero di telefono, l’email) che danno vita alle pagine standard del sito quali la home, chi siamo, cosa facciamo, contatti.

Anche in questo caso è consigliato inserire testi semplici e in linea con il tipo di attività e immagini e video di impatto visivo.

Alcune estensioni che si possono aggiungere al sito web di un’attività sono:

  • Indirizzi ai social media;
  • Live chat che permettono un contatto diretto durante la navigazione;
  • Recensioni e testimonianze dei clienti;
  • Blog, attraverso il quale approfondire tematiche o comunicare novità riguardanti l’attività;
  • Call to action attraverso le quali invitare l’utente, che può essere arrivato sul nostro sito tramite social media, motori di ricerca, link esterni, marketing offline, a compiere un’azione come quella di chiedere maggior informazioni, magari attraverso dei form. Si tratta di un’ottima strategia per allacciare nuove relazioni.

Il sito web è una vera e propria vetrina che darà una prima impressione sull’attività. Sarà quindi necessario che questo sia curato, chiaro e ben organizzato, rispondendo a criteri di:

  • Usabilità, offrendo una user experience fluida. Questo significa che dovrà essere facilmente utilizzabile in tutte le sue funzioni, con percorsi di navigazione semplici e lineari e contenuti leggibili;
  • Responsiveness, rispondere correttamente e velocemente agli input, adattandosi alla visualizzazione attraverso vari device (desktop, tablet, smartphone).

La mancanza di questi criteri potrebbe portare l’utente ad uscire dal sito e passare velocemente a quello successivo.

 

La SEO

Avere il monopolio su un argomento nel web è ormai impossibile e questo significa che il sito compete con tantissimi altri presenti in rete. Per riuscire ad emergere la SEO è fondamentale.

La SEO è quell’insieme di attività svolte sul sito che hanno l’obiettivo di ottimizzare il posizionamento sui motori di ricerca.

I motori di ricerca analizzano costantemente il contenuto di tutti i siti web e stabiliscono dei criteri di qualità come la velocità del sito, il link url, tag, page title, alt text e le parole chiave, che andranno poi a determinare il posizionamento.

La SEO quindi si occupa proprio di:

  • Inserire le corrette parole chiave nelle pagine e nei contenuti;
  • Rendere le pagine mobile friendly;
  • Velocizzare il tempo di caricamento delle pagine;
  • Creare correttamente il codice;
  • Ideare corrette url;
  • Gestire i backlink;
  • Gestire correttamente i link interni.

 

Normative dei siti web

Ci sono diverse normative da rispettare in materia di siti web aziendali.

Le ditte individuali e le società di persone (S.n.c., S.a.s. e Società semplice) devono indicare nella homepage la partita IVA e i dati d’iscrizione REA.

Le S.p.a e S.r.l sono tenute a specificare:

  • Partita IVA;
  • Codice Fiscale;
  • Indirizzo completo della sede legale;
  • Ragione Sociale;
  • Ufficio del registro presso cui la società è iscritta e numero di iscrizione;
  • Numero REA (ovvero codice del Repertorio Economico Amministrativo);
  • Capitale sociale;
  • Stato di liquidazione della società.

I proprietari di e-commerce sono obbligati a specificare i termini e le condizioni di vendita.

Tutte le aziende, in qualsiasi forma giuridica, sono tenute poi a inserire nel proprio sito web l’informativa sulla privacy nella quale indicare quali dati verranno raccolti, come saranno raccolti e utilizzati e chi sarà il responsabile della loro custodia.

Nei casi in cui il sito utilizzi cookie per tracciare la navigazione dell’utente in rete e creare profili sui suoi gusti, abitudini e scelte o, ancora, se un sito aziendale utilizza Google Analytics senza che la raccolta dati sia resa anonima, c’è l’obbligo di inserire un banner contenente una prima informativa circa la richiesta di consenso all’uso dei cookie e un link per accedere a un’informativa più estesa.

 

Il mantenimento del sito web

Il lavoro su un sito web di un’attività non è una tantum, il sito dovrà essere monitorato per assicurare l’effettivo funzionamento, il rendimento, e andrà aggiornato con nuovi contenuti che lo renderanno sempre interessante agli occhi degli utenti e dei motori di ricerca stessi.

 

L’importanza del backup dei siti web

Gli imprevisti sono sempre dietro l’angolo e i problemi informatici possono sorgere in qualsiasi momento e mettere a repentaglio il funzionamento del tuo sito web.

I backup non servono solo in caso di attacchi hacker, poiché si può rischiare di corrompere il proprio sito anche a causa di aggiornamenti non riusciti del CMS al quale ci si affida o a uno dei plug-in installati.

Per questo mettere in sicurezza i dati è fondamentale per garantire la continuità operativa del sito.

Per backup si intende la copia esatta di tutte le componenti del sito web, che comprendono file di codice del sito, tutti i database, le immagini e le componenti aggiuntive come temi e plug-in utilizzati per la realizzazione, e la successiva archiviazione in un luogo sicuro.

Questo renderà più veloce il ripristino del sito nel caso in cui l’originale venga danneggiato, corrotto o cancellato, senza bisogno di doverlo ricostruire da zero.

Per eseguire il backup del sito si può:

  • Utilizzare il sistema di backup integrato dalla piattaforma di hosting alla quale ci si affida (ad esempio Plesk o cPanel), la soluzione più veloce e pratica;
  • Utilizzare servizi di backup a pagamento, che garantiscono backup regolari senza doversene preoccupare in prima persona;
  • Eseguirlo manualmente, opzione che richiede più tempo ma che garantisce un maggior controllo sui dati e si rivela particolarmente utile se si deve ricaricare il backup su un tipo di account hosting differente.

Esistono tre tipologie di backup:

  • Backup completo, che consiste nella copia di tutti i dati che vengono archiviati consentendo di ripristinare il sito in maniera completa in caso di necessità. Questo richiederà maggior tempo e spazio occupato;
  • Backup differenziale, che si concentra sulla copia dei dati modificati rispetto all’ultimo backup completo;
  • Backup incrementale, che prevede la copia dei dati modificati dall’ultimo backup, tenendo conto sia del backup completo che dei successivi backup differenziali.

Ogni quanto eseguire il backup del sito?

Per essere utile, il backup del sito deve essere fatto periodicamente, in modo tale da archiviare la copia più aggiornata possibile.

Non esistono intervalli di tempo ottimali, la cadenza con cui andrebbe eseguito il backup dipende dalla quantità di dati e contenuti realizzati e caricati ogni giorno. Se le modifiche al sito non sono frequenti si può optare per backup mensili, ma in alcuni casi è inevitabile eseguire backup giornalieri.

Ripristinare il sito web

Prima di effettuare il restore, o ripristino del sito web con tutti i suoi file in una versione attiva e funzionante è consigliabile cancellare i file residui del sito non più attivo e svuotare il database.

La procedura di ripristino del sito da backup varia in base alle impostazioni dell’hosting provider, nella maggior parte dei casi basta selezionare i file e database da ripristinare.

Una volta che l’operazione di ripristino è stata effettuata, prima di verificare che il restore sia andato a buon fine e che il sito sia tornato a funzionare correttamente, ricorda di svuotare la cache.

Eliminare JS e CSS che bloccano il rendering delle pagine dei siti web

La velocità di un sito web è importante tanto per garantire agli utenti un’esperienza fluida quanto per la SEO. È possibile migliorarla eliminando o posticipando le risorse di render-blocking, poiche queste rallentano il primo caricamento del sito e di conseguenza peggiorano l’user experience.

Prima di vedere come è importante capire il processo di caricamento di un sito web: appena un utente arriva sul nostro sito, il browser deve scaricare tutto il contenuto che compone la pagina (CSS, JS, fonts, immagini, ecc.) e quindi Inizia a leggere il codice, inclusi tutti gli HTML, CSS e JavaScript.

Solo dopo aver letto ed elaborato completamente questa coda di script l’utente sarà in grado di visitare il sito, perciò se ci sono molte risorse che bloccano il rendering potrebbe essere necessario attendere più tempo.

Alcune di queste risorse Cascading Style Sheets (CSS) e JavaScript (JS) sono necessarie, come nel caso di file CSS che garantiscono l’aspetto corretto della pagina, mentre altre possono essere ottimizzate o eliminate.

Per individuare quali risorse stanno bloccando il rendering si può eseguire il test PageSpeed Insight di Google (o in alternativa Web.Misura e GTmerix).

Quando la scansione del sito è completa, Google assegna un punteggio di velocità tra lo 0 e 100. Un punteggio compreso tra 50 e 80 è nella media, quindi è consigliabile posizionarsi nella parte superiore di questo intervallo o sopra di esso.

Dalla sezione Opportunità > Elimina le risorse di blocco della visualizzazione vedremo un elenco di file che rallentano la visualizzazione della pagina, influendo sul tempo di caricamento.

Ci sono diversi modi per correggere gli script di blocco del rendering e aumentare la velocità del sito, come:

Ottimizzare l’ordine di caricamento

La sezione head (</Head></Head>) della pagina web viene utilizzata per il precaricamento degli elementi e per questo è consigliabile incorporare il CSS ma evitare di inserire JavaScript.

Passando al body della pagina, la maggior parte dei browser web eseguono il rendering delle pagine dall’alto verso il basso quindi è bene ordinare le chiamate agli script in base alla loro importanza e complessità, posizionando gli script non fondamentali e quelli più complessi per ultimi.

Minimizzare il codice

Attraverso la riscrittura e l’eliminazione dei caratteri non necessari come spazi bianchi, commenti, virgole, interruzioni di riga, etc. si renderà il codice più compatto e coinciso, riducendo le dimensioni dello script. Ci sono plugin e strumenti online che permettono di minimizzare in automatico il codice.

Utilizzare il caricamento differito e asincrono di Javascript

Come detto poco fa, i browser leggono il codice dall’alto al basso, fermandosi ogni qual volta incontrano un tag di script, il che rallenta il rendering.

Si può utilizzare l’attributo async per caricare lo script in parallelo con la pagina web ed eseguirlo non appena è disponibile. In alternativa, con l’attributo di rinvio di analisi degli script, verranno caricati parallelamente alla pagina web ma eseguiti solo quando il browser analizzerà la pagina.

Sostituire gli elementi visivi JavaScript con CSS3

JavaScript è ottimo per aggiungere controlli complessi all’interfaccia utente ma è più pesante rispetto a CSS, quindi il suggerimento è quello di modificare e sostituire, quando possibile, tutto il JavaScript non necessario con CSS.

Eliminare tutti gli script non necessari

JavaScript e CSS servono ad espandere le funzionalità delle pagine web, compensando l’HTML. Tuttavia HTML 5.3 rende inutili alcune operazioni JS e CSS e velocizza il caricamento delle pagine.

Per individuare gli script inutili e rimuoverli si può utilizzare la scheda Coverage di Chrome DevTools o GTmetrix.

Dopo aver rimosso tutte le funzioni o tag non necessari si possono combinare gli script con funzioni simili.

Utilizzare dei plugin

Tra i più famosi:

  • Autoptimize, che migliora il tempo di caricamento combinando bit di codice, riducendo i blocchi di codice, rimuovendo i caratteri non necessari etc. Apportate queste modifiche, il codice risulterà più facile da leggere e la dimensione del file sarà ridotta, riducendo il tempo di caricamento. Autoptimize è altamente personalizzabile tramite un’API aperta e opzioni avanzate.
  • W3 Total Cache, plugin che incorpora molteplici funzionalità extra per l’ottimizzazione di WordPress e nella maggior parte dei casi è già disponibile nel pacchetto WordPress.
  • Wp Rocket, in grado di rilevare automaticamente quali script creano problemi e risolverli. Si può utilizzare per la memorizzazione rapida della cache, la compressione e la minimizzazione.
  • Speed Booster Pack, che offre alcune opzioni di configurazione, come lo spostamento degli script nel piè di pagina o il rinvio dei file JavaScript dall’analisi. Selezionandoli si possono rimuovere i file che bloccano la visualizzazione dei contenuti.
  • JCH Optimize, che combina JavaScript e CSS riducendo le dimensioni dei file. Oltre ad essere ottimo per eliminare le risorse che bloccano il rendering ha molte altre funzioni che possono essere utili a lungo termine.

Bisogna tener conto che i plugin stessi sono ulteriori file aggiunti al server web quindi, per quanto pratici, non rappresentano l’opzione migliore.

Come ripristinare un sito web hackerato

I campanelli di allarme che ci avvertono che un sito web è stato hackerato sono vari ma possono passare inosservati, anche in base al tipo di attacco. Tra questi abbiamo:

  • Avvisi sull’hacking da browser e motori di ricerca;
  • Link che reindirizzano a siti sospetti;
  • Volumi elevati di traffico da altri paesi;
  • Pagine danneggiate;
  • Tempo di caricamento prolungato;
  • Avvisi sulla blocklist di Google;
  • Snippet di codice casuali che appaiono nell’header o nel footer.

Se si sospetta un attacco esistono diversi checker di siti web, come Sucuri siteChek, DeHashed e Have I Been Pwned? che si possono usare per avere conferma.

Cosa fare quando si ha la certezza che il sito sia stato attaccato

Il primo passaggio da compiere una volta che si è certi di aver subito un attacco hacker sul sito web è modificare tutte le password e verificare l’accesso.

Gli hacker tentano di indovinare la password dell’account amministratore utilizzando combinazioni di lettere e numeri, la modifica di tutte le password revocherà l’accesso al sito e impedirà loro di compromettere altri account.

Bisognerà assicurarsi di reimpostare la password per:

  • Account hosting;
  • Account FTP;
  • Account amministratore del content management system (CMS);
  • Database, tramite il file di connessione al database;
  • Account di posta elettronica associati al sito hackerato.
  • Altri account che utilizzano le stesse credenziali di accesso.

Se il sito hackerato è ospitato su WordPress si dovranno controllare i ruoli utente e le autorizzazioni esistenti accedendo a Utenti nella dashboard di amministrazione, seguendo la stessa procedura sulle piattaforme che concedono l’accesso a più utenti, come il pannello di controllo dell’hosting e il sistema FTP.

Buona parte dei tentativi di hacking si verifica dopo che un sito web subisce modifiche che creano nuove vulnerabilità da sfruttare. Tracciando le azioni si può risalire all’origine dei problemi di sicurezza: bisognerà cercare tra i log web un improvviso picco di traffico e ispezionare i log degli accessi e i registri degli errori tramite il pannello di controllo dell’hosting, identificando eventuali attività sospette o errori che hanno avuto luogo entro il periodo di tempo sospetto.

Dopo essere risaliti al momento in cui si è verificato l’hacking si esamineranno tutte le modifiche apportate.

Se il sito web in questione viene eseguito su un hosting condiviso l’origine dei problemi di sicurezza potrebbe provenire da un altro sito che condivide il server. In questo caso gli attacchi informatici potrebbero prendere di mira anche il tuo account di hosting.

La maggior parte degli host web fornisce agli utenti l’accesso ai log web, consentendo di monitorare le visite. Se la registrazione dell’accesso al server è disabilitata per impostazione predefinita, contatta il provider di hosting o abilitala manualmente.

Controllare lo stato del sito web

Se Google rileva attività sospette su un sito web è probabile lo blocchi. Di conseguenza questo non verrà visualizzato nei risultati di ricerca per proteggere i visitatori.

Si può verificare se il sito finisce su Google Blocklist utilizzando Google Search Console. L’avviso appare nella sezione Sicurezza e azioni manuali > Problemi di sicurezza.

In alternativa si può utilizzare Google Safe Browsing, un tool che indica proprio se un sito sia o meno sicuro o Google Analytics, che darà conferma dell’effettivo blocco del sito se si registra un calo di traffico improvviso.

Oltre che su Google Blocklist il sito potrebbe apparire anche nel database anti-spam. I provider di servizi internet, di posta elettronica e le piattaforme anti-spam utilizzano gli elenchi di blocco per impedire che le email di spam entrino nei loro sistemi. Le email provenienti dagli indirizzi IP elencati in questa blocklist verranno bloccate o finiranno nella cartella spam.

Si può verificare se il dominio è presente nell’elenco di blocco dello spam con strumenti di controllo dell’integrità del dominio come MXToolBox e Domain DNS Health Checker. Questi, oltre a fornire informazioni sullo stato del dominio, possono individuare problemi relativi al server web, di posta e al DNS.

Le vulnerabilità della sicurezza non sono sempre visibili agli amministratori, è consigliabile quindi utilizzare gli strumenti di scansione del sito web per ricontrollarlo, individuando eventuali vulnerabilità da risolvere.

Gli utenti di WordPress hanno accesso a dei plugin di sicurezza gratuiti e premium che possono scansionare i siti web alla ricerca di file hackerati, rilevando qualsiasi codice dannoso. Alcuni tra i più popolari sono:

  • Sucuri Security, che fornisce scansioni server e remote, azioni di sicurezza post-hacking e monitoraggio dell’integrità dei file;
  • BulletProof Security, che fornisce strumenti di correzione automatica della procedura guidata di configurazione, scanner di malware, monitoraggio degli accessi e forzatura di password complesse;
  • WPScan, che supporta la scansione di sicurezza pianificata per le vulnerabilità note del core, dei plugin e dei temi di WordPress.

Altri strumenti di scansione sono compatibili con altri CMS oltre a WordPress:

  • HostedScan Security, che esegue la scansione delle vulnerabilità su reti, server e siti web;
  • Intruder, uno scanner basato su cloud che supporta la scansione delle vulnerabilità interne, esterne e cloud;
  • Detectify, che offre monitoraggio e test automatizzati delle risorse supportati da una comunità di hacker etici;
  • Immuniweb, che fornisce vari test di sicurezza del sito web aderenti agli standard GDPR e PCI DSS;
  • SiteGuarding, che supporta il monitoraggio della blocklist dei motori di ricerca, la scansione quotidiana dei file, il monitoraggio delle modifiche ai file e il rilevamento e pulizia del malware.

In alternativa è possibile fare la scansione dei file e delle tabelle del database manualmente. Si può fare con software antivirus per Pc, come McAfee e ESET, o il programma antivirus integrato nel sistema operativo (Microsoft Defender per Windows e XProtect per Mac).

Si procede quindi:

  • Scaricando tutti i file tramite il pannello di controllo dell’hosting;
  • Eseguendo una scansione completa dei file con il software antivirus scelto;
  • Risolvendo i problemi rilevati;
  • Caricando i file del sito puliti sul server;
  • Ripulendo le tabelle del database tramite PhpMyAdmin.

Se i metodi precedenti risultano troppo dispendiosi in termini di tempo si può decidere di ripristinare il file backup del sito web. In questo modo si rimuoveranno tutti i dati e le modifiche apportate alla creazione del backup. Questa opzione è consigliabile solo nel caso di siti web che non subiscono modifiche frequenti, o che possono permettersi la perdita di alcuni dati.

L’ultimo passaggio dopo aver completato il ripristino è quello di scansionare il computer per assicurarsi che qualsiasi cosa abbia compromesso il sito web non comprometta anche il computer. Abbiamo nominato alcuni antivirus, in alternativa ci sono alcune soluzioni gratuite come:

  • Antivirus gratuito AVG;
  • Avast;
  • Avira gratis;
  • Kaspersky Security Cloud;
  • Malwarebytes.

Suggerimenti per proteggere il tuo sito da attacchi hacker

  • Evita i provider di hosting economici;
  • Rimuovi il software obsoleto che non ti serve più;
  • Usa password complesse;
  • Scansiona regolarmente il tuo sito web con un software di sicurezza affidabile;
  • Esegui backup regolari del tuo sito web;
  • Installa un certificato SSL;
  • Limita i tentativi di accesso;
  • Abilita l’autenticazione a due fattori.

Se non si hanno conoscenze tecniche potrebbe risultare difficile applicare i metodi appena descritti. In questo caso ci si può affidare a esperti di sicurezza informatica e rimozione di malware da WordPress.

Testare i Web server: test di carico e stress test

Le performance di un sito web possono dipendere da svariati fattori come il server, i contenuti, l’asset, lo script, il traffico, i framework, il database, etc. quindi è difficile individuare immediatamente la fonte di alcune problematiche che compromettono metriche fondamentali per il posizionamento SEO del sito e per la sua visibilità online.

Sia prima che dopo la pubblicazione di un sito web è consigliabile fare dei test su quanto sviluppato, che siano in grado di fornire un quadro della performance del sito, individuando colli di bottiglia e problemi di usabilità, per intervenire e migliorare le prestazioni dove necessario.

Ci sono due tipologie di test delle prestazioni che si eseguono sui web server:

  • Test di carico, che hanno lo scopo di esaminare il comportamento del sistema in condizioni di carico normali, simulandolo. Attraverso questo si evidenzia la reattività, la stabilità, la scalabilità, l’affidabilità, la velocità e l’utilizzo delle risorse del software e dell’infrastruttura.
  • Stress test, che esaminano il comportamento del sistema in condizioni estreme fino a determinare la quantità massima di lavoro che un server è in grado di gestire senza che si rallentino i tempi di risposta. Si cercano perdite di memoria, rallentamenti, problemi di sicurezza e danneggiamento dei dati, osservando come si comporta e se si ripristina correttamente. La maggior parte dei siti web è soggetta a livelli di traffico abbastanza regolari ma potrebbero comunque presentarsi occasioni con carichi anomali.

Tools per i test

Esistono diversi tools con i quali eseguire i test, per i test di carico possiamo affidarci a:

  • Loader.io, strumento in cloud semplice da utilizzare e che permette di simulare carichi crescenti e attività diverse, anche su siti in sviluppo e aree riservate.
  • Locust, strumento versatile che ha come punto di forza la scalabilità, ovvero la possibilità di espansione potenzialmente infinita.
  • Apache JMeter, applicazione desktop open source, inizialmente creata per testare le applicazioni web, successivamente ha esteso i test a qualsiasi tipologia si software.

Mentre per gli stress test:

  • Apache Bench, open source di facile utilizzo e comprensione.
  • Siege, che può sottoporre a stress test un singolo URL con un numero definito di utenti o più URL in memoria e testarli contemporaneamente.
  • Funkload che permette di eseguire test su funzionalità, tempi di caricamento, performance, longevità e stress. Supporta inoltre i test sulle applicazioni web e mobile.

Le metriche e KPI

Scegliere le giuste metriche e KPI aiuta a valutare correttamente le prestazioni di un sistema, le più rilevanti sono:

  • Misurazione della scalabilità e delle prestazioni all’aumentare delle richieste http;
  • Tempo pagina necessario per recuperare tutte le informazioni in una pagina e pagine al secondo;
  • Throughput, dimensione dei dati di risposta al secondo;
  • Tempi di risposta dell’applicazione;
  • Hit time, tempo medio per recuperare un’immagine o una pagina;
  • Time To First Byte, tempo necessario per restituire il primo byte di dati o informazioni;
  • Connessioni non riuscite;
  • Time out, numero di richieste scadute;
  • Hit non riusciti, numero di tentativi falliti effettuati dal sistema (collegamenti interrotti o immagini non visualizzate);