What is Programmatic SEO? Programmatic SEO is typically described as the practice of using data and templates to create content at scale.
I just finished watching a mind-blowing podcast so full of great ideas regarding programmatic SEO and am totally jazzed both to document what I’ve already been doing and start working on the new ideas I walked away with.
The podcast was presented by Majestic SEO via YouTube and right on their blog. It featured industry heavyweights Kevin Indig (Growth Advisor), Anna Uss (Snyk), Anne Berlin (Lumar), and Mordy Oberstein (Wix).
They first discussed a definition of what programmatic SEO is, in an attempt to use something resembling a consensus to be used as a framework from the rest of the discussion.
Very often people include user-generated content sites (like Yelp) and large-scale ecommerce sites (like eBay) in this mix, but the panel generally believed these things aren’t truly programmatic SEO.
I liked how Anna Uss described it best: is the programmatic content your core business or is it a growth strategy? Products on an ecommerce site are their core business. Yelp’s customer reviews are their core business. Therefore organizing this content in an automated way isn’t truly programmatic.
I also like how Anne Berlin notes that eliminating the UGC and ecommerce applications from the definitions is exclusionary and ideally we’d want to incorporate more SEOs into the automated/programmatic fold, not fewer.
This should happen naturally because as Mordy Oberstein pointed out, as SEOs we’re always trying to do as much programmatically as possible (like writing title tags) so we don’t have to do as much work. He raises a question of whether these UGC/ecommerce tasks are SEO automation or are they programmatic SEO?
The true definitions are pedantic and like everything else in this modern world, something we can debate about. For the purpose of the rest of this post, I’m working with the broader definition so more SEOs can leverage automating as much as possible (while being judicious in its usage).
I already do this!
It turns out I use a lot of programmatic SEO on my site, and I just didn’t know it.
My primary website is WineClubReviews.net and, as you could probably guess, it started out as a site full of wine club reviews.
Sidebar: If you’re looking at the keyword-stuffed .net domain wondering how you can take me seriously… This site was started in 2009 when using keywords in your domain was a widespread and effective strategy and I didn’t want to pay for a .com name. Rebranding a mature site is risky, and since this site is my bread and butter, I’d rather suffer the small losses related to having a spammy looking brand than endure the potential big losses of a site migration.
Once the site gained some SEO traction, I switched it from a hand-coded static HTML site to a hand-coded dynamic site with a custom back end. I worked with my developer to create “automated” content so that I didn’t have to manually create every page I wanted.
Over time I’ve added a lot of new wine-related content to the site and while wine clubs are still where the money is at, the other parts of the site are where the growth is at.
Here are three programmatic SEO concepts to consider:
- How your programming writes words needs to reflect how human beings read
- You can combine programmatic with hand-written for a less robotic effect
- You can (and should) use programmatic SEO to improve your site’s internal linking
Getting the right words in the right order
After wine clubs, the first area I moved into is one-time wine gifts. These are items like wine gift baskets and wine samplers. Automatically classifying these products based on product data feeds from my affiliate partners was challenging in its own right, but figuring out how to automate the SEO was also a challenge.
Product titles, meta tags, on-page introductions, internal linking… These all needed to read like a human being wrote them, but I didn’t want to write a specific version for each combination of products (like red wine gifts, wine gifts featuring wine from California, wine gifts that ship to California, etc.).
I quickly found that grammar and parts of speech were critical to make it all work.
I created groups for specific keywords that represented parts of speech: type of wine gift, type of wine, wine color, and wine region. Then I had to explore how a human would say these things. If you landed on a page of wine gift baskets with Italian red wine, you probably didn’t want to see a title tag like “Italy Red Wine Gift Baskets,” which is what the code would have written on its own without some intervention.
There was much tinkering with the order of words based on American English (where my audience is), the way the wine industry uses language, and the way the gifts industry uses language. I created synonyms and syntax shortcuts to help speed up the “writing” of titles and breadcrumbs.
And there were outliers like “Champagne.” Whereas I wanted to automatically add “wine” to the end of the wine type descriptor “red,” I did not want to automatically add “wine” to the end of the wine type descriptor “champagne.” And while the average wine drinker thinks “champagne” is a thing in its own right, the wine industry understands it as a sparkling wine from the Champagne region of France.
Automation isn’t always easy and I had to keep track of the technical overhead, both code bloat and processing time, I was creating with all of these exceptions. Ultimately I killed all of those programmatic pages (the ones with multiple selections) and only have “base” pages now like “Red Wine Gifts” and “Champagne Gifts.”
There just wasn’t enough long tail traffic to justify all that technical overhead.
Combining hand-written and programmatic content
I also use programmatic SEO to do wine club comparisons. I built out an automated comparison engine and template system so that I could easily compare any two wine clubs (ideally a user could use a dropdown to select any two clubs to compare, but that was intended to be a Phase II project).
Here’s a breakdown of what I did with the intro text:
- Some paragraphs are templated
- Some paragraphs are a mix of a hand-written opinion with templated content
- Some paragraphs are built on individual ratings of specific featured
- Some paragraphs are built based on a comparison of classification data (used in other parts of the site, including the reviews themselves)
Here’s a breakdown of how I did the tabular comparison:
Despite the SEO industry pushing Product vs Product comparisons as a great way to find long tail customers, it doesn’t work in every market. There are very few people searching for “Firstleaf vs Nakedwines.com” (the two biggest wine clubs). Ultimately it never made sense to complete the project and let users create their own comparisons, even though I believe this is probably a better user experience.
There simply aren’t enough users to justify the additional effort. And this is an important detail to consider when venturing into programmatic content and automated SEO.
Will you see ROI for the money you spend building it? You can build just about anything, but the question is always, “Should you?”
Programmatic internal linking
Perhaps one of the most overlooked but critical components of any SEO campaign strategy is internal linking. As Anne Berlin pointed out in the Majestic podcast, convincing clients to look at their internal link structure is hard because it just isn’t sexy and the results are not immediate (at least not the SEO results, the users notice immediately).
I have always used programmatic linking in my wine gifts section.
The little gray boxes contain “tags” for the wine gift and each is a link to more gifts with that tag. This technique allows users to easily navigate to related items and allows Google to see which pages are most related. (The display could use some tweaking.)
I recently launched another site expansion — a wine reviews section. The site was originally about reviews of wine clubs, not individual wines, but as Google’s Product Reviews System gained momentum and E-E-A-T became critical to success, I started adding wine reviews to the wine club reviews.
In most cases I’d probably written too much about the wines for the wine club review audience and I wanted to simplify the reviews while surfacing my ideas elsewhere.
Obsessed with internal links as I am, I built them into my wine reviews system. They’re the only part of the wine reviews section that’s truly programmatic (there’s some templated content that will get an upgrade if I see any traction with these pages).
At the bottom of each wine review, I include this section.
It’s built on variables describing the wine and a custom tagging system. It leverages the site’s existing taxonomy (which could be extended if this project gets legs).
I chose to start with a limited set of keywords for tasting notes. In the wine world tasting terms like “cherry,” “black cherry,” “raspberry,” “cranberry,” etc. can all be grouped under “red fruit.”
Many believe the wine world uses too many descriptors that are inaccessible to non-white Westerners and wine newbies, so the simplification supports both the users who probably couldn’t pick out “sour cherry” vs “cranberry” in a bright red wine and Google (I’m not making hundreds of pages with only one wine on them).
It’s important to note that while “red fruit” isn’t a search term anyone actually uses in a search engine, some of the others are: Red blends, Portugal, Naked Wines, etc. It’s good to do things for users and not just for search engines!