Description
On first request to a given URL whole html code of a page is being stored in
the SQLite database. On next requests to the same page WordPress core will
not be loaded at all but the content of a page will be retrieved from the
the SQLite storage therefore duration of PHP execution decreases in dozen
of times.
Many sites on the same webserver may use common SQLite storage.
Compatible with WordPress Multisite. Requires PHP SQLite PDO.
In comparison with plugins generating static html pages this plugin does not
create multiple directories and html files but stores all generated pages
in one file. Moreover, many wordpress sites on the same webserver may use
common SQLite storage. Keeps 404, 301, 302, 304 HTTP statuses, optionally
supports ETag, Expires, Content-Length, Content-Type (with charset) headers.
As the cache script doesn’t load the WordPress core where does it save it’s settings?
To get the plugin working you need to define the SQLite storage location in
the index.php
of the wordpress installation directory (note, not in wp-config.php
but index.php). Besides of the SQLite file, this directory contains general
settings file (compression setting) and a subfolder for per domain settings.
In the admin area (plugin setting page) and to remember after deactivation where
the cache located, litecache_path
WordPress option is used.
How the plugin handles URLs with and without `www.` prefix?
The presence of www.
prefix is defined in Settings
– General
.
The plugin stores with_www
parameter in domains/yourdomain.ini
file in the
cache directory and redirects requests correspondingly; these redirects are
being processed before cache usage.
Is it WordPress Multisite compatible?
Yes, but for subdomains mode only (blogname.example.com), not for
example.com/blogname. A superadmin of a multisite network has access to
the first setting form (cache location), blog admins have access to the
second form and purge form.
Installation
-
Upload the plugin from the WordPress plugin installation page or
unpacksqlite-cache
folder to the plugins directory
(usuallywp-content/plugins/
). -
Activate the plugin through the WordPress Plugins manager, then you
will seeSQLite Cache
item in theSettings
submenu of WordPress admin menu. -
Forms on the the plugin settings page:
- Define a directory where the plugin settings and the cache storage
will be located. - Define cache expiration time and HTTP headers the cached pages will be
delivered with. - Third form is for cleaning cache. Note the cache will be cleared every
time when you submit the domain settings form so you don’t need to clear cache
after changing settings.
- Add two lines into
index.php
file (you will be notified on the settings page)
to define where the cache storage is located and include the cache engine file.
Done! For testing, enable Show performance time
checkbox to ensure
the cache engine works.
FAQ
- I’m the owner of a site and I see `Edit page` link near the page content. Will it be cached?
-
No. The cache engine is not used for authorized users, for those who has
commenter cookie and for visitors with active PHP sessions. - What I’ll see after posting a comment?
-
The result of a page after POST request method will isn’t being cached
so you will see your comment or a notification about pending comment. Also,
see the previous question. - What else is not cached?
-
- Any URL containing
wp-
,.php
,/files/
andblogs.dir
. - Results of POST and HEAD request methods.
- Any URL containing
- Do I need clear cache when I edit an existing post or page or add a comment?
-
Cache entry of a single post page or page will be cleared automatically after
post/page update or publishing a comment. Also, the blog list page cache is
cleared on post updates. You need to purge cache after modifying menus, widgets,
switching theme, changes of theme options. - Can I disable cache for some pages?
-
Yes, you can define a list of URL patterns to exclude them from cache.
- Does the `Contact Form 7` work on cached pages?
-
Yes, it works by itself but additional functionalities such as CAPTHCHAs
might be not working. - How the plugin handles with 404 Not Found response and redirects?
-
The plugin caches
404 Not Found
HTTP status code with the same
expiration period as other pages as well as redirect codes 301 and 302
with Location header. - How to deactivate the plugin?
-
Click on Deactivate link on the plugins list, then the settings file
(yourdomain.ini) will be deleted so cache engine will not be applied for
the current domain. However it stays working for other sites installed
in the same directory until it is included in theindex.php
and their
setting files exist.
Reviews
Contributors & Developers
“SQLite Cache” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SQLite Cache” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.6.2
- Fix Content-Length header value.
- Fix php warning when $_SERVER[‘HTTPS’] is not set.
0.6.1
- Improved usability on multisite: get_site_option instead of get_option (update, delete).
- Cleaning code (check input before gzcompress/uncompress, bug fix in ob_start).
- Ukrainian translation.
0.6
First public version.