Britney Muller | @BritneyMuller | #TechSEOBoost
Machine Learning
For SEOs
–
Predict, Automate & Transcribe
Britney Muller | @BritneyMuller | #TechSEOBoost
1. It already effects the work that you do.
2. You should be able to speak intelligently about it.
3. Level up by adding it to your arsenal.
Why You Should Care About ML:
–
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
bit.ly/tf-for-poets
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
65% Probability this is Rand!
Britney Muller | @BritneyMuller | #TechSEOBoost
Automated Image Optimization
Britney Muller | @BritneyMuller | #TechSEOBoost
ML is everywhere!
Britney Muller | @BritneyMuller | #TechSEOBoost
Smart Compose
Britney Muller | @BritneyMuller | #TechSEOBoost
1.Let’s break down Machine Learning
1.How can you apply ML to SEO
1.Tools & Resources
Britney Muller | @BritneyMuller | #TechSEOBoost
What is Machine Learning?
Machine Learning is a subset of AI that combines statistics &
programming to give computers the ability to “learn” without
explicitly being programmed.
Britney Muller | @BritneyMuller | #TechSEOBoost
Supervised vs. Unsupervised
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Three Common Models:
Home size vs selling
price
Duck or Snake?Animal Types
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
But, how do ML models get smarter?
Britney Muller | @BritneyMuller | #TechSEOBoost
The Loss Function:
Britney Muller | @BritneyMuller | #TechSEOBoost
Overfitting is a common problem:
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
If Machine Learning was a car,
data would be the fuel
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
1.Let’s break down Machine Learning
1.How can you apply ML to SEO
1.Tools & Resources
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Writing Meta Descriptions Sucks
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Can you believe?!
Auto Generated
Google Generated
Britney Muller | @BritneyMuller | #TechSEOBoost
@jroakes @GraysonParks
Grayson Parks
Writer, programmer, constant learner.
Digital marketer, husband, golden retriever owner.
Words and data are my
Passions. #SEO @AdaptPartners
GraysonParks.com
JR Oakes
Hacker, Technical SEO, NC State fan, co-
organizer
Of Raleigh & RTP Meetups, as well as Search
Engine Land author
codeseo.io
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
1. Assist with deploying AWS Lambda. --Several steps will affect the cost & security.
2. Extract the content of the webpage using the library Goose3 (a Python library w/BeautifulSoup).
3. Summarize the content using summa (or another summarizing library/model)
4. Create a Lambda Function.
a. Package the files for AWS Lambda & install the dependencies (in this case Goose3 and
summa, etc) into a folder along with what is called a handler file. The handler file is what
Lambda calls to run your script.
b. Here is the packaged Lambda function (including the dependencies):
https://s3.amazonaws.com/ap-lambda-functions/meta_summa.zip
5. Once the zip file is deployed to AWS as a Lambda function, you should get a URL to access the API
that looks like:
https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/v1/ap_meta_descriptions
Find a developer familiar with AWS to:
Britney Muller | @BritneyMuller | #TechSEOBoost
function pageDescription(url, length) {
if (typeof length == 'undefined' || !length || length < 1){
var endpoint = 'https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/v1/ap_meta_descriptions?url=' + url;
}else{
var endpoint = 'https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/v1/ap_meta_descriptions?url=' + url + "&len="
+ length;
}
var response = UrlFetchApp.fetch(endpoint);
var text = response.getContentText();
var data = JSON.parse(text);
if (data){
return data.meta_description
}
}
Copy & Paste like a badass in GSheets! =pageDescription(A2, 150)
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Use Text Summarization Algorithms to
Help Aid the Writing of Meta Descriptions
(GitHub Repo)
Britney Muller | @BritneyMuller | #TechSEOBoost
Podcasts
Britney Muller | @BritneyMuller | #TechSEOBoost
The average podcast listener consumes 7
different podcasts a week.
-https://www.podcastinsights.com/podcast-statistics/
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
JSON Output example (jq to parse)
Britney Muller | @BritneyMuller | #TechSEOBoost
Finding ranking opportunities
Title tag optimization
Keyword opportunity gaps
Client reports
Finding common question opportunities
Content creation
Log file analysis
Ranking predictions
Site crawl opportunities
GSC data analysis
Rich customer understanding
Traffic predictions
Ranking factor probabilities
User engagement
Other SEO Opportunities with Machine Learning:
Britney Muller | @BritneyMuller | #TechSEOBoost
1.Let’s break down Machine Learning
1.How can you apply ML to SEO
1.Tools & Resources
Britney Muller | @BritneyMuller | #TechSEOBoost
1. Collect & clean dataset
2. Build your model
3. Train
4. Evaluate
5. Predict
Most of the work
A few lines of code
One line
One line
One line
How to build your first ML model:
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
Britney Muller | @BritneyMuller | #TechSEOBoost
CPU > GPU > TPU
Britney Muller | @BritneyMuller | #TechSEOBoost
Google’s Machine Learning Crash Course
Google Code Labs
Colab Notebooks
Learn With Google AI
Image-net.org
Kaggle
Getting Started Resources
Britney Muller | @BritneyMuller | #TechSEOBoost
Yearning Learning (free book preview
by Andre Ng)
Neural Networks & Deep Learning
Correlation vs Causation (by Dr. Pete!)
Exploring Word2Vec
The Zipf Mystery
BigML
Targeting Broad Queries in Search
Project Mosaic Books
How to eliminate bias in data driven
marketing
TensorFlow Dev Summit 2018
[videos]
NLP Sentiment Analysis
Talk 2 Books
Image-Net
The Shallowness of Google
Translate
TF-IDF
LSI
LDA
Learn Python
Massive Open Online Courses
Coursera Machine Learning
Advanced Resources
Britney Muller | @BritneyMuller | #TechSEOBoost
What did we learn?
Britney Muller | @BritneyMuller | #TechSEOBoost
What did we learn?
➢ Machine Learning combines statistics & programming
➢ A model is only as good as its training data
➢ The loss function helps us improve models, but overfitting
should be avoided.
➢ YOU can create a ML model today!!!
➢ ML will help scale SEO tasks & allow us to evolve as SEOs
Britney Muller | @BritneyMuller | #TechSEOBoost
What did we learn? Thank you!
@BritneyMuller
britney@moz.com

