For a while now, Google search rankings have been eluding my attempts at understanding them.
Although I've been successful in some experiments to get blogs and pages ranked pretty high for certain keywords, I think that most of these efforts can be chalked up to luck.
Far more often than not, I'll spend hours writing and editing a blog post, only to publish it and find that Google's page ranking gods have deemed my content worthy of the 8th page of search results, buried deep in a pile hyperlinks that no one would ever comb through.
Recently, this phenomenon irked me so much that it prompted me to try something new: instead of focusing on content relevance, long-tail keywords, obtaining high quality backlinks, and a myriad other metrics that SEO experts cite as "critical" to a site's success on Google, I decided to optimize for the simplest thing I could think of: quantity.
Maybe the reason for my SEO-induced malaise was the fact that I hadn't published enough content and was woefully extrapolating potential outcomes based on the handful of unsuccessful posts that I did manage to create.
Maybe I had to work at scale.
But how? Could any reasonable person expect me, by my lonesome, to pump out thousands of pages of relevant, insightful content at a good pace? Probably not.
Well, at least, not without some help.
Enter programmatic SEO.
Instead of having to painstakingly write and publish articles for specific keywords, I could theoretically use a sufficiently large data source and, with code, dynamically generate hundreds of thousands of webpages, each based on a specific data point within the broader dataset.
In my case, I realized that I had access to a comprehensive cricket dataset that contained stats for all major matches from the past few decades.
It dawned on me that I could leverage this source of information for programmatic SEO. By transforming the data a bit, I could create a new dataset of 'head-to-head' matchup stats.
Essentially, by iterating through all the matches and keeping track of stats between every set of two players who 'faced off' against each other in a batter-bowler scenario, I'd have lifetime statistics for each combination of players who've played against each other, in any capacity, during their careers.
Here's where the SEO part comes in: dynamically creating a new page on my website for each 'head-to-head' matchup (Sachin Tendulkar vs. Stuart Broad, for example) and publishing the corresponding stats on that page would result in a total of 300,000 pages, each with unique and original content.
Learning about the sheer number of webpages I could generate was enough to spring me into action.
In a day or two, I was able to parse through the original cricket dataset, create a new 'head-to-head' matchup dataset, write code for the actual website, publish it live (see for yourself at Crictables.com), and inform Google of my site's existence through their search console. Of course, the last step was to wait.
I knew that it wouldn't be long before Google began A/B testing my content at scale. If my pages performed well on several metrics (click-through rate, dwell time, etc.), they'd appear higher and higher on search results, and I'd benefit from a domain-wide rating boost.
And, to my surprise, that's exactly what happened: I started seeing great results almost immediately! Impressions and clicks were high from the get-go thanks to the insane page volume, and the click-through rate wasn't abysmal, meaning that people were actually visiting my site after discovering it as a search result.
Crictables.com has been live for nearly two months now, and these analytics are way better than what I'm used to seeing:
I'm glad to have found a working SEO strategy that's being rewarded so well, and I hope this helps anyone trying to drive more organic search traffic to their site!
If you liked this post, feel free to check out azigy, the app I'm currently working on. You can also take a look at my previous blog post, which covers the tech stack I use for my projects and products!