Full Lightning features list
Engine Optimization
- 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
- optimization and grouping MySQL queries (drastically reduce the number of database queries and speed up many slow queries)
- 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
- 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)
Frontend Optimization (raising the PageSpeed score)
- HTTP/2 PUSH delivery for JS/CSS resources
- 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
- background image optimization via CRON task which runs on most hostings and does not require the exec() function and utils installation
- if CRON task doesn't work, Lightning can optimize images with external utilities (like jpegoptim and optipng)
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
- the Clear Cache button (clears Lightning caches, system cache, and the cache of the JOURNAL theme)
- 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
- 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 tasks for pages pregeneration and optimizing images
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 2018-12-03