Comment utiliser l'extension Full Page Cache ?
Pour pouvoir utiliser Full Page Cache, quelques modifications sont nécessaires.
Vous pouvez suivre les étapes suivantes pour configurer l'extension selon vos besoins.
Installez Full Page Cache
Après avoir téléchargé les fichiers de l'extension dans votre répertoire racine Magento, vous pouvez simplement modifier le fichier index.php situé dans votre répertoire racine Magento et ajouter le code ci-dessous au début du fichier :
include 'fpc.php';
Si vous avez défini une vue magasin par défaut avec un code différent de “défaut” alors vous devez ajouter une autre ligne :
define('FPC_DEFAULT_STORE', 'french');
include 'fpc.php';
Si vous avez défini plusieurs serveurs sur une même installation Magento, alors vous devez configurer quel est le magasin par défaut pour chaque serveur. Voici un exemple pour la vue magasin française :
$host = $_SERVER['HTTP_HOST'];
if ($host == 'fr.example.com') {
define('FPC_DEFAULT_STORE', 'french');
} else {
define('FPC_DEFAULT_STORE', 'default');
}
include 'fpc.php';
Si vous utilisez APC comme un code opc de cache, vous devez vérifier votre configuration. Vérifiez si apc.stat est sur Off (ou zéro). Si c'est le cas, vous devez exclure le répertoire full page cache en ajoutant :
apc.filters="-var/fpc/.*"
Vous pouvez désormais activer le full page cache dans :
SystemCache Management
Configurez Full Page Cache de manière générale
Afin de configurer Full Page Cache de manière générale, allez dans :
SystemConfigurationWyomindFull Page Cache
General Settings
Dans l'onglet General Settings, vous pouvez configurer l'extension Full Page Cache.
- Enable cache auto-generation
Si activée, le full page cache sera automatiquement généré dès qu'un produit, une catégorie, une page aura changé. - Enable soft cache clearing
Si activée, les caches générés ne seront pas rafraîchis lorsqu'un produit, une catégorie, une page est sauvegardé. Il faudra les rafraîchir manuellement. - Cache Lifetime
Définissez la durée du cache en secondes. Notez que 0 ou vide signifient illimité. - Enable Compression
Si activée, le contenu en cache sera compressé. - Cache AJAX requests
Si activée, les requêtes AJAX seront également mises en cache.
Storage Settings
Dans l'onglet Storage Settings, vous pouvez choisir le type de cache à utiliser pour le back-office Magento.
Vous avez le choix entre Filesystem et MySQL.
La valeur par défaut est Filesystem. Si le cache en back-office n'est pas accessible, alors Filesystem sera utilisé.
Personnalisez Full Page Cache
Avec l'extension Full Page Cache, vous pouvez complètement personnaliser la configuration. Ceci requiert quelques connaissances et est donc recommandé pour les développeurs uniquement.
Pour modifier la configuration de l'extension, allez dans :
SystemFull Page Cache
Store Views
Dans l'onglet Store Views, vous avez la possibilité de choisir pour quelle vue magasin en particulier vous souhaitez générer le cache.
Vous pouvez éditer chaque vue magasin afin d'activer ou de désactiver le cache en cliquant sur Edit.
En cliquant sur Generate, une nouvelle fenêtre s'ouvre. Toutes les Urls du magasin seront appelées et le cache sera alors généré.
Notez que vous pouvez également cliquer sur Generate All afin de générer le cache pour toutes les vues magasin.
En cliquant sur Clear, les fichiers en cache pour la vue de magasin sélectionnée seront vidés.
Une notification vous avertira une fois l'opération terminée.
Cacheable Actions
L'extension Full Page Cache vous permet de gérer des actions en cache dans l'onglet Cacheable Actions.
Vous pouvez trouver des actions par défaut que vous pouvez facilement modifier en cliquant sur Edit.
Afin de créer votre propre action, cliquez sur Add New Action.
Là, vous pouvez spécifier la page dans Action Name de la manière suivante <module>/<controller>/<action> et également activer l'action dans Is Active.
Par exemple, vous utilisez l'extension Competition Creator et vous souhaitez mettre la page qui liste les competitions en cache. Dans ce cas, vous pouvez ajouter une nouvelle action du nom de competition/index/index.
AJAX Blocks
Les blocks par défaut de Magento comme le message de bienvenue, les sondages ou encore les articles du panier sont déjà gérés par l'extension Full Page Cache.
Cependant, vous pourriez avoir d'autres blocks dynamiques qui s'affichent sur votre front-office Magento et qui ne sont pas des blocks par défaut de Magento. Dans ce cas, vous devrez ajouter ces exceptions dans l'onglet AJAX blocks.
Pour cela cliquez sur Add New AJAX Block.
Par exemple, si vous utilisez l'extension Competition Creator qui ajoute le block competition, vous pouvez simplement ajouter un nouveau block AJAX du nom de competition.
Un événement est alors envoyé lorsque le cache d'une page est généré.
Générez vos caches
Avec l'extension Full Page Cache pour Magento, vous avez plusieurs manières de générer vos caches.
Depuis l'admin Magento
Vous avec 2 possibilités de générer vos caches dans :
SystemFull Page Cache
Vous pouvez dans un premier temps, générer vos caches pour une vue magasin spécifique en cliquant sur Generate.
Il vous est également possible de générer vos caches pour toutes les vues magasin à la fois en cliquant sur Generate All.
Via une commande wget
Générer vos caches via une commande wget s'avère être la méthode la plus puissante mais peut être assez longue étant donné qu'il s'agit de générer le cache pour toutes les pages.
Voici un exemple de génération de cache pour toutes les pages de la vue par défaut :
wget http://www.mystore.com-r --delete-after -nd-R png,jpeg,jpg,gif,zip,txt,pdf-X "/customer,/checkout,/catalog,/wishlist,/tag,/sales" --cookies=off --header "Cookie: store=default"
Vous pouvez librement modifier cette commande, par exemple en acceptant seulement les fichiers .html.
wget http://www.mystore.com-r --delete-after -nd –A html--cookies=off --header "Cookie: store=default"
Via un script PHP
Avec l'extension, vous pouvez aussi utiliser un script PHP pour appeler toutes les URLs d'un magasin.
Par exemple, vous pouvez générer le cache de la vue magasin par défaut en utilisant la commande ci-dessous :
php shell/fpc.php --generate --store default
Un autre exemple pour la vue de magasin française :
php shell/fpc.php --generate --store french