{"id":36490,"date":"2015-05-21T23:04:06","date_gmt":"2015-05-21T23:04:06","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/sqlite-cache\/"},"modified":"2016-07-01T16:54:30","modified_gmt":"2016-07-01T16:54:30","slug":"sqlite-cache","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/sqlite-cache\/","author":5467014,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.6.2","stable_tag":"trunk","tested":"4.5.33","requires":"3.8.1","requires_php":"","requires_plugins":"","header_name":"SQLite Cache","header_author":"Andrey K.","header_description":"","assets_banners_color":"","last_updated":"2016-07-01 16:54:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/andrey.eto-ya.com\/wp-sqlite-cache","header_author_uri":"http:\/\/andrey.eto-ya.com\/","rating":4,"author_block_rating":0,"active_installs":10,"downloads":1884,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":"1","4":0,"5":"1"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[146,247,28201],"plugin_category":[52,54],"plugin_contributors":[81594],"plugin_business_model":[],"class_list":["post-36490","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-performance","plugin_tags-sqlite","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-andreyk","plugin_committers-andreyk"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/sqlite-cache.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>On first request to a given URL whole html code of a page is being stored in\nthe SQLite database. On next requests to the same page WordPress core will\nnot be loaded at all but the content of a page will be retrieved from the\nthe SQLite storage therefore duration of PHP execution decreases in dozen\nof times.<\/p>\n\n<p>Many sites on the same webserver may use common SQLite storage.\nCompatible with WordPress Multisite. Requires PHP SQLite PDO.<\/p>\n\n<p>In comparison with plugins generating static html pages this plugin does not\ncreate multiple directories and html files but stores all generated pages\nin one file. Moreover, many wordpress sites on the same webserver may use\ncommon SQLite storage. Keeps 404, 301, 302, 304 HTTP statuses, optionally\nsupports ETag, Expires, Content-Length, Content-Type (with charset) headers.<\/p>\n\n<h4>As the cache script doesn't load the WordPress core where does it save it's settings?<\/h4>\n\n<p>To get the plugin working you need to define the SQLite storage location in\nthe <code>index.php<\/code> of the wordpress installation directory (note, not in wp-config.php\nbut index.php). Besides of the SQLite file, this directory contains general\nsettings file (compression setting) and a subfolder for per domain settings.\nIn the admin area (plugin setting page) and to remember after deactivation where\nthe cache located, <code>litecache_path<\/code> WordPress option is used.<\/p>\n\n<h4>How the plugin handles URLs with and without `www.` prefix?<\/h4>\n\n<p>The presence of <code>www.<\/code> prefix is defined in <code>Settings<\/code> - <code>General<\/code>.\nThe plugin stores <code>with_www<\/code> parameter in <code>domains\/yourdomain.ini<\/code> file in the\ncache directory and redirects requests correspondingly; these redirects are\nbeing processed before cache usage.<\/p>\n\n<h4>Is it WordPress Multisite compatible?<\/h4>\n\n<p>Yes, but for subdomains mode only (blogname.example.com), not for\nexample.com\/blogname. A superadmin of a multisite network has access to\nthe first setting form (cache location), blog admins have access to the\nsecond form and purge form.<\/p>\n\n<!--section=installation-->\n<ul>\n<li><p>Upload the plugin from the WordPress plugin installation page or\nunpack <code>sqlite-cache<\/code> folder to the plugins directory\n(usually <code>wp-content\/plugins\/<\/code>).<\/p><\/li>\n<li><p>Activate the plugin through the WordPress Plugins manager, then you\nwill see <code>SQLite Cache<\/code> item in the <code>Settings<\/code> submenu of WordPress admin menu.<\/p><\/li>\n<li><p>Forms on the the plugin settings page:<\/p><\/li>\n<\/ul>\n\n<ol>\n<li>Define a directory where the plugin settings and the cache storage\nwill be located.<\/li>\n<li>Define cache expiration time and HTTP headers the cached pages will be\ndelivered with.<\/li>\n<li>Third form is for cleaning cache. Note the cache will be cleared every\ntime when you submit the domain settings form so you don't need to clear cache\nafter changing settings.<\/li>\n<\/ol>\n\n<ul>\n<li>Add two lines into <code>index.php<\/code> file (you will be notified on the settings page)\nto define where the cache storage is located and include the cache engine file.<\/li>\n<\/ul>\n\n<p>Done! For testing, enable <code>Show performance time<\/code> checkbox to ensure\nthe cache engine works.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt>I'm the owner of a site and I see `Edit page` link near the page content. Will it be cached?<\/dt>\n<dd><p>No. The cache engine is not used for authorized users, for those who has\ncommenter cookie and for visitors with active PHP sessions.<\/p><\/dd>\n<dt>What I'll see after posting a comment?<\/dt>\n<dd><p>The result of a page after POST request method will isn't being cached\nso you will see your comment or a notification about pending comment. Also,\nsee the previous question.<\/p><\/dd>\n<dt>What else is not cached?<\/dt>\n<dd><ul>\n<li>Any URL containing <code>wp-<\/code>, <code>.php<\/code>, <code>\/files\/<\/code> and <code>blogs.dir<\/code>.<\/li>\n<li>Results of POST and HEAD request methods.<\/li>\n<\/ul><\/dd>\n<dt>Do I need clear cache when I edit an existing post or page or add a comment?<\/dt>\n<dd><p>Cache entry of a single post page or page will be cleared automatically after\npost\/page update or publishing a comment. Also, the blog list page cache is\ncleared on post updates. You need to purge cache after modifying menus, widgets,\nswitching theme, changes of theme options.<\/p><\/dd>\n<dt>Can I disable cache for some pages?<\/dt>\n<dd><p>Yes, you can define a list of URL patterns to exclude them from cache.<\/p><\/dd>\n<dt>Does the `Contact Form 7` work on cached pages?<\/dt>\n<dd><p>Yes, it works by itself but additional functionalities such as CAPTHCHAs\nmight be not working.<\/p><\/dd>\n<dt>How the plugin handles with 404 Not Found response and redirects?<\/dt>\n<dd><p>The plugin caches <code>404 Not Found<\/code> HTTP status code with the same\nexpiration period as other pages as well as redirect codes 301 and 302\nwith Location header.<\/p><\/dd>\n<dt>How to deactivate the plugin?<\/dt>\n<dd><p>Click on Deactivate link on the plugins list, then the settings file\n(yourdomain.ini) will be deleted so cache engine will not be applied for\nthe current domain. However it stays working for other sites installed\nin the same directory until it is included in the <code>index.php<\/code> and their\nsetting files exist.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>0.6.2<\/p>\n\n<ul>\n<li>Fix Content-Length header value.<\/li>\n<li>Fix php warning when $_SERVER['HTTPS'] is not set.<\/li>\n<\/ul>\n\n<p>0.6.1<\/p>\n\n<ul>\n<li>Improved usability on multisite: get_site_option instead of get_option (update, delete).<\/li>\n<li>Cleaning code (check input before gzcompress\/uncompress, bug fix in ob_start).<\/li>\n<li>Ukrainian translation.<\/li>\n<\/ul>\n\n<p>0.6\nFirst public version.<\/p>","raw_excerpt":"Provides SQLite cache storage that applied before WordPress core load. Doesn&#039;t create multiple html files but stores all pages in one file.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/36490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=36490"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/andreyk"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=36490"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=36490"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=36490"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=36490"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=36490"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=36490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}