Sulby WordPress theme
December 15, 2017
Sulby is an in-house standalone WordPress theme developed by bunhill.com. Designed and built from scratch to be lightweight, fast, secure and efficient, the theme is ideally suited to many typical small business and / or presentation requirements.
The theme works effectively on both phones and larger devices and can be quickly tailored and styled to a client specification. Written in PHP, jQuery, HTML5 and CSS all of the required functionality is included within the theme itself – rather than depending on additional or potentially insecure and poorly documented third-party plugins which may be poorly maintained over time. Total knowledge of everything included in the theme offers significant advantages with respect to quickly and effectively meeting specific client requirements. Deliberately stripped back and bare-bones, there is none of the superfluous bloat and legacy code often found in commercially available themes. The aim has been to include only what is actually required – to create a flexible framework into which additional specific functionality could then be added as required.
This site has been built using the theme and there is a more comprehensive demo at
thenakedbrunch.com. The Naked Brunch is an imaginary restaurant / café business with 3 branches. The site runs on a LEMP (Linux, Nginx, MySQL, PHP) stack and is hosted by bunhill.com at Digital Ocean. HTTPS (SSL/TLS) certificates are via
Let’s Encrypt. In most cases this combination is also likely to be the best client hosting solution since the setup has been carefully optimized and tested. A site based on this theme and code base could however also be easily implemented on existing or alternative hosting elsewhere.
The theme incorporates the
Redux Framework which enables us to quickly customize the use of typography –
Google Fonts are available as standard enabling the look and feel of a site to be quickly changed (fig 1). Additionally the backend administration dashboard can be customized – such that, for example, functionality can be simplified for clients to include only what they actually need (fig 2). At the thenakedbrunch.com, for example, the client-user would need to be able to edit the restaurant menus and upload new pdfs (fig 3). In this example the ‘Restaurant Menu’ entity is a
Custom Post Type defined in functions.php.
NGINX configured with FastCGI caching
December 12, 2017
#Caching #FastCGI Caching #loader.io #NGINX
“Nginx includes a FastCGI module which has directives for caching dynamic content that are served from the PHP backend. Setting this up removes the need for additional page caching solutions like reverse proxies (think Varnish) or application specific plugins. Content can also be excluded from caching based on the request method, URL, cookies, or any other server variable.”
How to Setup FastCGI Caching with Nginx on your VPS – DigitalOcean
So it turned out that there is just a little bit more involved when multiple domains are hosted on the same server – in particular the
fastcgi_cache_key directive will not want to be duplicated across multiple Virtual Hosts. The Virtual Host files are read in alphabetical order – so it can either be included in the first or else moved to
It seems to work very well. Here is
thenakedbrunch.com hosted on a $5 per month droplet @
DigitalOcean (referral link) handling 10,000 hits over 1 minute tested using
loader.io. Granted this is not a definitive test of how the server would necessarily respond under real world conditions. But it’s a great start – no errors, no timeouts. View the report in more detail
here at loader.io.