Wordpress Performance Wordpress SEO Wordpress Security Wordpress Themes Wordpress Hosting Mein Setup Das Buch

Cache Enabler: Dieses Snippet verhindert PHP-Ausführung

Wordpress Cache Enabler Plugin Snippet

Cache Enabler noch schneller machen

Als ich euch vor kurzem das WordPress Plugin Cache Enabler vorstellte, war ich wirklich sehr begeistert. Die Erweiterung ist im Großen und Ganzen rund 1 Sekunde schneller als jegliches andere Caching Plugin für WordPress, sogar schneller als das extreme Leichtgewicht und der bisherige Geschwindigkeitssieger Cachify. Doch auch Cache Enabler lässt sich noch weiter optimieren, nämlich indem die PHP-Ausführung ganz und gar übersprungen wird. Das erfordert aber ein wenig Tuning innerhalb der .htaccess-Datei und ist daher nicht unbedingt für Anfänger geeignet. Wobei im Grunde nur ein fertiges Snippet kopiert werden muss, welches den Cache Enabler noch einmal schneller macht, vor allem aber den Server weiter entlastet und unnötige Umwege verhindert. Falls ihr WebP-Bilder nicht benutzt, kann der erste Teil (# webp HTML file) übrigens komplett entfernt werden, denn eine fette .htaccess drückt ebenfalls auf die Performance.

Folgendes in die .htaccess von WordPress einfügen:

# Start Cache Enabler
<IfModule mod_rewrite.c>
 RewriteEngine On

 <IfModule mod_mime.c>
 # webp HTML file
 RewriteCond %{REQUEST_URI} /$
 RewriteCond %{REQUEST_URI} !^/wp-admin/.*
 RewriteCond %{REQUEST_METHOD} !=POST
 RewriteCond %{QUERY_STRING} =""
 RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
 RewriteCond %{HTTP:Accept-Encoding} gzip
 RewriteCond %{HTTP:Accept} image/webp
 RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/cache-enabler/%{HTTP_HOST}%{REQUEST_URI}index-webp.html.gz -f
 RewriteRule ^(.*) /wp-content/cache/cache-enabler/%{HTTP_HOST}%{REQUEST_URI}index-webp.html.gz [L]

 # gzip HTML file
 RewriteCond %{REQUEST_URI} /$
 RewriteCond %{REQUEST_URI} !^/wp-admin/.*
 RewriteCond %{REQUEST_METHOD} !=POST
 RewriteCond %{QUERY_STRING} =""
 RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
 RewriteCond %{HTTP:Accept-Encoding} gzip
 RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/cache-enabler/%{HTTP_HOST}%{REQUEST_URI}index.html.gz -f
 RewriteRule ^(.*) /wp-content/cache/cache-enabler/%{HTTP_HOST}%{REQUEST_URI}index.html.gz [L]

 AddType text/html .gz
 AddEncoding gzip .gz
 </IfModule>

 # default HTML file
 RewriteCond %{REQUEST_URI} /$
 RewriteCond %{REQUEST_URI} !^/wp-admin/.*
 RewriteCond %{REQUEST_METHOD} !=POST
 RewriteCond %{QUERY_STRING} =""
 RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
 RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/cache-enabler/%{HTTP_HOST}%{REQUEST_URI}index.html -f
 RewriteRule ^(.*) /wp-content/cache/cache-enabler/%{HTTP_HOST}%{REQUEST_URI}index.html [L]
</IfModule>
# End Cache Enabler

Server entlasten und Blog beschleunigen

Darauf aufmerksam machte mich direkt beim Release übrigens ein Nutzer, der nach einem Problem das Snippet im Support von KeyCDN, dem Entwickler hinter Cache Enabler fand. Jetzt habe ich mich dazu entschlossen, das Snippet noch einmal hier zu veröffentlichen, weil ich es für wichtig halte und es ein wenig untergegangen ist, wie ich finde. Denn wer PHP mit dem Cache Enabler komplett umgeht, sorgt dafür, dass es keinerlei Umwege mehr gibt und das Caching Plugin direkt zur statischen HTML-Datei weiterleitet, wenn diese bereits zur Verfügung steht, was natürlich deutlich effizienter ist. Ausnahmen gibt es natürlich, denn im Gegensatz zu Cachify, funktioniert die wp-cron.php auch mit dem Snippet weiterhin und erledigt ihre Arbeit. Danke an Nils für den Hinweis, da haben sich die eingeschalteten Kommentare doch schon wieder gelohnt.



Wordpress Performance eBook