Hello World! – How I built this blog

The engine

This blog runs on the free and the most popular blogging platform WordPress. You can download a copy from wordpress.org/download. I host this blog myself but if you do not have your own server, there are many hosting providers that support WordPress including WordPress.com themselves. Go to wordpress.com for details.


WordPress is written in PHP. As someone who used to build web applications some time ago, I am fairly familiar with CSS, HTML, PHP, and JavaScript. I considered building my own styling theme but have used Understrap instead and I could not be happier. Not only it is free but built using the most popular and probably the best CSS framework: bootstrap. This makes any changes or amendments an absolute pleasure.

Folks at Understrap also provide child themes which allow custom modifications on top of the core theme. This in turns allows for the core theme to be updated by Understrap without affecting your own customization. The Understrap Child Themes are free but I was so happy that decided to donate. In the end, it took me 2 evenings to set this up so they well deserved a donation.

Many paid themes do not come with child themes which makes them difficult to update if the new version comes out. Read more about WordPress Child themes: https://codex.wordpress.org/Child_Themes


I use free SSL Certificate provided by letsencrypt.org which is set to automatically renew every 3 months. Their certificates are fully supported by major browsers so you will see the green padlock. HTTPS is actually very easy and free to set up.


I use free Cloudflare.com mainly to benefit from their global content delivery network (CDN) and protection to offload and secure my own server. Find out more about how it works here.

CloudFlare Overview - Property of CloudFlare

As far I as know this is the only CDN that offers so much for free. If you know of any alternatives please let me know. Another benefit of using Cloudflare over JetPack’s Photon – The WordPress’ built-in content delivery network, is that Photon will in fact host images under different URL whereas Cloudflare will use website’s URL. This means one less DNS lookup and less Content Security Policies to manage.

Content Security Policy

Content Security Policies (CSP) is a key website security element which controls allowed origin of the content shown on the website. This prevents malicious content and scripts to be embedded in your blog. I used this plugin https://wordpress.org/plugins/content-security-policy-pro/ to make it easier to add and manage policies.


Disqus is a community discussion system. It replaces the standard WordPress comments. The main reason I decided to use was to avoid having to deal with personal data, email address and comments in my own system (Hello GDPR). In order to comment on my blog, one will need to have Disqus account, which also helps remove spam. Any comments made will be stored in Disqus itself and linked to this blog. Find out more how Disqus works: https://help.disqus.com/what-is-disqus/how-does-disqus-work


The only custom script I use is to obfuscate email address on my contact page to prevent spam bots from finding it. You can generate your own copy at http://www.jottings.com/obfuscator/


I use Uptimerobot for simple uptime monitoring. I use Pingdom for uptime monitoring after Uptimerobot failed to detect 3-hour long outage which, Pingdom on the other hand, picked up straight away. You can see current and historical uptime statistics on my status page: status.gminski.net

This site, like most websites, uses cookies. By continuing to use this website, you agree to their use.