Amazon Product Advertising API Update Affects ScrapeAZon Plugin

Note: In May of 2019, all three of my plugins (ScrapeAZon, GoodReviews, and Book Previewer) were adopted by another developer. Therefore, I no longer provide direct support for these plugins. Should you require support, please use the WordPress support forum for the appropriate plugin. I am posting the following information just as a courtesy to any plugin user who happens upon my site seeking help or information.

On January 22, 2020, the Amazon Associates program announced that it will end support for the Product Advertising API version 4.0 on March 9, 2020. The program will instead migrate to version 5.0 of the API. Version 5.0 of the API removes support for retrieving customer reviews on a given product.

This migration will apparently create a couple of issues for any Product Advertising API user:

  1. If you continue to use the Product Advertising API in any capacity, you will be required to migrate your AWS credentials to new Product Advertising API credentials using Amazon Associates Central.
  2. The ScrapeAZon plugin will no longer be able to retrieve reviews from the Product Advertising API as of March 9, 2020.

As of this writing (January 2020), the ScrapeAZon plugin still does and always has relied on the Amazon Product Advertising API in order to retrieve reviews because retrieving reviews in any other form was considered a violation of Amazon’s Terms of Service. Therefore, with the March 9, 2020, migration to version 5.0 of the API, Amazon has essentially rendered the plugin obsolete because the plugin will no longer be able to retrieve reviews by using the API.

I no longer maintain ScrapeAZon, nor do I intend to attempt to develop any other solutions for review retrieval from If you are a ScrapeAZon user, I appreciate the support you’ve offered the plugin all these years. I am sad to see Amazon’s support for affiliate display of their product reviews apparently come to an end.

As with anything, it’s possible that Amazon will change their mind and reintroduce support for retrieval of reviews at some point. For now, authors might consider switching to the GoodReviews plugin instead, which enables the display of Goodreads reviews on the author’s site. Sellers of other products might consider searching for other reviews plugins in the WordPress directory.

Configure ScrapeAZon for WordPress

ScrapeAZon Plugin for WordPressConfiguring the ScrapeAZon Plugin for WordPress for the first time requires you to obtain an Amazon Affiliate ID and an Amazon Product Advertising API Access Key/Secret Key pair. This process can be confusing.

The following guide provides step-by-step instructions for establishing your Amazon Affiliate ID and API credentials. Additionally, this guide describes how to configure ScrapeAZon in WordPress after you have obtained your Amazon credentials.

This guide does not cover how to use the ScrapeAZon shortcode in a page or post. That topic will be covered in a separate post. Continue reading

Book Previewer Plugin for WordPress Now Available

Book Previewer Plugin

The Book Previewer Plugin for WordPress is now available for download from the WordPress Plugin Repository. Book Previewer enables you to use a shortcode to retrieve and display Google Books previews of titles you specify. The shortcode can be used on any WordPress page or post. Book Previewer supports all of the following book identifiers:

  • International Standard Book Number (ISBN)
  • Online Computer Library Center (OCLC)
  • Library of Congress Control Number (LCCN)
  • Google Play Generated Key (GGKEY)

A preview of your title must already exist in Google Books in order to use this plugin. You can obtain more information about the Google Books/Google Play Partner programs at Google.

Book Previewer supports the following three modes of operation:

  • embedded: allows you to embed the preview directly on a page or post
  • popup: allows you to display a Google Preview button that pops up a preview of your book
  • link: allows you to display a Google Preview button that links directly to the preview of your book on Google Play/Google Books

Installing the Book Previewer Plugin

Book Previewer version 1.0.0 can be downloaded and installed from within WordPress. You can also download Book Previewer directly from the WordPress repository.

Supporting the Book Previewer Plugin

If you would like to contribute to the development of future versions of Book Previewer, you can do so by purchasing an ebook from this publisher.

Seeing the Book Previewer Plugin In Action

[bookpreviewer bookid=”9781938271120″ previewer=”popup”]

A demonstration of Book Previewer’s “embedded previewer” option is available on the plugin’s page.

GoodReviews 2.0.0 Plugin Released for WordPress 3.8 And Later

Version 2.0.0 of GoodReviews Plugin for WordPress is available for download from the WordPress plugin repository. This is the most current version of the plugin. This version of GoodReviews requires WordPress version 3.8 or later.

