Productionising a Listed Blog
December 22, 2022•674 words
As part of my efforts to simplify my personal projects, I had merged my personal and professional blogs into a single platform: Listed. Listed is a neat little value-add to the Standard Notes app which I use - allowing you to publish blog posts to a website from a note.
The issue is: it is quite slow, has a so-so uptime record, and offers no access to site analytics. Their response to this is that the intention for Listed is to provide a place to publish journal-style posts, certainly not to rely on it for hosting mission-critical websites.
Fair enough, but I really like the convenience of this system of publishing from notes, and I don't want to host a separate site for my professional blog any more. Fortunately, there is a middle-ground which can be achieved to address all of these issues - if you are a paying Standard Notes subscriber (requires a Listed custom domain).
Speed and Uptime
The page load time is not awesome with Listed - the average response time as measured from my uptime system hosted in West US is about two seconds, which seems fine until you realise that this is just to load the HTML page and no other resources. The uptime for the last thirty days was measured at 99.95%, which is actually quite a good month for Listed.
To resolve these issues, one can simply proxy their Listed custom domain through Cloudflare. By default, this will only cache resources such as stylesheets, javascript, and images - this may be enough to get a decent performance increase on its own, but using custom page rules to set the 'cache level' to 'cache everything' will net the largest performance improvements. With everything cached, the impact of outages are also reduced.
Pro tip: make sure you don't cache your settings page. Create another page rule which matches your settings page, set the 'cache level' to 'bypass', and make sure its at the top. Cloudflare will only execute one matching page rule per request.
You can see from the graph below the difference it has made - the average page load time is now 215 milliseconds, which is a significant improvement.
Analytics
This is another area where the Listed platform could do with some improvement. There is no option to add analytics tracking tags to your blog, such as Google Analytics, Application Insights, or New Relic. This is being considered by the team, but is currently not supported due to privacy and security concerns, which is absolutely fair enough. However, I find analytics to be too important not to have.
Like with before, this is achievable through Cloudflare. Once your site is being proxied through Cloudflare, you can make use of page injection at-the-edge. The Cloudflare CDN allows you to alter the website served without modification to the origin - which is perfect for this situation.
There exist apps in Cloudflare for injecting Google Analytics and Matomo Analytics, as well as Google Tag Manager for everything else. However I wish to make use of Cloudflare Insights, which is able to be automatically setup in the same way, with no changes to the origin - a single click injects the scripts necessary.
In conclusion, Listed is a really convenient platform for blogging - being able to publish notes directly from the same app where you keep your grocery list is quite cool. It has a few issues here and there which would make you second-guess hosting anything professional through it, but with a little help from Cloudflare these issues evaporate.
If you haven't already, go ahead and check out Standard Notes and Listed. It's a really cool productivity suite.