1. 2014

    Using fail2ban from behind a Rackspace Cloud LoadBalancer

    If your fail2ban is on a host behind a Rackspace Cloud LoadBalancer, you’ll want to block the offending IP addresses directly in your LoadBalancer. If your LB is acting as a reverse proxy, you’ll HAVE to block in the LB, but it is also nice to protect all other nodes behind the LB and offload the lifting.

  2. 2014

    Running HHVM instead of PHP with Nginx on Ubuntu

    Since version 3.9, WordPress have been 100% compatible with [HHVM](http://hhvm.com/ "HipHop Virtual Machine") and I have begun replacing PHP with it on a few of my servers to experiment.

  3. 2014

    WordPress Quality Guidelines

    Any organization where multiple developers cooperate on a regular basis needs some guidelines to assure optimal quality of the end result. Most of these rules applies to freelancers as well.

  4. 2014

    «Slap-on» speed optimization of your WordPress site

    OK, so you might have been at a WordCamp listening to talks or reading a few blog posts and you get that you should really get your WordPress site speed optimized. Starting all over isn't either tempting nor something you have the time for. Don't despair, you'll get a long way by installing 5 plugins.

  5. 2014

    Optimizing HTTPS on Nginx

    Now that you have secured [Nginx with HTTPS](https://www.bjornjohansen.com/securing-nginx-ssl) and [enabled SPDY](https://www.bjornjohansen.com/enabling-spdy-nginx) [enabled HTTP/2](https://www.bjornjohansen.com/enable-http2-on-nginx), it's time to improve both the security and the performance of the server.

  6. 2013

    Host ga.js locally with a WordPress plugin

    Recently, I've done some WordPress load optimization with Thomas Bensmann (read his post « [Full score on Google PageSpeed, Pingdom and GTMetrix](https://bensmann.no/full-score-google-pagespeed-pingdom-gtmetrix/)») and to achieve full effect, you do have to load the Google Analytics tracking script, ga.js, from your own server.

  7. 2013

    Optimize your JS and CSS loading in WordPress

    When you get into page loading optimization, you will quickly find these «must-dos»: Combine your CSS and JavaScript files (respectively), minimize your CSS and JavaScript, load CSS before JS, load JS in body footer and then even some. Without much effort, we can make WordPress do all of this automatically.

  8. 2013

    Make Gravity Forms' JavaScript load in the footer

    Gravity Forms is not only THE way to create and manage forms in WordPress, but is also pretty awesome when it comes to extensibility and flexibility. However, as most software, it has its issues. One of those is how it outputs some of the JavaScript, which in certain cases will break your site. This is how to fix it.

  9. 2013

    Why use WordPress as your corporate CMS?

    ![WordPress](https://www.bjornjohansen.com/content/uploads/2013/08/wordpress-300x186.png)There are now several years since WordPress was considered a blog platform only. Today, it's a full blown CMS and perfectly capable of powering corporate web sites. Here I provide you with 5 non-technical reasons why WordPress is well fit for a corporate CMS.

  10. 2013

    Enabling SPDY with Nginx

    SPDY is this new, cool, fast protocol created by Google that "replaces" HTTP (the first draft of HTTP 2.0 is using SPDY as the working base). It is [supported in all the major browsers](http://caniuse.com/spdy "Compatibility table for support of SPDY networking protocol in desktop and mobile browsers.") – yes, even Internet Explorer – with the exception of Apple's Safari.