I’m pleased to announce that the blog is now 100% Cloudflare free and loads completely over GitLab Pages.
Now let me explain why it had Cloudflare in the first place. The content here is licensed under CC BY-SA 4.0 license and this license badge in the footer is used to prominently display it. This image file was loaded directly from i.creativecommons.org which is a redirect for licensebuttons.net; static files for which are served through Cloudflare. I use True Sight, a Firefox extension which shows all the CDNs called when a website loads. Seeing Cloudflare requests every time my blog loads wasn’t a pretty site for me (considering Cloudflare’s track record with internet centralization, aggressive stance against Tor users etc). The image file could be loaded locally but Hugo’s image lookup order always failed me until now. Finally putting the image in
/static/img directory worked (
/content/img also works) and I hit deploy ( via
gp. How? Read here and here), removing the dependency on Cloudflare.
Now removing Cloudflare as CDN did pushed blog’s first load time beyond 1s. I knew that on blog load, a favicon lookup was making a request for non-existent favicon file which in turn was adding more than 350ms overhead. Just removing the call from head section in
index.html didn’t work as browsers by default make that request. Searching the internet lead me to this one liner code that essentially disables it1:
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
This helped bring the first loads times to 1s or less once again in most cases and complete blog load with just 3 requests.
PS: If you have any suitable, minimal favicon(s) suggestions for this blog, feel free to hit me up on email from the about section.
Taken from the top comment in the top comment of this Stack Overflow thread. ↩︎