Version 2.0.0 is a complete rewrite of the plugin that enables it to better integrate with WordPress as a whole. New features include:

  • Plugin has been completely rewritten to better integrate with the WordPress Settings API.
  • Now shows ratings count for all editions of a title.
  • Added widgets for book buying links, book information, and book reviews.
  • Added support for styling the output in a more responsive way.
  • Added support for WordPress localization (i18n).
  • Added support for HTTP retries and an exponential backoff method of dealing with throttling problems.
  • Added support for context-sensitive help on the Settings page.
  • Added support for an uninstall process that removes all settings and plugin files.
  • Added support for a shortcut parameter that disables the reviews pane.

You must have a GoodReads developer API key in order to use this plugin. You only need the developer access key to use GoodReviews, not the secret key.

Installing GoodReviews

GoodReviews version 2.0.0 can be downloaded and installed from within WordPress. You can also download GoodReviews directly from the WordPress repository.

Upgrading GoodReviews

You can upgrade to version 2.0.0 from any previous version of GoodReviews by using the plugin updater built into WordPress. Your current settings should remain intact.

Supporting GoodReviews Development

If you would like to contribute to the development of future versions of GoodReviews, you can do so by purchasing an ebook from this publisher.

ScrapeAZon Plugin for WordPress 2.0.0 Released

ScrapeAZon Plugin for WordPress

Version 2.0.0 of ScrapeAZon Plugin for WordPress is available for download from the WordPress plugin repository. This is the most current version of the plugin.

Version 2.0.0 is a complete rewrite of the plugin that enables it to better integrate with WordPress as a whole. New features include:

  • An exponential backoff routine that enables ScrapeAZon to periodically retry connections to the Amazon Product Advertising API when HTTP errors or throttling occurs.
  • A new built-in style sheet that can be enabled on sites with responsive design; the style sheet attempts to scale ScrapeAZon’s output for responsive sites, even if the Amazon Product Advertising API content cannot be directly scaled
  • An “Amazon Reviews” widget that can be accessed from the Appearance > Widgets menu within WordPress; the widget can be used in addition to or in place of the classic ScrapeAZon shortcode

ScrapeAZon Prerequisites

You must be a participant in both the Affiliate Program and the Product Advertising API in order to use this plugin.

When you sign up for the Product Advertising API, you will be able to create an Access Key and a Secret Key for your account. It is very important that you download these keys and store them in a safe place after creation because Amazon will only allow you to view the Secret Key once. You will need both the Access Key and the Secret Key in order to use ScrapeAZon.

Installing ScrapeAZon

ScrapeAZon version 2.0.0 can be downloaded and installed from within WordPress. You can also download ScrapeAZon directly from the WordPress repository.

Upgrading ScrapeAZon

You can upgrade to version 2.0.0 from any previous version of ScrapeAZon by using the plugin updater built into WordPress. Your current settings should remain intact.

Supporting ScrapeAZon Development

If you would like to contribute to the development of future versions of ScrapeAZon, you can do so by purchasing an ebook from this publisher.

How I Spent My Summer (OK, Year-and-a-Half) Vacation

A vacation is what you take when you can no longer take what you’ve been taking. –Earl Wilson
Read more at BrainyQuote

One big problem with maintaining a blog about–well, about anything–is that you set yourself up with certain expectations about your productivity. Usually it starts with a stream of consciousness daydream that ultimately leads to this revelation: “Hey, I should write that down!”

Then you start thinking “Hey, I’ve got more stuff I think about that I should write down.”

And so you do. For a while. You spend days or weeks putting fingers to keyboard, trying to be clever, crowing a little and maybe even eating a little crow. All to the good.

Then life creeps in. Suddenly you find yourself thinking, “Ok, I really don’t have time to come up with another blog idea this week, so I’ll skip this week and put something up next week. Only two or three people read this thing and it’s mostly for me anyway.”

Then next week comes. And the next. And the next. Before you know it, July 2012 is long in the past and you begin to wonder what happened to the dude with all the ideas he wanted to post about. Where did all that energy go? You discover that you’ve taken a year-and-a-half unintended vacation from your blogging, so as far as the Interwebs is concerned, you might as well have died.

