Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Using Python For SEO And Report Automation

The first production Google crawler, unfortunately named "Backrub", was written using Python back when the language was fairly new. It’s no secret that the SEO community has glommed onto Python as a promising programming language that provides us something relatively easy to learn and a great number of valuable features, ready-to-use packages, and native publishing outlets. Find out what makes Python so powerful for the SEO community and get inspired with projects that automate and assist data tasks that we all get into as SEO practitioners.

After this session, you'll be able to:

Discover how easy it is to learn a little Python from "100-days of code" projects
Come away with useful automation projects you can tweak when back at work
Know where to get help, learn more, or engage the community by sharing your projects

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen
  • Als Erste(r) kommentieren

Using Python For SEO And Report Automation

  1. 1. @SPEAKERNAME/#SMX Ruth Everett Technical SEO Analyst @rvtheverett Using Python For SEO And Report Automation
  2. 2. @SPEAKERNAME/#SMX Allow: /dogs Allow: /SEO Allow: /python My coding partner in crime @rvtheverett @deepcrawl #SMX
  3. 3. @SPEAKERNAME/#SMX PROBLEM SEOs are busy
  4. 4. @SPEAKERNAME/#SMX SOLUTION Automation
  5. 5. @SPEAKERNAME/#SMX Enter Data Analysis & Automation with Python @rvtheverett @deepcrawl #SMX
  6. 6. @SPEAKERNAME/#SMX What we’ll cover ● Getting started with Python ● How Python can help with Technical SEO ● Adding Python to your SEO workflow
  7. 7. @SPEAKERNAME/#SMX GETTING STARTED WITH PYTHON
  8. 8. @SPEAKERNAME/#SMX Before @rvtheverett @deepcrawl #SMX
  9. 9. @SPEAKERNAME/#SMX Now @rvtheverett @deepcrawl #SMX
  10. 10. @SPEAKERNAME/#SMX ● General purpose programming language ● Interpreted line by line ● Object orientated ● Designed to be readable ● Open source ● Interactive What is Python? @rvtheverett @deepcrawl #SMX
  11. 11. @SPEAKERNAME/#SMX Code written in the terminal What is Python? @rvtheverett @deepcrawl #SMX
  12. 12. @SPEAKERNAME/#SMX Results generated below What is Python? @rvtheverett @deepcrawl #SMX
  13. 13. @SPEAKERNAME/#SMX Companies Using Python @rvtheverett @deepcrawl #SMX
  14. 14. @SPEAKERNAME/#SMX Companies Using Python "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." @rvtheverett @deepcrawl #SMX
  15. 15. @SPEAKERNAME/#SMX Companies Using Python "Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers" @rvtheverett @deepcrawl #SMX
  16. 16. @SPEAKERNAME/#SMX Codecademy ● 20 week online course ● Mixture of theory and practical ● A range of projects to undertake ● Code console & terminal to play and test @rvtheverett @deepcrawl #SMX
  17. 17. @SPEAKERNAME/#SMX Data Camp ● Wide range of skill tracks ● Interactive exercises ● Instant explanations ● Challenges and projects @rvtheverett @deepcrawl #SMX
  18. 18. @SPEAKERNAME/#SMX Solo Learn ● Free mobile app ● Learn Python on the go ● Over 200 practice questions ● Code Playground @rvtheverett @deepcrawl #SMX
  19. 19. @SPEAKERNAME/#SMX Codecombat @rvtheverett @deepcrawl #SMX
  20. 20. @SPEAKERNAME/#SMX Running Python Mac - Terminal Windows - Command Line @rvtheverett @deepcrawl #SMX
  21. 21. @SPEAKERNAME/#SMX Running Python Google Colab @rvtheverett @deepcrawl #SMX
  22. 22. @SPEAKERNAME/#SMX Running Python Jupyter Notebook @rvtheverett @deepcrawl #SMX
  23. 23. @SPEAKERNAME/#SMX Data extraction & analysis Scientific Computing Natural Language Processing Machine Learning Python Libraries @rvtheverett @deepcrawl #SMX
  24. 24. @SPEAKERNAME/#SMX Pandas ● Pandas is a Python module for working with tabular data ● Allows for high-level data manipulation ● Built on the Numpy package ● Key data structure is a DataFrame ● Handling DataFrames is Pandas’ version of a spreadsheet ● Not limited to Excel’s row and byte limits ● Much faster and more efficient compared to Excel @rvtheverett @deepcrawl #SMX
  25. 25. @SPEAKERNAME/#SMX Pandas @rvtheverett @deepcrawl #SMX
  26. 26. @SPEAKERNAME/#SMX Requests ● Used to make HTTP requests in Python. ● Abstracts the complexities of making requests behind a beautiful, simple API ● Uses different HTTP methods such as GET and POST to make a HTTP request @rvtheverett @deepcrawl #SMX
  27. 27. @SPEAKERNAME/#SMX Requests @rvtheverett @deepcrawl #SMX
  28. 28. @SPEAKERNAME/#SMX Requests @rvtheverett @deepcrawl #SMX
  29. 29. @SPEAKERNAME/#SMX https://colab.research.google.com/drive/1UoDvvREq5s0cURuLo71v_PT7zfK1oyiN#scrollTo=cW7Ivpa2NsCM Requests @rvtheverett @deepcrawl #SMX
  30. 30. @SPEAKERNAME/#SMX Beautiful Soup ● A Python library for pulling data out of HTML and XML files. ● Often used for web scraping ● Transforms a complex HTML document into a complex tree of Python objects, such as tag, navigable string, or comments @rvtheverett @deepcrawl #SMX
  31. 31. @SPEAKERNAME/#SMX Beautiful Soup @rvtheverett @deepcrawl #SMX
  32. 32. @SPEAKERNAME/#SMX Beautiful Soup @rvtheverett @deepcrawl #SMX
  33. 33. @SPEAKERNAME/#SMX HOW PYTHON CAN HELP WITH TECHNICAL SEO
  34. 34. @SPEAKERNAME/#SMX ● Automating repetitive tasks ● Data extraction and analysis to solve complex problems ● Efficiency and time-saving ● Future-proofing your job Why Should You Care? @rvtheverett @deepcrawl #SMX
  35. 35. @SPEAKERNAME/#SMX Why should you care? Spend 5 hours a week using excel
  36. 36. @SPEAKERNAME/#SMX Why should you care? Spend 5 hours a week using excel Thats 20 hours a month
  37. 37. @SPEAKERNAME/#SMX Why should you care? Spend 5 hours a week using excel Thats 20 hours a month Over 200 hours a year
  38. 38. @SPEAKERNAME/#SMX Why should you care? Imagine what we could achieve if we spent this time on other important tasks (that can’t be automated)
  39. 39. @SPEAKERNAME/#SMX
  40. 40. @SPEAKERNAME/#SMX
  41. 41. @SPEAKERNAME/#SMX
  42. 42. @SPEAKERNAME/#SMX
  43. 43. @SPEAKERNAME/#SMX
  44. 44. @SPEAKERNAME/#SMX
  45. 45. @SPEAKERNAME/#SMX ● Better understand data ● Make data driven decisions ● Provide concrete insights ● Confidence in recommendations ● Allowing us to focus on other important optimisation efforts Why Python is Growing in Popularity @rvtheverett @deepcrawl #SMX
  46. 46. @SPEAKERNAME/#SMX Automating with Python Automating with Python Parameter Finder 404 Checker Internal Linking Analysis Image Optimisation Website Scraping Keyword Research
  47. 47. @SPEAKERNAME/#SMX CHALLENGE - MISSING ALT TEXT SOLUTION - IMAGE CAPTIONING WITH PYTHIA @rvtheverett @deepcrawl #SMX
  48. 48. @SPEAKERNAME/#SMX CHALLENGE - MISSING ALT TEXT SOLUTION - IMAGE CAPTIONING WITH PYTHIA @rvtheverett @deepcrawl #SMX
  49. 49. @SPEAKERNAME/#SMX Pythia Modular Framework https://paperswithcode.com/paper/bottom-up-and-top-down-attention-for-image https://learnpythia.readthedocs.io/en/latest/ Image Captioning
  50. 50. @SPEAKERNAME/#SMXGoogle Colab Link @rvtheverett @deepcrawl #SMX Image Captioning
  51. 51. @SPEAKERNAME/#SMX @rvtheverett @deepcrawl #SMX Image Captioning
  52. 52. @SPEAKERNAME/#SMX @rvtheverett @deepcrawl #SMX Image Captioning
  53. 53. @SPEAKERNAME/#SMX @rvtheverett @deepcrawl #SMX Image Captioning
  54. 54. @SPEAKERNAME/#SMX It’s not perfect though! Image Captioning @rvtheverett @deepcrawl #SMX
  55. 55. @SPEAKERNAME/#SMX CHALLENGE - LARGE IMAGE FILE SIZES @rvtheverett @deepcrawl #SMX
  56. 56. @SPEAKERNAME/#SMX CHALLENGE - LARGE IMAGE FILE SIZES SOLUTION - OPTIMISE IMAGES @rvtheverett @deepcrawl #SMX
  57. 57. @SPEAKERNAME/#SMX Pure Python using the Pillow library optimize-images filename.jpg Optimise a single image optimize-images ./ Optimise a folder with multiple images Github Link Optimise Images @rvtheverett @deepcrawl #SMX
  58. 58. @SPEAKERNAME/#SMX Optimise Images @rvtheverett @deepcrawl #SMX
  59. 59. @SPEAKERNAME/#SMX Optimise Images @rvtheverett @deepcrawl #SMX
  60. 60. @SPEAKERNAME/#SMX Optimise Images @rvtheverett @deepcrawl #SMX
  61. 61. @SPEAKERNAME/#SMX Original Optimised Optimise Images @rvtheverett @deepcrawl #SMX
  62. 62. @SPEAKERNAME/#SMX UNDERSTANDING PAGERANK @rvtheverett @deepcrawl #SMX
  63. 63. @SPEAKERNAME/#SMX UNDERSTANDING PAGERANK Understanding PageRank @rvtheverett @deepcrawl #SMX
  64. 64. @SPEAKERNAME/#SMX https://colab.research.google.com/drive/1zQ8VFcNmwVLKEMwJ3lhTginPoSC5TdpB Understanding PageRank
  65. 65. @SPEAKERNAME/#SMX No coding knowledge required!
  66. 66. @SPEAKERNAME/#SMX ADDING PYTHON TO YOUR SEO WORKFLOW
  67. 67. @SPEAKERNAME/#SMX Think about what you can automate! Adding Python to Your Workflow
  68. 68. @SPEAKERNAME/#SMX Segmenting Pages Grouping pages dependent on their URL structure. @rvtheverett @deepcrawl #SMX
  69. 69. @SPEAKERNAME/#SMX Segmenting Pages Grouping pages dependent on their URL structure. @rvtheverett @deepcrawl #SMX
  70. 70. @SPEAKERNAME/#SMX Segmenting Pages Grouping pages dependent on their URL structure. @rvtheverett @deepcrawl #SMX
  71. 71. @SPEAKERNAME/#SMX Segmenting Pages Grouping pages dependent on their URL structure. @rvtheverett @deepcrawl #SMX
  72. 72. @SPEAKERNAME/#SMX Segmenting Pages Grouping pages dependent on their URL structure. @rvtheverett @deepcrawl #SMX
  73. 73. @SPEAKERNAME/#SMX Redirect Relevancy Reviewing how relevant a redirect has been, based on the pre and post migration category and depth @rvtheverett @deepcrawl #SMX
  74. 74. @SPEAKERNAME/#SMX Redirect Relevancy Reviewing how relevant a redirect has been, based on the pre and post migration category and depth @rvtheverett @deepcrawl #SMX
  75. 75. @SPEAKERNAME/#SMX Redirect Relevancy @rvtheverett @deepcrawl #SMX
  76. 76. @SPEAKERNAME/#SMX Redirect Relevancy @rvtheverett @deepcrawl #SMX
  77. 77. @SPEAKERNAME/#SMX Internal Link Analysis Identify which sections of the site are linked to the most. Does this impact performance? Are there sections we can improve with internal linking? @rvtheverett @deepcrawl #SMX
  78. 78. @SPEAKERNAME/#SMX Internal Link Analysis @rvtheverett @deepcrawl #SMX
  79. 79. @SPEAKERNAME/#SMX Internal Link Analysis @rvtheverett @deepcrawl #SMX
  80. 80. @SPEAKERNAME/#SMX Internal Link Analysis @rvtheverett @deepcrawl #SMX
  81. 81. @SPEAKERNAME/#SMX Log File Analysis Identify which sections of the site are crawled by Googlebot the most over time @rvtheverett @deepcrawl #SMX
  82. 82. @SPEAKERNAME/#SMX Log File Analysis @rvtheverett @deepcrawl #SMX
  83. 83. @SPEAKERNAME/#SMX Log File Analysis @rvtheverett @deepcrawl #SMX
  84. 84. @SPEAKERNAME/#SMX Log File Analysis @rvtheverett @deepcrawl #SMX
  85. 85. @SPEAKERNAME/#SMX Log File Analysis
  86. 86. @SPEAKERNAME/#SMX Log File Analysis
  87. 87. @SPEAKERNAME/#SMX Merging Crawl Data with Analytics Data @rvtheverett @deepcrawl #SMX
  88. 88. @SPEAKERNAME/#SMX Merging Crawl Data with GSC Data Merging Google Search Console data (impressions, clicks, CTR, position with crawl data and metrics such as internal links. @rvtheverett @deepcrawl #SMX
  89. 89. @SPEAKERNAME/#SMX Merging Crawl Data with GSC Data Merging Google Search Console data (impressions, clicks, CTR, position with crawl data and metrics such as internal links. @rvtheverett @deepcrawl #SMX
  90. 90. @SPEAKERNAME/#SMX Page Speed Insights API Measure key performance metrics at scale, in order to save time spent manually testing each URL using Google’s Page Speed Insights API. @rvtheverett @deepcrawl #SMX
  91. 91. @SPEAKERNAME/#SMX Page Speed Insights API @rvtheverett @deepcrawl #SMX
  92. 92. @SPEAKERNAME/#SMX Page Speed Insights API https://colab.research.google.com/drive/1Oe1VTocg21KIVDqROXSt15H6CoO905D0
  93. 93. @SPEAKERNAME/#SMX Page Speed Insights API @rvtheverett @deepcrawl #SMX
  94. 94. @SPEAKERNAME/#SMX Page Speed Insights API @rvtheverett @deepcrawl #SMX
  95. 95. @SPEAKERNAME/#SMX Page Speed Insights API @rvtheverett @deepcrawl #SMX
  96. 96. @SPEAKERNAME/#SMX Core Web Vitals Analysis On a template basis to identify pages performing worst and which need to be prioritised. @rvtheverett @deepcrawl #SMX
  97. 97. @SPEAKERNAME/#SMX Core Web Vitals Analysis On a template basis to identify pages performing worst and which need to be prioritised. @rvtheverett @deepcrawl #SMX
  98. 98. @SPEAKERNAME/#SMX Core Web Vitals Analysis On a template basis to identify pages performing worst and which need to be prioritised. @rvtheverett @deepcrawl #SMX
  99. 99. @SPEAKERNAME/#SMX Core Web Vitals Analysis On a template basis to identify pages performing worst and which need to be prioritised. @rvtheverett @deepcrawl #SMX
  100. 100. @SPEAKERNAME/#SMX Google Trends Automate the process of downloading different reports from Google Trends to collect data using the different methods available within the Pytrends API @rvtheverett @deepcrawl #SMX Interest over time Suggestions
  101. 101. @SPEAKERNAME/#SMX Google Trends @rvtheverett @deepcrawl #SMX
  102. 102. @SPEAKERNAME/#SMX Google Trends @rvtheverett @deepcrawl #SMX
  103. 103. @SPEAKERNAME/#SMX NLP Google’s NLP Model Natural Language uses machine learning to reveal the structure and meaning of text. Analyses text to understand the sentiment, as well as extract key information. https://cloud.google.com/natural-language/ @rvtheverett @deepcrawl #SMX
  104. 104. @SPEAKERNAME/#SMX NLP @rvtheverett @deepcrawl #SMX
  105. 105. @SPEAKERNAME/#SMX NLP
  106. 106. @SPEAKERNAME/#SMX NLP @BritneyMuller https://github.com/BritneyMuller/colab-notebooks
  107. 107. @SPEAKERNAME/#SMX Entity Salience NLP @rvtheverett @deepcrawl #SMX
  108. 108. @SPEAKERNAME/#SMX NLP Entity Categorisation @rvtheverett @deepcrawl #SMX
  109. 109. @SPEAKERNAME/#SMX Create a bot using Python, Telegram and RandomDog API https://www.practicepython.org/ https://realpython.com/pygame-a-primer/ https://inventwithpython.com/pygame/ Other Fun Projects @rvtheverett @deepcrawl #SMX
  110. 110. @SPEAKERNAME/#SMX Understand and solve problems faster @rvtheverett @deepcrawl #SMX
  111. 111. @SPEAKERNAME/#SMX Make data driven decisions @rvtheverett @deepcrawl #SMX
  112. 112. @SPEAKERNAME/#SMX Focus on other important optimisation activities @rvtheverett @deepcrawl #SMX
  113. 113. @SPEAKERNAME/#SMX
  114. 114. @SPEAKERNAME/#SMX TALK TO YOUR DEVELOPERS
  115. 115. @SPEAKERNAME/#SMX JOIN COMMUNITIES https://pyslackers.com/web @rvtheverett @deepcrawl #SMX
  116. 116. @SPEAKERNAME/#SMX https://www.100daysofcode.com/ KEEP PRACTICING AND HAVE FUN @rvtheverett @deepcrawl #SMX
  117. 117. @SPEAKERNAME/#SMX Start a Project (doesn’t have to be SEO related!) @rvtheverett @deepcrawl #SMX
  118. 118. @SPEAKERNAME/#SMX Start a Project (doesn’t have to be SEO related!) Rock, Paper, Scissors URL Shortener @rvtheverett @deepcrawl #SMX
  119. 119. @SPEAKERNAME/#SMX Start a Project (doesn’t have to be SEO related!) Website Blocker Language Translator @rvtheverett @deepcrawl #SMX
  120. 120. @SPEAKERNAME/#SMX Keep a Log of Your Progress @rvtheverett @deepcrawl #SMX
  121. 121. @SPEAKERNAME/#SMX Share Your Progress @rvtheverett @deepcrawl #SMX
  122. 122. @SPEAKERNAME/#SMX PEOPLE TO FOLLOW @britneymuller @hamletbatista @TylerReardon @DataChaz @dawnieando @jroakes @jessthebp @aysunakarsu @math_rachel
  123. 123. @SPEAKERNAME/#SMX DEEPCRAWL PROFESSIONAL SERVICES
  124. 124. @SPEAKERNAME/#SMX Python can help technical SEOs increase their efficiency. Being able to better understand data will lead to better decisions being made. Anyone can learn Python, with a little commitment. Have fun with it and see what you can create. Key Takeaway @rvtheverett @deepcrawl #SMX
  125. 125. @SPEAKERNAME/#SMX Key Takeaway @rvtheverett @deepcrawl #SMX
  126. 126. @SPEAKERNAME/#SMX Ruth Everett Technical SEO Analyst @rvtheverett Thank you
  127. 127. @SPEAKERNAME/#SMX SEE YOU AT THE NEXT SMX!

×