Python is an amazing programming language that will help you become better SEOs.
You can use python for SEO by dropping your reliance on Excel and stop using spreadsheets, by leveraging APIs, automating the boring tasks and by implementing machine learning algorithms.
This is a true beginner to expert guide to learn Python for SEO.
In this tutorial, you’ll learn Python from the absolute basics to its advanced SEO purposes.
Chapter 1: Python Basics
Learning programming and data science is obviously good and gets you productive, but you have to put in the effort to make it happen. As an SEO, here are some reasons why learning Python might be a good idea for you. Why learn Python
Experts share their favourite Python Tools, Scripts and give tips to help anyone who wants to learn Python For SEO. Read Python insights from Hamlet Batista, JR Oakes and more. How to learn Python
May favourite option to install Python is using the Official Package installer. Some prefer the Anaconda Python distribution for data science and machine learning. It comes however with many other softwares, which I find complex over time to work with. Here are the 3 ways to install Python:
- Install Python on MacOS (Video)
- Install Python on Windows (Video)
- Install Python With Anaconda [On Windows]
Master Python code, functions, and objects and develop the Python programming skills needed to use Python for Search Engine Optimization. Learn Python
How to use Google Colab With Python (simplest solution)
The simplest way for beginners to use Python is undoubtedly to use Google Colab as Python and most libraries are pre-installed. Thus, users don’t have to go through the lengthy process of installing Python and can start using Python on any machine instantly. Learn how to use VSCode with Python
How to Use VSCode with Python (recommended)
There are many ways to run Python code. I would suggest that you use a code editor like Visual Studio Code. I prefer this to Spyder IDE (below). In this tutorial, we are going to learn how to get started using VSCode with Python. Learn how to use VSCode with Python
How to Work With Jupyter Notebook
Jupyter Notebook is the easiest tool to let your run Python code. It is free, runs on a browser, and is easy to get started, even for beginners. Learn how to use Jupyter Notebook
Tutorial: Run Python With Spyder IDE
Spyder IDE is an open-source integrated development environment. Another free tool you can use to run Python. If you don’t want to use VSCode, this is the perfect application for those who prefer working with IDEs. It comes by default with Anaconda. Learn how to use Spyder IDE
Python Libraries For Beginners (Pandas, NumPy, Matplotlib and more…)
Learn the top Python libraries that you should learn before you get started using Python for SEO. In this post, you will learn how to use NumPy, Pandas, Matplotlib and Seaborn. Learn Basic Python Libraries for SEO
Data Visualization with Seaborn
Data visualization is a core component of understanding your SEO data and improving communication to the internal team. Learn how to visualize your data with Seaborn
Chapter 2: Technical SEO Challenges
Get Number of Indexed Pages on Multiple Sites with Python
Learn how to perform a site: search on Google to get a rough estimate of the number of indexed pages on Google. Using Python and Selenium, we will generate a CSV with the number of indexed pages for a list of URLs. Get the number of indexed pages at scale.
Find Rendering Problems On Large Scale Using Python + Screaming Frog
Knowing how Google renders your website is critical to mastering your SEO performance. Using Python and Screaming Frog you can solve rendering problems on a large scale. Find Rendering Problems On Large Scale
Recrawl URLs Extracted with Screaming Frog (using Python)
Data manipulation is essential for Search Engine Optimization (SEO). This case study will help you improve basic data manipulation skills using Pandas. Recrawl URLs Extracted with Screaming Frog
Find Keyword Cannibalization Using Google Search Console and Python
Keyword cannibalization is a major issue on large websites that deal with lots of keywords. This post will show you how you can identify internal pages that compete for the same keywords using Python and Google Search Console. Find Keyword Cannibalization issues
Web Scraping With Python and Requests
In this web scraping tutorial, you will learn how to extract SEO information from a website using Python Requests and BeautifulSoup. You will learn how to extract meta tags, headings and broken links from a web page. Learn web scraping
Randomize User-Agent With Python and BeautifulSoup (by JR Oakes)
How to use random user-agents when extracting information when using Beautifulsoup to grab the internal links for a web page. Learn to switch user-agent
Create a Simple XML Sitemap With Python
How to create a sitemap.xml file using a simple Python script and split it into files with less than 50,000 URLs. Learn how to create XML Sitemap
Parse Robots.txt to a DataFrame with Python
In this post, I will show you how to parse a Robots.txt file and save it to Pandas Dataframe using Python. Learn how to parse robots
Keyword Density and Entity Calculator With the Knowledge Graph API (by Greg Bernhardt)
Keyword density is a useful tool in determining a web page’s identity. In this step-by-step tutorial, I’ll show you how to calculate the word frequency for each page and sitewide using Python. Learn to check Keyword density on your site
Forecasting Speed Improvements with PageSpeed API, Lighthouse and Python (by Daniel Heredia Mejias)
It is important to know which Pagespeed metrics are going to have a higher ROI and spot those quick wins. This post will show you how to forecast speed improvements with PageSpeed API and Lighthouse. Learn how to forecast speed improvements
Chapter 3: Automation With Python
How to Use Selenium With Python
Selenium is the perfect free browser automation platform and a very popular tool amongst SEOs. Learn how you can use Selenium to automate technical SEO tasks. Install Selenium With Python
Python Script Automation Using Task Scheduler (on Windows)
The task scheduler is a Windows-based tool that lets you schedule tasks to run on a schedule. As long as your computer is open you can run scripts daily, weekly, monthly with this app. Learn how to automate your Python Scripts
Python Script Automation Using CRON (on Mac)
Cron is the tool that let users run script, commands or software automatically on a specified schedule. Crontab is the file that lists the jobs that cron will be executing. Learn how to automate your Python Scripts using CRON
How to Send an Email Using Python + Gmail
Tired of sending the same email over and over? Send email using Gmail and Python. Combined with the task scheduler, it is the perfect script to send weekly reports to your clients/boss. Learn how to send an email with Python
Backup Google Search Console Data Into MySQL With Python
This guide will show you the easiest way to automatically backup your Google Search Console Data in MySQL using Python. Learn how to backup GSC Data in MySQL
Build automated SEO Audits with Slack+Python (by Stefan Neefischer)
Get notified when a python SEO audit job returned some issues and attach detailed information in a file to the slack notification to take action right away!
Chapter 4: Use APIs With Python
How to Connect to a Google API
Google APIs are amazing! Learning them is one of the most important things that you should learn when learning technical SEO. Learn how to connect to a Google API.
How to use Google Analytics Reporting API v4
Google Analytics is the undisputed leader
SEO tool. This is the absolute beginner guide to help you connect to your Google Analytics API using Python. How to use Google Analytics API with Python
How to Connect to Google Search Console API using Python
This tutorial is for SEOs that would like to use Google Search Console API with Python. This is the simplest way to learn how to make your first API call to the Google Search Console and Python. Make your first Google Search Console API call
Google Search Console Data From a List of URLs
With this Python script, I will show you how to extract Google Search Console data from a list of URLs. This is the perfect solution to get GSC data from URLs you have crawled. Extract GSC data from a list of URLs
Get All Your Search traffic With Google Search Console API (more than 50,000 keywords)
This post will show you how you can automatically extract all your search traffic and all your keywords from Google Webmaster Tool using Python and the Google Search Console API. Get all your search traffic from Search Console
How to use Google’s Indexing API with Python
This post will show you how you can send indexation requests to Google’s Indexing API to automatically update or remove URLs in Google’s Index.
How to use Google’s URL Inspection API with Python
This post will show you how you can query Google’s URL inspection API to view the indexed, or indexable status of a given URL.
Chapter 5: Social Media Automation
In this guide, we will learn how to use the Reddit API. Get top posts from a subreddit with the Reddit API, how to use Reddit API With Pushshift.io, how to get Reddit API credentials and how to post to Reddit with PRAW.
In this guide, you will learn how to get your credentials, send your first message and learn by example by sending Robots.txt changes alerts to Slack. Learn how to use the slack API
In this tutorial, you will learn how to get your credentials, authenticate the API using OAuth 2.0 and make your first text and link post using the LinkedIn API and Python. Learn how to use the Linkedin API
Facebook Graph API with Python
In this guide, I will show you how to use Python and the Facebook Graph API to post to Facebook Groups. Learn how to use the Facebook API
IIn this extensive guide, you will learn everything that you need to use the Twitter API with Python. I will cover the most important points (and missing points) from Twitter API documentation. Learn how to use the Twitter API from Scratch
Chapter 6: SEO Split Testing
SEO Split Test Using Python + CausalImpact + Tag Manager
In this guide, I will provide you with everything you need to set up your own SEO split tests with Python, R, the CausalImpact package and Google Tag Manager. Learn how to do SEO Split Tests
Stratified Sampling Using Google Analytics + Python
For SEO Split-testing, you need to create groups of pages. In this post, you will learn how you can set up test and control groups for your SEO A/B tests. Create test and control groups with Python
SEO Split-Testing Experiments using Google Tag Manager
With Google Tag Manager, you can modify meta tags, a very useful feature to set up your own split-testing SEO experiment. Not-so reliable technique? How to set up SEO Experiment with Google Tag Manager
CausalImpact for SEO in Python
pyCausalImpact is a Python wrapper for the original causal inference machine learning package built by Google. Learn how to use pyCausalImpact
CausalImpact for SEO in R Programming [Complete DIY SEO Experiment]
CausalImpact is a machine learning package built in R that lets you compare predicted data with actual data. Here is how to run CausalImpact for SEO Split-testing Experiment. Learn how to make an SEO experiment with CausalImpact
Chapter 7: Machine Learning
Machine learning can be used to improve SEO in many different ways. From natural language processing to classification and predictions, many libraries are available to add to the SEO toolkit.
Machine learning provides a lot of opportunities for SEO professionals to add to their toolkits. In this post, we will see how SEOs can leverage machine learning in their daily work.
Get BERT Score for SEO (by Pierre Rouarch)
Since Google has open-sourced its Natural Language Processing pre-trained machine learning model, SEOs have been all over the place. This simple API can be used to get the BERT score of a page for a specific Keyword. Get BERT Score for SEO
Chapter 8: Web Development
Heroku lets you deploy a Flask app online for free.
This is a fantastic option to test dev environments, to make SEO tests in Google Search Console or to make a python a public app to showcase your work without paying for hosting and for a domain name. Deploy a Flask App to Heroku
In this step-by-step tutorial, you are going to learn how to make the most basic Django Application with Python. Build your first Django web application
Other Useful Guides For SEO
Useful Python Functions for SEO
Create Feature Image With Python (Pillow)
Beginner Guide to RegEx For SEO
Massive Python for Datascience guide – By Koray Tuğberk GÜBÜR (external link)
How to Make a Twitter Bot With Tweetpy – By Miguel Garcia (external link)
Use Custom Search Engine with Python – by Elias Dabbas (external link)
How to get un-sampled Google Analytics Data With Python (& without) – By Dom Woodman (external link)
Basic SEO Data Analysis With Python – by Hülya Çoban (external link)
Google Trends API Wrapper (Pytrends)
Get the most out of PageSpeed Insights API with Python (by Daniel Heredia Mejias)
Projects and Resources to Learn Python SEO
Python SEO FAQs
How to Learn Python for SEO?
How to get started with Python?
How to Automate SEO with Python?
What are the Best Python SEO APIs?
About Python Programming Language
Python was developed by | Guido van Rossum |
Python is Maintained by | Python Software Foundation |
Python Website | Python.org |
Python was Created In | February 1991 |
Python Programming Uses | Web dev, ML, automation, SEO, … |
Python’s name origin | Monty Python’s Flying Circus |
Python SEO usage | Automation and data processing |
This is the end of the original guide on Python for SEO. Remember to share and link to this post if you enjoyed it.

SEO Strategist at Tripadvisor, ex- Seek (Melbourne, Australia). Specialized in technical SEO. In a quest to programmatic SEO for large organizations through the use of Python, R and machine learning.