Making HokkaidoWilds.org faster and more resilient

Posted on Feb 24, 2022
2

Posted on Feb 24, 2022

0 2
Recently, we've made some significant changes behind the scenes on the HokkaidoWilds.org website. Previously, content was very slow to load. This wasn't for want of trying. I'd tried all sorts of patches and hacks and fixes to try to get the site to function smoothly. And then Andrew (pictured above - the skier, not the pooch) came along. As a professional custom server expert (and passionate skier and frequent Hokkaido resident), he cleaned up house for HokkaidoWilds.org and set the site on a much more efficient trajectory. Here's what he's done to speed things up.

The Back-story

Thank the stars for people who know what they’re doing. Andrew a.k.a That Green Jacket Guy, had been pestering me for a while about how slowly HokkaidoWilds.org had been loading.

“It feels like a website on its last legs,” he joked. “But more seriously, are you sure it can handle the traffic it’ll get once people can travel again?”

I’d skied with Andrew a couple of times, and knew he was a professional. As a linux systems engineer, his clients include major TV stations, large companies, and high-stakes, high-income websites. They all depend on him to make sure their websites delivered content fast. Many of the sites he works on deal with tens of thousands of users per second.

KEY POINTS

With Andrew’s help, the HokkaidoWilds.org website is now faster, more cost-efficient, more resilient, more secure, and more scalable. Our previous patched-together solutions were outdated and vulnerable. 

It wasn’t the first time Andrew had been on my case about the site performance. So I made a proposition. “If you’re keen, why not poke around in the backend of HokkaidoWilds.org and maybe you can fix something.”

I sent him the login details. WordPress, AWS (Amazon storage), Kinsta (hosting), 1&1 Hosting (domain name), our budget content delivery network account Bunny CDN, and Cloudflare CDN…it had been a while since I saw them all lined up.

NOTE: A CDN is a content delivery network. It allows us to have multiple ‘copies’ of the site across the world, making website load speed really fast no matter where you access the site from.

This is already a spaghetti mess,” Andrew typed at me via Facebook Messenger.

Andrew currently lives in Australia, but he has spent a number of years living and working as a system engineer in Niseko. Like many highly skilled ex-residents and defacto local expats who happened to be outside Japan when the pandemic hit, he’s currently ‘stuck’ outside of Japan.

“We really wish we could be there this season,” Andrew mused.

The last time I skied with Andrew was on Shiribetsu-dake in January 2020.

15 minutes after Andrew had accessed the backend of the site, he messaged me again. “I made a few changes,” he said nonchalantly. 

It was like night and day. “I’m a bit speechless,” I replied. “This is the fastest the site has run for as long as I can remember.”

“I have some suggestions for how we can make the site hum along like a well-oiled machine though,” said Andrew. “You’re likely to see a lot more users when people can travel to Hokkaido again, so why don’t we properly sort things out?”

BEFORE AND AFTER BACKEND CONFIGURATION

With Andrew at the systems helm, here’s how he got our affairs in order, regarding the server hardware, network, and optimization side of things.

Item Before After
Server Kinsta.com cloud server
An OK solution, but not enough storage space, non-configurable caching system, and surprisingly low user access number limits, all for up to US$600 per year.
Helsinki Hetzner based dedicated bare metal linux server
About 2-4x faster processing and 8x more RAM (thanks Andrew for the interim solution!)
CDN Bunny CDN and Cloudflare CDN
In reality we could have done way with Bunny CDN long ago. I just didn't know the how or why of CDNs. Bunny CDN was super cheap, and Cloudflare was free...and we were getting what we were paying for.
Fastly CDN
We're now on a US$50 a month CDN solution with Fastly, a very comprehensive CDN.
Caching Kinsta.com's built-in caching
Kinsta.com is marketed hard as a one-stop solution, but for experts, there's little customization that can be done - including caching.
W3 Total Cache
Settings and customization galore. Thank the stars Andrew knows what he is doing.
File Optimization None
We used WP Rocket for a while, but it didn't seem to work nicely with Kinsta.com, I really didn't know what I was doing, and it cost US$25 a year.
Autoptimize
An expert's choice, and free.
Image storage AWS S3 (storage on Amazon's servers)
Becasue Kinsta.com's hosting plan was space-limited, we needed to host images on Amazon (costing us US$200/yr for software to do that).
None
Thanks Andrew for the storage space on his server!
Security gotmls Plugin
I had installed this plugin to scan for malicious code, and it had helped out. But Andrew found a number of dormant threats on the site!
WordFence
A much beefier WordPress security plugin.

RATIONALIZATION OF COSTS

The fix that Andrew put together is designed for customization, efficiency, and rational use of funds. I’d been meaning to try to rationalize the various fees we’d been paying the past few years for web services, hosting, plugins (web software) etc. With Andrew’s help, we were able to properly rationalize what we did and didn’t need.  

Item Before After
PREVIOUS COSTS Kinsta.com hosting $600
Amazon offload plugin $200
WP Rocket caching plugin $25
Bunny CDN $25
TOTAL $850
CURRENT COSTS Fastly CDN $600
Web hosting $0
TOTAL $600

Obviously, we’re hugely indebted to Andrew for allowing us to borrow space on his web server. A dedicated server would be about $150 per month (with a high-spec server like Andrew’s $300-600 a month).

But the benefits are clear – a scalable website infrastructure that will more than handle an influx of users once pandemic-induced travel restrictions to Japan are eased.

IN ANDREW’S WORDS

From a technical standpoint, those other discount CDN solutions HokkaidoWilds.org had tried a) have extremely low hit ratios and b) have no configurability to change how the CDN responds to different content. Hit ratio refers to how often cached content is delivered to users. Low hit ratios were costing HokkaidoWilds.org money in the long run, their content was falling out of cache well before the expiry time, and without a configurable CDN they (and I) were left making concessions and imperfect solutions for how we deliver the website content.

