it-swarm-eu.dev

La velocità del sito Web è terribile

Lavoro come apprendista sviluppatore web che è stato lasciato responsabile del team web (tutti i miei colleghi se ne sono andati) e gli è stato lasciato un compito impossibile.

Abbiamo un server Windows a 10 core, con memoria più che sufficiente, e ospita più Joomla! siti Web, così come HTML personalizzato e PHP. Non ci sono problemi con i siti Web personalizzati, tutto il caricamento è istantaneo. Tuttavia, tutti i siti Web Joomla! (tutti sono eCommerce ) sono così lenti e possono richiedere 30 secondi per caricare.

Ho eseguito più test di velocità sui siti Web e credetemi, so cosa sta pensando la maggior parte di voi.

"Riduci le dimensioni dell'immagine e comprimi CSS e JavaScript"

L'ho già fatto. Il problema riguarda TTFB (Time To First Byte), in quanto ciò può richiedere l'intero 30 secondi .

Il seguente sito Web mostra il TTFB.

http://www.bytecheck.com/results?resource=http%3A%2F%2Fhealthypetstemp.co.uk.5-189-187-215.premierepos.co.uk%2Fen%2F

Questo è solo uno dei Joomla! siti Web che ospitiamo e che possiamo fornire di più, se necessario. Puoi anche controllare le velocità usando Google Chrome DevTools, ma ti dirà semplicemente la stessa cosa.

Come ho detto, è questo che sta causando il problema e apprezzerebbe molto un po 'di assistenza in merito.

Grazie in anticipo.

6

Ok, partiamo dall'inizio.

Innanzitutto, dovresti eseguire il test Lighthouse di Chrome per rilevare eventuali problemi relativi alle prestazioni. In Chrome, premi F12, quindi vai alla scheda Audit.

Ho eseguito un controllo sul desktop senza limitazioni e le prestazioni sono semplicemente terribili.

Quindi, per prima cosa, disabilita il plugin Joomla JCH Optimize in modo da poter vedere tutte le risorse caricate.

1. Generale:

Sembra che tu stia caricando troppe risorse e il tuo Node è superiore a 4.5k quando dovrebbe essere inferiore a 1.5k. Inizia a pensare a cambiare la struttura della tua pagina e spostare alcuni elementi in altre pagine se necessario be. Visualizza solo contenuti critici sulla homepage.

Per quanto riguarda le molte risorse, un esempio è che stai caricando 7 caratteri. Questo semplicemente non è affatto giustificato. Se vuoi caricare FontAwesome per le icone, è abbastanza giusto, ma non hai bisogno di altri 6 caratteri per dare uno stile al tuo contenuto. Questo è un design scadente. Scegli 1 carattere per il tuo marchio, mantienilo e rimuovi il resto.

2 - HTTP/2.0:

Ottieni un certificato SSL gratuito da LetsEncrypt , installalo sul tuo server, quindi abilita HTTP/2.0. Questo aggiornamento modifica il modo in cui vengono recuperate le risorse e quindi riduce il tempo impiegato per caricarle.

3 - LazyLoad:

Un buon sito Web nel 2018 esegue il rendering dell'HTML in primo luogo con una piccola parte di CSS critici in modo che il caricamento della pagina iniziale non guardi dappertutto. Una volta caricato l'HTML di base, caricare pigri CSS, JS e immagini. Quello che stai attualmente andando caricando tutti i CSS e JS nel <head>, il che significa che il browser attenderà fino al download, prima di continuare a visualizzare il resto dell'HTML.

Preferisco farlo a livello di modello (più veloce) piuttosto che fare affidamento sui plugin ... ma poi contro, sono uno sviluppatore dell'interfaccia utente, quindi sviluppo i miei modelli.

Puoi prendere in considerazione l'idea di costruire il tuo modello.

Qualcuno con cui ho lavorato personalmente su Joomla CMS ha dei fantastici tutorial su come creare il tuo modello:

https://www.youtube.com/channel/UCSinMbPPdEPx6Hw5QcueITg/featured

4 - SVG'S:

