Lesti_Fpc

Lesti_Fpc is internal full page cache for Magento. This Cache needs no varnish or any other extenal software and works with events. It is an internal cache and so it replaces dynamic blocks before sending response to customer. Here is little post that explains the workflow of Lesti_Fpc.

Which pages can be cached?

Per default is cached:

  • cms_index_index
  • cms_page_index
  • catalog_product_view
  • catalog_category_view

You can add your own layout-handles in the configurations.

Which blocks are dynamic or lazy?

Per default are the following dynamic blocks:

  • global_messages
  • messages
  • right.reports.product.viewed
  • global_notices

Per default are the following lazy blocks:

  • top.links
  • cart_sidebar
  • catalog.compare.sidebar
  • wishlist_sidebar
  • welcome (Magento >= 1.8, for Magento 1.7 please read this post)

You can add your own dynamic block in the configurations (only blocks without children). Here you can find a explanation what dynamic and lazy blocks are. If you don’t know the name of your block in magento, here is a little post about it.

How to refresh lazy blocks?

The following actions refresh the lazy blocks:

  • checkout_cart_add
  • checkout_cart_delete
  • checkout_cart_updatePost
  • catalog_product_compare_add
  • catalog_product_compare_clear
  • catalog_product_compare_remove
  • wishlist_index_add
  • wishlist_index_remove
  • wishlist_index_update
  • wishlist_index_allcart
  • wishlist_index_configure

You can add your own refresh actions in the configurations. If you think I missed some default one, please contact me.

What about uri-params?

The following uri-params can be handled per default:

  • id
  • category
  • page_id
  • p
  • limit
  • dir
  • order
  • mode

There is a little post to explain uri parameters. You can add your own params in the configurations. If your layered navigation don’t work, please read this post.

Want to miss some requests?

These are the default miss uri params:

  • no_cache=1
  • limit=/[0-9]+/
  • dir=/[0-9a-z_]+/
  • order=/[0-9a-z_]+/
  • mode=/[0-9a-z_]+/
  • ___store=/[a-z]{1}[0-9a-z_]*/

If you didn’t want to cache a request you just have to add a parameter. here is a post that explains it.

The following session-params can be handled per default:

  • limit_page
  • sort_order
  • sort_direction
  • display_mode

You can add your own params in the configurations

Excluding a category or product

You can exclude for example a category with id 25, by adding CATEGORY_25 to Bypass Handles in the configs of FPC.

What about multistore, multicurrency, mobilethemes and customergroups?

Lesti_Fpc can handle multistore, multicurrency, mobilethemes and different Prices for different customergroups.

What about cache lifetime?

Per default is the lifetime of a page 24 hours. You can edit under in app/etc/fpc.xml. Pages will be flushed after save of product, category, cms-page and cms-block.

Filecache gets too big?

You can compress the cached data with gzcompress from level 0 to 9.

What about apc, memcached, redis and so on?

You can set every other cachebackend like apc, memcached or redis in app/etc/fpc.xml. In the same style you did it in app/etc/local.xml.

Where are the configurations?

You can refresh, disable or enable hole Cache under System => Cache Management. The configurations are under System => Configuration => Advanced => System => Lesti FPC.

Magento Version?

Lesti_Fpc is compatible with Magento CE 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7, 1.8, 1.8.1, 1.9

Possible conflicts?

Lesti_Fpc rewrites the block core/messages.

Here is a list of people that know how to deal with Lesti_Fpc and can give paid support.

1,029 thoughts on “Lesti_Fpc”

  1. First of all, thank you for the extension.
    We are having to refresh cache very often and if we forget, only a few products or none are displayed in some categories.
    Any advice?

  2. Hi Gordon,

    Thanks for your extension, I am facing weird issue top.link cart is not updating when user log in it works well when user as guest.

    Please help me to sort this out.

    Thanks in advance.

  3. Hi,

    I know we don’t have to use lestifpc with varnish… but can we? Will Magento work properly with lestifpc anf Varnish on? I have configuration, Varnish is working only if no one is logged in and have nothing in a basket. Eg. If have something in a basket… Magento is slow… will lestifpc can help?

  4. Hi,

    Thought I’d share this with other users of this great extension – I’ve made a shell script to build the cache of the site each night – make sure you have your sitemap refreshing each night too. Its really simple but effective. It opens the sitemap and finds all the urls in it and wget’s them one by one which builds the cached version. Create the file in your shell directory and set a cron job to action it at a suitable time for your store. I also have a separate script to empty the cache directory before I run this;

    #!/bin/bash
    # Pixie Media Cache Warm. www.pixiemedia.co.uk
    # Uses the sitemap to reload the Page Cache by accessing each page once
    #

    wget –quiet http://www.YOURDOMAIN.co.uk/sitemap.xml –output-document – | egrep -o “http://www.YOURDOMAIN.co.uk/[^<]+" | wget -q –delete-after -i –

    # File end

    I am now trying to work out how to build the cache for a logged in user – if anyone has any thoughts on that, I'd really appreciate feedback.

    1. sorry forgot to mention, save this file as;

      cachewarm.sh

      and run it from cron like this – 2am in this example;

      00 02 * * * cd /var/www/vhosts/YOURSITE/httpdocs/shell/ && sh cachewarm.sh | mail -s “Cache Rebuilt” your@email.co.uk

  5. Hi Gordon,

    Great extension! But I’ve encountered something weird, let say if the FPC is enabled, the top links appears at all pages (home page, category page, others content pages) except for the individual product details page. So I tried disabled it and the top links appears for the product details page. Then I went on to enable it again but this time remove catalog_product_view from Cachable actions and now the top links appears at every page.

    So I am just wondering why this could happened, and it is OK to remove the catalog_product_view from Cachable actions right? Just that the product detail page will not be cached right?

    Thanks!

    Best regards,
    Chuilynn

      1. Hi Gordon,
        Thanks for your reply, and yes I did. I tried refreshing all the cache types, Flush Magento Cache and Flush Cache Storage as well. But the top links just wouldn’t show until I remove catalog_product_view from System -> Configuration -> Advanced -> System -> Lesti FPC -> Cachable actions.

        Best regards,
        Chuilynn Wong

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>