Custom Python scripts are much more customizable than Excel spreadsheets. This is good news for SEOs — this can lead to optimization opportunities and low-hanging fruit. One way you can use Python to uncover these opportunities is by pairing it with natural language processing. This way, you can match how your audience searches with your...READ POST
Over the past couple of months, I’ve begun to write articles about the practical application of Python and data science in an SEO context. Why? Because I realized that as a community, we spend a lot of our time trying to guess where pages will rank, our work takes forever to yield results, and sadly we don’t enjoy a very high reputation. But if more people in the community learn Python and data science, eventually, we will have a stronger, productive and more credible community because programming changes your mindset to be more scientific and evidence seeking. As a new generation of SEOs rises up, I’d love to see increased legitimacy around our work.
Python empowers SEO practitioners in at least a few key ways to:
- Automate repetitive tasks
- Use data to solve complex problems
- Write compelling stories from hard to get insights
- Experiment and invent new creative and effective processes
Starting a programming movement within the SEO community
When I started out in SEO, there was (and still is) a lot of speculation. Years ago, I began an exploratory process into making SEO more predictable and reliable with data, and as I became more knowledgeable, I also discovered more nuance. In SEO, guessing is important. But the majority of SEO should not be guesswork. I realized there is a strong negative perception of the industry when RankSense applied for a merchant account with Braintree–they declined us because of the high risk and chargeback issues associated with SEO providers. Fortunately, we were able to secure one with Stripe.
While I knew that at RankSense we work tirelessly for our clients to optimize their search engine results using data, I also realized that there are too many “bad apples” within our industry who take advantage of the speculation component and don’t really care about delivering results. Quite frankly, our failure to secure a Braintree merchant account made me face the reality that our community needs a better reputation built on credibility.
That’s why I’m on a mission to change that perception. I love the SEO community and I’m really thankful for all the undeserving opportunities I’ve been given over the years. I asked myself, how do I give back and I make a difference? I realized that I had to attract and inspire more data experts so that more SEO recommendations are rooted in strong evidence. I could no longer sit back and complain about how things aren’t ideal across the industry, and I know many others in the community feel the same way. We have to start influencing the new generation. And one way I think will work is to get them excited about data science and programming. In my case, I will focus specifically on Python because it is easy to learn and I personally enjoy coding in it.
Learning Python empowers the SEO community to automate and then innovate
Why would Python empower people to be more data-driven? Unlike Google Sheets or Excel or even Tableau/Power BI whose data processing capabilities can help you solve many common analysis problems, with Python your knowledge and creativity is the only limitation. For starters, it automates tedious tasks, which leads to more productivity. For instance, if you want to aggregate data from Google Analytics Query Explorer, you can easily set up an API URL to fetch data across websites with multiple parameters. Or, say you need to solve a more complex problem, such as analyzing webpage “winners vs. losers” after a site migration–you can fetch the data from Google Analytics and then use a library, in this case, Pandas, to group the page traffic before and after the drop off date. This information will then allow you to perform more complex data analysis, such as data blending, to merge the data frames to determine invaluable information for best SEO practices going forward. In other words, the data analysis you are performing is allowing you to tell a story about the website, its traffic, and the possibilities for better SEO results in the future.
I’m not going to sugarcoat it. Coding, extracting the data, and analyzing it using Python is a lot of work. But the best and most useful reason for learning the programming language is that you can then apply your work to new projects while continuing to experiment and innovate with every new challenge. I believe this is the ultimate advantage of using Python. When you incorporate Python coding into your SEO work, you are opening up your data collection and analysis to a myriad of possibilities for new methodologies and discoveries.
Just a few weeks ago, Moshe, an inspired SEO technical lead followed my advice and was ecstatic with the results:
Thanks to you @hamletbatista I picked up Python coding in 2 weeks, and built a Log file analyzer tool, which fetch all access logs from an SFTP, unzip them, filter to googlebot hits (by IP and user agent), export to csv and generate graphs with pandas and matplotlib pic.twitter.com/GiiBT7qtE0
Thanks to you @hamletbatista I picked up Python coding in 2 weeks, and built a Log file analyzer tool, which fetch all access logs from an SFTP, unzip them, filter to googlebot hits (by IP and user agent), export to csv and generate graphs with pandas and matplotlib pic.twitter.com/GiiBT7qtE0— Moshe Ma-yafit (@napo789) March 2, 2019
I was equally as thrilled with his findings because his enthusiasm points to the discovery-lead, evidence-based momentum that I believe will provide better, more consistent results throughout our industry.
Building credibility through shared learning within the community
In the SEO community, there are data scientists and marketers who approach problems very differently. Visibility is the currency for both, but visibility for the data scientist is dependent on the quality and success of their results, while for the marketer it’s tied to the exposure and engagement that comes with being on panels, participating in conferences, and connecting with clients. I don’t think one approach is better than the other, as in both cases they need to offer something unique and valuable. If both SEO data scientists and marketing professionals leverage the data and performance metrics that come with Python programming, cross-functional teams can scale their productivity and reliability. In other words, programming allows them to develop a “superpower” to give insight.
When I started out in this business, I assumed computers would be able to do much of the work. However, I’ve found it’s a lot more compelling to empower people to engage with the data because the human perspective offers much more creativity than machines. Computers make processes simple and easy, but when it comes to leveraging the potentialities of SEO, the power is with data-driven practitioners who understand that SEO is nuanced and ever-evolving. I want to start a movement within the community to empower practitioners to learn by doing–and programming languages like Python build upon our innate human ability to communicate and understand complex information.
In summary, I believe everybody in the SEO community should learn Python because it is a language far more powerful than the basic functionality of Google Sheets or Excel. And the more people in the community learn programming and how to better communicate data-driven information, the stronger and more respected we will become as an industry.