Keyword Research in an Excel Spreadsheet
I've written about plenty of the keyword research tools I've written and about keyword research ideas/strategies I've had on this blog. I've written about it so much because it's really the foundation of search marketing strategy. Without understanding how your audience is looking for your site, you have no real hope of being able to get your website in front of them.
The tools I've written about here have all been really raw. They aren't polished with features and none of them could be used by anyone who isn't a programmer. That's a shame, but again, most of the tools I write are purpose built for the way I work, for my workflow. If they work for me then I've been content with the result.
Why Can't People Use the Tools I Write?
Even though my tools have been usable for me, I always end up having a conversation like this with peers, coworkers, etc...
Wow, that's a really efficient way to do X. How can I use it? Do you use Mac or Linux?
Yes, I have a Mac! Cool. I emailed you the script. Just save it somewhere, set it as executable and then running from a terminal.
What's "a terminal"? It's the command line.
What's the "command line"? Shit, this isn't going to go well...
Even worse yet is that the majority of people still use Windows.
So even though my tools have worked for me, they rarely work for others. I'd be lying if I said I didn't constantly wish there was a way to quickly write apps for the desktop that would be cross-platform and super efficient to produce and share.
More Usable Keyword Research Tool
One day I read about a new piece of software called IronSpread. It promised to bring the Python programming language to Windows users, directly within Microsoft Excel. My first reaction was, WOAH, shit... that would be amazing. At that time I hadn't ever used Python for anything but I knew it is a powerful language.
Just a couple weeks ago I finally got around to giving IronSpread a try. I haven't been programming much lately which is why it's been a long time since my last post. I found that IronSpread is now Data Nitro and it's still actively being worked on. They offer a free 30 day trial and it works great with Excel 2013.
I've used it both on my Windows 7 machine at work, running Excel 2013 and on my Ubuntu machines running VMware, Windows 8 and Excel 2013. It's worked perfectly in both those scenarios. However, I tried getting it setup in a Windows 8 VM on Virtualbox with absolute fail being the end result.
I'm very novice a writing Python scripts but within 5 hours I was able to build a super useful keyword research tool that integrates perfectly with Microsoft Excel. Finally, I can write tools that I can share with the masses.
The Demo
Here's the script that I came up with first. It's best described by this video.
The Python Script
I admit that there's probably a bit of polishing that could be done to improve the script, but I'm novice and this was my first try. It works pretty well though.
import json import urllib2 import re import string from time import sleep startTerm = Cell("Iterative Suggest","A1").value lastSeedTerm = startTerm while True: sleep(0.01) seedTerm = Cell("Iterative Suggest", "A1").value if seedTerm != lastSeedTerm: urlEncodedQuery = re.sub(' ', '+', seedTerm) # give feedback signaling that it's working Cell("C1").color = "yellow" Cell("C1").value = "...working..." Cell("C1").alignment = 'center' Cell("C1").font.bold = True # this appends each number iteration. for iteration in range(1,10): seedTermIteration = urlEncodedQuery + "+" + str(iteration) googleSuggestURL = 'https://www.google.com/s?gs_rn=30&gs_ri=psy-ab&cp=13&gs_id=1h&xhr=t&q=' + seedTermIteration data = json.load(urllib2.urlopen(googleSuggestURL)) for suggestion in data[1]: suggestion = re.sub('<[^<]+?>', '', suggestion[0]) last_cell_in_col("A", "Iterative Suggest").offset(1,0).value = suggestion lastSeedTerm = seedTerm # this prepends each number iteration. for iteration in range(1,10): seedTermIteration = str(iteration) + "+" + urlEncodedQuery googleSuggestURL = 'https://www.google.com/s?gs_rn=30&gs_ri=psy-ab&cp=13&gs_id=1h&xhr=t&q=' + seedTermIteration data = json.load(urllib2.urlopen(googleSuggestURL)) for suggestion in data[1]: suggestion = re.sub('<[^<]+?>', '', suggestion[0]) last_cell_in_col("A", "Iterative Suggest").offset(1,0).value = suggestion lastSeedTerm = seedTerm # this appends each letter iteration. for iteration in string.lowercase[:26]: seedTermIteration = urlEncodedQuery + "+" + iteration googleSuggestURL = 'https://www.google.com/s?gs_rn=30&gs_ri=psy-ab&cp=13&gs_id=1h&xhr=t&q=' + seedTermIteration data = json.load(urllib2.urlopen(googleSuggestURL)) for suggestion in data[1]: suggestion = re.sub('<[^<]+?>', '', suggestion[0]) last_cell_in_col("A", "Iterative Suggest").offset(1,0).value = suggestion lastSeedTerm = seedTerm # this prepends each letter iteration. for iteration in string.lowercase[:26]: seedTermIteration = iteration + "+" + urlEncodedQuery googleSuggestURL = 'https://www.google.com/s?gs_rn=30&gs_ri=psy-ab&cp=13&gs_id=1h&xhr=t&q=' + seedTermIteration data = json.load(urllib2.urlopen(googleSuggestURL)) for suggestion in data[1]: suggestion = re.sub('<[^<]+?>', '', suggestion[0]) last_cell_in_col("A", "Iterative Suggest").offset(1,0).value = suggestion lastSeedTerm = seedTerm Cell("C1").clear() # give feedback signaling that it's done Cell("C1").color = "aqua" Cell("C1").value = "done!" Cell("C1").font.bold = True Cell("C1").alignment = 'center' sleep(10) Cell("C1").clear()
That's it. Now you'll have Google Suggest keyword research integration right in Microsoft Excel after you give Data Nitro a try.
Let me know what questions you have in the comments.














