Before I begin to cover how local keyword research works and how to do it properly, I want to clarify: when we talk about keyword research; we are talking about topic research.
We are not pigeonholing ourselves by focusing on single keywords for a single page. We are exploring an entire topic.
Here’s what I’m going to cover when it comes to performing local keyword research:
Local SEO is the process of attempting to improve rankings of a website for queries that have local intent in both Google My Business and regular organic results.
Often, people will hear the word local SEO and automatically think, “Google My Business.” This is a narrow-minded approach to local SEO when much more ground can be gained in localized organic results.
Google My Business is critical for an overall local search strategy and something you need to optimize properly. However, it is not the end-all-be-all for local search.
Local search encompasses local/map pack results and localized search results, too.
If your customer base is primarily located in the same city or metropolitan area where your business is located (i.e., a local business), you will need local SEO.
If you have a brick-and-mortar location (or locations), you need local SEO.
If you're unsure if you need local SEO, a simple way of identifying if you need it or not is by simply doing some searches for keywords you think your customers are searching for to find your products and/or services.
When you're performing searches, and you happen to see the results tend to be more localized based on where you’re searching from, you will need local SEO.
If you happen to see Google Maps show up for your search, then you're going to need local SEO.
Explaining the difference between implicit and explicit keywords is best illustrated with an example.
For reference, I live in Bend, Oregon. When I performed a search for “furnace repair” (implicit), here are the results I saw:
Here is the SERP when I search “furnace repair bend” (explicit):
Even when I didn’t include a location in the implicit search, Google inferred that I am likely looking for a local company to help me with my furnace.
When I scroll down the rest of the page for the implicit search, I also came across this gem:
Google knows where I am located when I performed the search, so we see ‘bend oregon’ and ‘central oregon’ as the first two main image tag recommendations.
TL;DR: In the context of local search, explicit keywords include the location while implicit keywords do not. (furnace repair bend vs. furnace repair).
Have you ever tried to drive to a destination you’ve never been to and didn’t look at a map?
I tried this once. When my wife and I were looking at moving to Bend, I booked flights to spend some time here and see if we liked it. I searched for “Bend OR airport” and saw “North Bend OR” as an option. Naturally, I booked the flights.
When we were landing, my wife looked out the window and said, “That’s the ocean!” (Bend is located in Central Oregon, nowhere near the coast). I chuckled nervously and said, “Nah, that’s a large lake!”
Boy, was I wrong.
North Bend Oregon is about four hours southwest of Bend, Oregon. It turned out to be a blessing in disguise but had I just done some simple research. I would have seen that North Bend wasn’t close to Bend.
The lesson here: if you’re trying to get to a destination (more business), you need a map (keywords) to help chart your course.
Even if you believe you know exactly what your customers are searching for, have you validated that against any data?
After all, you are not your ideal customer.
Have you looked at your competitors to see other keywords they are optimizing for that you are not?
Have you ever looked at your Google Search Console data?
When you back up assumptions with data, you can get to your destination a lot sooner.
You can spend a little bit of time doing local keyword research and get some top-level information rather quickly, or you can go deep and get just about everything you can think of for a full-fledged strategy. Like I prefaced at the beginning, we’re going to explore topics, not just individual keywords.
Before we get into the nitty-gritty, we need to pick an industry and location. Our example client will be a plumber, and they are located in Phoenix, AZ. Here's what we're going to cover:
Before any keyword research is started on behalf of a client, we first need to understand what the client wants to focus on.
If our job as a local SEO is to bring more qualified leads to the business, we need to know what types of leads the client wants.
Our example is a plumber located in Phoenix, AZ. There are many different types of services that could be classified as plumbing, including;
Water softeners (filtration, testing)
Emergency plumbing services
If we were to just go off the main query, plumber, but the client offers some of these other services, we would be missing out on a lot of potential business.
During a kickoff meeting with the client, she has told us the main business categories she wants to focus on, they are:
Tankless water heaters
General residential plumbing services
Emergency plumbing services
During this meeting, she also mentions the top keywords that she wants to rank for. It’s great to get an initial list from a client, but the client is not their actual customer.
Here is the initial list of keywords she provides us:
Tankless water heaters Phoenix
Emergency plumber Phoenix
We always ask clients for an initial list of keywords, but we preface it by saying, “The initial list of keywords you provide for us are helpful, but they may not be the best keywords to go after for the given topic. Once we have finished our research, we will send over our recommendations and next steps.”
Now we have the core services we need to focus on for our local keyword research—time to explore each topic and build a keyword list for each.
We will explore each topic that our client wants to focus on and build a preliminary list using the Semrush Keyword Magic Tool.
Doing a search for “tankless water heater” in the Keyword Magic Tool shows more than 37,000 keywords.
Why did I go with the implicit keyword instead of the explicit keyword?
I want to identify as many relevant keywords as possible for the topic. Later in our research process, we’ll compare our findings to what we pull from Google Search Console.
At this point, the best use of our time would be to ask the client a few more specific questions about the topic. By looking at the category breakdowns in the left-hand column, we ask her;
Do you do electric, gas, propane, or all types of water heaters?
Any specific brands you use?
We only do electric and gas
Going back to our results, we can drill down and build our keyword list for the topic starting with electric and gas.
Instead of clicking into and running through each category and running through each category, I will rely on the ‘Include Keywords’ functionality to filter the results.
Before the filters are applied, I will add the broad queries from the initial results to our new list.
After our filter has been applied, we have a list of more than 9,800 keywords.
We can further refine our list by looking at the categories in the left-hand column. Keyword categories we would want to exclude from showing are:
After we have applied the 'Exclude' filter, we have a little less than 7,400 keywords.
The next step is for us to start adding keywords to our new keyword list.
As you can see from the image, after the fifth keyword, the average search volume drops below 4,000. These search volumes are based on Semrush’s dataset on national search volumes in the U.S., not Phoenix.
There is no definitive answer to the bare minimum average monthly search volume to qualify the keyword(s) to be included in your list. For this example, I’m going to set the volume of having 1,000 via the filter.
After the new filter is applied, we are left with 14 keywords.
Out of the 14 keywords, there are only four I won’t be adding to the list.
Our next step is to export the list and add it to a Google Sheet.
I removed many columns from the export to give us the ‘bare bones’ of what we want to look at.
We have our implicit research done for this topic. From here, we can either start the process over with a new topic or keep drilling down into this topic.
Personally, I don’t like switching between topics, so we’ll keep going with our example topic.
I’ve covered this process before in my On-Page Strategies for Local SEO: Ranking in Multiple Cities piece, but we’ll go through it again using our new topic.
To make this process run as smoothly as possible, we will be using Search Analytics for Sheets to pull Google Search Console data.
Install the add-on in the same Google account with access to the Google Search Console you wish to export data from.
From our new sheet where we uploaded our Semrush export, create a new sheet.
From the menu, click on add-ons, and you’ll see “Search Analytics for Sheets.”
Hover your mouse over it and click “Open sidebar.”
We’re going to configure it only to pull in queries that match our topic.
Under Date Range, I prefer to pull in 12 months' worth of data.
Search Type: Leave as-is
Group By: Query, Page
Filter By: tankless (We want to be as broad as possible)
The rest of the fields should remain the same.
Results Sheet: Make sure you select your new sheet to put the data into.
Once the data is populated, now we have the fun task of sorting and starting to dive a bit deeper into the topic.
I removed CTR and Position and sorted the export by Impressions. I also added a new column and named it “Avg MSV” with a formula to divide by 12:
An important note about our “Avg MSV” from Google Search Console: This number is represented by the impressions that this property received in the previous 12 months. It is not a sole representation of true Avg MSV for these queries.
My export had a total of 512 queries. Out of these 512 queries, they could be grouped into just a couple of categories. In the sheet, I added another column and named it “Categories." I then started adding categories to the top 30 queries in the sheet and then sorted the categories together.
The categories are potentially going to be unique pages surrounding our main topic, tankless water heaters.
Going through 500+ queries to grab all of the keywords you can is time-consuming. You can go through all queries, but at some point, you will notice that the queries are very similar to others that you have already classified (tankless water heater vs. tank; tank vs. tankless water heater).
We’re feeling pretty good about our topic, but we still have a few more steps to go through before laying out a content plan.
While going through the previous step, one of the categories I added was FAQs. I am in no way recommending that we create a FAQ page for this topic.
My goal is to identify the best questions for each category, add these to their relevant page and mark them up with FAQ schema (we’ll be exploring SERP features shortly).
Heading back to the Keyword Magic Tool, there’s a nifty little filter called Questions. Our topic is still the same [tankless water heater]. We have more than 4,200 questions to filter through. If we use the same minimum 1,000 MSV, we have seven (one is already on our list) questions to add to a new list. Four other questions do meet our criteria but based on the intent of each question; they do not match our goals.
We’re going to go through the same process, exporting the seven questions that meet our criteria and add them to the same sheet where our other Semrush export is.
This is a good starting point, but we want to make sure we cover all of our bases. AlsoAsked.com is our next stop. This tool is free and shows you all of the questions that people also ask around a topic.
Here are the questions that I get for our main topic tankless water heater:
We don’t need to add every single relevant question from what we have gathered to our recommendations. We would want to recommend the most relevant and most Frequently Asked Questions surrounding our topic.
This is where client communication comes back into play. At this point, we can send her an initial list of questions that we have found, but we want to make sure we’re answering questions that her customers ask.
After we send her our information so far, she tells us that these are the questions she typically gets around this topic:
Questions on the ideal size (GPM) their home needs
Going back through our list, we can cull any questions that don’t fit. For questions that are related but worded slightly differently, we’re just going to have one instance.
Here is our refined questions list for our topic:
There are dozens of questions we could add to this list, but we don’t want to add questions that;
Are not relevant to our client’s service offering
Are repetitive in nature
We have a good handle on questions. What’s next?
We’ve found many keywords and feel confident with our research so far, but we want to check against competitors that are ranking for our primary topic keyword.
Here are the first five local organic results for “tankless water heater phoenix”:
Four out of these five websites are local competitors. The fifth is a story about the pros and cons of a tankless water heater.
Before we start looking at what keywords these competitors are ranking for that might be topically relevant to our topic, take notes of the Search Engine Results Page (SERP) features you come across.
For this SERP, we have;
Google Map Pack (not pictured but was above the organic results)
People Also Ask
This is important and shouldn’t be skipped. We were already planning on adding the FAQ schema to our pages but seeing it live on a SERP shows you how much more “real estate” you can get on the SERP.
What are we missing?
Did you look at the SERP from a mobile device? The mobile SERP looks virtually the same, but one of our competitors has an additional SERP feature that we will want to add to our page, too.
That image showing in the SERP for Goettl does not show on desktop, but it is showing on mobile.
It makes the result “pop” a little bit more than the others, right? Their one result almost takes up my entire screen (iPhone 11 Pro) with their FAQ schema, too.
How are they getting the image to show on mobile?
That’s a great question that I don’t have an answer to for this result. If you view the live page, the photo shown on the mobile result is the background image of the page. Usually, when an image is showing on mobile, the website is using the primaryImageOfPage schema. I was unable to find that schema markup being used by this website.
Let’s get back to trying to identify more topic keywords.
Going domain by domain, we’re going to look at their organic keywords in Semrush and see if we can find any keywords we do not have on our list.
Going through the top-ranking competitors, I could not find additional keywords that we should add to our list.
It doesn’t always work this way, but it’s still important to check.
We’ve covered our keyword research for this topic. We would need to cover two other topics for this client before sending over our recommendations. Instead of repeating all of the steps we’ve done above, let’s move forward with putting our plan together.
Before we start writing content and hoping to rank for our keywords, we need to look at the top-ranking pages for the page(s) we will create.
When we were going through our list of keywords from Google Search Console, we added categories. Our categories are main, compare, FAQ, null, and repair.
The FAQ category keywords will fuel our pages' FAQ sections, and we’ll mark them up with schema, too.
Null means not a keyword to target. Compare, main, and repair could indicate a dedicated page for each.
Looking at the SERPs for these various category (topic) keywords will help us see if we should create unique pages for each topic or blend them into one page.
Compare topic SERP:
When we do an implicit search (on the right), we get content from authoritative websites in this category—Consumer Reports, Energy.gov, Bob Vila, etc. When we do an explicit search (on the left), we see mainly Phoenix plumbing companies that have written content about this subject.
When doing their research on this topic, most people are going to do the implicit search, not the explicit.
I want to point something out on the SERP for the explicit search. Do you see how the No. 1 organic result is a local plumber, and they have a nice featured snippet? Pretty cool.
I have a theory about featured snippets. I believe that Google will have some type of Venice update that will roll out to featured snippets at some point in the future.
Featured snippets have long been reserved (mainly) on a national scale for authoritative websites. My theory is that featured snippets will dynamically change at some point based on the user's geographic location.
A searcher for our topic ‘tankless water heater vs. tank’ would result in featured snippets being changed based on where the searcher is located.
It makes sense, right? If there isn’t sufficient local content to satisfy the snippet, Google would just use the regular snippet used before.
I have zero evidence that this will happen, but I think at some point, it will!
We aren’t trying to rank nationally for our client for these compare query types, so we’ll want to rely on the local competition that is currently ranking to get a sense of their content.
I looked at the top four ranking local businesses for the main topic query, and these are my notes:
Should this content be covered on the main topic page, be a child page to the main topic page, or be a blog post?
I would want this content to be a child page of our main topic page, and I’ll explain why.
When looking at Information Architecture, my goal is to make it as easy as possible for users to get to the page that they are looking for within two clicks from the homepage.
Sure, we could rely on internal links from our main topic page to the blog post, but if the content is topically relevant, why not have it nested underneath its parent topic?
Having all of this content live on the main topic page for tankless water heaters would likely make the page way too long and dilute its core purpose, ranking for its main keywords.
So we’re going to create a dedicated page for our Compare category. What about our 'Repair & Main' category?
Again we’re going to rely on the SERPs to show us the way. We’re doing the same process we just did. I have a hunch about Repair, but we need to check the SERPs first.
I expected the organic results to be a bit more consistent across these three searches, but it isn’t going to change my recommendation.
Our main topic page is going to encompass the main category keywords along with installation keywords. Our repair category keywords are topically relevant but should be a child page below our main topic page.
In total, for this topic, we are going to have three pages total, now we need to create our content and publish it!
First, we would send our client our research along with our recommendations for each page. We are not experts in this topic, so we need to ask for her expertise. We don’t need her to write the entire piece(s) of content, but we will need answers to specific questions. Once we gather that, we’ll write our content and publish it from there.
When writing the actual content, should we be focusing on including mentions of the other keywords throughout?
We know what our main keyword is for each topic that will have a dedicated page. The main topic keyword will be included in the URL, title tag, meta description, and at least on the H1 tag. If the content we’re writing has specific sections talking about one of our keywords in the same category, we’ll add it as an H2.
Writing content should be more about producing the best content possible for the given topic. The other keywords we have in the same category will naturally be included in the content.
You don’t need to use TF-IDF or some other arbitrary way of getting more ‘mentions’ of your keywords in the copy. Focus on writing great content for the user.
Local SEO keyword research is not meant to be a one-time thing. You should be revisiting your keywords at least every six months. You might see many similarities to your original research, but you will likely find new keyword opportunities that you had not thought of previously.
Do everything. Kidding, or am I?
The primary ranking factors for Google My Business are relevance, distance, and prominence. The tips I’m sharing below are going to help you with Relevance and Prominence. There is no way to optimize for distance, sorry. Here are some of the key factors to improving your local SEO:
Make sure you have filled out all of the fields you can within your GMB listing while ensuring you are within the Guidelines.
Yes, keywords in your business name help rankings really well. This doesn’t mean you can just add keywords to your business name; that’s against the guidelines.
When it comes to selecting your categories, do make sure your primary category is the best category for your business. If your business is seasonal, choose the primary category that matches your current season.
When the season changes, switch the primary category to a category that best matches the current season. Rinse and repeat. Category dilution is bologna. Add as many relevant categories to your Google My Business listing as possible.
Do add great photos and videos that represent your business and its products/services.
Spam is alive and well in Google My Business. Get familiar with the Google My Business Guidelines and start submitting the Business Redressal Form for listings that are breaking guidelines. If a local competitor is simply keyword stuffing their business name, you need to suggest an edit first. If/when that edit gets rejected, then you can submit the Business Redressal Form.
If you have not implemented a review building strategy, this is the first thing you should implement before moving on. Reviews directly impact GMB rankings and are a great way of getting potential customers to convert into actual customers. You should absolutely be getting reviews on your GMB listing, but consider adding Facebook and another third-party. The other third-party should be a website that ranks for your main keywords. This is called barnacle SEO.
Citations don’t do squat! Long live local citations! Although their impact on rankings has diminished over the years, yes, you can build citations. I would recommend only focusing on the top data aggregators and tier 1 citation sources. Once those are dialed in, no need to keep building them. Nap consistency isn’t a huge deal anymore.
I’m not going to cover the regular tips like including keywords in your title tags; I’m going to focus on a few things that I typically see from local websites.
Internal links are highly underutilized. Often, the homepage will pass the most link equity to child pages, and these internal links often have the anchor text of 'read more.' That anchor does not provide any context to a search bot.
Structured data is your friend. FAQ schema can give you way more real estate when it’s deployed.
Coming to a ranking algorithm near you (albeit small), be sure to take care of your site speed. Check out your Core Web Vitals report in Google Search Console if you have URLs that are poor or need improvement.
Links will help you with both Google Maps and local organic results. Not all links are created equal. Instead of just ‘building all the links,’ have you considered looking at your local link benchmark? Steal a copy of this sheet (bit.ly/link-benchmarking) and compare your links to the competition that is outranking you.
The second sheet has an example. Links get classified as Citation, Topical, Local, Other, or Garbage. Find what your benchmark is and get to work. Need some ideas? Here are 7 local link building ideas that you aren’t doing.
Stop relying on third-party link metrics to determine if a link is good or not. If the website is locally or topically relevant and not spammy, go for it!