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.

Automate, Create Tools, & Test Ideas Quickly with Google Apps Script

207 views

Published on

Dave Sottimano's slides from TechSEO Boost 2019

Published in: Marketing
  • Be the first to comment

Automate, Create Tools, & Test Ideas Quickly with Google Apps Script

  1. 1. Dave Sottimano | @dsottimano | #TechSEOBoost #TechSEOBoost | @CatalystSEM THANK YOU TO THIS YEAR’S SPONSORS Automate, Create Tools, & Test Ideas Quickly with Google Apps Script David Sottimano, Keyphraseology
  2. 2. Dave Sottimano | @dsottimano | #TechSEOBoost Dave Sottimano TechSEO Boost 2019 Apps Script for SEO
  3. 3. Dave Sottimano | @dsottimano | #TechSEOBoost We’re going to talk about.. JavaScript!
  4. 4. Dave Sottimano | @dsottimano | #TechSEOBoost and Spreadsheets!
  5. 5. Dave Sottimano | @dsottimano | #TechSEOBoost +
  6. 6. Dave Sottimano | @dsottimano | #TechSEOBoost Meet the new “you”Results not guaranteed. Actually, no matter how much you do apps script, you’ll probably never be as jacked as this guy.
  7. 7. Dave Sottimano | @dsottimano | #TechSEOBoost Am I masochistic? Why not just use Python?
  8. 8. Dave Sottimano | @dsottimano | #TechSEOBoost To make programming accessible in everyday tools. Generated Humans Credit: thispersondoesnotexist.com
  9. 9. Dave Sottimano | @dsottimano | #TechSEOBoost Because I don’t like your interface
  10. 10. Dave Sottimano | @dsottimano | #TechSEOBoost Because you’re going to do this anyway.
  11. 11. Dave Sottimano | @dsottimano | #TechSEOBoost Serverless Free Integrated
  12. 12. Dave Sottimano | @dsottimano | #TechSEOBoost Magic lives here
  13. 13. Dave Sottimano | @dsottimano | #TechSEOBoost
  14. 14. Dave Sottimano | @dsottimano | #TechSEOBoost My problem with spreadsheets
  15. 15. Dave Sottimano | @dsottimano | #TechSEOBoost Generic formulas become a mess. =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTIT UTE(C5,"the",""),"Hat",""),"written",""),"@","")
  16. 16. Dave Sottimano | @dsottimano | #TechSEOBoost What if you could do this? =SUBSTITUTE_ALL(a1,“the,Hat,@,written”,””) https://moz.com/blog/search-volume-data-excel - Psst, this isn’t new. Richard Baxter in 2011
  17. 17. Dave Sottimano | @dsottimano | #TechSEOBoost How do you parse the path here? https://www.local10.com/news/weird- news/burglar-wears-clear-plastic-wrapper-as- disguise-to-rob-gamestop
  18. 18. Dave Sottimano | @dsottimano | #TechSEOBoost Not fit for purpose, hard to modify and explain. =MID(A1,FIND("*",SUBSTITUTE(A1,"/","*",LEN(A1) -LEN(SUBSTITUTE(A1,"/",""))))+1,LEN(A1))
  19. 19. Dave Sottimano | @dsottimano | #TechSEOBoost How about this instead? =PARSE_URI(a2,”path”) burglar-wears-clear-plastic-wrapper-as- disguise-to-rob-gamestop
  20. 20. Dave Sottimano | @dsottimano | #TechSEOBoost How do you GET Google search results?
  21. 21. Dave Sottimano | @dsottimano | #TechSEOBoost Skip the middleman
  22. 22. Dave Sottimano | @dsottimano | #TechSEOBoost cool? cool
  23. 23. Dave Sottimano | @dsottimano | #TechSEOBoost JavaScript functions are Custom formulas. Note: Apps Script is ECMA 2015
  24. 24. Dave Sottimano | @dsottimano | #TechSEOBoost Now, we can call the function as a formula! Note: Apps Script is ECMA 2015
  25. 25. Dave Sottimano | @dsottimano | #TechSEOBoost There’s thousands of functions ready to be adapted.
  26. 26. Dave Sottimano | @dsottimano | #TechSEOBoost IT’S JUST JAVASCRIPT… IN A SPREADSHEET...
  27. 27. Dave Sottimano | @dsottimano | #TechSEOBoost
  28. 28. Dave Sottimano | @dsottimano | #TechSEOBoost
  29. 29. Dave Sottimano | @dsottimano | #TechSEOBoost 1. Sensor to monitor garden 2. Store in Google sheets 3. Apps script email if the soil is too dry 4. Set event in calendar to water plants
  30. 30. Dave Sottimano | @dsottimano | #TechSEOBoost pulse.appsscript.info is where the cool kids are.
  31. 31. Dave Sottimano | @dsottimano | #TechSEOBoost FINE, GO PLAY WITH YOUR 100 ROWS OF DATA.
  32. 32. Dave Sottimano | @dsottimano | #TechSEOBoost gsuite.google.com/campaigns/index__sheets-connectedsheet.html
  33. 33. Dave Sottimano | @dsottimano | #TechSEOBoost Code for this presentation! Make a copy of the spreadsheet to access the functions: bit.do/techseo Or get the code: bit.do/techseo-code
  34. 34. Dave Sottimano | @dsottimano | #TechSEOBoost Clean and manipulate data quickly in sheets
  35. 35. Dave Sottimano | @dsottimano | #TechSEOBoost Parse URLs quickly =PARSE_URI(URL,PART) https://www.example.com/directory/path-to-page.pdf Root: example.com Subdomain: www.example.com Path: /directory/path-to-page.pdf File: path-to-page.pdf
  36. 36. Dave Sottimano | @dsottimano | #TechSEOBoost
  37. 37. Dave Sottimano | @dsottimano | #TechSEOBoost Don’t remember the formula? Just start typing. Powered by JS Doc
  38. 38. Dave Sottimano | @dsottimano | #TechSEOBoost example.com/directory/567/~!page.html example.com/directory/56789/!page.html example.com/@directory/56789/~page.php =SUBSTITUTE_ALL(“@,.html,!,.php”,a1)
  39. 39. Dave Sottimano | @dsottimano | #TechSEOBoost
  40. 40. Dave Sottimano | @dsottimano | #TechSEOBoost Combine multiple columns to one column?
  41. 41. Dave Sottimano | @dsottimano | #TechSEOBoost =COMBINE_TO_COLUMN(A1:B200)
  42. 42. Dave Sottimano | @dsottimano | #TechSEOBoost Leverage any API (UrlFetchApp)
  43. 43. Dave Sottimano | @dsottimano | #TechSEOBoost Scrape Google search results reliably Get an API key first, serpapi.com
  44. 44. Dave Sottimano | @dsottimano | #TechSEOBoost In the code, add your API Key
  45. 45. Dave Sottimano | @dsottimano | #TechSEOBoost =GOOGLE_SEARCH(“tech seo boost”)
  46. 46. Dave Sottimano | @dsottimano | #TechSEOBoost =GOOGLE_FEATURED_SNIPPET(“why is the sky blue”)
  47. 47. Dave Sottimano | @dsottimano | #TechSEOBoost Create your own auto- suggest bit.do/g-suggest
  48. 48. Dave Sottimano | @dsottimano | #TechSEOBoost Simple and free. Create your own interface bit.do/g-suggest
  49. 49. Dave Sottimano | @dsottimano | #TechSEOBoost Use Python from a Google Cloud Function (API) 2 gb, Python 3.7 serverless Python through the GCF https://cloud.google.com/functio ns/docs/quickstart-python
  50. 50. Dave Sottimano | @dsottimano | #TechSEOBoost Limitless applications via APIs Cloud based headless browsers: Proxycrawl.com Phantomjscloud.com Semrush API Library https://opensourceseo.org/semr ush-api-library-google-sheets- google-scripts/
  51. 51. Dave Sottimano | @dsottimano | #TechSEOBoost Packaging through add-ons and Document automation
  52. 52. Dave Sottimano | @dsottimano | #TechSEOBoost “Private add-ons are only visible to users in the same domain as the add-on publishing account. They can't be installed by outside users. Private add-ons do not require add-on review” https://developers.google.com/gsuite/add-ons/how-tos/publish-overview
  53. 53. Dave Sottimano | @dsottimano | #TechSEOBoost Develop for your organization through private add-ons
  54. 54. Dave Sottimano | @dsottimano | #TechSEOBoost Private add-ons
  55. 55. Dave Sottimano | @dsottimano | #TechSEOBoost
  56. 56. Dave Sottimano | @dsottimano | #TechSEOBoost Solving SEO Problems with Apps Script
  57. 57. Dave Sottimano | @dsottimano | #TechSEOBoost Check if indexed & Find 301 targets.
  58. 58. Dave Sottimano | @dsottimano | #TechSEOBoost =GOOGLE_SEARCH(“https://www.google.com”) Query parameter is the verbatim URL
  59. 59. Dave Sottimano | @dsottimano | #TechSEOBoost Same function. Better way of running it
  60. 60. Dave Sottimano | @dsottimano | #TechSEOBoost =GOOGLE_SEARCH(“site:seland.com python”) Find best matched possible 301 targets
  61. 61. Dave Sottimano | @dsottimano | #TechSEOBoost Cache copies of pages & Change monitoring.
  62. 62. Dave Sottimano | @dsottimano | #TechSEOBoost To save, add https://web.archive.org/save/ to the start of a URL A GET request to this will save the page! https://web.archive.org/save/https://opensourceseo.org/ Save Pages > Chron > Import Captures > Compare
  63. 63. Dave Sottimano | @dsottimano | #TechSEOBoost Save Pages > Chron > Import Captures > Compare In the code, add your URLs into the array
  64. 64. Dave Sottimano | @dsottimano | #TechSEOBoost Save Pages > Chron > Import Captures > Compare
  65. 65. Dave Sottimano | @dsottimano | #TechSEOBoost Save Pages > Chron > Import Captures > Compare
  66. 66. Dave Sottimano | @dsottimano | #TechSEOBoost Save Pages > Chron > Import Captures > Compare
  67. 67. Dave Sottimano | @dsottimano | #TechSEOBoost Save Pages > Chron > Import Captures > Compare
  68. 68. Dave Sottimano | @dsottimano | #TechSEOBoost Save Pages > Chron > Import Captures > Compare
  69. 69. Dave Sottimano | @dsottimano | #TechSEOBoost Machine learning classification < 10 minutes
  70. 70. Dave Sottimano | @dsottimano | #TechSEOBoost BIGML.COM For free. Accessible to any Google sheet. https://bigml.com/features/class ification-regression
  71. 71. Dave Sottimano | @dsottimano | #TechSEOBoost Training Data > Create Model > Classify Keyword data from Semrush Nytimes.com = informational Yelp.com = local Amazon.com = transactional
  72. 72. Dave Sottimano | @dsottimano | #TechSEOBoost Training Data > Create Model > Classify
  73. 73. Dave Sottimano | @dsottimano | #TechSEOBoost Training Data > Create Model > Classify
  74. 74. Dave Sottimano | @dsottimano | #TechSEOBoost Install the Bigml.com addon for sheets
  75. 75. Dave Sottimano | @dsottimano | #TechSEOBoost Install the Bigml.com addon for sheets
  76. 76. Dave Sottimano | @dsottimano | #TechSEOBoost
  77. 77. Dave Sottimano | @dsottimano | #TechSEOBoost Training Data > Create Model > Classify
  78. 78. Dave Sottimano | @dsottimano | #TechSEOBoost Where to go from here?
  79. 79. Dave Sottimano | @dsottimano | #TechSEOBoost Want to learn JavaScript? JavaScript track on Freecodecamp.org Book: JavaScript - the good parts
  80. 80. Dave Sottimano | @dsottimano | #TechSEOBoost Want to learn Apps Script? Follow this list on Twitter Stack Overflow Google documentation Starter guide on opensourceseo.org Ben Collin’s guides
  81. 81. Dave Sottimano | @dsottimano | #TechSEOBoost Hire an Apps Script developer?
  82. 82. Dave Sottimano | @dsottimano | #TechSEOBoost Will Apps Script Upgrade?
  83. 83. Dave Sottimano | @dsottimano | #TechSEOBoost Currently building seotoolsforsheets.com VP @ Keyphraseology.com –Dave Sottimano Twitter: @dsottimano
  84. 84. Dave Sottimano | @dsottimano | #TechSEOBoost Image credits https://www.reddit.com/user/nwsm/ https://giphy.com/gifs/whoa-hd-tim-and-eric-xT0xeJpnrWC4XWblEk/media
  85. 85. Dave Sottimano | @dsottimano | #TechSEOBoost Thanks for Viewing the Slideshare! – Watch the Recording: https://youtube.com/session-example Or Contact us today to discover how Catalyst can deliver unparalleled SEO results for your business. https://www.catalystdigital.com/

×