Building the website pt 2

I was able to get a lot done in the last 2 days. I bought and hooked up the heyheysen.com domain. Creating this as a custom domain in Azure App Services was straightforward and once DNS verification completed I was able to get a free SSL cert to secure communications.

I realised all system emails weren't arriving - by default it's sending directly from the Azure App Services source IP which has no email hygiene (SPF), meaning they're getting rejected by receiving mail servers. I looked in to how to build the contact page and found what looks like a great solution in the WPForms plugin. I installed it and found it also uses the system mailer so had the same issue - test emails were being sent but then being rejected by receivers. The same group that wrote WPForms produce another plugin called WP Mail SMTP which overrides the system mailer and provides easy access to logs for troubleshooting, so I installed and started testing with that. .

I found that I could connect it directly to my Office 365, however that would consume an o365 license ($$) and also requires upgrading to the paid plugin ($), so I looked further. The plugin does support Gmail for free, so I created a new Gmail mailbox and followed the guide to open up API based access to that account. It was my first time doing this kind of work in the Google Cloud Platform, but was straightforward enough and the guide was spot on. With that config in place, the site now uses an authenticated Google API to send all email via that Gmail account. The free tier has a imitation at free tier is 300 emails a day which should be fine, and also might explain why I've seen disproportionately high phishing emails from spurious Gmail accounts compared to the other major email platforms over the years.

In parallel I started enabling the new domain for email in my Office 365 tenant. Domain.com DNS seems extremely slow to propagate changes, I had to leave some things overnight to be picked up but it got there.

Back in WordPress I disabled W3 Total Cache after Smush warned there could be incompatibility with both enabled, however it significantly reduced site performance. I disabled Smush and re-enabled W3 Total Cache which improved performance, but I realised I'd lose the automatic image shrinking capability of Smush (my favourite button in any recent software is Bulk Smush!). Looking through the settings, W3 Total Cache includes a Redis cache in the free version, but Smush has no equivalent, only providing an automatically managed CDN in the paid version.

I started looking in to an external CDN for the site to give me better control of performance, and I tinkered with Azure Front Door. Again I was blocked for many hours waiting for it to recognise Domain.com DNS changes to complete ownership verification. While waiting I investigated many different WordPress CDN plugins but found very limited support for Azure's CDN service. Those solutions would be achieving this through URL rewrites within my conspicuously low resourced Azure App Service too which isn't ideal either.

I decided it would be simpler to front end the site with Cloudflare. The CDN would auto populate and the acceleration cached hits would be served entirely outside of my Azure services which should be optimal. It was super quick to set up with an additional perk that I migrated DNS off of Domain.com to Cloudflare. I think will be a blessing in the long run with the very fast propagation of changes.

Now the site loads faster, has Cloudflare WAF and DDoS protection and auto optimisation at image upload. It's in a great place for a few days intermittent effort.

I think it's pretty darn cool that you can stitch something together out of some of the best tech in the world this quickly and mostly for free!

5 thoughts on “Building the website pt 2

  1. lyrebird says:

    Vɑlսable info. Fortunate me I found your website ᥙnintentionally, and
    I'm shocked why thіs accident didn't happened in advance!
    I bookmarked it.

  2. Cɑn ʏou tеll us more aboսt this? I'd love to find
    out more details.

  3. Very desсriptive post, I enjoyed that bit. Wilⅼ there be a part 2?

  4. porn says:

    Thanks a lߋt fߋr shaгing this with alⅼ people you really realize
    what you are speаking ɑpproximately! Boоkmarked.
    Kindly also talk over with my site =). We could have a hyperlink alternate agreement among սs

  5. Juѕt want to say your artіcle is as amazing. The ϲlarіty in үour post is simply excellent and i could assume you are an expert
    on this subject. Fine wіth your permission let me to grab
    your feеɗ to keep updated with forthcoming post. Thanks a million and рlease keep up the gratifying work.

Comments are closed.