How Python Can Create Better Content Briefs and Improve SEO

Luke Davis

May 14, 20205 min read
Using Python to scrape data for content briefs

Whether you are starting a new site or improving an old one, content is a crucial part of your strategy, but you can’t write just anything on a site. You want to rank for the right keywords that bring in the right traffic, and you can’t pluck those ideas out of thin air.

Techniques like competitor research and keyword gap analysis are vital, but they only go so far. In a larger content team, you need to illustrate how you want the content to be written and what topics need to be covered. This can be difficult to manage with a myriad of other tasks to sort out. Luckily, Python is at hand to make things a little easier.

What is Python?

Python is a popular programming language, known for its clear syntax, scalability, and use in AI and machine learning. Some of the biggest companies in the world, including Google, NASA, and Facebook, use Python as an integral part of their systems.

Ways to Learn Python

Python is one of the easiest languages to learn, and it is recommended to try courses in places like:

  • Udemy

  • Codecademy

  • Coursera

  • Udacity

  • Datacamp

And if you need feedback and support, Twitter is full of people who are more than happy to help. But besides learning, it also helps to get stuck in with the actual code and see how things work and how they don’t work.

Nobody likes to get things wrong or see error codes, but they are vital in teaching you the correct syntax and processes, so you don’t have to see them as often.

Ways to Run Python

Detailing all the ways you can run Python code would be worthy of its own article, but the main ones are:

  • Terminal and command line

  • Virtual environment (like virtualenv)

  • Notebook environments (like Jupyter Notebooks and Google Colab)

  • Package environments (like Conda)

The popular choices are terminal/command line and notebook environments. It is whatever suits your style of coding and whether you plan to collaborate with people across different operating systems.

Google Scraping for Content Ideas

The first step to creating the best content briefs is to find a relevant topic and subtopics you want to cover. There are a number of ways you can do this in SEMrush, but one of the best is to perform a gap analysis against you and your competitors to see what they are ranking for and what you might be missing. From there, you can start to look through the SERPs and find out what everyone else is writing about on the topic.

There are different ways you can do it, but the best way is to scrape data from the SERPs for a given keyword. If you are feeling daring, you can do this yourself, but I prefer to use an API to save time and hair on my head.

For my Python script, I used the following tools:

  • Serpstack API

  • Beautiful Soup library

  • Requests

  • Pandas

  • Google Colab

List of Python methods and libraries used

And once it was all set up, I configured the script to pull through all the text from the following HTML tags:

  • <h1>

  • <h2>

  • <h3>

  • <h4>

  • <b>

  • <strong>

  • <em>

  • <i>

  • <a>

The reason I didn’t scrape any text from paragraph tags was to reduce the temptation to copy. Headings give a good overview of a subject, and bolded/italicized text can offer words styled for emphasis. Scraping links can also offer further research and opportunities to show expertise and authority.

The text is then exported to a CSV via Pandas, where you can save it and analyze the text to find what you need.

A screenshot of the data scraped by python from a SERP

Turning the Scraped Data into a Content Brief

Now that you have some text, it is time to mold it into a content brief. There is a temptation to throw words into a document and send it to your team, but that won’t help them, particularly if they aren’t necessarily experts in the topic you are covering.

One of the most helpful resources I’ve found in the last year was Matthew Kay’s presentation on A Repeatable Content Generation Process that Generated Over 100,000 Search Clicks in Less Than 12 Months. In it, he discussed how not to write a content brief and his way, breaking everything down into the key elements:

  • Keywords to target along with their respective search volumes

  • Suggested URL, meta titles, and descriptions

  • Headings and what to cover under them

I used this as a template for my content briefs but adapted them to allow slightly more freedom for whoever was assigned to the jobs. That way, they could showcase their own styles within the confines of the brief.

A screenshot of the content checklist template

The Importance of Using Python to Create Informative Content briefs

Why go through all this trouble with Python? Because it is an efficient way to compete with other businesses in SERPs. They have the space that you want, and besides copying (which is wrong and doesn’t work), you need to fill any gaps they have left. Python can help you find them with the art of automation.

In a small team, you may do a few briefs every week, but for larger teams, that could be hundreds a month. Doing that manually would be a waste of valuable time. So leveraging the power of SEMrush’s database and the automative nature of Python, you can provide informative and context-rich briefs to your team members.

There is another bonus — the opportunity to get a SERP feature. In SEMrush, you can find out if a keyword’s SERP has SERP features in the new Keyword Overview screen.

The Keyword Overview in SEMrush - SEO research

In Serpstack, there are also ways to return data from things like Knowledge Graphs, Top Stories, Related Questions, and Related Searches to offer additional subtopics and queries to answer within your content.

Covering the Basics — Offering Something Unique

At first glance, this looks like regurgitating content in a very formulaic way. But when you think about it, how pages are ranked in the SERPs is formulaic, and a lot of SEO is too. Those aspects won’t change, but the way you write the content can. Due to how search intent works, a lot of content follows a certain “pattern,” but you don’t have to write every type of article in the same way.

I work with a philosophy I call “GTBR” (pronounced “gitbar”): Get The Basics Right.

As long as you cover the essentials, everything else is up to you. Content and links form a major part of SEO and ranking and without the basics covered, your content is unlikely to be shared, you won’t rank as highly, and metrics like dwell time will be lower than they should be.

The Results

So far, we have mostly looked at the theory, but what about the practical results?

Since starting with the new content briefs, processes are more streamlined, saving time and resources for other tasks. And with more content, comes more ranking keywords and traffic:

SEO data for Organic Keywords Trend for adzooma in the last year (UK)

Organic Keywords Trend for adzooma, improved SEO in the last year (US)

What’s more, keywords in the top ten rose from 16 to 40 in the US and from 14 to 22 in the UK.

The Adzooma blog also saw a 34.4% rise in organic traffic between January and March, thanks to an increase in visibility through ranking keywords, and the gained links from high-quality content.

Conclusion

With knowledge of Python, some handpicked keywords from SEMrush, helpful briefs, and ingenuity from the writer, you have the opportunity to create the best content in your niche. You should always cover the basics to ensure your message is clear and informative, but a little experimentation can go a long way to shares and links.

(And if you see any ways to improve the code in my Python script, I’m always open to feedback.)

Share
Share