Fact is, I can’t really account for where it all went. One minute I was thinking about posting here. The next I’d forgotten all about it and was well into some other project or mundane task. However, I do take some solace in the fact that I have not been goofing off all this time. In fact, I’ve been quite busy. Here are a few things that have happened in the past year:

WordPress Plugins

I updated both my WordPress plugins (ScrapeAZon and GoodReviews) with some new features and fixes. As of this writing, I’m testing the latest versions in WordPress 3.8.

Ebook Publishing

I played a small part in ushering some writer friends (one known and one unknown) into the age of ebooks by performing some of the development end tasks for them.


I wrote a buncha entries for Boson Software’s IT blog. I also worked on a few of my own short stories, a novella, and a little bit on a novel.

General Handiness

I finally finished building that entertainment center I’ve been wanting to finish for three years.

Mostly, I’ve been working my day job and being a family man. And that last is what matters most.

In light of my revelation that I will never, ever post to this blog more than weekly (if that), I’ve decided to make myself this promise: I will continue to blog here when it strikes me. It might not be weekly. It might not even be monthly or semi-annually. But occasionally a man needs a place to dump his head. It might as well be here. And I do plan on it not being an entire year before I blog again.


Giving Instead of Giving Back

A bone to the dog is not charity. Charity is the bone shared with the dog, when you are just as hungry as the dog. –Jack London

Every now and then, a person who is ordinarily wrapped up in his or her own day-to-day life and problems will see a news story, a post on Facebook, or some other information conduit that spurs him or her to action. Be it the burned down home of an struggling family, the passionate support of a political cause, or the hurtful neglect of an innocent pet, the story touches the heart and fires the soul.

It is those times that the creatives of the world are often at their best. Michael Jackson was moved by stories of drought and famine in Africa to enlist the aid of other artists in “We Are The World.” More than two decades later, musicians united to re-record the song to raise money for victims of a particularly violent earthquake in Haiti. Many times, you hear the rich and famous state that they simply wanted to give back to the people who have so blessed them.

I won’t criticize those efforts. They are meaningful and important and the right thing to do. However, I am more often moved by the giving and community service efforts of those who are not so high profile, those who cannot necessarily afford to donate large sums of cash and whose faces are not famous enough to prompt the average citizen to open their wallets for a worthy cause.

My Name Is Walter

That’s why I am particularly excited right now about the release of a new children’s book that was mostly authored by my wife, Paula, and illustrated by my 12-year-old step-daughter Laura. The book, My Name Is Walter, is based on the true story of a cocker spaniel/poodle mix who was thrown out of a moving vehicle in Nashville, Tennessee in the spring of 2012. The dog was in atrocious shape. His fur was so matted that his rescuers, a city councilman and a local dog rescue operation, were unable to determine his sex until veterinarians shaved him. He was also starving.

For two weeks, Nashvillians and the world watched on Facebook as Walter struggled to survive his abuse. The effort to save his life attracted the attention of news media, film and television star Ashley Judd, and countless people from all over the globe. Unfortunately, he eventually succumbed to the effects of the abuse and neglect. Walter went to his place of rest on May 11, 2012.

His story inspired my wife and step-daughter to collaborate on My Name Is Walter in an effort to raise awareness about responsible pet ownership and to raise money for Snooty Giggles Dog Rescue, the organization that attempted to save Walter’s life. They worked tirelessly for weeks on this project, and I am proud to say that in the first two days of its launch it has already generated an impressive amount of interest and number of sales. It is our hope that sales of the book will be able to help Snooty Giggles put the word out about Walter’s Law, which is a movement to strengthen animal cruelty laws in Tennessee.

Prior to the release of My Name Is Walter, my step-daughter had no widespread name recognition, nor had she any reserve of money to donate to her cause. She was just a 12-year-old who wanted to help. So she did what she does best: draw. She chose to use her creative talents to directly benefit a good cause–in the middle of final exams and other spring activities–rather than for herself.

My Name Is Walter is available for purchase from Two Peas Publishing, as well as, and, to name a few. One hundred percent of the royalties received from sales of the book will be donated directly to Snooty Giggles Dog Rescue.

Laura chose to give because she felt she could and should, not just because she’s been blessed with a comfortable home and lifestyle. I could not be more proud.

