FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Home » Optimization » Hack WP-Cache for Maximum Speed

Hack WP-Cache for Maximum Speed

Hack WP-Cache for Maximum Speed Hack WP-Cache for Maximum Speed

Hack WP-Cache for Maximum Speed

March 11th, 2008

If you desire SPEED from your WordPress blog, the #1 speed improvement comes from using the WP-Cache Plugin. However, if you still desire even more speed after installing the Plugin, you can modify the WP-Cache Plugin code run even faster!

WP-Cache Speed Hack Results

WP-Cache Off
WP-Cache Off

WP-Cache Default Settings
WP-Cache On Defaults

WP-Cache With wp-cache-phase1.php Hack
WP-Cache With wp-cache-phase1.php Hack

WP-Cache With Full Hack
WP-Cache with Full AskApache Hack

These results came from the Cacheability Checker. Yslow for firefox is what you need today.

Manual Instructions for hacking wp-cache

First you should download and activate the WP-Cache Plugin, then enable it in your Options Configuration Panel for WP-Cache.

Open wp-cache-phase1.php

Find

      /* No used to avoid problems with some PHP installations
      $content_size += strlen($log);
      header("Content-Length: $content_size");
      */

Replace with

      // BEGIN AskApache WP-Cache hack
      $content_size += strlen($log);
      header("Content-Length: $content_size");
      // END AskApache WP-Cache hack

Open wp-cache-phase2.php

Find

  /* Not used because it gives problems with some
   * PHP installations
  if (!$response{'Content-Length'}) {
  // WP does not set content size
    $content_size = ob_get_length();
    @header("Content-Length: $content_size");
    array_push($wp_cache_meta_object->headers, "Content-Length: $content_size");
  }
  */

Replace with

  // BEGIN AskApache WP-Cache Hack
  if (!$response{'Content-Length'}) {
    $content_size = ob_get_length();
    @header("Content-Length: $content_size");
    array_push($wp_cache_meta_object->headers, "Content-Length: $content_size");
  }
  // END AskApache WP-Cache Hack

Find

  if (!$response{'Content-Type'}) {
    $value =  "text/html; charset=\\"" . get_settings('blog_charset')  . "\\"";
    @header("Content-Type: $value");
    array_push($wp_cache_meta_object->headers, "Content-Type: $value");
  }

After Add

  // BEGIN AskApache WP-Cache Hack
  if (!$response{'Cache-Control'}) {
      $value = "max-age=$cache_max_time, public";
      @header("Cache-Control: $value");
      array_push($wp_cache_meta_object->headers, "Cache-Control: $value");
  }
  // END AskApache WP-Cache Hack

Download the Modified WP-Cache Plugin

Just download and install as if it were the actual WP-Cache Plugin.wp-cache.zip | wp-cache.rar

Want More Speed?

Then check out the other speed articles on AskApache.

Or just add this to your blogs .htaccess file.

#           HEADERS and CACHING
# 1 YEAR
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
Header unset Pragma
Header unset Last-Modified
Header unset ETag
FileETag None
</filesMatch>
 
# 2 DAYS
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
Header unset Pragma
Header unset Last-Modified
Header unset ETag
FileETag None
</filesMatch>
 
# 2 HOURS
<filesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
Header unset Pragma
Header unset ETag
FileETag None
</filesMatch>
 
# COMPRESSION
<filesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</filesMatch>

http://www.askapache.com/optimize/wp-cache-speed-hack.html#comments

Reader Comments

  1. cekay ~July 27, 2008 @ 7:02 pm
    Seems the Heade modifications doesnt work on my hosts apache server. too bad. If I modify the code as describet manual, the pages are shown as source html. and if i download your version i get this error: Fatal error: Class 'CacheMeta' not found in /www/public_html/w0098a5f/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 39 I use WordPress 2.6 and PHP 5. Any time for suggestions how i can check if i can enable header stuff at my provider ? thank you
  2. milo ~May 14, 2008 @ 6:50 am
    How does this work with the speedy cache plugin url=aciddrop.com ?

Add Comment!

Leave a Reply

Your email address will not be published.


Google +

It's very simple - you read the protocol and write the code. -Bill Joy

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed. "Apache" is a trademark of The ASF. NCSA HTTPd.
UNIX ® is a registered Trademark of The Open Group. POSIX ® is a registered Trademark of The IEEE.

Site Map | Contact Webmaster | Glossary | License and Disclaimer | Terms of Service |

↑ TOPMain