March 3rd 2020: Following the release of part two of this series, we’ve moved content for part one from here onto it’s own page.

There are many reasons why SEO’s may wish to learn a programming language. This guide deals with the “how”, rather than the “why”. If you have arrived here wondering if Python ( or programming ) is for you – a great starting point is Britney Muller’s fantastic whiteboard Friday which covers the benefits of learning to program.

So why another guide? There are a great many “learn Python” tutorials out there. However – many are aimed at people wanting to program, rather than get things done. We felt it would be beneficial to the SEO community to take a different approach – introducing enough of the basics to find your way around the language, and then look at some more industry specific use cases.

That’s our philosophy: Just enough theory followed by practical.

Who is this Guide for?

This series is aimed at two groups of people – Technical SEO’s who want to learn Programming and Computer Programmers who want to understand more about SEO.

If you are a Technical SEO – The early parts of this series are aimed at you! You will be introduced to programming from first concepts, using examples we hope are reasonably familiar to you. You may have some programming experience ( perhaps without realising it ? ). Maybe you’ve done some programming in school, or written a few complex excel macros, or business rules in Zendesk. This series aims to build upon this level of knowledge to introduce Python in a practical way that is of benefit to SEO activity.

If you are a Software developer – Welcome! Some of the early material may be familiar to you – but a scan may be beneficial. After our SEO-Savvy audience has been introduced to the technicalities of programming, we hope to produce content you may find interesting. You may find it helpful to begin this course with our Beginners Guide to Search Engine Optimisation

Why two Audiences? We initally aimed this series at the growing number of Technical SEO’s who are becoming interested in Python. However, we’ve also had positive feedback from developers interested in SEO.

While we may feature Majestic Data on occasions ( this is Python for SEO after all ) – don’t worry – there will be lots of benefit that will not require a Majestic subscription to realise.

Why Python?

In the hands of a capable developer, the choice in languages becomes a toolbox – choosing one is a matter of the developer deciding which is most appropriate for a given task.

Given there are so many languages out there ( Java, C#, Javascript, Go, Erlang, Ruby … ), a question you may ask is “why did we select Python for this course?”

There are a few reasons why we decided to choose Python for this course:

1) Popularity – Python is not only popular but growing in popularity
2) Ease of use – Python can be easier to get into than some other languages
3) Free – Python has great tooling available at little cost
4) Applicability to data analysis. Python is growing in popularity and tends to be one of the languages of choice for data analysis
5) Material – There is loads of material out there for learning Python and a great support community.

We hope you get a lot from this course, but hope it goes without saying that we cannot consider every eventuality or guarentee suitability – this material is presented on an as-is, and without warentee basis.

Get Started!

This is the introduction to a multipart series “Learn Python For SEO“:

Contents: This page – “Learn Python For SEO” is an overview of the course.
Part 1: “Thinking in Algorithms and Writing Pseudocode“, Introduces the fundamental programming concepts you will need to get the most out of practical exercises later.
Part 2, “Python – A practical introduction” Gives a hands-on guide to Python using an online Python Interpreter – no complex software installation required. You’ll start with “Hello World” and end up extracting content from a web page!
Part 3:Python – Install Python and Download Your First Website” moves to using a local IDE leveraging Python to download webpages en masse.

This post will be updated as new sections are released.

Your feedback welcome!

Feel free to add a comment to this post if you have any queries with the content of it. We will be more than happy to answer on-topic programming related questions in the comments following each post, but please keep in mind that we cannot offer support for your programs or bespoke software development. Our aim is to help you establish a foundation of programming skill that can help you get more out of SEO by showing how tasks can be automated using short programs.

Steve Pitchford
Latest posts by Steve Pitchford (see all)