Machine Learning For SEOs - TechSEOBoost 2018

  • 1.
    Britney Muller |@BritneyMuller | #TechSEOBoost Machine Learning For SEOs – Predict, Automate & Transcribe
  • 2.
    Britney Muller |@BritneyMuller | #TechSEOBoost 1. It already effects the work that you do. 2. You should be able to speak intelligently about it. 3. Level up by adding it to your arsenal. Why You Should Care About ML: –
  • 3.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 4.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 5.
    Britney Muller |@BritneyMuller | #TechSEOBoost bit.ly/tf-for-poets
  • 6.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 7.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 8.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 9.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 10.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 11.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 12.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 13.
    Britney Muller |@BritneyMuller | #TechSEOBoost 65% Probability this is Rand!
  • 14.
    Britney Muller |@BritneyMuller | #TechSEOBoost Automated Image Optimization
  • 15.
    Britney Muller |@BritneyMuller | #TechSEOBoost ML is everywhere!
  • 16.
    Britney Muller |@BritneyMuller | #TechSEOBoost Smart Compose
  • 17.
    Britney Muller |@BritneyMuller | #TechSEOBoost 1.Let’s break down Machine Learning 1.How can you apply ML to SEO 1.Tools & Resources
  • 18.
    Britney Muller |@BritneyMuller | #TechSEOBoost What is Machine Learning? Machine Learning is a subset of AI that combines statistics & programming to give computers the ability to “learn” without explicitly being programmed.
  • 19.
    Britney Muller |@BritneyMuller | #TechSEOBoost Supervised vs. Unsupervised
  • 20.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 21.
    Britney Muller |@BritneyMuller | #TechSEOBoost Three Common Models: Home size vs selling price Duck or Snake?Animal Types
  • 22.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 23.
    Britney Muller |@BritneyMuller | #TechSEOBoost But, how do ML models get smarter?
  • 24.
    Britney Muller |@BritneyMuller | #TechSEOBoost The Loss Function:
  • 25.
    Britney Muller |@BritneyMuller | #TechSEOBoost Overfitting is a common problem:
  • 26.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 27.
    Britney Muller |@BritneyMuller | #TechSEOBoost If Machine Learning was a car, data would be the fuel
  • 28.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 29.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 30.
    Britney Muller |@BritneyMuller | #TechSEOBoost 1.Let’s break down Machine Learning 1.How can you apply ML to SEO 1.Tools & Resources
  • 31.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 32.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 33.
    Britney Muller |@BritneyMuller | #TechSEOBoost Writing Meta Descriptions Sucks
  • 34.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 35.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 36.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 37.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 38.
    Britney Muller |@BritneyMuller | #TechSEOBoost Can you believe?! Auto Generated Google Generated
  • 39.
    Britney Muller |@BritneyMuller | #TechSEOBoost @jroakes @GraysonParks Grayson Parks Writer, programmer, constant learner. Digital marketer, husband, golden retriever owner. Words and data are my Passions. #SEO @AdaptPartners GraysonParks.com JR Oakes Hacker, Technical SEO, NC State fan, co- organizer Of Raleigh & RTP Meetups, as well as Search Engine Land author codeseo.io
  • 40.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 41.
    Britney Muller |@BritneyMuller | #TechSEOBoost 1. Assist with deploying AWS Lambda. --Several steps will affect the cost & security. 2. Extract the content of the webpage using the library Goose3 (a Python library w/BeautifulSoup). 3. Summarize the content using summa (or another summarizing library/model) 4. Create a Lambda Function. a. Package the files for AWS Lambda & install the dependencies (in this case Goose3 and summa, etc) into a folder along with what is called a handler file. The handler file is what Lambda calls to run your script. b. Here is the packaged Lambda function (including the dependencies): https://s3.amazonaws.com/ap-lambda-functions/meta_summa.zip 5. Once the zip file is deployed to AWS as a Lambda function, you should get a URL to access the API that looks like: https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/v1/ap_meta_descriptions Find a developer familiar with AWS to:
  • 42.
    Britney Muller |@BritneyMuller | #TechSEOBoost function pageDescription(url, length) { if (typeof length == 'undefined' || !length || length < 1){ var endpoint = 'https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/v1/ap_meta_descriptions?url=' + url; }else{ var endpoint = 'https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/v1/ap_meta_descriptions?url=' + url + "&len=" + length; } var response = UrlFetchApp.fetch(endpoint); var text = response.getContentText(); var data = JSON.parse(text); if (data){ return data.meta_description } } Copy & Paste like a badass in GSheets! =pageDescription(A2, 150)
  • 43.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 44.
    Britney Muller |@BritneyMuller | #TechSEOBoost Use Text Summarization Algorithms to Help Aid the Writing of Meta Descriptions (GitHub Repo)
  • 45.
    Britney Muller |@BritneyMuller | #TechSEOBoost Podcasts
  • 46.
    Britney Muller |@BritneyMuller | #TechSEOBoost The average podcast listener consumes 7 different podcasts a week. -https://www.podcastinsights.com/podcast-statistics/
  • 47.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 48.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 49.
    Britney Muller |@BritneyMuller | #TechSEOBoost JSON Output example (jq to parse)
  • 50.
    Britney Muller |@BritneyMuller | #TechSEOBoost Finding ranking opportunities Title tag optimization Keyword opportunity gaps Client reports Finding common question opportunities Content creation Log file analysis Ranking predictions Site crawl opportunities GSC data analysis Rich customer understanding Traffic predictions Ranking factor probabilities User engagement Other SEO Opportunities with Machine Learning:
  • 51.
    Britney Muller |@BritneyMuller | #TechSEOBoost 1.Let’s break down Machine Learning 1.How can you apply ML to SEO 1.Tools & Resources
  • 52.
    Britney Muller |@BritneyMuller | #TechSEOBoost 1. Collect & clean dataset 2. Build your model 3. Train 4. Evaluate 5. Predict Most of the work A few lines of code One line One line One line How to build your first ML model:
  • 53.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 54.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 55.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 56.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 57.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 58.
    Britney Muller |@BritneyMuller | #TechSEOBoost
  • 59.
    Britney Muller |@BritneyMuller | #TechSEOBoost CPU > GPU > TPU
  • 60.
    Britney Muller |@BritneyMuller | #TechSEOBoost Google’s Machine Learning Crash Course Google Code Labs Colab Notebooks Learn With Google AI Image-net.org Kaggle Getting Started Resources
  • 61.
    Britney Muller |@BritneyMuller | #TechSEOBoost Yearning Learning (free book preview by Andre Ng) Neural Networks & Deep Learning Correlation vs Causation (by Dr. Pete!) Exploring Word2Vec The Zipf Mystery BigML Targeting Broad Queries in Search Project Mosaic Books How to eliminate bias in data driven marketing TensorFlow Dev Summit 2018 [videos] NLP Sentiment Analysis Talk 2 Books Image-Net The Shallowness of Google Translate TF-IDF LSI LDA Learn Python Massive Open Online Courses Coursera Machine Learning Advanced Resources
  • 62.
    Britney Muller |@BritneyMuller | #TechSEOBoost What did we learn?
  • 63.
    Britney Muller |@BritneyMuller | #TechSEOBoost What did we learn? ➢ Machine Learning combines statistics & programming ➢ A model is only as good as its training data ➢ The loss function helps us improve models, but overfitting should be avoided. ➢ YOU can create a ML model today!!! ➢ ML will help scale SEO tasks & allow us to evolve as SEOs
  • 64.
    Britney Muller |@BritneyMuller | #TechSEOBoost What did we learn? Thank you! @BritneyMuller britney@moz.com