Striking Distance Keywords Discovery Process with Python

Striking Distance Keywords Discovery Process with Python

What are Striking Distance Keywords?

We define Striking Distance Keywords as those ranking keywords for which our Website is ranking anywhere between the 2nd to 20th page. The name “Striking Distance” is chosen since targeting these keywords will be relevantly easier than targeting any other keyword types.

Normally these are the potential keywords that are improperly mapped and implemented in the target url. 

To find these keywords manually for every page is time-consuming and almost impossible for a large enough site. Hence it makes much sense to automate the task using a little bit of python code.

Why use Python?

Python is an excellent tool that can be used to automate tasks that are repetitive and perhaps its greatest benefit is that it’s customizable. Which allows us to get more unique insights from our data set.

In today’s article, we will be talking about how to find striking distance keyword ranking from the 3rd page to the 20th page for each page and also advise whether these keywords are eligible to be optimized.

Here’s a Snapshot of the Output we generated for our site: thatware.co

Now, I understand most SEOs might not know coding and those people might get frightened only by the mention of the word in this post. However, I wanted to assure you that we will be using a pre-built script to obtain this output using a Google Collaboration Sheet.

The Google Collaboration Sheet will also be useful for those code-savvy guys who are looking to play around and customize the data according to their needs.

The above keywords are specified along with information regarding their placement, either in the Title, Headline or content copy.

How to Find Striking Distance Keywords?

The setup process is quite simple. It involves the following steps.

  • Crawl the website along with a custom extraction with the web copy, and export the data in CSV format.
  • Upload the Ranking keywords data for HTML pages.
  • Feed these two data in the Google Collaboration Sheet and obtain the desired Output.

Crawling the Website 

Setting Up Crawl

I will be using Screaming frog to crawl the website and gather the requisite data. 

  1. Go to Configuration > Spider > Crawl. Keep the following configuration.
  1. Go to Extraction Tab on the same Spider Configuration.

In this, we need some basic information like Page Title, Meta description, H1, and Indexability. You can choose the options below.

The Indexability Report is important as it helps the Google script to understand which URLs to drop instantly when generating the Report.

  1. Filter out Paginated Pages

We would want to filter out paginated pages from the range of our crawl. We can do this by selecting “Respect Next/Prev” from Configuration > Spider > Advanced.

  1. Set Up Custom Extraction for the Page Copy

In order for the script to check whether a particular keyword is present in the page copy or not, we need to implement a custom extraction for the page copy.

Configuration > Custom > Extraction

Name the extractor as shown below

  • The script uses “Copy” as the extractor name so keep it the same.
  • Share the relevant Xpath or CSS path for the home page element of your website.
  • Make sure Extract Text is selected to extract the copy as text rather than HTML.

With that, the crawler is all set. Now, all we have to do is to export all the internal HTML in “CSV” format.

Gather all Ranking Keywords Data from any Keyword Tool

For this example, I will be using the Ahrefs tool to find all the organic ranking keywords. The same would work for any Keyword Tool.

  1. Go to Ahref > Site Explorer > Enter domain url.
  2. Go to the organic rankings report, then export all the organic keywords which are ranking for HTML pages.
  3. Make sure to export all keywords as below in UTF – 8 formats.

Note: By default the script works with Ahrefs and SEMRush keyword exports. However, it can work with any keyword file in CSV format as long the column names are the same as expected in the code.

Run the Code!

Congratulations on reaching this far. Now all that is left is to run the code in the Google Collaboration Sheet.

Here is the link to the Collaboration Sheet where we will find a premade executable to run your program.

  1. Select Runtime > Run all from the Top Bar Menu.
  1. The program will expect you to upload the organic ranking keyword file in the CSV format that you just downloaded.
  1. Similarly, the Code will prompt us to upload the HTML Crawl Report that we exported from Screaming Frog Earlier.
  1. Finally, after the rest of the code is processed you will get an output with all the Striking Distance Keywords. Here’s the output we received for ThatWare.

With a few design skills, you can format the report to look like the above.

Preview of Output

The output report shows all the top 5-6 keyword opportunities and places them in horizontal order along with their search volumes.

Then the presence of the Keywords is determined either in Title, H1, or the Body and accordingly is flagged TRUE or FALSE.

The Striking Distance Keywords obtained are ranking within the 3rd – 20th Page and are useful to pick some easy keyword wins, by simply optimizing the placement of the keyword. (Also some backlinks to the landing page might be useful too.)