The Never-Clean Closet

There is no greater agony than bearing an untold story inside you.
–Maya Angelou

The process of packing, whether for a trip or to move to a new location, often results in a mental divergence from the goal of closing the suitcase and toward the memories that are invoked by the particular objects you are packing. Perhaps it’s the subtle aroma of an old paperback book you’ve cracked open that recalls memories of reading a particularly gripping novel under the golden afternoon sun of a lazy summer day. Or maybe it’s an old photograph that prompts memories of a new and exciting time in your life that you sometimes wish you could revisit.

Then again, it could be something like a story idea list, a hastily scribbled assortment of characters, events, settings, or plots that, once upon a time, struck you as something you must write but for some reason never did. I have such a list. It is a long list. Occasionally, I rediscover it hidden among the files and folders I use every day.

At those times, I am confronted with three choices: I can despair over the fact that I’ve never forced myself to make time to flesh out those ideas, I can sit down and force myself to flesh them out, or I can strike them from the list and abandon them as bad ideas and wastes of time. I can tell you that I seldom use that last option. That is why I refer to my idea list as the never-clean closet.

Although I am not fool enough to believe that every idea is a good idea, I am optimistic enough to hope that I can take the ideas and sketches I’ve jotted down and flesh them out, if for no other reason than to see where they lead. How can you know whether your story is a good one unless you write it first? Alas, there are literally dozens of ideas on the list, which technically spans multiple files, and only so many minutes in a day that I can devote to writing for my own pleasure and edification.

Thus, the never-clean closet remains stacked full of could-bes and maybe-somedays, always with the rationale that any idea struck from it will be because I have either developed a finished story from it or because I finally attempted to do so and failed miserably. After all, the goal of the list is not to strike chores from it, but to explore the worlds that are suggested by it.

Perhaps I should add one more idea to the end of that list: sit down, shut up, and start writing.

Something Shiny!

I’ve posted a new guest blog over at

Remember how technological advancement was supposed to make life so much easier? A few days ago, I sat in a restaurant watching my step-daughter work some of her amazing illustrative magic with her pencil and sketchpad while we awaited the delivery of our meals. I thought to myself, How nice it would be if I could just sit down and work like that whenever I’m waiting on something or someone else. That thought was immediately followed by that problem-solving voice in my head; the one I developed after having spent more than a decade solving other people’s information technology problems.

Why can’t you? it asked.

Read the entire post here.

‘It’s Tennessee Williams in Hell’

Cause we’re brothers, brothers, brothers
I don’t approve of anything you do
Cause we’re brothers, brothers, brothers
Cain and Abel and me and you

–John Mellencamp, “Brothers”

Rated SK

For more than thirty years, I’ve been listening to John Mellencamp sing about the struggles of life, love, race, and redemption. For approximately that same amount of time, I’ve been reading Stephen King’s stories about the struggles of good versus evil and…well, redemption. Ever since I learned that the two idols of my youth had collaborated to create the Southern gothic musical Ghost Brothers of Darkland County, I’ve been bouncing around the Internet like a puppy chasing a tennis ball, looking for any news or information I could find about the production. With boundless anticipation I waited, longing for the announcement of show dates much the way neophiles slobber over rumors about the latest Apple gadget.

At long last, on April 28, I attended the matinee showing of Ghost Brothers.

I was not disappointed.

True to the character of both artists’ previous works, Ghost Brothers is, at its core, a tale of redemption. Two present-day siblings, Frank and Drake McCandless, are constantly at each other’s throats, much to the chagrin of their beleaguered father, Joe “Skunk” McCandless, and their no-nonsense steel magnolia of a mother, Monique. When the rivalry becomes violent–to the point of Drake breaking Frank’s arm–Joe attempts to intervene. He calls a meeting at the family’s cabin in Lake Belle Reve, Mississippi, hoping to accomplish two objectives: to prevent his sons from killing each other and to clear his own conscience. Meanwhile, Frank has formed a relationship with Drake’s girlfriend, Anna, who only stokes the fires of the brothers’ animosity.

