When doing keyword research for programmatic sites, you shouldn’t be analysing each page individually.
You especially can’t be optimising an entire programmatic build page by page.
You should really be looking at the overall group, that each page falls into, and looking it as a whole.
How do we do this though? How can we best isolate the keywords that a programmatic system should fall into?
- 1 What are keyword templates/patterns?
- 2 How to find your keyword patterns
- 3 Extracting your keyword templates
- 4 Using your keyword templates/patterns
- 5 Different templates by category
- 6 Access my sample template
What are keyword templates/patterns?
A keyword template, or keyword pattern, is the overall structure of a keyword with dynamic elements removed.
So think about your keywords, without dynamic elements like property types, locations or something else.
They’re the core keyword with all that removed.
Some real estate examples are;
<propertyType> for sale in <location>
buy <propertyType> in <location>
You can’t primarily optimise for every variant of a keyword.
You’ll probably get one good option for a page title & H1.
They give you the opportunity to compare keywords like for like so that you know which one to pick for primary optimisation.
How to find your keyword patterns
Personally, the only tool I am using is Google sheets and keyword research data.
There are a few tools out there, but sheets give me everything I need to do this.
Before jumping into the below, I recommend you go check out my post/video on keyword categorisation here.
We will be using that same formula to loop through and make substitutions to our keywords.
Preparing your keyword data
The prerequisite to being able to do this, is having a keyword set with categorisation set up.
You should have sets of ‘find’ words, that are then bucketed into their categories, as we will be using these ‘find’ words to find the categories.
If you’ve already done keyword categorisation following my process, then you’re in luck! You’ll have pretty much everything you need already.
If you haven’t, then please go check out the categorisation setup here first. You can still do the categorisation in the process below, but that post will give you more information about the setup.
Setting up your keyword template replacements
For each categorisation set, you’ll need to add a third column. The new column is where the templated element will go, that you will replace the find word with.
For my example, when it finds a vehicle type it will then replace it with <vehicle>.
Any mentions of ‘car’ in the keyword, will be replaced with <vehicle>.
Any mentions of ‘truck’ in the keyword, will be replaced with <vehicle>.
Each version of a ‘find’ must be included, as that is what is substituted out when we create the template.
You can see in the above sample list that “cairns” and “airport” aren’t being swapped out.
‘Cairns’ needs to be added to the location list for it to be swapped. If you want to replace ‘brisbane airport’ and not just ‘brisbane’, then ‘brisbane airport’ needs to be added to the categories. It will need to sit higher in the list than ‘brisbane’, to ensure the entire location name is replaced and not just the ‘brisbane’ portion.
Adding a length, =LEN(x) can help sort the list by length.
Whilst you could create a fixed cell reference for each category, I figure this way left it open for easier modifications if you’d like to put a different template for different finds within the same category.
Extracting your keyword templates
As mentioned, the keyword template formula works the same as the categorisation formula.
It looks for the find word, and then replaces it with the template.
This formula is run in a new column for each category that needs replacement. My demo has 4 built-in, and can be extended if you need to replace more than 4 different categories.
The formulas essentially work just replacing one category set at a time. It will then use the previous category as the substitution source, building upon each as it goes.
The ‘keyword template’ column in G, grabs the fourth category replacement and brings it forward, so that we can hide the 4 actual replacements.
This way, you’re only left with the final keyword template visible.
So provided you’ve got your categories setup well enough, you’ll get some shiny keyword templates out at the end.
Even if it’s not perfect, as long as you correctly capture all the top keywords, that should cover the majority of the keyword set for keywords with the most volume.
Basically, you’ll still get a great insight with a minimal amount of work.
Analysing your keyword patterns
Throw your new data into a pivot table, pivoting the keyword template & the total search volume.
The pivot table will group all the templates together, significantly shortening your overall keyword list, and revealing your top keyword templates.
So from this fake sample data, we can see that our fake, sample users would prefer searching in the format of ‘<vehicle> hire <location>’.
This gives us a little better understanding of how users are search, across the entire data set.
Some little caveats
Each replacement needs to be listed exactly as mentioned in the keyword
Plurals will leave ‘s’ if the plural isn’t in the find. The formula will find the first one in the list, so any plurals (longer versions) should go to the top.
Must be ordered as required, multiple mentions within the same category don’t get included
Only the first one found will be used. Any plurals or longer variations of a find should go to the top to ensure the full word is replaced.
It could be extended to look for a second or third reference, but that might take a bit of work. A simple way would be to have a second category of the same keywords, sorted from shorted to longest rather than longest to shortest. Essentially a reverse search.
Keyword patterns with seoClarity
I came across this tweet being shared;
I've never heard anyone in my circles talk about @seoClarity but this is an interesting feature that I haven't seen around: keyword patterns.
A much easier way to understand what type of content a website has and quickly spot opportunity size. pic.twitter.com/5YP2BXp1wV
— Gus Pelogia (@pelogia) June 23, 2022
Whilst I don’t use seoClarity, and due to the price point never will unless a client is using it, this looks like a quick way to be able to understand your keyword templates.
So if seoClarity is in your budget, it could be a good option.
Using your keyword templates/patterns
Rather than optimising for keywords, with a programmatic build, you should optimise for your keyword templates.
Depending on your site structure, and inbuilt customisation available will depend on what templates you should look for.
For primary elements, you should be looking at your templates and comparing search volumes for templates like;
properties for <channel> <location>
<channel> properties in <location>
Then depending on whether you’re wanting to optimise for the highest volume, or the quick wins like low comp, you can then pick the correct template to optimise for.
I won’t go into keyword density and optimisation stuff like that, but you can also think about where you can use these templates on your page.
Other elements of the design could have the primary, or alternate, keyword templates included.
Different templates by category
A good example is comparing the top ‘rental’ keywords to the top ‘for sale’ keywords.
You’ll get something like;
rental properties <location>
properties for sale <location>
as possible top keywords for each category.
You couldn’t simply target
properties for <channel> <location>
as you would end up primarily targeting
properties for rent <location>
and not the actual primarily search keyword of;
rental properties <location>
Purely an example, but you can see how this can change based on some categories.
The easiest way to build this would be to pick the one that most suits, and that’s how I would recommend an MVP be built.
You could then build it out with different templates for each category, and sub-category, to allow the primary targeting to include these differences.
Access my sample template
You can access my sample template at the link below.
Just copy the template over to your own Google Drive and you will be able to edit it.
Let me know if you have any questions!