Ottimizzare un sito web tenendo presente la situazione della connettività in Italia

Ottimizzare un sito web tenendo presente la situazione della connettività in Italia

La situazione della connettività Internet in Italia è ancora critica. Come sviluppatori non possiamo non tenerne conto.

Trovare un compromesso

Le esigenze del design odierno (vedi Awwwards) presentano molte caratteristiche incompatibili con la situazione italiana. Alcune di esse sono:

  • Immagini grandi o molto grandi.
  • Video e audio usati come sottofondo.
  • Massiccio uso di dipendenze JavaScript.

Occorre trovare un compromesso con tali esigenze tenendo presente che in Italia, a parte i grandi centri dove per effetto della polarizzazione la situazione è migliore, la maggior parte degli utenti ha a disposizione una banda limitata per navigare.

Se poi ci spostiamo dai centri urbani alle zone più periferiche, la situazione peggiora ulteriormente. Il problema sta nel fatto che molte PMI in Italia hanno la loro sede proprio in queste zone periferiche.

Limitare le dipendenze esterne

Avere una dipendenza esterna significa:

  1. Costringere il browser ad effettuare una nuova query DNS.
  2. Costringere il browser ad aspettare che la risorsa venga scaricata.

Un browser può aspettare diversi secondi prima di completare l'operazione di cui al punto 2. Noi non abbiamo alcun controllo sul timeout che scatterà se la risorsa non è disponibile. Ciò significa che sommando tutte le richieste GET di una pagina con dipendenze esterne ai loro tempi d'attesa possiamo raggiungere e superare anche il minuto nei momenti di maggiore traffico.

La situazione è addirittura peggiore su mobile: in questo caso se l'utente naviga utilizzando una SIM la banda a sua disposizione sarà ancora più limitata. In Italia utilizzare una SIM è uno scenario più comune dell'utilizzo del Wi-Fi data l'ancora scarsa diffusione di questa tecnologia nei luoghi pubblici.

Ottimizzare

Ottimizzare significa:

  • Ridurre il peso delle immagini ad un massimo di 250-300 Kb.
  • Concatenare e minificare i file JavaScript e CSS.
  • Usare le sprite CSS per ridurre il numero di richieste GET in un file CSS.
  • Abilitare la compressione dell'output sul server.
  • Abilitare la cache lato server.
  • Utilizzare se possibile una CDN.
  • Differenziare l'ottimizzazione per desktop e mobile.
  • Scegliere un server performante.

Non ottimizzare significa perdere clienti e denaro. Inoltre significa essere penalizzati dai motori di ricerca per i tempi di caricamento troppo lunghi. Nel caso dell'Italia, ciò si concretizza nell'aumentare il livello di frustrazione degli utenti già provati dalle criticità esistenti.

Torna su