It turns out that the boys’ uncles, Joe’s older brothers Jack and Andy, had in 1967 allowed their own rivalry to fester to the point that it cost both of them their lives, not to mention the life of their mutual love interest Jenna and (possibly) Dan Coker, an elderly black man who was the caretaker of the family’s cabin and who, for reasons not exactly clear at first, also tends bar at The Dreamland Cafe, which Joe frequents.

As a ten-year-old child, Joe witnessed the deaths of his brothers and Jenna in 1967. He has never come clean about what happened to them. Now that his own sons are at risk of repeating history, he finds himself struggling with the truth. If he tells what he knows, will it put a lid on the boiler of the modern rivalry? Or will he simply provide more fuel to the demons that have haunted him his entire life?

To make matters more complicated, the living McCandless family’s thoughts, words, and actions are all quietly influenced by a malicious devil figure known as The Shape, who makes it his business to both enflame resentment and offer one-liner witticisms to the audience about the events as they unfold. Meanwhile, Dan Coker, Jenna, and the deceased McCandless brothers all work to mitigate the evil influence of The Shape and come to terms with the circumstances of their own tragedy in the wake of the one unfolding before them.

Mix all that twisting Stephen King plot together with the emotionally charged music and lyrics of John Mellencamp, and you get exactly what The Shape says you get: Tennessee Williams in Hell. The story is brilliant. If you get emotionally invested in it, the ending might even force you to swallow a lump. The musical numbers are foot-stomping. “Tear This Cabin Down” at the end of the first act makes you want to stand in your seat. But it is the skill of the actors and the never inappropriate use of the projected special effects that really makes this show the entertainment that it is. Both The Shape and the projector act as a sort of Greek chorus to the events of the play. As such, something interesting is always happening in every corner and crevice of the set. Often you’ll find yourself eyeballing areas of the set that have little to do with the current main action because you’ve caught a glimpse of a ghost, or a phrase, or an image from the past that reflects the thoughts and feelings of the character emoting.

The entire cast is superb. I happened to see the show at a time when Gwen Hughes, a member of the ensemble and understudy to Emily Skinner, was playing mother Monique McCandless. In spite of the criticism about female characterizations that was offered by one member of the audience during the after words, Hughes’ portrayal of Monique led me to the conclusion that her character was actually the strength in the family. I have no doubt that if we had been allowed to follow the McCandless family from marriage through the boys’ early years, it would have been Monique alone that held them together for as long as they were. She can also take a punch to the mouth better than most men. In fact, it is only when tragedy befalls Monique that the rest of the fecal matter is splattered by the spinning blades.

Then there’s The Shape, played by Jake La Botz. As in any Stephen King tale, it is always the purely malicious character who is the most fun. Part sideshow barker, part Hank Williams, and all devil, The Shape is evil, charming, and able to make you laugh. Part of you even wants to root for him.

In the end, though, I was most impressed with the performance of Christopher L. Morgan as Dan Coker, the elderly black man who primarily serve’s as the Mother Abigail/God figure of this tale. Morgan himself is a young man, but I never would have guessed had I not looked at the cast photos in the playbill. From my spot in the Mezzanine, Morgan truly had me believing that he was a hobbling older fellow. Additionally, he has an incredible singing voice that probably could have filled the auditorium without the use of amps and mics. Morgan’s portrayal of Coker is the heart and soul of this play, as far as I’m concerned, and I wish that he’d been explored with a little more depth.

In fact, my sole criticism of this production is that Dan Coker’s living role during the events of 1967 seemed glossed over in more than one way. We do find out that his death is related to the deaths of the older McCandless brothers and Jenna, but how is only briefly touched on during a family discussion about the broken grandfather clock that stands in the cabin. Secondly, there’s a brief mention about the role of 1960s racism in Dan Coker’s life. “It was always convenient to have a black man around to blame,” he says at one point, which leads the audience to the conclusion that Coker was suspected of having been involved in the deaths of the three youths. Again, it’s only hinted at. Given both Mellencamp’s and King’s passions for the Civil Rights Movement, I was a little disappointed that, at times, Coker’s role in the story seemed to be little more than an aside.

Overall, however, I couldn’t have been more fulfilled in my expectations for Ghost Brothers. It is my sincere hope that this production will move beyond Atlanta after its May 13 closing date there. This tale may be Southern gothic in the truest traditions of that genre, but it is one that all of the country needs to see.