Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TechSEO Boost 2018: Programming Basics for SEOs

111 views

Published on

Learn to code! You’ve heard it before, but starting seems like a monumental undertaking. It’s not. And, even a basic understanding of programming can pay off immensely. You’d be surprised by how much more efficiently and effectively you can work with your developer counterparts once you have a few easy concepts down. In this session, Catalyst’s Paul Shapiro will help get you started. Paul will discuss the fundamental components that make up a computer program and how you can easily leverage them to improve your work as an SEO. You’ll learn about basic concepts like loops, variables, if-else statements, functions, and arrays (they sound scarier than they are!), how to identify specific marketing tasks you do today that can benefit from basic programming skills and knowledge, how to pick your first programming language, and more.

Published in: Marketing
  • Be the first to comment

TechSEO Boost 2018: Programming Basics for SEOs

  1. 1. Paul Shapiro | @fighto | #TechSEOBoost Just Enough to Be Dangerous – Programming Basics for SEOs
  2. 2. Paul Shapiro | @fighto | #TechSEOBoost
  3. 3. Paul Shapiro | @fighto | #TechSEOBoost Why should I bother to learn to code?
  4. 4. Paul Shapiro | @fighto | #TechSEOBoost - Self-sufficient, less reliance on software with limitations - Able to better understand website construction and operation, able to make more practical recommendation and work better with web developers - Fewer data limitations - More efficient and effective work - Basic literacy
  5. 5. Paul Shapiro | @fighto | #TechSEOBoost
  6. 6. Paul Shapiro | @fighto | #TechSEOBoost Which programming language should I learn?
  7. 7. Paul Shapiro | @fighto | #TechSEOBoost Which programming language should I learn? - Don’t worry about it so much. There is not really a “better” programming language to learn and any programming language will be useful for the most part. - Focus on learning the logic! However if starting from scratch, I do have a couple of recommendations…
  8. 8. Paul Shapiro | @fighto | #TechSEOBoost Recommendations 1. JavaScript 2. Python
  9. 9. Paul Shapiro | @fighto | #TechSEOBoost JavaScript • An excellent option if you’re interested in web development. It’s the programming language of front-end web development and via Node.js one of the best options for backend development as well.
  10. 10. Paul Shapiro | @fighto | #TechSEOBoost Python • The better option if you’re interested in a versatile programming language that excels in data analysis and automation tasks. Note: Is an interpreted programming language, and isn’t the best option for GUI software or games
  11. 11. Paul Shapiro | @fighto | #TechSEOBoost What You Need for Python… 1. Python • Latest version: https://www.python.org • Or if more data analysis focused: • https://www.anaconda.com/download/ 2. Text Editor (with syntax highlighting as a minimum feature) • Windows • Notepad++, Sublime, Atom, Jupyter Notebook • Mac • TextWrangler, BBEdit, Atom, Sublime, Jupyter Notebook • Linux • VIM/Emacs probably, Jupyter Notebook
  12. 12. Paul Shapiro | @fighto | #TechSEOBoost Let’s Use Python as Our Example The Basics
  13. 13. Paul Shapiro | @fighto | #TechSEOBoost Hello World (let’s display some text) 1. Open text editor 2. Enter code print("Hello World") 3. Save as helloworld.py (or *.py) 4. Using command line and execute: python helloworld.py (python *.py)
  14. 14. Paul Shapiro | @fighto | #TechSEOBoost Variables Yes, like algebra: If x = 7, then x + 3 = 10. There different data types of variables: • Integer (numbers, no decimals) • Boolean (true and false) • String (text) • Etc. In some programming languages you have to define what type of variable you’re using. This isn’t the case in Python.
  15. 15. Paul Shapiro | @fighto | #TechSEOBoost Variables: Examples full_name = "Paul Shapiro" age = 29 is_seo = True boardgames = ["Gaia Project", "Great Western Trail", "Spirit Island"] String Number, Integer Boolean List, type of array
  16. 16. Paul Shapiro | @fighto | #TechSEOBoost Variables: Examples
  17. 17. Paul Shapiro | @fighto | #TechSEOBoost Conditional Statement • if, else, elif (else if) • if condition is true, then do something. Else, do something different. subject = { "animal": True, "temperament": “grumpy" } if (subject["animal"] == True and subject["temperament"] == “grumpy"): print("animal is a cat") elif (subject["animal"] == True and subject["temperament"] == "playful"): print("animal is a dog") else: print("It is something else") 1 2 3 4 5 6 7
  18. 18. Paul Shapiro | @fighto | #TechSEOBoost
  19. 19. Paul Shapiro | @fighto | #TechSEOBoost Conditional Statement
  20. 20. Paul Shapiro | @fighto | #TechSEOBoost Loops • while Loop: loop while a condition is true • for Loop: loop a specified number of times, and in Python, iterating over a sequence (list, tuple, dictionary, etc.)
  21. 21. Paul Shapiro | @fighto | #TechSEOBoost Loops – while Loop i = 1 while i <= 5: print(i) i += 1 1 2 3 4
  22. 22. Paul Shapiro | @fighto | #TechSEOBoost Loops – while Loop
  23. 23. Paul Shapiro | @fighto | #TechSEOBoost Loops – for Loop boardgames = ["Gaia Project", "Great Western Trail", "Spirit Island"] for x in boardgames: print(x) 1 2 3
  24. 24. Paul Shapiro | @fighto | #TechSEOBoost Loops – for Loop print(x)
  25. 25. Paul Shapiro | @fighto | #TechSEOBoost Functions Re-usable code blocks that can be passed data via “parameters”. def send_email(address): print("Email sent to " + address) send_email("foo@bar.com") 2 3 1
  26. 26. Paul Shapiro | @fighto | #TechSEOBoost Functions
  27. 27. Paul Shapiro | @fighto | #TechSEOBoost Libraries/Modules Build your own or use other people’s expanded code features. Notable for data analysis: • pandas • NumPy • matplotlib • tensorflow import requests import json import pandas as pd
  28. 28. Paul Shapiro | @fighto | #TechSEOBoost How to Work with APIs API Endpoint: http://api.grepwords.com/lookup?apikey=random_string&q=keyword String is unique to you (authentication) Variable, changes and often looped
  29. 29. Paul Shapiro | @fighto | #TechSEOBoost How to Work with APIs http://api.grepwords.com/lookup?apikey=random_string&q=board+games [{"keyword":"board games","updated_cpc":"2018-04-30","updated_cmp":"2018-04- 30","updated_lms":"2018-04-30","updated_history":"2018-04- 30","lms":246000,"ams":246000,"gms":246000,"competition":0.86204091185173,"co mpetetion":0.86204091185173,"cmp":0.86204091185173,"cpc":0.5,"m1":201000,"m1_ month":"2018-02","m2":246000,"m2_month":"2018- 01","m3":450000,"m3_month":"2017-12","m4":368000,"m4_month":"2017- 11","m5":201000,"m5_month":"2017-10","m6":201000,"m6_month":"2017- 09","m7":201000,"m7_month":"2017-08","m8":201000,"m8_month":"2017- 07","m9":201000,"m9_month":"2017-06","m10":201000,"m10_month":"2017- 05","m11":201000,"m11_month":"2017-04","m12":201000,"m12_month":"2017-03"}]
  30. 30. Paul Shapiro | @fighto | #TechSEOBoost Bringing Some Concepts Together import requests import json boardgames = ["Gaia Project", "Great Western Trail", "Spirit Island"] for x in boardgames: apiurl = http://api.grepwords.com/lookup?apikey=key&q= + x r = requests.get(apiurl) parsed_json = json.loads(r.text) print(parsed_json[0]['gms']) 1 2 3 4 5 6 7 8
  31. 31. Paul Shapiro | @fighto | #TechSEOBoost Bringing Some Concepts Together
  32. 32. Paul Shapiro | @fighto | #TechSEOBoost Learning Resources Python • https://www.learnpython.org/ • https://www.codecademy.com/learn/learn-python-3 • https://learnpythonthehardway.org/ • https://www.lynda.com/ JavaScript • Learn HTML + CSS first • https://www.codecademy.com/learn/introduction-to-javascript • https://www.lynda.com/ • https://www.freecodecamp.org/ Free with most library cards! Free with most library cards!
  33. 33. Paul Shapiro | @fighto | #TechSEOBoost Thanks a bunch! – Paul Shapiro @fighto https://searchwilderness.com Catalyst @CatalystSEM https://www.catalystdigital.com

×