How can we help you?
Some of our questions and answers
This is a short list of some questions and answers. Type one or more keywords above to find what your are looking for.
Il mio numero di partita IVA è FR86838143592
Sono un freelance in Francia e quindi, essendo un'impresa molto piccola, non pago l'IVA (articolo 293 B della legge fiscale francese). Se controllate il prezzo vedrete che non c'è IVA o tasse incluse.
Questi utenti falsi sono creati da Page Cache Ultimate per anonimizzare la cache (nuovo metodo). Non bisogna cancellarli (verranno creati di nuovo).
Non ci saranno molti utenti falsi, probabilmente meno di 5, dipende dal numero di gruppi e dalle differenze di visualizzazione tra di essi.
Non sono attivi, quindi non disturbano le statistiche.
Se avete un tema Anvato, ecco cosa fare per evitare che il carrello si apra ogni volta che viene aggiornato.
Copiare il file /modules/an_theme/views/js/sidebarcart.js nel proprio tema, in modo da poter continuare ad aggiornarlo senza perdere le modifiche, in /themes//modules/an_theme/views/js(creare cartelle se necessario)
In questo file, sostituire il link:
if (prestashop.page.page_name = 'cart' && prestashop.page.page_name = 'checkout') {
Da
if (prestashop.page.page_name != 'cart' && prestashop.page.page_name != 'checkout' && requestData.action!='refresh') {
Quindi cancellare la cache della pagina Performances e la cache del browser per poter effettuare il test.
Se il tema utilizza il tag "widgetblock" come il tema Warehouse, è necessario cancellare la cache nella pagina delle prestazioni dopo aver attivato la cache della pagina, in modo che il modello venga compilato di nuovo.
Tutti i nostri moduli possono funzionare su LiteSpeed Web Server, poiché supporta il file .htaccess di Apache.
Tuttavia, la funzione di cache HTML (Page Cache Ultimate) non è compatibile con il LiteSpeed Cache Plugin, poiché entrambi lavorano sullo stesso livello di cache.
Quale scegliere?
LiteSpeed Cache è una cache generica che non gestisce tutti i diversi contesti di Prestashop. Quali tasse vengono applicate? C'è una vendita flash in arrivo? Devo visualizzare un contenuto diverso per questo utente perché appartiene a un gruppo specifico di utenti? Questo visitatore ha accettato i cookie?
Page Cache Ultimate è stato creato per Prestashop ed è dedicato solo a questa piattaforma, gestisce tutti i diversi contesti e può anche aggiornarsi rapidamente se esce una nuova funzionalità di Prestashop.
If you are using Nginx, then make sure your configuration is as follow:
"Proxy mode" must be ON, other options must be OFF.
Se si utilizza il modulo PageSpeed Apache sviluppato da Google (x-mod-pagespeed), è necessario disabilitare la seguente opzione, in modo da non sovrascrivere le direttive di cache del browser aggiunte da Page Cache:
ModPagespeedModifyCachingHeaders off
La fattura si trova nel proprio account JPresta nel menu "Cronologia e dettagli dell'ordine".
Se non la vedete, assicuratevi di aver registrato un indirizzo nel vostro account in modo da poter generare la fattura.
No, è altamente raccomandato mantenere la cache di Smarty abilitata. Questo velocizzerà le pagine che non sono nella cache e anche le pagine in cui la cache non è ancora generata.
Per recuperare gli stili è sufficiente cancellare la cache di "Page Cache Ultimate".
Per evitare questo problema si può andare in "Modalità avanzata", nella configurazione di "Page Cache Ultimate", quindi in "Chiave di cache" attivare "Inserisci versione CSS e JS nella chiave di cache".
To avoid the cookie notice to appear 1 second, then disappear, you must override the javascript file of the iqitcookielaw module.
To do it, create a file with the following content:
$(document).ready(function () { if (getCookie('cookielaw_module') != 1) { $("#iqitcookielaw").addClass('iqitcookielaw-showed'); } $("#iqitcookielaw-accept").click(function (event) { event.preventDefault(); $("#iqitcookielaw").removeClass('iqitcookielaw-showed'); setcook(); }); }); function setcook() { var name = 'cookielaw_module'; var value = '1'; var today = new Date(); var expire = new Date(); expire.setTime(today.getTime() + 3600000 * 24 * 14); document.cookie = name + "=" + escape(value) + ";path=/;" + ((expire == null) ? "" : ("; expires=" + expire.toGMTString())) } function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i != ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length, c.length); } return ""; }
And place it in the theme (or child theme if you have one): /themes/warehouse/modules/iqitcookielaw/views/js/front.js
Then clear the cache in the Performances page.
When the cache is created, the page is anonymized, that means it is displayed without any information about the visitor displaying the page.
Modules that display content relative to the current visitor can be marked as dynamic, that means the content will be refreshed (replaced) by a background request in the browser that will carry the context of the current visitor.
If you check the option "Display nothing in cache" then the module will not be called to display its content in this hook during the creation of the cache. However, the content will be displayed as other dynamic modules (with background request).
Se l'elenco dei prodotti viene ricaricato ogni volta che si visualizza una pagina con un elenco di prodotti, si può risolvere il problema modificando il file /warehouse/modules/ps_shoppingcart/ps_shoppingcart.js come segue:
Sostituire questa linea:
prestashop.emit('updateFacets', window.location.href);
Per:
if (event.reason && event.reason.linkAction != 'refresh') { prestashop.emit('updateFacets', window.location.href); }
Aggiornare Page Cache Ultimate alla versione 7.9.39 almeno per una piena compatibilità con il modulo cookiesplus.
Se dopo l'installazione del modulo alcune immagini del tuo negozio, come il logo, le immagini delle pagine CMS, le immagini nel back office, ecc., non vengono più visualizzate, è probabilmente a causa di un file .htaccess nelle directory /img e /img/cms. Questo file blocca tutti gli script PHP, anche se si tratta solo di un reindirizzamento (lo script non si trova effettivamente in questa directory).
Per risolvere questo problema, è necessario aggiungere un'eccezione per il nostro convertitore webp.php come segue:
<IfModule mod_php5.c> php_flag engine off
# Enable PHP only for webp.php (Speed Pack) <Files "webp.php"> php_flag engine on </Files> </IfModule> # Apache 2.2 <IfModule !mod_authz_core.c> Order deny,allow Deny from all <Files ~ "webp.php|(?i)^.*\.(jpg|jpeg|gif|png|bmp|tiff|svg|pdf|mov|mpeg|mp4|avi|mpg|wma|flv|webm|ico|webp)$"> Allow from all </Files> </IfModule> # Apache 2.4 <IfModule mod_authz_core.c> Require all denied <Files ~ "webp.php|(?i)^.*\.(jpg|jpeg|gif|png|bmp|tiff|svg|pdf|mov|mpeg|mp4|avi|mpg|wma|flv|webm|ico|webp)$">
Require all granted </Files> </IfModule>
Or for /img/cms/.htaccess
<IfModule mod_php5.c> php_flag engine off # Enable PHP only for webp.php (Speed Pack) <Files "webp.php"> php_flag engine on </Files> </IfModule> # Enable webp.php (Speed Pack) <Files "webp.php"> Order allow,deny Allow from all </Files> deny from all <Files ~ "(?i)^.*\.(jpg|jpeg|gif|png|bmp|tiff|svg|pdf|mov|mpeg|mp4|avi|mpg|wma|flv|webm|webp)$"> order deny,allow allow from all </Files>
Le modifiche apportate a un modulo, al tema, ai CSS o ai Javascript non possono essere rilevate automaticamente, quindi è necessario cancellare la cache per vedere le modifiche.
Ci sono 3 modi per svuotare la cache
- Nella configurazione del modulo "Page Cache Ultimate", andare nel menu "Statistiche". È possibile filtrare le pagine interessate dalle modifiche. Fare quindi clic sul pulsante "Cancella cache" in fondo alla tabella.
- Cliccare sul pulsante "Cancella cache" nella configurazione del modulo "Page Cache Ultimate" in alto e a destra dello schermo, in modo da cancellare la cache di tutte le pagine.
- Utilizzare l'URL che si trova nel menu "API" nella configurazione del modulo "Page Cache Ultimate"
Nella configurazione del carrello, nella sezione "Azione Aggiungi al carrello", disattivare l'opzione "Apri il carrello".
Se si utilizza il modulo "SuperTinyMCE PRO" sviluppato da Liewebs, è necessario aggiungere un'eccezione nella configurazione di questo modulo per il controller "JprestaThemeConfiguratorLive". Assicurarsi inoltre di avere almeno la versione 1.2.2 del modulo "JPresta - Theme Configurator".
Sì, tutte le immagini del vostro negozio saranno automaticamente convertite nel formato WEBP. Anche le immagini del CMS o di altri moduli come il blog.
Questo è normale, quando la cache non è disponibile la visualizzazione è lenta come senza cache.
È necessario svuotare la cache solo quando è necessario (modifica di CSS o Javascript, per i modelli scegliere l'opzione "Ricompila i file dei modelli se sono stati aggiornati" nella pagina "Prestazioni").
Sì, avete ancora bisogno di un modulo WEBP per Prestashop! Perché la funzione ha un bug in PS 8.0. Dovrebbe essere risolto in PS 8.1, ma lo verificherò non appena sarà rilasciato perché non so se le immagini JPG saranno visualizzate dai browser che non possono leggere il formato WEBP come Safari (iPhone).
È stato molto difficile trovare una configurazione che funzionasse bene. Non sono esperto nella configurazione di nginx, quindi immagino che ci sia un altro modo per farlo. Se volete migliorare questa configurazione contattatemi, sarò felice di aggiornare questo post per aiutare altre persone!
Ecco la mia soluzione (siate gentili).
Prima della sezione "server", inserire questo codice:
map $http_accept $webp_enable { default 0; "~*webp" 1; }
Ci dirà se il browser del visitatore può leggere le immagini WEBP.
Probabilmente avete più righe di "rewrite" per tutte le immagini, inserite il seguente codice subito prima:
# Jpresta Speedpack if ($webp_enable = 1) { # Rewrite images URL using a specific extension ".webp_compressor" so we can have specific rules to compress the image/svg # if the webp file is not already created. rewrite "^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/(.*)\.(jpg|jpeg|png)$" /img/c/$1$2.webp_compressor last; rewrite "^/c/([_a-zA-Z-]+)/(.*)\.(jpg|jpeg|png)$" /img/c/$1.webp_compressor last; rewrite "^/([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$1$2.webp_compressor last; rewrite "^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$1$2$3.webp_compressor last; rewrite "^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$3/$1$2$3$4.webp_compressor last; rewrite "^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$3/$4/$1$2$3$4$5.webp_compressor last; rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.webp_compressor last; rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.webp_compressor last; rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.webp_compressor last; rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.(jpg|jpeg|png)$" /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.webp_compressor last; # all other images rewrite "^(.+)\.(jpg|jpeg|png)$" $1.webp_compressor last; } location ~* ^(.+)\.webp_compressor$ { # Indicates to proxies that the file content/format depends (Vary) on the "Accept" header add_header Vary Accept; # Indicates to proxies that the file can be cached for the max duration add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; expires max; # Indicates to nginx not to log access access_log off; log_not_found off; # Try to serve the WEBP file directly or compress the image set $url_webp_compressor "/modules/jprestaspeedpack/controllers/front/webp.php?src=$1.jpg"; try_files $1.webp $url_webp_compressor; }
ATTENZIONE: se si utilizza il modulo di compressione WEBP autonomo, è necessario sostituire 'jprestaspeedpack' con 'jprestawebp'.
Contattatemi se avete bisogno di aiuto o se potete migliorare lo script!
Se l'elenco di selezione delle valute non funziona più, controllare queste due opzioni:
L'opzione "Ignora gli URL che corrispondono a questa regex" deve includere ".*SubmitCurrency=1.*", ad esempio ".*[\?&]q=.*|.*SubmitCurrency=1.*"
L'opzione "Parametri URL ignorati" non deve includere "submitcurrency,id_currency"
Si consiglia anche di disabilitare la cache del browser, perché se il visitatore cambia valuta dopo aver visualizzato diverse pagine, se torna a quelle pagine, verrà visualizzata la valuta originale.
Non dimenticare di cancellare il modulo e la cache del browser dopo queste modifiche.
Unable to get cache-warmer informations from the shop (maybe the module is disabled or uninstalled): Read timed out
Se si vede questo errore nel log del cache-wamer, significa che c'è un timeout quando il cache-warmer recupera le pagine per riscaldarsi. Per evitare questo timeout, nella configurazione di Page Cache Ultimate, fare clic su "Modalità avanzata", quindi nel menu su "Opzioni" e impostare un valore inferiore per "Tempo massimo di esecuzione in secondi".
sì, i browser che non possono leggere il formato WEBP otterranno il formato originale (JPG/PNG).
Quando modifichi un prodotto, una categoria, una pagina CMS, un prezzo, lo stock, ecc. la cache si aggiorna automaticamente.
Quando aggiungi, elimini o modifichi un modulo, devi svuotare la cache manualmente perché questo non può essere rilevato automaticamente. Ad esempio, quando modifichi lo slider della home page.
Quando modifichi il CSS o un modello del tuo tema, devi svuotare la cache manualmente perché questo non può essere rilevato automaticamente.
Quando sincronizzi o modifichi il tuo catalogo, i tuoi prezzi e/o le tue scorte utilizzando un'applicazione esterna, probabilmente dovrai svuotare la cache manualmente o con uno script perché gli hook di Prestashop non vengono eseguiti.
Per cancellare la cache di pagine specifiche, puoi utilizzare gli URL CRON/API che troverai nel menu "API" nella configurazione di Page Cache Ultimate. Puoi anche utilizzare la tabella delle statistiche per filtrare le pagine che desideri aggiornare, quindi fare clic sul pulsante "Svuota cache (solo file)".
Tieni inoltre presente che la cache del browser non può essere cancellata, per questo è limitata nel tempo.
Questo accade perché il link di accesso viene caricato dinamicamente e quindi il parametro "back" che rimanda all'URL corrente viene impostato con l'URL dei moduli dinamici.
Per evitare questo problema, andate nella configurazione di Page Cache Ultimate, nel menu "Moduli dinamici e widget", in fondo aggiungete il seguente codice javascript al campo "Javascript da eseguire":
if (!prestashop_pc.customer.is_logged) {
$('header a').each(function() {
$(this).attr('href').replace('ajax%3Dtrue', '').replace('page_cache_dynamics_mods%3D=1', '')
});
}
Cancellare la cache dovrebbe risolvere il problema.
queste directory vengono create quando la cache non può essere cancellata completamente in PHP perché è troppo lunga e fallisce con un errore di timed out. Quindi, invece di cancellare la cartella della cache, viene semplicemente rinominata con questo suffisso.
È possibile cancellare tutte queste cartelle con il suffisso please_delete_me, ma si consiglia di farlo direttamente nella console del server, perché sarebbe troppo lungo farlo via FTP.
Questi ganci sono destinati agli sviluppatori di moduli; se avete bisogno di aiuto, contattate il supporto.
Ecco un esempio di come implementare le funzioni dei ganci:
/** * Called each time a page is displayed so this must remain very fast! * @param $params Empty array * @return mixed The datas you will need in hookActionJPrestaRestoreSpecificCacheKeyInfos() */ public function hookActionJPrestaGetSpecificCacheKeyInfos($params) { // Let's say that the cookie 'test' modify the content of the page, we indicates to the cache manager // to generate a cache key that depends on the value of this cookie return $_COOKIE['test']; } /** * This function is called by Page Cache Ultimate when the cache-warmer service want to generate the cache of a * specific context. In this case we must restore the context so the content is the good one. * @param $params $params['specifics'] contains the datas returned by the hook 'ActionJPrestaGetSpecificCacheKeyInfos' */ public function hookActionJPrestaRestoreSpecificCacheKeyInfos($params) { // Here we will just modify the $_COOKIE value, we don't need to send the cookie to the browser with function // setcookie, we just want the remaining PHP code to execute to get the correct value of the cookie. $_COOKIE['test'] = $params['specifics']; }
La durata dei warmup dipende da 3 fattori:
- Il numero di pagine da generare: i primi warmup contengono generalmente molte pagine, il che è normale, e questo numero diminuirà con il progredire dei warmup
- Il numero massimo di bot che avete definito: per impostazione predefinita è 30, ma potete ridurlo a 5 bot per alleggerire il carico del server, ma questo ovviamente allungherà il tempo di ogni warmup
- Il TTFB delle pagine senza cache: se il tempo di risposta del server è lungo senza la cache (> 3s), potrebbe essere necessario analizzare la lentezza di Prestashop
I bot Cache-Warmer sono probabilmente considerati SPAM dal vostro provider di hosting. Per farlo funzionare, è necessario indicare nelle impostazioni del proprio provider di hosting che l'user-agent "JPresta-Cache-Warmer" è consentito.
Rispetto al numero di prodotti e categorie che avete, non pensavate di avere così tante pagine da generare, ed è normale!
Il cache-warmer genererà le pagine del vostro negozio Prestashop in contesti diversi. Ad esempio, avrete un contesto per i telefoni cellulari, un altro per i computer, uno per i visitatori e un altro per i clienti connessi, ecc.
Quindi il numero di pagine viene moltiplicato per il numero di contesti.
Se l'abbonamento comprende un solo riscaldamento, è possibile specificare l'ora del riscaldamento.
Se il pacchetto di abbonamento comprende diversi warmup, è possibile specificare l'ora di inizio del primo warmup e i warmup successivi verranno eseguiti a intervalli regolari.
JPresta-Cache-Warmer utilizza i server Amazon (AWS) per garantire un servizio stabile ed efficiente indipendentemente dal numero di abbonati.
Se desideri che i robot di riscaldamento della cache non vengano banditi dal tuo provider di hosting, devi autorizzare le richieste dai seguenti IPS: 18.119.72.109 e 18.189.172.189
Quando si utilizzano le statistiche native di Prestashop, per evitare che il cache-warmer venga incluso nelle statistiche è sufficiente aggiungere questo override in /override/classes/Connection.php:
class Connection extends ConnectionCore
{
public static function setNewConnection($cookie)
{
if (isset($_SERVER['HTTP_USER_AGENT'])
&& preg_match('/JPresta-Cache-Warmer/i', $_SERVER['HTTP_USER_AGENT'])) {
// Questo è il cache-warmer: non registrare la connessione
return false;
}
return parent::setNewConnection($cookie);
}
}
Il modulo Creative Elements consente di modificare parti del negozio con link/bottoni visualizzati direttamente sul negozio quando si è connessi all'amministrazione di Prestashop. Per preservare questa funzionalità, la cache viene disattivata con la motivazione "editing-with-creative-element". I visitatori beneficiano della cache, ma sono solo gli utenti collegati all'amministratore a non averla. Per ottenere la cache, è sufficiente visualizzare il negozio in una scheda privata del browser.
La prima cosa da fare è assicurarsi di avere l'ultima versione del modulo, perché lo sto costantemente migliorando per ridurre il consumo di memoria, sia sul database che sul disco rigido.
La seconda cosa è eseguire periodicamente un purge (ogni 2 o 3 giorni). Un purge rimuove dalla cache le pagine che non esistono più o il cui contesto non esiste più. Questo non influisce sulle prestazioni della cache. È possibile eseguire la pulizia manualmente tramite un pulsante nella tabella delle statistiche della cache, oppure programmando un task CRON con l'URL visualizzato nel menu "API (URL CRON)" nella configurazione del modulo.
Infine, se ci sono cartelle in /var/cache/pagecache che terminano con "please_delete_me", è possibile cancellarle. Si tratta di una vecchia cache che PHP non è riuscito a cancellare completamente (troppo lunga).
Quando si tenta di installare Page Cache Ultimate si ottiene il messaggio di errore "Questo file non sembra essere un file .zip del modulo valido"? È normale, poiché il file zip contiene diversi file zip che consentono di installare questo modulo a seconda della versione di Prestashop: PS-1.5/1.6, PS1.7/8 e Thirtybees.
È quindi necessario estrarre e installare il file zip più adatto al proprio negozio.
Il modulo non chiama l'hook che consente l'aggiornamento.
È necessario modificare la funzione imageResize() nel file /modules/prestablog/prestablog.php:
Sostituire questo
return ImageManager::write('jpg', $dest_image, $file_after);
Con questo
$ret = ImageManager::write('jpg', $dest_image, $file_after);
Hook::exec('actionOnImageResizeAfter', ['dst_file' => $file_after, 'file_type' => 'jpg']);
return $ret;
in seguito le immagini saranno aggiornate.
La cache statica può essere utilizzata solo se si conosce il contesto del visitatore. Il contesto contiene una serie di informazioni che non possono essere dedotte dal solo URL: valuta, gruppi di utenti, scelta dei cookie, tasse da applicare, ecc.
Questo contesto è memorizzato in un cookie chiamato "jpresta_cache_context" che viene aggiunto quando l'utente visualizza una prima pagina. Una volta che il cookie è presente, è possibile utilizzare la cache statica.
Andare alla configurazione del modulo, nel menu "Sistema di cache" assicurarsi che "Prestashop Static!" sia selezionato. Se è già selezionata, selezionare "File system standard" e salvare, quindi selezionare "Prestashop Static!" e salvare nuovamente. In questo modo si riattiva la cache statica.
Il messaggio "prezzi specifici per il cliente" significa che si è collegati a un utente che ha regole di prezzo specifiche, quindi non ha senso creare una cache perché solo lui potrà usufruirne. È preferibile creare gruppi di utenti e creare regole di prezzo per questi gruppi.
Forse stai simulando uno schermo di telefono utilizzando la console del tuo browser, il che spiega perché stai vedendo questa vista mobile nonostante tu abbia uno schermo desktop.
Ciò accade perché un cookie chiamato 'jpresta_cache_context' memorizza il contesto del visitatore nel browser. Questo contesto include informazioni su se la visualizzazione è 'mobile' o 'desktop'. Pertanto, se visualizzi inizialmente le pagine in modalità desktop e poi passi alla modalità mobile, la cache continuerà a fornire la visualizzazione desktop.
Se desideri testare la visualizzazione mobile utilizzando la console del tuo browser, assicurati di eliminare il cookie 'jpresta_cache_context' in anticipo.
No, il modulo converte solo immagini JPG/PNG in formato WEBP. Si consiglia di importare le immagini come JPG perché alcuni browser ancora non possono caricare file WEBP. Inoltre, penso che i JPG siano migliori come immagini originali perché Prestashop crea più formati/dimensioni di immagini, motivo per cui l'immagine originale deve essere di buona qualità.
Se si utilizza il modulo "Google Tag Manager Enhanced Ecommerce" creato da "Comptoir du code", assicurarsi di ottenere l'ultima versione del modulo e di attivare l'opzione specifica per l'uso con i moduli full page cache.
In ogni caso, non è necessario contrassegnare i moduli di Google Tag Manager come dinamici.
I punteggi calcolati da Pagespeed e GTMetrix includono un numero molto elevato di parametri la cui importanza varia a seconda che si utilizzi un telefono cellulare o un computer.
Il modulo Prestashop Speed Pack ti consente di correggere i seguenti punti segnalati da Pagespeed Insight o GT Metrix:
- Ridurre i tempi di risposta del server (TTFB)
- Offri immagini in formati di nuova generazione
- Rimandare le immagini fuori schermo
Altri parametri come LCP non possono essere corretti da un modulo. Ad esempio, questo LCP indica il ritardo di visualizzazione dell'elemento più grande visualizzato per primo; spesso è degradato dall'uso di un carosello che visualizza immagini in lazyloading o perché il codice javascript che lo inizializza è troppo lento. Questo tipo di problema può essere corretto solo manualmente.
Inoltre, per essere sicuro che il calcolo del punteggio sia stato eseguito con una cache disponibile, eseguilo due volte.
Ti invito a leggere il mio articolo per comprendere appieno questo punteggio Pagespeed per Prestashop .
Quando convalidi i passaggi di configurazione, assicurati di eseguire la configurazione automatica al passaggio 4. Ciò configura il modulo Page Cache Ultimate per tutti i moduli conosciuti come il carrello degli acquisti. Dovresti fare affidamento su questa configurazione automatica e apportare modifiche manuali solo quando qualcosa non funziona come al solito quando la cache è abilitata.
Il punteggio calcolato da Pagespeed e GTMetrix include un numero molto elevato di parametri la cui importanza varia a seconda che si utilizzi un telefono cellulare o un computer.
Il modulo Prestashop Speed Pack ti consente di correggere i seguenti punti segnalati da Pagespeed Insight o GT Metrix:
- Riduci i tempi di risposta del server/TTFB (Page Cache Ultimate)
- Offrire immagini in formati di nuova generazione (compressione WEBP delle immagini)
- Rinvio delle immagini fuori schermo (caricamento lento delle immagini)
Altri parametri come l'LCP non possono essere corretti da un modulo. Ad esempio, questo LCP indica il ritardo di visualizzazione dell'elemento più grande visualizzato per primo; spesso è degradato dall'uso di un carosello che visualizza le immagini utilizzando un sistema di caricamento lento o perché il codice javascript che lo inizializza è troppo lento. Questo tipo di problema può essere risolto solo manualmente.
Inoltre, per essere sicuro che il calcolo del punteggio sia stato eseguito con una cache disponibile, eseguilo due volte.
Ti invito a leggere il mio articolo Capire e migliorare il punteggio Pagespeed del vostro negozio Prestashop
Una pagina può avere più versioni nella cache a seconda del contesto del visitatore. Questo contesto include informazioni come la valuta selezionata, il gruppo dell'utente, le preferenze del visitatore riguardo ai cookie, le regole fiscali applicabili a questo visitatore, il paese del visitatore se rilevante, ecc. Pertanto, potresti non ricevere la pagina memorizzata nella cache quando visualizzi una pagina perché il tuo contesto è diverso.
Moduli come "Creative Slider" utilizzano codici brevi per facilitare la visualizzazione dei contenuti. Questo avviene di solito nel gancio "actionOutputHTMLBefore", quindi è sufficiente assicurarsi che il modulo cache sia posizionato dopo tutti i moduli di questo gancio. Andare in "Design" > "Posizioni", selezionare l'opzione "Visualizza ganci non posizionabili", cercare il gancio "actionOutputHTMLBefore" e spostare il modulo Page Cache Ultimate o Speed Pack alla fine.
Una volta fatto, è necessario cancellare la cache
Questo errore è dovuto a una nuova restrizione di sicurezza implementata dal mio provider di hosting (OVH) su tutti i loro server.
Per risolverlo, è necessario aggiornare i miei moduli all'ultima versione.
Non sarà possibile farlo utilizzando il modulo JPresta Easy Upgrade, poiché anche questo richiede un aggiornamento.
Per effettuare l'aggiornamento, passa tramite Addons o scarica il file zip dal tuo account JPresta. Per Page Cache Ultimate e Speed Pack, è necessario estrarre lo zip per trovare quello che corrisponde alla tua versione di PrestaShop. Una volta trovato lo zip corretto, installalo come un nuovo modulo per aggiornare la versione corrente mantenendo la configurazione.
Non ti preoccupare, dopo questo, potrai continuare ad aggiornare con JPresta Easy Upgrade come al solito.
Il codice di errore 524 indica solitamente che la richiesta di recupero dell'elenco di URL da generare ha richiesto troppo tempo.
Per evitare questo errore:
- Andare alla configurazione di Page Cache Ultimate (o Speed Pack).
- Fare clic su Modalità avanzata e poi su Opzioni.
- Impostare l'opzione Tempo massimo di esecuzione in secondi su 90 secondi (o meno se è già 90s).
Per evitare la memorizzazione nella cache di alcune pagine del negozio, è possibile utilizzare un'espressione regolare.
Andate nella configurazione del modulo, cliccate su "Modalità avanzata" e poi su "Opzioni". Troverete un campo chiamato "Ignora URL utilizzando espressioni regolari". Questo campo è precompilato di default con la seguente espressione regolare:
.*[\?&]q=.*|.*SubmitCurrency=1.*
Con questa espressione regolare, il modulo escluderà tutte le ricerche dalla cache (utilizzando il parametro "q"), poiché non è efficiente, dato che il numero di ricerche identiche è molto basso. Inoltre, disattiverà la cache quando la valuta viene cambiata.
Per aggiungere una pagina da escludere si può aggiungere un'altra espressione con un carattere "|" dopo di essa. Ad esempio, se si vuole escludere la pagina https://shop.com/85-foo :
.*[\?&]q=.*|.*SubmitCurrency=1.*|.*85-foo.*
Per ulteriori informazioni sulle espressioni regolari, consultare questa documentazione: https://www.php.net/manual/en/reference.pcre.pattern.syntax.php
Per testare l'espressione regolare, utilizzare questo strumento: https://regex101.com/
Quando la cache è attiva, la variabile JavaScript (JS) "prestashop" non contiene informazioni sul visitatore/cliente corrente. Infatti, la cache è anonimizzata.
Bisogna attendere che i moduli dinamici vengano aggiornati affinché queste informazioni siano disponibili.
Ecco uno script che ti permetterà di accedere alle informazioni non appena saranno disponibili:
if (typeof jprestaGetCacheType == 'function') {
// jprestaDynamicContentLoaded sarà emesso
prestashop.on('jprestaDynamicContentLoaded', function() {
// Qui, la variabile 'prestashop_pc' può essere utilizzata come la variabile 'prestashop'
// Tutto ciò che è definito in Media::addJsDef è anche aggiornato
console.log('L\'evento jprestaDynamicContentLoaded è stato emesso e ricevuto');
if (prestashop_pc.customer.is_logged) {
console.log('Il cliente ' + prestashop_pc.customer.email + ' è connesso.');
} else {
console.log('Nessun cliente è connesso.');
}
});
} else {
// Elaborazione normale, senza cache
// jprestaDynamicContentLoaded non sarà emesso
console.log('Questa pagina non è in cache');
if (prestashop.customer.is_logged) {
console.log('Il cliente ' + prestashop.customer.email + ' è connesso.');
} else {
console.log('Nessun cliente è connesso.');
}
}
Il numero di pagine da generare varia perché il modulo genera solo le pagine che non hanno una cache, che hanno una cache scaduta o che scadranno entro 24 ore.
Si possono notare picchi periodici nel numero di pagine da generare quando la cache scade; questo è normale.