Dhanuka Agritech Limited - Sales and Marketing Intern
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
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. Dave Sottimano | @dsottimano | #TechSEOBoost
Dave Sottimano
TechSEO Boost 2019
Apps Script for SEO
3. Dave Sottimano | @dsottimano | #TechSEOBoost
We’re going to talk
about..
JavaScript!
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. Dave Sottimano | @dsottimano | #TechSEOBoost
Am I masochistic? Why
not just use Python?
8. Dave Sottimano | @dsottimano | #TechSEOBoost
To make programming accessible in everyday tools.
Generated Humans Credit: thispersondoesnotexist.com
9. Dave Sottimano | @dsottimano | #TechSEOBoost
Because I don’t like your interface
10. Dave Sottimano | @dsottimano | #TechSEOBoost
Because you’re going to do this anyway.
11. Dave Sottimano | @dsottimano | #TechSEOBoost
Serverless
Free
Integrated
14. Dave Sottimano | @dsottimano | #TechSEOBoost
My problem with spreadsheets
15. Dave Sottimano | @dsottimano | #TechSEOBoost
Generic formulas become a mess.
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTIT
UTE(C5,"the",""),"Hat",""),"written",""),"@","")
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. 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. 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. Dave Sottimano | @dsottimano | #TechSEOBoost
How about this instead?
=PARSE_URI(a2,”path”)
burglar-wears-clear-plastic-wrapper-as-
disguise-to-rob-gamestop
20. Dave Sottimano | @dsottimano | #TechSEOBoost
How do
you GET
Google
search
results?
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. Dave Sottimano | @dsottimano | #TechSEOBoost
pulse.appsscript.info is where the cool kids are.
31. Dave Sottimano | @dsottimano | #TechSEOBoost
FINE, GO PLAY
WITH YOUR 100
ROWS OF DATA.
32. Dave Sottimano | @dsottimano | #TechSEOBoost
gsuite.google.com/campaigns/index__sheets-connectedsheet.html
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. Dave Sottimano | @dsottimano | #TechSEOBoost
Clean and manipulate
data quickly in sheets
40. Dave Sottimano | @dsottimano | #TechSEOBoost
Combine multiple columns to one column?
41. Dave Sottimano | @dsottimano | #TechSEOBoost
=COMBINE_TO_COLUMN(A1:B200)
42. Dave Sottimano | @dsottimano | #TechSEOBoost
Leverage any API
(UrlFetchApp)
43. Dave Sottimano | @dsottimano | #TechSEOBoost
Scrape Google search
results reliably
Get an API key first,
serpapi.com
44. Dave Sottimano | @dsottimano | #TechSEOBoost
In the code, add your API Key
45. Dave Sottimano | @dsottimano | #TechSEOBoost
=GOOGLE_SEARCH(“tech seo boost”)
46. Dave Sottimano | @dsottimano | #TechSEOBoost
=GOOGLE_FEATURED_SNIPPET(“why is the sky blue”)
47. Dave Sottimano | @dsottimano | #TechSEOBoost
Create your own auto-
suggest
bit.do/g-suggest
48. Dave Sottimano | @dsottimano | #TechSEOBoost
Simple and free.
Create your own
interface
bit.do/g-suggest
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. 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. Dave Sottimano | @dsottimano | #TechSEOBoost
Packaging through add-ons and
Document automation
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. Dave Sottimano | @dsottimano | #TechSEOBoost
Develop for your organization through private add-ons
56. Dave Sottimano | @dsottimano | #TechSEOBoost
Solving SEO Problems with Apps Script
57. Dave Sottimano | @dsottimano | #TechSEOBoost
Check if indexed &
Find 301 targets.
58. Dave Sottimano | @dsottimano | #TechSEOBoost
=GOOGLE_SEARCH(“https://www.google.com”)
Query parameter is the verbatim URL
59. Dave Sottimano | @dsottimano | #TechSEOBoost
Same
function.
Better
way of
running it
60. Dave Sottimano | @dsottimano | #TechSEOBoost
=GOOGLE_SEARCH(“site:seland.com python”)
Find best matched possible 301 targets
61. Dave Sottimano | @dsottimano | #TechSEOBoost
Cache copies of pages &
Change monitoring.
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. Dave Sottimano | @dsottimano | #TechSEOBoost
Save Pages > Chron > Import Captures > Compare
In the code, add your URLs into the array
64. Dave Sottimano | @dsottimano | #TechSEOBoost
Save Pages > Chron > Import Captures > Compare
65. Dave Sottimano | @dsottimano | #TechSEOBoost
Save Pages > Chron > Import Captures > Compare
66. Dave Sottimano | @dsottimano | #TechSEOBoost
Save Pages > Chron > Import Captures > Compare
67. Dave Sottimano | @dsottimano | #TechSEOBoost
Save Pages > Chron > Import Captures > Compare
68. Dave Sottimano | @dsottimano | #TechSEOBoost
Save Pages > Chron > Import Captures > Compare
70. Dave Sottimano | @dsottimano | #TechSEOBoost
BIGML.COM
For free.
Accessible to any Google sheet.
https://bigml.com/features/class
ification-regression
71. Dave Sottimano | @dsottimano | #TechSEOBoost
Training Data > Create Model > Classify
Keyword data from Semrush
Nytimes.com = informational
Yelp.com = local
Amazon.com = transactional
72. Dave Sottimano | @dsottimano | #TechSEOBoost
Training Data > Create Model > Classify
73. Dave Sottimano | @dsottimano | #TechSEOBoost
Training Data > Create Model > Classify
74. Dave Sottimano | @dsottimano | #TechSEOBoost
Install the
Bigml.com
addon for
sheets
75. Dave Sottimano | @dsottimano | #TechSEOBoost
Install the
Bigml.com
addon for
sheets
77. Dave Sottimano | @dsottimano | #TechSEOBoost
Training Data > Create Model > Classify
78. Dave Sottimano | @dsottimano | #TechSEOBoost
Where to go from here?
79. Dave Sottimano | @dsottimano | #TechSEOBoost
Want to learn JavaScript?
JavaScript track on
Freecodecamp.org
Book: JavaScript - the good parts
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. Dave Sottimano | @dsottimano | #TechSEOBoost
Hire an Apps Script
developer?
82. Dave Sottimano | @dsottimano | #TechSEOBoost
Will Apps Script Upgrade?
83. Dave Sottimano | @dsottimano | #TechSEOBoost
Currently building seotoolsforsheets.com
VP @ Keyphraseology.com
–Dave Sottimano
Twitter: @dsottimano
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/