Full Lightning features list
Engine Optimization
- optimized TWIG engine that can save up to 70ms CPU time at heavy templates
- events preprocessing (events system works tens times faster)
- frequently used data is collected in a special pack, that is loaded at the OpenCart start (negate the need of most repetitive queries that are executed on every page creation)
- MySQL queries slower than 0.05 seconds are cached with intelligent deletion of corresponding cache records on data change
- numerous Journal3 theme optimizations
- GZIP compression for admin area
- fixed vQMod performance problem in OpenCart 3
Pages Caching
- caching of critical pages (homepage, categories, manufacturers and sitemap) + product pages
- an option to cache all pages except a certain type (route)
- actual mini-basket is mounted into cached page
- actual wishlist and compare numbers are mounted into cached page
- pages for logged-in customers are created from regular cached pages
- currency conversion on the text of the cached page that allows you to keep only one set of the cache with main currency
- ability to load some modules by AJAX, making them to display individual info on cached pages (like Last Viewed products)
- caching AJAX requests from pages that are subject to caching
- background pregeneration of cache pages to a distance of 2 clicks from the starting or current page
- any page visit starts a background pregeneration of pages to which there are links from this page, so visitor will get the next page from cache
- optional separate cache pages for mobile and tablet devices
- automatic deletion of appropriate cache pages on products modifying or deleting (monitoring database queries and date_modified change by external scripts)
- ignoring URL parameters with information from the ads traffic (this way they get a page from the cache, not generated new)
- bots overload protection replies 503 Check later when requested page is not cached to all bots except Google, Bing and Yandex, individual bots can be granted full access in Access Control interface
Frontend Optimization (raising the PageSpeed score)
- WebP images with Apple devices support
- option to disable JavaScript for robots, search engines and PageSpeed Insight - speeds up page indexing and shows nice scores, while serving the same page to everyone - the JS start is controlled by cookies
- automatic setting of the optimal level of GZIP compression of pages (setting in admin is ignored)
- proper static resources headers, caching and compression is written in subfolders .htaccess files (its better to remove such an instructions from the root .htaccess file, if you have added them)
- JS and CSS resources grouping and minification
- correct transfer of all scripts to the page footer
- external resources from other servers are included into group file and minified (at Aggressive optimization levels)
- automatic critical CSS creation - it is used before all CSS is loaded
SEO Optimization
- checksums of all pages is tracked to serve actual Last-Modified headers, that dramatically speeds up search engines indexing
- fixes canonical, prev and next links in the categories of level 2 and deeper, which led to duplicate category pages
- number of products per page limit protection (limited to 100). Requests with huge limits are used to take the shop down
- products links unification into shop.com/product-url form (with path of the deepest category displayed in breadcrumbs). With this search engines indexing becomes much faster and number of pages to be cached reduces dramatically
- automatic index.php?route=common/home homepage links fix
- special instructions are added to robots.txt to prohibit search engines indexing of unnecessary pages (with changed sorting, number of products per page, etc.) - speeds up indexing and reduces the load from search engines
Lightning widget in the admin area
- CPU load display, click on CPU meter shows the processes using CPU including processed URLs
- the Clear Cache button clears all caches (including system cache, and the cache of the JOURNAL theme) except Lightning DB cache, Lightning Disable button clears Lightning DB cache
- statistics display - cached pages, AJAX and database requests, optimized images, the average TTFB (time of page generation) with Lightning and without it
- display real-time TTFB of the last served page, that allows to evaluate the "pulse" and speed of the shop
- a visual real time display of all visited pages indicating the IP, agent and response time, click on it displays detailed visitor info with map and option to block him
- Access Control interface displays all access rules, including coming bots descriptions with the ability to allow, block or give only cached pages to them
- free space on your server display (helps to react before situation become critical)
- widget is only shown to users with the right to modify setting/setting - thus you can hide the widget from the managers
- double click on the Lightning version number toggles the widget into "customer mode", hides everything except the buttons to Enable/Disable and Clear Cache
Notices
- MySQL queries slower 2 seconds
- MySQL queries with result more than 5000 rows or more than 1 Mb capacity
- fatal errors that occur during operation of the store (much clearer and more informative than OpenCart log)
- missing JS/CSS files
- recommendation to upgrade to PHP7, if the server has lower version
- the recommendation to change robots.txt if it is not possible to do automatically
- instructions how to translate the store into full HTTPS, if you have not done this or done incorrectly
- instructions for configuring the CRON task for pages pregeneration
Additional features
- the ability to display multilingual cookies notices (many other implementations do not work correctly with pages caching)
- when you add a URL parameter li_sql=1 the execution time of the controllers and queries is displayed
- when you add a URL parameter li_module=1 modules information is displayed (useful when it is necessary to define the module name to load via AJAX)
- when you open index.php?li_op=lg shows handy logs viewer with realtime update
- when you open index.php?li_op=cn the results of connection to Lightning server and other servers is displayed (in order to understand whether the hosting allows external connections at all)
Created 2018-10-15,
last edited 2021-06-20