Since I first began discussing how Python is used in the SEO sector two years ago, it has grown in popularity, and many individuals have begun to use and understand the benefits of using it in their day-to-day duties.
It’s quite inspiring to see so many SEOs share their stories, as well as the fantastic scripts they’ve created and the influence it’s had on their careers.
It would be remiss of me to post this without mentioning Hamlet Batista’s influence on me and so many others. He was delighted to see people learn and use Python.
I’m sure he’d be thrilled to see so many people sharing their Python journeys and all of the incredible scripts they’ve created.
What is Python?
Python is a line-by-line interpreted object-oriented interactive programming language that is open-source.
Python is well-liked for the enhanced productivity it gives, thanks to its straightforward and easy-to-learn syntax, advanced readability, and support for a variety of modules and libraries.
Python is utilised by some of the world’s largest corporations to power their platforms, execute data analysis, and run machine learning models, as evidence of this.
Python has been cited by Google, YouTube, Netflix, NASA, Spotify, and IBM as a major element of their success because of its simplicity, speed, and scalability.
Python was used to create Google’s initial web crawler, and it is still one of their official server-side languages.
How To Run Python?
Python scripts can be run in a variety of ways, depending on what works best for you.
Most computers come pre-installed with Python; this is most likely Python 3, but you can check which version you have by entering the python –version in your terminal.
If you have Python 2 installed, you can upgrade to Python 3 by downloading it from the Python website. Python 2 was deprecated in 2020, and there are significant syntax differences between the two, so it’s preferable to use Python 3.
Python can be run via a terminal, a command-line IDE (Integrated Development Environment), or a desktop platform like Pycharm or VSCode. You could also use cloud-based solutions, such as:
How To Learn Python?
There are a variety of online tools for learning Python, and the ideal way for you will depend on your learning style. FreeCodeCamp, for example, is an excellent place to start if you are a visual learner who enjoys following along with video coding.
Codecademy and Sololearn are wonderful places to check out if you want a more project-based learning method. These services also allow you to keep track of your progress and begin building a project portfolio.
Some websites, such as CodeCombat and Checkio, gamify the learning process, making it a pleasant method to develop a daily coding habit.
You can also join up for a free 8-week course with Code First Girls if you prefer to code with an instructor in real-time and identify as a woman or non-binary (disclaimer, I work for Code First Girls).
Once you’ve mastered the principles of Python, the greatest thing you can do is start working on projects, either from scratch or by extending one of the numerous scripts offered by the Python community.
These projects don’t have to be related to SEO, but having real examples to work with when working on projects can be helpful.
If you’re interested in the data analysis side of Python, Kaggle’s free datasets are definitely worth checking out and using.
Python’s main strength is in its libraries, which enable a variety of additional functions, including:
- Data extraction.
- Analysis and preparation.
- Scientific computing.
- Natural language processing.
- Machine learning.
The following libraries are useful for activities involving data analysis and automation in SEO:
- Pandas: Used for data manipulation and analysis.
- NumPy: Useful for scientific computing.
- SciPy: Used for scientific and technical computing.
- SciKit Learn: Machine learning for data mining and analysis.
- Pandas: Used for data manipulation and analysis.
- SpaCy: A great natural language processing library.
- Requests: A library for making HTTP requests.
- Beautiful Soup: Used to extract data from HTML and XML files.
- Matplotlib: For creating visualizations from data.
Why Python Is Popular With SEOs?
Python helps SEO workers in a variety of ways, including automating tedious operations and extracting and analysing massive data sets.
The amount of data marketers work with is only going to grow, therefore being able to analyse it efficiently will help them solve numerous complex problems in less time.
As a result, we are able to save time and be more efficient when performing other key SEO operations. Python’s popularity among SEO specialists has grown as a result of these factors combined.
Not only will having a better understanding of data help us do our jobs better, but it will also enable us to make data-driven decisions.
These choices will allow us to deliver more concrete insights to our clients and stakeholders, as well as have more trust in the suggestions we provide.
The Benefits Of Automating With Python
Python scripts can be used to automate a big number of time-consuming processes. While Python will not be able to emulate human, emotion-driven tactics, they can be used to automate a huge number of time-consuming jobs.
This list of activities that you can automate with Python is constantly evolving, but it currently includes:
- Identifying user intent.
- Mapping URLs ahead of a migration.
- Internal link analysis.
- Performing keyword research.
- Optimizing images.
- Scraping websites.
How To Add Python To Your SEO Workflow
The easiest method to incorporate Python into your workflow is to consider what processes can be automated, especially those that are repetitive and time-consuming.
Consider how you can better effectively deal with and draw conclusions from the facts you have at your disposal.
Playing around with data from your website that you already have access to, such as via a site crawl or your analytics tool, is a wonderful way to get started.
When studying, don’t be hesitant to take inspiration from other people’s scripts, experiment, and even destroy something, as this is frequently the most effective method to learn.
It’s a significant part of what we do as SEOs to figure out what’s causing an issue and how to remedy it, and it’s the same when learning and utilising Python.
There are also a lot of informative publications from other SEOs that have offered real examples of how they employ Python for SEO duties. To learn more about some of these, I recommend going to SEO Pythonistas.
Example Ways To Use Python
Are you ready to learn Python?
Here are a few scripts that I’ve found useful for a variety of jobs, along with a quick description of how they function and the problems they answer.
The first practical application of Python is to create a redirect relevancy script to determine whether the redirect mapping that has been performed for migration is accurate.
This entails crawling your site both before and after the migration and segmenting the various categories based on their URL structure.
After that, you may use some of Python’s built-in comparison operators to see if the folder and depth of each page have remained the same or have changed as a result of the migration.
The script will compare each of your URLs before and after migration to see if they are the same, and the results will be written to a new table with True if they are the same and False if they have changed.
You can also use the Python package Pandas to generate a pivot table that shows the number of URLs that match and how many have changed for each category.
This will allow you to look into any missing categories or URLs, as well as evaluate the redirect rules that have been set up.
Internal Link Analysis
Internal link analysis with Python is another useful software that makes use of crawl data.
This will enable you to determine which portions of your site have the most internal connections, as well as possibilities to increase internal linking for certain sections.
This time, segmentation will be used to establish the different categories of URLs, and pivot tables will be used to export a count of the number of internal links to each site category.
Image Captioning With Pythia
This is the script that first introduced me to the language and sparked my interest in learning it.
This script generates a caption for an image URL using Pythia, a modular deep learning platform created by Facebook.
This description can therefore be used for photos that don’t have alt tags, which are crucial for image search and accessibility.
The bottom-up and top-down mechanisms are used in the script to calculate outcomes by focusing attention on distinct elements within an image.
Attention is weighted to individual pixels inside the image for each word formed, highlighting the region receiving the most attention.
This script is simple to use because it can be executed directly from Google Colab and does not require any direct coding.
Once you’ve saved a copy of the appropriate code to your Google Colab storage, you may execute all of the cells, which will complete each step for you.
This will automatically download the data sources required to perform the procedure, as well as complete all of the stages that would normally be completed manually.
All libraries, for example, will be installed, classes will be constructed, and functions will be assigned.
This will provide a field for you to enter your picture URL as well as a button to caption the image.
A caption will then be provided for each image, which can be directly used as an alt tag or to inspire the creation of one.
Python is also excellent for working with APIs, such as Google’s Page Speed Insights API. This will allow you to track critical performance indicators at a large scale, saving you time from having to test each URL individually.
You can run each URL via the API and generate a response object to hold all of the metrics for each URL using a CSV file with all of the URLs you want to test.
The relevant metrics, such as LCP, CLS, and FID, can then be extracted and a table presenting these metrics for each URL can be generated.
You can also get a list of all third-party blocking tags or unused CSS and JS files for each page from the API, as well as layout shifting elements for each page, the largest contentful paint element, and a list of all third-party blocking tags or unused CSS and JS files.
These examples only scrape the surface; Python scripts can be used to automate and optimise a variety of tasks, including:
- Optimizing images.
- Merging datasets to form even stronger conclusions.
- Hreflang validation.
- Keyword growth calculation.
- Collecting GSC data.
- Performing competitor analysis.
Powering Machine Learning
Python is a popular programming language for machine learning applications because of its clear, straightforward, and accessible syntax.
Furthermore, there are numerous useful libraries that may be used when dealing with and training machine learning models.
What Is Machine Learning?
Machine learning is defined as “an artificial intelligence application that allows computers to automatically learn and improve from experience without having to be explicitly designed” (a full definition can be found here).
Machine learning is frequently used to detect patterns in data, which may then be used to make predictions.
Machine learning is divided into two forms. The first is supervised learning, which is trained on labelled data and uses a training set containing input and output.
As a result, when reading the data, the learning algorithm is already provided the answer. When training the model, the proper outcome for each data point is clearly labelled.
Unsupervised learning, on the other hand, is trained using unlabeled data, allowing the algorithm to act on the data without supervision. This is frequently used to test the system’s capabilities or when you don’t have pre-labelled data.
Python & Machine Learning
Python can be used to power algorithms for training a dataset before it summaries and visualizes the data when used in conjunction with machine learning.
The model will then evaluate the algorithms in order to make predictions.
Real-World Machine Learning Examples
The usage of machine learning on the web is growing all the time, with new models being developed all the time and training data being more readily available on a daily basis. In some situations, we are also used to assist in their training.
Some real-world machine learning examples include:
- Google’s RankBrain algorithm.
- Baidu’s Deep Voice program.
- Twitter’s curated timelines.
- Netflix and Spotify recommendations.
- Salesforce’s Einstein feature.
SEO Possibilities With Machine Learning
It’s no wonder that machine learning models are being utilised to make marketers’ work easier because of their ability to solve complicated challenges.
As Britney Muller says:
“Machine Learning is becoming more accessible and will free us up to work on higher-level strategy.”
This will allow you to spend more time-solving problems rather than merely identifying them.
The following are some examples of machine learning models used in SEO:
- Content quality evaluation.
- Identifying keyword gaps and opportunities.
- Gaining insights into user engagement.
- Optimizing title tags.
- Automating meta description creation.
- Transcribing audio.
Here are a few examples of Machine Learning in action for SEO activities that you may have come across.
Tools like guess.js construct machine learning models based on user navigation patterns from website analytics to forecast which sites visitors are most likely to visit next and prefetch the resources that will need to be loaded.
Predicting the next piece of content a user is likely to want to watch and changing the user experience to accommodate for this are other examples of this in action.
As well as anticipating which widgets a user is likely to engage with and providing a more personalised experience accordingly.
Machine learning can assist with internal linkage in two separate ways.
The first step is to replace broken internal links. This can be done by crawling for broken internal links, then using an algorithm to suggest the most correct replacement page.
The other is based on big data, proposing appropriate internal linkages. These tools employ algorithms that are fine-tuned to constantly collect fresh data so that, over time, they can suggest more internal relationships.
As an article is being written, they begin to offer important internal links.
Improving content quality by forecasting what visitors and search engines want is the next example. You can accomplish so by creating a model that generates insights into the most critical aspects.
Search volume and traffic, conversion rate, internal links, bounce rate, time on page, and word count are all examples of these criteria.
The essential factors will then be used to train a machine learning model that will generate a content quality score for each page.
Machine learning is also being utilised to improve user experience, and there are numerous instances. For example, Instagram utilises sentiment analysis to identify and address bullying language.
Twitter also uses it for image cropping to ensure that the most crucial part of an image is displayed, such as the text.
The text for these photographs is in various places, but Twitter crops them to show the text in the preview. This machine learning model was trained on thousands of photos and began off looking like this before figuring out what the most essential component of the image was.
Computer vision is also being used to improve the user experience by automatically detecting what is in a picture and describing what an image is to users.
I hope this has sparked your interest in learning Python and shown how it may help you automate chores and analyse complex data to boost your productivity.
Finally, keep in mind that learning Python isn’t required to be a good SEO; but, if you’re fascinated or interested, I hope you enjoy learning and implementing Python scripts into your workflow.