=== PageSpeed Ninja === Contributors: pagespeed Tags: page speed, optimizer, minification, gzip, render blocking css Requires at least: 4.0.1 Tested up to: 5.2 Stable tag: 0.9.38 License: GPLv2 or later License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html Make your site load faster & fix PageSpeed issues with one click: Gzip compression, render blocking critical CSS/JavaScript, browser caching & more. == Description == PageSpeed Ninja is the ultimate Wordpress performance plugin. You can make your site load faster on desktop and mobile, fixing Google PageSpeed Insights issues with one click. * Easily enable Gzip file compression * Fix render blocking CSS and JavaScript * Improve Critical Rendering Path and auto-generate above-the-fold critical CSS * Minify HTML, JavaScript and CSS files * Combine and inline Javascript and CSS * Defer loading of Javascript and CSS * Optimize style / script order * Compress all images to optimize size * Defer images by lazy loading with optional low-quality image placeholders * Leverage browser caching and server-side caching * Optimize your images accurately for nearly 10,000 different mobile browsers thanks to the included AMDD database – one of the most comprehensive mobile device databases available. * And MUCH more, based on 10+ years of experience in mobile-optimizing over 200 000 websites. ## Why PageSpeed Ninja? We’ve been optimizing web on mobile for over a decade now (you might know one of our popular projects, [Lazy Load XT](https://github.com/ressio/lazy-load-xt) on Github). PageSpeed Ninja for Wordpress is the result of 10+ years of experience in optimizing the performance over 200 000 websites on mobile. We believe you won't find a similar, easy to use, all-in-one package of performance boosting features anywhere else. We’ve built heaps of unique features to make sure your site loads super fast, like the above-the-fold critical CSS generation method, not seen in any other plugins. We’d love your feedback – always feel free to send us your questions, thoughts and suggestions. ## Before you install According to our stats, our plugin improves speed of 4 out of 5 sites. However in some cases, certain theme and plugin combinations (particularly related to caching and optimization) cause incompatibility issues. Therefore our plugin might not be suitable for everyone. In order for you to see how PageSpeed Ninja could work on your site, we created a simple tool where you can test your site before installation. **We highly recommend** you visit [PageSpeed.Ninja](http://pagespeed.ninja) and test your site beforehand. ## Uninstallation When the plugin is deleted, it will automatically revert all settings on your site back to way they were before installing this plugin. It restores all optimized images and removes /s directory with optimized JS and CSS files. Also all changes in .htaccess files are reverted back. Please note that this restoration may not work reliably if in the meanwhile there have been any conflicts with other plugins, e.g. if the other plugins dynamically create/edit/remove files (including the files backed up by this plugin). ## Feedback, Bug reports, Logging possible issues We welcome all questions, comments, suggestions, issue reports. Contact us to be added to our private tester Facebook group. PageSpeed Ninja logs all php errors in wp-content/plugins/pagespeedninja/includes/error_log.php file (see Troubleshooting section in Advanced tab of the PageSpeed Ninja settings page) If you find a problem, would be great if you can also send that file along. == Installation == 1. Upload the plugin files to the `/wp-content/plugins/psn-pagespeed-ninja` directory, or install the plugin through the WordPress plugins screen directly. We recommend taking a backup of your site first, just like with any other new plugin. 2. Activate the plugin through the 'Plugins' screen in WordPress 3. Use the Settings->PageSpeed Ninja screen to configure the plugin 4. After you have installed the plugin, navigate to Settings->PageSpeed Ninja and enable optimization levels suggested by Google's PageSpeed Insights. By default all optimizations are disabled. The plugin then optimizes images, JS and CSS files, and modifies .htaccess files as required to fix issues identified by Google PageSpeed Insights. == Frequently Asked Questions == = Does this plugin have any conflicts with Yoast or any of the other SEO plugins out there? = The PageSpeed Ninja plugin should work pretty well with most other plugins without issues. However, if some SEO plugins try to do some of the same things as this plugin, then conflicts could be possible especially if gzip compression is enabled. However that is pretty unlikely. == Screenshots == 1. See improvement suggestions in one place and fix with single click 2. Fine tune to get the best performance using advanced settings == Upgrade Notice == None == Changelog == = 0.9.38 Beta Release [30 April 2019] - Fixed issue with exclusion of JavaScript files - Fixed issue with priority of template_redirect action handler (resulted in conflict with Smart Slider 3) - Fixed issue with processing of AJAX requests - Fixed issue with page caching for logged users - Fixed issue with file cache cleaner in the case of large time-to-live value - Fixed work of "Configure the viewport" setting - Fixed work of libxml-based HTML optimizer - Added new setting to enable/disable optimization for logged users - Added file exclusion in "Non-blocking Javascript", "Optimize integrations", "Load external stylesheets", and "Load external scripts" - Registering of new WP images sizes is applied to the "Fit" image rescaling method only = 0.9.37 Beta Release [12 February 2019] - Fixed issue with Distribute Method: PHP = 0.9.36 Beta Release [12 February 2019] - Fixed file permissions = 0.9.35 Beta Release [12 February 2019] - Fixed issue with possible incorrect markup generation in DNS Prefetch and Google Fonts optimizations - Fixed issue with WooCommerce caching - Fixed issue with open_basedir enabled - Updated AMDD device database for "Scale large images" feature - Improved atomic file operations = 0.9.34 Beta Release [21 December 2018] - Fixed version number in WordPress repository = 0.9.33 Beta Release [21 December 2018] - Fixed issue in URL parser - Fixed processing of inlined scripts in libxml-based HTML parser = 0.9.32 Beta Release [29 November 2018] = - Fixed processing of xml (e.g. in sitemap) - Removed copyright headers from minified Lazy Load XT files - Improvement of "Skip initialization scripts" setting = 0.9.31 Beta Release [13 September 2018] = - Fixed gzip compression for "headers sent" issue - Fixed displaying of active preset name - Fixed removing of empty directories in cache cleaner - Fixed libxml HTML parser - Added support of DONOTCACHEPAGE and DONOTMINIFY constants - Improved performance of the Standard full HTML parser (Pharse library) - Few minor fixes = 0.9.30 Beta Release [16 July 2018] = - Fixed conflict of "Manage CSS/Javascript URLs" and "Load external stylesheets/scripts" settings - Fixed "Gzip compression" feature for cached pages - Fixed internal caching TTL (detached from "Caching time-to-live" parameter) - Automatic detection of gzip support during initial activation of the plugin = 0.9.29 Beta Release [02 July 2018] = - Fixed invalidation of expired page cache after clearing fragment cache - Fixed invalidation of page cache after saving settings - Fixed work with Beaver Builder and Massive Dynamic Builder - Changed default cache time-to-live in presets - "Generate srcset" feature is moved from experimental to stable = 0.9.28 Beta Release [27 June 2018] = - Fixed issue with image rescaling - "Generate srcset" feature is moved from experimental to stable = 0.9.27 Beta Release [25 June 2018] = - Fixed external Above-the-fold CSS generation in backend - Fixed issue with merging of non-existing files - Fixed merging of JS/CSS URLs with hash-part in URL - Fixed conflict with ob-handlers ordering - Added experimental caching of optimized pages - Added HTTPS support for all requests to pagespeed.ninja - Added tooltips displaying for touch screens in Advanced tab - Updated TidyCSS to ver. 1.5.7 from https://github.com/airyland/CSSTidy - Updated presets - Performance optimizations = 0.9.26 Beta Release [14 June 2018] = - Fixed "Flash of unstyled text" mode of Google Fonts loading - Fixed position of the Support badge - Fixed conflict with plugins that do ob_start() in 'template_redirect' action (by setting priority to 5) - Fixed generation of absolute URLs in merged CSS files = 0.9.25 Beta Release [09 May 2018] = - Fixed javascript order with "Skip initialization scripts" option = 0.9.24 Beta Release [08 May 2018] = - Fixed URL quoting in CSS minification = 0.9.23 Beta Release [07 May 2018] = - Fixed Fast stream and libxml parsers - Fixed work of Above-the-fold CSS with libxml parser = 0.9.22 Beta Release [06 May 2018] = - Fixed "Configure the viewport" feature - Fixed "Load external files" feature - Fixed clearing of Page Cache - Fixed generation of above-the-fold CSS in the Advanced tab - Fixed check for AMP pages - Fixed processing of inlined