How Amazon broke my little book club site

Warning: this is a tale of woe.

My book group site is

I created and maintained this site just by editing plain HTML for many years. I wanted to do something more sophisticated, but never seemed to get around to it. One day, though, I noticed that some of my old Amazon-generated links were no longer working. Rather than going through and testing them all, I decided to completely rebuild the site using Amazon’s API, so I could be guaranteed of getting good URLs.

What technology to use? I could build it with Rails, but having a database seemed like overkill for such a small site. A Static Site Generator was a much better fit for something like this which changes infrequently – a half dozen times per year or so, as the group’s reading choices are made. So I just had to select between the SSGs that I was familiar with – Hugo and Jekyll. I had wanted to learn more Ruby, and was already a Ruby gem to query Amazon, so I chose Jekyll.

So I rebuilt the site using Jekyll, which made updating it faster – MUCH faster in fact. This worked really well for several years.

Then Amazon limited access to their Advertising API. . And things completely stopped working, with mysterious messages about API limits.

After a bunch of searching, I finally found an explanation on StackOverflow of the Amazon change and the likely impact it would have on sites like mine. I stalled for several months on doing anything, thinking they would see the error of their ways. HAH! No such luck.

I then wrote an appeal letter to Amazon, suggesting they grant an exception to non-profits like my site, which they did not accept.

So I had to take the Jekyll generated pages and extract the common parts so they could be consolidated and loaded using server side includes, and start hand editing the pages again.

And now I’m back where I started. It’s a shame, but there you are.

Leave a 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.