Tech Blog

Here I'll be sharing insights from my professional experiences and studies in data science and web development. There'll be plenty of Wagtail, Django and Python, a bit of JavaScript and CSS thrown in, and more on data science & engineering. There might even be a bit of time for some project management and business analysis too.

I'll also provide insights into how this site was made, as well as code examples and thoughts on how those could be further developed.

Feel free to leave questions or comments at the bottom of each post - I just ask people to create an account to filter out the spammers. You won't receive any unsolicited communication or find your email sold to a marketing list.

Improve Response Times on Your NGINX Web Server with HTTP/2, Compression and Cache Headers

Improve Response Times on Your NGINX Web Server with HTTP/2, Compression and Cache Headers

NGINX is a lightweight and fast web server that meets the content delivery needs of most small to medium sites. Loading speed is now a crucial metric in how the search engines rank websites. With a little basic configuration you can vastly improve the performance of your server and reduce delivery times. Here, I give an introduction to enabling HTTP2, gzip compression and cache headers.

Wagtail - Configure the robots.txt and Block Search Indexing (the correct way)

Wagtail - Configure the robots.txt and Block Search Indexing (the correct way)

Rather than just being a static file, you can use Django/Wagtail templating to create a dynamically generated robots.txt. This is not the place to block search engine crawlers though, I'll show a method to apply that from your base template.

Configuring a Dynamic Sitemap on Wagtail

Configuring a Dynamic Sitemap on Wagtail

A sitemap lists a website’s most important pages, making sure search engines can find and crawl them. It's important to keep your sitemap up to date for optimal SEO. With a quick bit of coding, you can set your sitemap to be created dynamically on demand, ensuring it always reflects the latest content. There's another tweak needed for routable pages and multi-lingual sites using wagtail-localize.

Open Wagtail Rich Text Block Links in a New Tab

Open Wagtail Rich Text Block Links in a New Tab

You'd think this would be something you could do out of the box, but the makers of Wagtail have stated that this is against their philosophy and won't ever be implementing it. Here's a simple fix to circumvent that decision.

Making Wagtail pages more SEO friendly with Wagtail Metadata

Making Wagtail pages more SEO friendly with Wagtail Metadata

Wagtail pages are great for creating a lot of rich content straight out of the box, but for SEO optimization, they need some tweaking.

Here, I subclass the Page model with some help from the wagtail-metadata plug-in.

This subclassed model becomes the base for all site pages and holds all the data for og metadata, twitter cards, page description etc..