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