Keyword research that doesn’t suck – how to

Ian Lurie
ose top pages

“You own a shoe store? Then you should optimize for shoes.”

I actually heard an SEO tell that to someone at a conference, many years ago. The hapless listener (let’s call him HL) owned a shoe store.

I don’t know if the SEO involved:

  • Hated HL;
  • Wanted the property that HL’s store occupied;
  • Was was actually a robot sent back from the future to destroy HL’s business before it could take over the world.

Or, he was a complete dunderhead.

Keyword research is not about traffic volume. It’s about opportunity.

So, before you go off chasing keyword unicorns, check out this process. The Portent SEO team has come up with it over the years, and it generally keeps us out of trouble:

Build a picture of your site

  1. Run Xenu Link Sleuth or similar on your site. You need to determine how many unique pages the site has, and get title tags, etc. so you can get a rough idea what those pages are about.
  2. Make a list of title tags, page URLs, etc.
  3. Use OpenSiteExplorer’s Top Pages tool: Grab the top 10+ pages—how many you get depends on how much time you want to spend on this research.
  4. If you can’t easily tell what any of the top pages are optimized for, and you’ve got an SEOMOZ Pro account (BWOOOP BWOOOP BWOOOP AFFILIATE LINK), then run the SEOMOZ term extractor on each page:
    term target seomoz
    That should tell you what you’re optimizing for right now.

Review analytics

If you have access to analytics, do the following:

In analytics, go to referring keywords. Filter out branded terms. Sort by any of these, depending on what data you have:

  • Conversion rate
  • Revenue
  • Time on site
  • Bounce rate
  • Pageviews/visit

Take the top N terms, where ‘N’ is the total number of unique pages on the site. Export that list, and be sure to include:

  • Visits
  • Conversion rate (if available)
  • Revenue (if available)
  • Time on site
  • Bounce rate
  • Pageviews per visit.
  • Import all of this data into Excel or Google Docs or whatever spreadsheet software you prefer.

Now, get your current ranking for each of these terms, and the ranking page. Add that to the spreadsheet, too.

You should now have this:


This is your seed list. Obviously, if you already rank #1 for a particular term, you can ignore it, or at least move it to a separate list.

Measure opportunity gap

For each term in your seed list, fetch the monthly local search volume from Google Adwords or your favorite keyword research tool.

  1. Subtract the current site traffic for each phrase from the total search volume for that phrase. Put that in a column called ‘Raw gap’.
  2. Add 3 more columns. Label them Opp Gap #1, Opp Gap #2, and Opp Gap #3.
  3. Set Opp Gap #1 to equal Raw gap X 36.4%. That’s the traffic you might get if they rank #1.
  4. Set Opp Gap #2 to equal Raw gap X 12.5%.
  5. Set Opp Gap #3 to equal Raw gap X 9.5%.
  6. If you have access to conversion rate data, you should also show the number of transactions possible at each ranking position.

Remember that any search volume data you get is suspect. You have no choice, so you gotta use it. But don’t stake your career on Google’s or anyone else’s public data.

If you don’t have access to analytics, feel free to panic. You’re kind of screwed.

Compare seed list to top pages

Now, compare the seed list of terms to the top pages. The goal here is to find:

  1. Terms have the highest potential to generate real business growth.
  2. Pages that have the highest potential to rank for those terms. These would include pages that already rank in the top 30 or so, and/or ‘top pages’ that are already optimized around that term.
  3. Go down the entire list of terms.
  4. Look at the ranking page for each term (if there is one).
  5. Look at the opportunity gap.
  6. If you have conversion data or revenue data, obviously include that in your decision. A high-conversion, high-traffic term that can generate even more business is always a good bet.
  7. If you want to get fancy, pull the SEMRush competitiveness score for each term, too.
  8. Highlight the terms that best balance potential for more traffic/conversions and ability to move up for that term.
  9. Size does matter. Depending on the size of your site, you may find 10, 50 or more good potential terms and pages. You have to use your own judgment on that.

This is your initial list of optimization targets. You’re not done! But in a pinch you can use this to get started.

Review competitor data

  1. Use a competitive research tool. My favorite is SEMRush. SpyFu can give you similar data, as can Compete.
  2. Use the Open Site Explorer Top Pages tool.
  3. If you have access to it, use the Term Extractor on Top Pages.
  4. Use that to build a short list of the phrases competitors are after.

This list should not drive keyword decisions. It’s just a reference. Just because a bunch of competitors are all being stupid doesn’t mean you should, too.

But, if you see great phrases for which you don’t rank, add ’em to your seed list. Grab traffic (if there is any), search volume and competitiveness data just like you did above.

Expand the list

Now, expand your keyword list.

  1. Use your own instincts. What terms aren’t there that should be?
  2. Use Google Suggest. If there’s a fantastic, high-traffic phrase for which we don’t stand a chance of ranking, use Google Suggest to find less-competitive ones.
  3. Or use Suggest to just find more possibilities.
  4. Use tools like WordTracker and SEMRush.
  5. Add all these terms, too. Then do the same comparison of rankings/ranking pages/potential for these terms.

Clean the list

Now, remove all the terms that make no sense. There are bound to be some.

“Makes no sense” means they aren’t relevant. It does not mean ‘too difficult to rank’. Super-competitive phrases need to remain on the list.

Highlight the winners.

Make one more run through the list. Highlight any terms that balance potential for growth and ability to rank.

If your site already has well-optimized pages, you’ll probably need to create more content and add it to the site, interlinking the new pages to create high-relevance hubs.

If the site doesn’t have a page or pages optimized around the term, you’ll either need to pick existing pages (and add them to the spreadsheet) or designate new pages and a content strategy.

There you have it

The not-so-quick but still-very-dirty keyword research method we use at Portent.

And yes, I did leave out a few things. I’m not giving it all away for free, folks.

Other stuff

Start call to action

See how Portent can help you own your piece of the web.

End call to action


  1. “You own a shoe store? Then you should optimize for shoes.” I think someone at SESNY started off a session with a joke like that. I’ll be bookmarking this for a later read because I’m at work, its long and involved, and I don’t have the time to attempt it right now. Suffice to say though that as a new SEO person, I had not thought of doing something like that to get a better idea of what keywords we’re really optimizing for… I was just sort of dropped into this world three months ago so there is still much I have yet to learn.

  2. OK, so I’m a year late to this conversation, but why do you use the total number of unique pages on your site as a starting point for your seed list?
    That seems like a pretty darn long list, especially for an e-commerce site. One of my clients has over 18,000 unique pages!
    Also — Great post!

Leave a Reply

Your email address will not be published. Required fields are marked *

Close search overlay