With styles moving into components and critical styles being unique for each layout we no longer get the luxury of preparing and optimizing CSS during the build process (especially for server-sid...
One of the most popular suggestions for improving website performance that I often see in the WordPress world goes something like this: Enqueue only the CSS and Javascript necessary for the parti...
Today I learned that using inline anonymous function to add Javascript files to DOM will block the onload event until the referenced script is fully loaded. The solution is to attach the function...
The next major release of WordPress is just around the corner — April 16th is the scheduled release date for WordPress 3.9. It will also be the very first version of WordPress with this litt...
I have updated the Minit plugin to add support for secure asset URIs (SSL/HTTPS). The plugin now enqueues combined Javascript and CSS files using the appropriate URI scheme (uses HTTPS if is_ssl...
Here is a simple shell snippet to optimise a batch of PNG images in a folder recursively using PNGOUT → Read more →
Glances is a linux system monitor written in Python. Read more →
I just submitted my second WordPress core patch that adds a short-circuit filter at the top of wp_nav_menu which enables plugins to retrieve rendered menu output from a transient or non-persist...
Moving Beyond End-to-End Path Information to Optimize CDN Performance Our main result is that redirecting every client to the server with least latency does not suffice to optimize client latenci...
https://kaspars.net/blog/link-moving-beyond-end-to-end-path-information-to-optimize-cdn-performance
It appear as most stock-plugins are configured in /etc/munin/plugin-conf.d/munin-node. This isn’t the case for the Memcached plugin. Hence this post. — Monitor Memcached with Munin (on Ubunt...
I recently updated my server to PHP 5.4 and discovered that I was no longer able to restart the PHP-FPM service using the regular: $ /etc/init.d/php5-fpm restart or $ service php5-fpm restart I w...
https://kaspars.net/blog/fixing-php5-fpm-init-php-5-4-debian-dotdeb
This function will remove all headers set by PHP, including cookies, session and the X-Powered-By headers. This is an extremely handy function for serving a stale cache version of a page while ge...
Here is the idea behind the Viewport Cookies: first, detect the width of the device viewport using javascript and store its value in a viewport cookie from within the
; use that cookie i...Igor Sysoev: In spring 2001 I had written Apache mod_accel that is enhanced replacementof mod_proxy. But it was clear that Apache has low scalability. I had read http://kegel.com/c10k.html, had i...
WordPress can be very fast. Here is the server-side setup for achieving the 97/100 Page Speed score (it is only because of Google Analytics that the score is not 100/100): Nginx web server; PHP w...
WordPress doesn’t know that your Nginx web server is capable of doing URL rewrites without mod_rewrite and Apache, so we explain that by adding: add_filter('got_rewrite', 'nginx_has_rewrites');...
https://kaspars.net/blog/enable-plugin-theme-updates-and-pretty-permalinks-nginx
If you want to offload your combined and minified javascript and CSS files to a separate domain or a content delivery network (CDN), WP-Minify provides you with a handy set of filters (place this...
https://kaspars.net/blog/rewrite-wp-minify-urls-for-css-and-js-offloading
Using the Page Speed tool. Read more →
WordPress Cache Plugin Benchmarks WordPress, Varnish and Edge Side Includes SSI, Memcached and Nginx (plus Varnish, ESI and static generation) Read more →
Konstruktors.com is ranked #88,733 in the world according to the three-month Alexa traffic rankings. While we estimate that 24% of the site’s visitors are in the US, where it is ranked #74,617,...
This plugin sets a “version” cookie of your site’s content, which can be used for time-based cache invalidation, as the cookie is checked and updated (if necessary) on each page request thr...
Just took the time to create and implement the smartest WordPress cache solution of all time. If your server is able to use cookies for cache keys, I can send you a copy of the plugin to try it...
Let’s have a site wide version number that is changed every time something is updated and cache needs to be invalidated. This number is stored in a simple text file. Cache keys are made up of ...
This server uses PHP 5.3 with PHP-FPM (FastCGI Process Manager) patch and APC opcode cache. Several minutes after activating APC, I noticed that some pages stopped loading. Turns out it was bec...
https://kaspars.net/blog/php-apc-potential-cache-slam-averted-for-key
The fastest WordPress instance I have ever seen — 14 queries in 0.04 seconds, and Pingdom Tools reporting 0.6 seconds load time for the whole frontpage with a default theme. And all of that on ...
That is 0.07 seconds per query. How fast is your WordPress on your host? Go to three random post on your blog and copy-paste those values here in comments. I am trying to decide if I should switc...