Comments

  • Joe Knapp

    I am impressed. You have caught my attention with Python. Looking forward to future articles and SEO examples.

    January 21, 2020 at 4:08 pm
    • Steve Pitchford

      Thanks Joe,

      We will move onto coding in Python in the next post in the series. The motivation behind this post was to provide background reading to try to explain the conceptual building blocks of programming. Hopefully this will make the next step easier!

      I do hope you follow the series – it’d be great to have feedback from you as we progress!

      Steve

      January 21, 2020 at 5:43 pm
  • Eric

    I’m a programmer already (been a software engineer for around 20 years). You got my attention with how you can use programming for SEO.

    How much will you dig into actual uses of Python for SEO? I know here it’s primarily a lesson in what programming is and how to do it, but I’d be open to ideas in how to structure automation for SEO "busy work" using Python (or other languages). I know there’s a lot of raw work in SEO that could be automated – I’m interested to hear Majestic’s take on what would most benefit from this type of attention.

    January 21, 2020 at 5:57 pm
    • Steve Pitchford

      Hi Eric,

      As an experienced developer, It’s probably going to be the case that the first few episodes of this series cover very familiar ground – I’m hoping we can take as many tech hungry SEO geeks on this journey as possible.

      We have planned a few posts ahead, and do have some ideas for projects that we will come onto – however – we are also very open to suggestions – either here or via the support channel.

      I’m hoping that you can stay involved, as we will start to look at some of the tooling out there and I’d really appreciate input existing developers may have to help us build a valuable resource for the community!

      January 21, 2020 at 6:37 pm
  • Dibakar Bala

    This is so amazing. I am probably one of the rare SEO who is equally passionate about Data Analysis. I normally use R and always wanted to learn python. And finally Majestic had found the sweet spot of SEO+Python. No other better way for me to learn Python.

    January 21, 2020 at 9:36 pm
    • Steve Pitchford

      Wow Dibakar,

      SEO + R is a rare blend indeed! I’ve not done a lot of R – but I suspect elements of Python will be familiar – An example being module archives – Python has SciPy and PyPi wheras I believe R has CRAN – both presumably inspired by Perl’s CPAN.

      However, familiarity can hurt as well as benefit – especially "false friends" – code or practice that looks familiar but does something different on both platforms. Dikabar, please do shout if you see me gloss over something with inadaquate explanation – especially if there is a similar concept in R that is expressed differently.

      January 22, 2020 at 4:50 pm
  • Сергей Яновский

    I love Majestic and the SEO, in the Russian-speaking community of webmasters, the best course on Python for the SEO, which I know and passed from an excellent specialist, both in terms of programming and in terms of the SEO, this course from Sergey Chernenko – https://py4you.com/courses/python-for-seo/

    January 21, 2020 at 9:48 pm
  • Sean

    I am a LAMP stack developer at Vivid Software Solution although we have been able to automate some tasks via code, the bigger portion of grunt work we hire VA’s todo. I really like to bring that back utilizing code. Interested how this will evolve. Following.

    [ Link Removed ]

    January 22, 2020 at 4:23 am
  • Henry

    Great initiative.

    I have been building web sites since 1995 and always wanted to dive more into writing my own code. Have heard a lot about C#, Rust, Kotlin, Python and other languages but I never made myself time to dive into this. There are so many programming languages that I don’t know what’s the best language to learn. Can you explain a little the landscape of programming languages that are available and why Python would my best option?

    January 22, 2020 at 9:06 am
    • Steve Pitchford

      [Update] – I’ve moved the response to Henry’s excellent question into the content above!

      Hi Henry,

      Thanks for the kind words.

      I’m always cautious about promoting one language over another ( from a total geek perspective I’m a huge fan of the Domain Specific Language approach ).

      In the hands of a capable developer, the choice in languages becomes a toolbox – choosing one is a matter of the developer deciding which is most appropriate for a given task.

      I’ve personally used Perl and Java a fair bit, C# less so.

      I guess I’d like to try to answer your question by pivoting it to explain why we selected Python for this course:

      1) Popularity – Python is not only popular but growing in popularity
      2) Ease of use – Python can be easier to get into than some other languages
      3) Free – Python has great tooling available at little cost
      4) Applicability to data analysis. Python is growing in popularity and tends to be one of the languages of choice for data analysis
      5) Material – There is loads of material out there for learning Python and a great support community.

      I can’t tell you what your best option is – only you can decide that – but I hope you consider Python amongst other options for the reasons above.

      January 22, 2020 at 9:42 am
  • Michael Felt

    Hi Steve,

    Interesting article. Surprises how long a "blog" can get. Feels more like an article.

    I won’t say it "resonated" with me, and I am not sending an email. But I do want to make a style comment. Nowhere do you say what SEO means to you? I was taught to ALWAYS use the `full-length` name together with the abbreviation the first time it is used in the text.

    When I first saw the article title I assumed it stood for Search Engine Optimization, but after reading the article (sorry blog) – I have my doubts about what this is, other than a well written introduction to what programming is.

    Regards,
    Michael

    January 22, 2020 at 9:48 am
    • Steve Pitchford

      Hi Michael,

      Many thanks for the compliment and feedback!

      I’m massively flattered that you have found your way here – Majestic is a very recognised brand name in the SEO sphere ( to the point where we are still referred to as "Majestic SEO" by many ) – and hence I hadn’t anticipated an audience unfamiliar who would benefit from an explanation of SEO.

      I’ll make sure I take your points on board as we introduce the blend between SEO practice and technical implimentation – many thanks for the observation!

      Please do reach out as the series develops – I’d love to make this series as welcoming to developers wanting to know more about SEO as SEO’s wanting to know more about development.

      January 22, 2020 at 12:55 pm
  • ESLabs.ID

    I know about Python for data mining, Python for AI/ML, but Python for SEO is a new things for me, … great starting point…

    January 22, 2020 at 4:18 pm
  • Muhammad Hamid Khan

    After Read this blog, Will I Learn complete Python?, If NO, then where I have to go?

    January 23, 2020 at 5:26 am
  • Daniel Parscale

    Excellent introduction. I’m looking forward to the upcoming segments.

    January 24, 2020 at 10:35 pm
  • Michal

    Hi Stefan
    Very interesting article! Thanks for this.
    A great explanation for getting started with Python or other programming languages.

    January 28, 2020 at 7:39 pm
  • Dr Ajay

    Sounds Interesting. Always Available for Seo

    March 18, 2020 at 6:12 pm

Comments are closed.