Ci sono diverse immagini sul tuo sito che possono essere SVG anziché PNG. Stai caricando immagini di 200x200 pixel e vengono renderizzate a 94x94. Inizia a utilizzare SVG che nella maggior parte dei casi avranno dimensioni inferiori e non perderanno la chiarezza quando la pagina viene ingrandita o su un dispositivo retina.

5 - Immagini:

Le tue immagini sono semplicemente di dimensioni troppo grandi per quello che sono. Ogni immagine del dispositivo di scorrimento è compresa tra 250kb e 500kb. Inoltre, le immagini non sono pigre. Per immagini come foto o qualsiasi altra cosa che non funzionerà in modo ottimale come SVG, utilizza WEBP che è un formato sviluppato da Google. Tuttavia, dovrai disporre di un fallback per i browser che non lo supportano.

5 - Memorizzazione nella cache:

Non utilizzare PHP per memorizzare nella cache le tue risorse! Fallo a livello di server (Apache, NGinx, ecc.) Dai un'occhiata ad alcuni tutorial su questo o magari parla con il tuo provider/server di hosting amdinistrator.

Spero che questo ti dia una piccola idea per aiutarti a migliorare il tuo prodotto.

3
Lodder

Hai già fatto questi controlli di base ?

1 - Abilita la cache di Joomla

Ciò consentirà già di aumentare notevolmente i tempi di caricamento della pagina

Vai ai tuoi plugin e apri Plugin della cache della pagina Di solito deve essere già configurato in questo modo:

enter image description here

Salvalo e chiudilo

2 - Configura la tua cache TTL e comportamento

Vai a Sistema - Configurazione globale - Sistema (-tab)

enter image description here

  • Abilita la memorizzazione nella cache su "ON progressivo"
  • impostare il tempo di cache in base a questo (dalle nostre misurazioni)
    • 30 o meno per pagine a carico elevato con oltre 200 visite al giorno
    • 60 per pagine a carico medio con oltre 100 visite al giorno
    • 120 per pagine a basso carico con oltre 50 visite al giorno
    • 240 per pagine a carico molto basso con oltre 20 visite al giorno

Questi valori abbiamo accumulato da circa 1 anno di misurazione di più pagine. Se hai più di 200 visite al giorno, saprai già cosa fai dal tempo della cache. Ma una regola empirica: se aggiorni regolarmente i tuoi contenuti (diciamo a intervalli di 15 minuti in media), il tempo della cache dovrebbe ovviamente corrispondere alle tue esigenze (15 minuti o meno). Se riesci a vivere con una consegna dei contenuti più lunga e obsoleta, puoi ovviamente mantenere un tempo di cache più lungo.

Svantaggi Ma non dimenticare gli aggiornamenti di joomla/plugin/extension che questa cache potrebbe produrre per te un errore 500. In questo caso puoi semplicemente rilasciare la cache nel menu - Sistema - Cancella cache (Elimina tutto) Ma qui devi avere un occhio chiaro su di essa. Significa che devi monitorarlo e controllarlo!

3 - Aggiungi un minificatore e plug-in precaching

Ci sono più plugin là fuori. Inoltre dipende davvero da quanto ti piace il plugin. Tutti fanno lo stesso:

  • minimizza CSS, JS, HTML
  • concatena più file CSS in uno o pochi
  • concatena più file JS in uno o pochi
  • concatena più file HTML in uno o pochi

A volte possono persino aiutarti a migliorare la conversione delle immagini o la concatenazione delle immagini in sprite. Ma questo non migliora così tanto le prestazioni della tua pagina. Qui stai facendo il livello di "ciliegia sulla torta"

2
laendle

Di solito questo è causato da un pezzo di codice mal progettato, un plugin errato, alcuni errori o approcci errati nel codice e/o query mysql non ottimizzate.

A volte può anche essere la combinazione con la configurazione del server.

È necessario eseguire il debug ed eseguire numerosi test ed esperimenti, ad es. disabilitazione dei plugin, modifica dei template ecc.

In alcuni casi i plug-in di ottimizzazione come jch potrebbero non funzionare così bene e causare un sito Web più lento.

Assicurati di utilizzare anche le ultime versioni di Joomla e le estensioni e di segnalare eventuali problemi ai loro sviluppatori.

1
FFrewin