A Look Inside Hugo. The Power of Static Websites and AWS Hosting

Just a DFW software engineer upgrading Ghost and my host, spinning up Hugo on AWS, and finding a simple solution to implement IndexNow.

Ostrich with head buried in sand
This is a myth: https://birdfact.com/articles/do-ostriches-bury-their-heads-in-the-sand


or PreRamble

First of all, I dug through the couch cushions and found some spare time to give my website some much needed attention and TLC. I believe I went through 2-3 major RHEL upgrades, and just as many, if not more, Ghost versions. I think I opted just to wipe everything and migrate my data to a new host. I went through all the upgrades just to see how things handled the first go through, for the sheer enjoyment of seeing the outdated package warnings disappear from my terminal. DigitalOcean was blasting me the last few years about "migrate this" and "discontinued that". The new CMS GUI for Ghost is a pleasure to tinker around with.


This is gonna be "yuge"

The misses needed a site of her own. This is what got me into the realm of web again and had me revisiting this site and the host it lived on. All the current work can be seen at a local Dallas Fort Worth real estate agent's website. Check those keywords out Google bots. Pardon the shameless backlink plug. Not that it would help my SEO work and with getting traffic on her site. What a useless job title and fringe scam. Try listening to podcasts on this acronym. I listened to one that was half an hour long, that didn't go any deeper into the topic other than what the acronym stood for. Luckily I was multitasking so I didn't lose half an hour of my life. I've offered SEO work for free to a local restaurant I visited frequently after meeting the co-owner and hearing how much was being paid for those "services". Well, I say free. I had hopes in the back of my mind this would award me with some around-the-clock happy hour prices.

I've got the code stashed over on Github using an AWS continuous deployment webhook. This is a private repository so hopefully the deets will not be visible. I want to look at adding in a headless CMS for it as well, but I worry about the security of it. Both Ghost and Hugo work by processing markdown files and turning it into HTML. I'm a fan of letting these web servers just be web servers and serve. PHP and server processing, or blasting folk's web browsers with scripts is great personalization and all. You devs make me React just as much as SEOs.

I was taking a look at IndexNow since it seems Bing is over here getting desperate to adopt whatever they can so keyboards will be feeding them data. The requirement for this new protocol is to add a txt file at the root of your web source, named and containing a GUID. Easy enough, but I tear down my AWS instance and build it fresh with each commit to my main branch in Github. The build step in AWS Amplify had the simplest solution. Navigate through whatever version of their GUI you're looking at and find your build settings. The dependency on dashboards and IDEs is getting way too high. OK, I'm being too hard on you javascript devs. Well here is a snippet example of what I added to my build settings:

    < other stuff >
    - echo '< GUID >' > public/< GUID >.txt
    - chmod $_ <oh btw, set permissions to read>
AWS yaml build settings

Easy as that. Now All thats left is to build out the curl command to send out IndexNow request to Bing, or any other search engine that supports the protocol. You could just click the button that says to add me to the indexing queue, but there is an existing instant gratification society out there. I'm only taking jabs at the "now" in their naming decision. This would be a very convenient method of submitting multiple URLs in a POST request. I'll support anything that will move us further away from clicking buttons on user interfaces.

If anyone has a link to the open source code(doubt it) to the GM infotainment systems, Bluetooth, or a fix to prevent bluetooth from autoplaying everytime I connect to a running vehicle, that'd be greaaaaaaat