This is all technical-speak to say that the way that a website sets up their backend network structure is super important, especially if there’s any expectation or hope of the growing popularity of a website.

QUANTIFICATION

The site certainly feels faster now. Previously, when showing people the site, I’d have to resort to making pithy small talk as we waited for content to load, it was that slow.

Quantitatively also, the site is faster. Using the Google PageSpeed analyzer, the desktop performance has jumped from around 70 to an almost-perfect 94 (99% on GTmetrix). Happy days!

Even on my smartphone, the site is snappy and fast.

“There is, however, only so much you can polish a turd,” Andrew typed unapologetically.

While real-world smartphone performance is very quick now, the site is being penalized somewhat by the Google PageSpeed mobile score (which assumes a very basic phone and slow mobile data speeds): 42.

Andrew was right. An amateur (me) created the site, and the hacked-together structure of the site showed in the more punishing mobile page speed score.

The heavy layout plugin (Elementor) may be part of the problem. But I love Elementor. It’s such an easy to use tool for a relatively non-techie like me, for full control over site layout.

Desktop PageSpeed Score
Desktop GTmetrix Score
Mobile PageSpeed Score

SUMMING UP

Overall, for me (Rob), all this optimization has been a long overdue must-do for HokkaidoWilds.org. Handing over the reigns of the network side of the site to someone like Andrew has been liberating. And I can only apologise to him for the mess of a site I have subjected him to 😉

Comments | Queries | Discussion

2 thoughts on “Making HokkaidoWilds.org faster and more resilient”

  1. Thanks for the clarification – it would have been truly impressive if his ‘pooch’ pulled it off! Jokes aside looks like it has paid dividends with a hefty gain in speed and importantly a few more yen left in the ol’ wallet. I also investigated switching to Kinsta but was put off in part about how Kinsta counts visits i.e., they appear to use something akin to AWStats which for me is a fair bit higher than Google Analytics – which I just learnt can’t count visitors who are using ad blockers. Though I did like the idea of a ‘staging area’ to test new features etc. For a short period, I used Bunny CDN but couldn’t get it configured properly. I use Cloudflare for my nameservers which saves a huge swathe of bandwidth each month (Cloudflare Free Plan). At least for my blog the best plugin by none is WP Rocket but takes trial and error to dial in the optimal settings which is a work in progress. Hokkaido Wilds will be more than ready for a ‘stress test’ once travel restrictions to Japan are eased 😊

    1. Thanks for the feedback and insights David! Yes, we use the Cloudflare DNS too (the free plan). I get you on the Kinsta visitor counting…we were almost always pushing the limit on the US$300 a year plan even during these Corona times, an before that had to be on a US$600 plan to cover the visitor numbers with Kinsta.

Leave a Reply to David Lowe Cancel Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

See More Like this

Download may take some time

Hokkaido Wilds Foundation

We’ve got affiliate links on HokkaidoWilds.org to help fund the Hokkaido Wilds foundation.

The Foundation gets a small commission on sales from affiliate links, but we only link to stuff we think is worth checking out for people keen on the outdoors in Hokkaido and Japan.

The Hokkaido Wilds Foundation is a fund where 100% of funds are donated to Hokkaido volunteer groups involved in sustainable, safe, and responsible access to the Hokkaido outdoors.

Learn more here

ADVANCED FILTERS

Filter by location

About Filters

REGION: The general mountain/geographical region the route is in.

BEST MONTH(S): Time of year a route is suited to visiting. Some pop all season, some are more limited.

DIFFICULTY: How strenuous a route is, and how technical it is. Full details here.

FREERIDE/SKITOUR: Very subjective, but is a route more-of-a-walk-than-a-ski or the other way around? Some routes are all about the screaming downhill (freeride), some are more about the hunt for a peak or nice forest (ski-tour). Some are in between. 

MAIN ASPECT: Which cardinal direction the primary consequential slope is facing, that you might encounter on the route. More details here.

ROUTE TAGS: An eclectic picking of other categories that routes might belong to.

SEARCH BY LOCATION: You can find routes near your current location – just click on the crosshairs (). You may need to give permission to HokkaidoWilds.org to know your GPS location (don’t worry, we won’t track you). Or, type in a destination, such as Niseko or Sapporo or Asahikawa etc.

Please let us know how we can make it easier to narrow down your search. Contact Rob at rob@hokkaidowilds.org with your suggestions.

Making HokkaidoWilds.org faster and more resilient Difficulty Rating

Category

Grade

Points

Strenuousness

Vertical Gain

D

25

Time ascending

D

0

Technicality

Altitude

D

0

Hazards

D

0

Navigation

D

0

Totals

25/100

GRADES range from A (very difficult) to D (easy). Hazards include exposure to avalanche and fall risk. More details here. Rating rubric adapted from Hokkaido Yukiyama Guidebook 北海道雪山ガイド.