SlideShare a Scribd company logo
1 of 57
Download to read offline
How Anyone Can Leverage APIs for SEO
Paul Shapiro
#TTTLIVE19
Paul Shapiro
Partner, Director of Strategy & Innovation /
SEO Practice Lead @ Catalyst
#TTTLIVE19
#TTTLIVE19
#TTTLIVE19
WTF is an API!?
(RESTful Web API)
#TTTLIVE19
Application Programming
Interface
#TTTLIVE19
Basically, APIs provide you a way to
interface with an external web service.
This enables automation,
permits you to incorporate 3rd party systems
into your own application,
and to expand both systems by combining
those services and features.
#TTTLIVE19
So, how does this work exactly?
#TTTLIVE19
SERVER
HTTP is the protocol that
facilitates communication
between the client computer and
server computer via requests
and responses
#TTTLIVE19
CRUD Operations:
Create
Read
Update
Delete
Operation SQL HTTP
RESTful Web
Services
Create INSERT PUT / POST POST
Read (Retrieve) SELECT GET GET
Update (Modify) UPDATE
PUT / POST / PAT
CH
PUT
Delete (Destroy) DELETE DELETE DELETE
https://en.wikipedia.org/wiki/Create,_read,_update_and_de
lete
#TTTLIVE19
The interaction between client and server can
be facilitated via several structured methods
(sometimes referred to as verbs).
#TTTLIVE19
GET and POST are the most common methods
and commonly used in conjunction with web
APIs.
#TTTLIVE19
#TTTLIVE19
• “GET is used to request data from a
specified resource.”
• “POST is used to send data to a server to
create/update a resource.”
https://www.w3schools.com/tags/ref_httpmethods.asp
#TTTLIVE19
• “PUT is used to send data to a server to
create/update a resource.”
• “DELETE method deletes the specified
resource.”
https://www.w3schools.com/tags/ref_httpmethods.asp
#TTTLIVE19
#TTTLIVE19
APIs are a little bit like this antiquated ordering system…
1. You need to look at available inventory. You look at Spice
Company’s catalogue via the GET method. This gives them
a list of products they can order.
2. Once you know what you would like to purchase, your
internal system marks it down according to some pre-
defined business logic (in the form of item numbers and
corresponding quantities)
3. Your program places and order sending this payload to the
corresponding API endpoint using the POST method and
you receive the product at your physical address sometime
after.
#TTTLIVE19
{
"accountId": "8675309",
"shipAddress":
{ "name": "Bob SpiceyMcSpiceFace",
"address": "237 South Broad Street",
"city": "Philadelphia",
"state": "PA"
}
"order":
{
"itemNumber": 86,
"quantity": 5
}
}
#TTTLIVE19
API Endpoint:
http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&
q=board%20games
Variable,
encoded
Simple API example via GET request
#TTTLIVE19
Response (XML):
#TTTLIVE19
Parse the XML
board games
board games for kids
board games for adults
board games near me
board games online
board games list
board games walmart
board games boston
board games 2018
board games for toddlers
#TTTLIVE19
Answer The Public?
Ubersuggest?
Keywordtool.io
http://suggestqueries.google.co
m/complete/search?output=tool
bar&hl=en&q=board%20games
• q=board%20games%20can
• q=board%20games%20vs
• q=how%20board%20games
#TTTLIVE19
API Endpoint:
http://api.grepwords.com/lookup?apikey=api_key_string&q=keyword
String is unique
to you, like
password
(authentication)
Variable,
changes
and often
looped
Simple API example via GET request
(with authentication)
#TTTLIVE19
http://api.grepwords.com/lookup?apikey=secret&q=board+games
Response (JSON):
[{"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,"competeti
on":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"}]
Simple API example via GET request
#TTTLIVE19
Parse the JSON
keyword gms
board games 246,000
#TTTLIVE19
https://www.catalystdigital.com
/techseoboost/
#TTTLIVE19
Full Python Script
(GrepWords/JSON):
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
#TTTLIVE19
#TTTLIVE19
Full Python Script (Google Autosuggest/XML):
import requests
import xml.etree.ElementTree as ET
boardgames = ["Gaia Project", "Great Western Trail", "Spirit Island"]
for x in boardgames:
apiurl = "http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=" + x
r = requests.get(apiurl)
tree = ET.fromstring(r.content)
for child in tree.iter('suggestion'):
print(child.attrib['data'])
#TTTLIVE19
#TTTLIVE19
Combine Them Together?
import requests
import xml.etree.ElementTree as ET
import json
boardgames = ["board game", "bgg", "board game geek"]
for x in boardgames:
suggest_url =
"http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=" + x
r = requests.get(suggest_url)
tree = ET.fromstring(r.content)
for child in tree.iter('suggestion'):
print(child.attrib['data'])
grep_url = "http://api.grepwords.com/lookup?apikey=key&q=" + child.attrib['data']
r = requests.get(grep_url)
parsed_json = json.loads(r.text)
try:
print(parsed_json[0]['gms'])
except KeyError:
print("No data available in GrepWords.")
#TTTLIVE19
#TTTLIVE19
Google Autocomplete ✓
#TTTLIVE19
GrepWords ✓
#TTTLIVE19
Other API Examples
#TTTLIVE19
WebPageTest.org
#TTTLIVE19
import requests
import json
import xml.etree.ElementTree as ET
import time
testurls = ["https://searchwilderness.com/", "https://trafficthinktank.com/", "https://searchengineland.com/"]
for x in testurls:
apiurl = "http://www.webpagetest.org/runtest.php?fvonly=1&k=KEY&lighthouse=1&f=xml&url=" + x
r = requests.get(apiurl)
tree = ET.fromstring(r.content)
for child in tree.findall('data'):
wpturl = child.find('jsonUrl').text
print(wpturl)
ready = True
while ready:
r = requests.get(wpturl)
parsed_json = json.loads(r.text)
try:
if(parsed_json['data']['statusCode']==100):
print("Not yet ready. Trying again in 20 seconds.")
ready = True
time.sleep(20)
except KeyError:
ready = False
print(x + "rn")
print("Lighthouse Average First Contentful Paint: " +
str(parsed_json['data']['average']['firstView']['chromeUserTiming.firstContentfulPaint']))
#TTTLIVE19
SEMRush
#TTTLIVE19
import csv
import requests
domain = “trafficthinktank.com"
key = "YOUR API KEY"
api_url = "https://api.semrush.com/?type=domain_organic&key=" + key +
"&display_filter=%2B%7CPh%7CCo%7Cseo&display_limit=10&export_columns=Ph,Po,Pp,Pd,Nq,Cp,
Ur,Tr,Tc,Co,Nr,Td&domain=" + domain + "&display_sort=tr_desc&database=us"
with requests.Session() as s:
download = s.get(api_url)
decoded_content = download.content.decode('utf-8')
cr = csv.reader(decoded_content.splitlines(), delimiter=';')
my_list = list(cr)
for column in my_list:
print(column[0]) # Keyword
print(column[1]) # Position
print(column[4]) # Search Volume
print(column[6]) # URL
#TTTLIVE19
Google Analytics?
#TTTLIVE19
Sample Code:
https://developers.google.com/analyti
cs/devguides/reporting/core/v4/quicks
tart/installed-py
JSON Payload Help: https://ga-dev-
tools.appspot.com/query-explorer/
#TTTLIVE19
Moz (Linkscape)
#TTTLIVE19
from mozscape import Mozscape
import pandas as pd
import numpy as np
import requests
import time
def divide_chunks(l, n):
for i in range(0, len(l), n):
yield l[i:i + n]
client = Mozscape('access_id', 'sectet_key')
csv = pd.read_csv('./all_outlinks.csv', skiprows=1)
links = csv[csv['Type'] == 'AHREF']
# filter out CDNs, self-references, and other known cruft
links = csv[~csv['Destination'].str.match('https?://boardgamegeek.com.*')]
Domains = links['Destination'].replace(to_replace="(.*://)?([^/?]+).*", value=r"12", regex=True)
x = list(divide_chunks(Domains.unique().tolist(), 5))
df = pd.DataFrame(columns=['pda','upa','url'])
for vals in x:
da_pa = client.urlMetrics(vals, Mozscape.UMCols.domainAuthority | Mozscape.UMCols.pageAuthority)
i = 0
for y in da_pa:
y['url'] = vals[i]
i = i+1
df = df.append(y, ignore_index=True)
print("Processing a batch of 5 URLs. Total URLs: " + str(len(Domains.unique())))
time.sleep(5)
print(df)
https://github.com/seomoz/SEOmozAPISamples
/tree/master/python
#TTTLIVE19
Search Console
#TTTLIVE19
Schedule to run monthly with Cron and
backup to SQL database:
https://searchwilderness.com/gwmt-
data-python/
JR Oakes’ BigQuery vision:
http://bit.ly/2vmjDe8
#TTTLIVE19
Webhose.io
#TTTLIVE19
import requests
import json
import datetime
import urllib.parse
apikey = "KEY"
search = 'title:"board games" -shipping -sale site_type:news language:english'
query = urllib.parse.quote(search)
time_diff = -30
time = int((dt.datetime.now(dt.timezone.utc) + dt.timedelta(time_diff)).timestamp())
apiurl = "http://webhose.io/filterWebContent?token=" + apikey + "&format=json&ts=" + str(time) +
"&sort=crawled&q=" + query
r = requests.get(apiurl)
parsed_json = json.loads(r.text)
for i in range(int(parsed_json['totalResults'])):
try:
print(parsed_json['posts'][i]['title'])
print(parsed_json['posts'][i]['thread']['social']['facebook'])
except IndexError:
print("error occurred")
#TTTLIVE19
Reddit
#TTTLIVE19
https://searchwilderness.com/
reddit-python-code/
#TTTLIVE19
Wayback Machine
#TTTLIVE19
import requests
import json
domain = "trafficthinktank.com"
apiurl = "https://web.archive.org/cdx/search/cdx?url=" + domain +
"&matchType=domain&fl=original,timestamp&collapse=urlkey&filter=mi
metype:text/html&filter=!original:.*%3A80.*&filter=!original:.*.(p
ng%7Cjs%7Ccss%7Cjpg%7Csvg%7Cjpeg%7Cgif%7Cxml%7Crss%7CPNG%7CJS%7CCS
S%7CJPG%7CSVG%7CJPEG%7CGIF%7CXML%7CRSS%7Ctxt%7CTXT%7Cico%7CICO%7Cp
df%7CPDF).*&output=json"
r = requests.get(apiurl)
parsed_json = json.loads(r.text)
for x in range(int(len(parsed_json))):
print(parsed_json[x][0])
#TTTLIVE19
Other APIs
• STAT / Rank Tracking
• Google Natural Language Processing
• Various Machine Learning Services
• DeepCrawl / Botify / Cloud Crawlers
• Stripe (for payment)
• Map / Geolocation Data (Google Maps/Foursquare)
• Slack
• Whois data
#TTTLIVE19
Putting things together and making magic
#TTTLIVE19
1. Take outlink report
from Screaming Frog
2. Distills URLs to
Domains
3. Runs Moz Linkscape
API against the list for
PA & DA
4. Checks HTTP Status
Code
5. Runs WHOIS API to
see if domain is
available
https://gist.github.com/pshapiro/819cd172f
f8fe576f2a4e1f74395ec47
#TTTLIVE19
https://github.com/MLTSEO/MLTS
#TTTLIVE19
Thanks!
TTT: @Paul Shapiro
Twitter: @fighto
Blog: SearchWilderness.com

More Related Content

What's hot

From CRUD to Hypermedia APIs with Spring
From CRUD to Hypermedia APIs with SpringFrom CRUD to Hypermedia APIs with Spring
From CRUD to Hypermedia APIs with SpringVladimir Tsukur
 
Building Awesome API with Spring
Building Awesome API with SpringBuilding Awesome API with Spring
Building Awesome API with SpringVladimir Tsukur
 
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
"From CRUD to Hypermedia APIs with Spring" Владимир ЦукурFwdays
 
What’s Your Problem?
What’s Your Problem?What’s Your Problem?
What’s Your Problem?Nordic APIs
 
[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block KitTomomi Imura
 

What's hot (6)

What's Your Problem?
What's Your Problem?What's Your Problem?
What's Your Problem?
 
From CRUD to Hypermedia APIs with Spring
From CRUD to Hypermedia APIs with SpringFrom CRUD to Hypermedia APIs with Spring
From CRUD to Hypermedia APIs with Spring
 
Building Awesome API with Spring
Building Awesome API with SpringBuilding Awesome API with Spring
Building Awesome API with Spring
 
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
 
What’s Your Problem?
What’s Your Problem?What’s Your Problem?
What’s Your Problem?
 
[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit
 

Similar to How to Leverage APIs for SEO #TTTLive2019

API Technical Writing
API Technical WritingAPI Technical Writing
API Technical WritingSarah Maddox
 
Chatbot - The developer's waterboy
Chatbot - The developer's waterboyChatbot - The developer's waterboy
Chatbot - The developer's waterboyRichard Radics
 
GraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageGraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageBartosz Sypytkowski
 
GraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedGraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedMarcinStachniuk
 
Evolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchEvolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchMongoDB
 
AI: Mobile Apps That Understands Your Intention When You Typed
AI: Mobile Apps That Understands Your Intention When You TypedAI: Mobile Apps That Understands Your Intention When You Typed
AI: Mobile Apps That Understands Your Intention When You TypedMarvin Heng
 
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015NoSQLmatters
 
NoSQL meets Microservices - Michael Hackstein
NoSQL meets Microservices - Michael HacksteinNoSQL meets Microservices - Michael Hackstein
NoSQL meets Microservices - Michael Hacksteindistributed matters
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QAAlban Gérôme
 
BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!Craig Schumann
 
How fiddling with GraphQL enhanced communications between our back and front ...
How fiddling with GraphQL enhanced communications between our back and front ...How fiddling with GraphQL enhanced communications between our back and front ...
How fiddling with GraphQL enhanced communications between our back and front ...CALLR
 
Integrating WordPress With Web APIs
Integrating WordPress With Web APIsIntegrating WordPress With Web APIs
Integrating WordPress With Web APIsrandyhoyt
 
Creating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APICreating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APIKirsten Hunter
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampAlexei Gorobets
 
Finding things on the web with BOSS
Finding things on the web with BOSSFinding things on the web with BOSS
Finding things on the web with BOSSChristian Heilmann
 

Similar to How to Leverage APIs for SEO #TTTLive2019 (20)

API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Chatbot - The developer's waterboy
Chatbot - The developer's waterboyChatbot - The developer's waterboy
Chatbot - The developer's waterboy
 
Api
ApiApi
Api
 
GraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageGraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized age
 
GraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedGraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learned
 
Evolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchEvolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB Stitch
 
AI: Mobile Apps That Understands Your Intention When You Typed
AI: Mobile Apps That Understands Your Intention When You TypedAI: Mobile Apps That Understands Your Intention When You Typed
AI: Mobile Apps That Understands Your Intention When You Typed
 
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
Michael Hackstein - NoSQL meets Microservices - NoSQL matters Dublin 2015
 
NoSQL meets Microservices
NoSQL meets MicroservicesNoSQL meets Microservices
NoSQL meets Microservices
 
NoSQL meets Microservices - Michael Hackstein
NoSQL meets Microservices - Michael HacksteinNoSQL meets Microservices - Michael Hackstein
NoSQL meets Microservices - Michael Hackstein
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QA
 
mobl
moblmobl
mobl
 
BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!
 
How fiddling with GraphQL enhanced communications between our back and front ...
How fiddling with GraphQL enhanced communications between our back and front ...How fiddling with GraphQL enhanced communications between our back and front ...
How fiddling with GraphQL enhanced communications between our back and front ...
 
Svelte JS introduction
Svelte JS introductionSvelte JS introduction
Svelte JS introduction
 
Integrating WordPress With Web APIs
Integrating WordPress With Web APIsIntegrating WordPress With Web APIs
Integrating WordPress With Web APIs
 
Creating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APICreating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn API
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @Moldcamp
 
Chat php
Chat phpChat php
Chat php
 
Finding things on the web with BOSS
Finding things on the web with BOSSFinding things on the web with BOSS
Finding things on the web with BOSS
 

More from Paul Shapiro

Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul ShapiroBreaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul ShapiroPaul Shapiro
 
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroRedefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroPaul Shapiro
 
Start Building SEO Efficiencies with Automation - MNSearch Summit 2018
Start Building SEO Efficiencies with Automation - MNSearch Summit 2018Start Building SEO Efficiencies with Automation - MNSearch Summit 2018
Start Building SEO Efficiencies with Automation - MNSearch Summit 2018Paul Shapiro
 
Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...
Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...
Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...Paul Shapiro
 
The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...
The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...
The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...Paul Shapiro
 
Idea: Selling Clients Google+ Through YouTube
Idea: Selling Clients Google+ Through YouTubeIdea: Selling Clients Google+ Through YouTube
Idea: Selling Clients Google+ Through YouTubePaul Shapiro
 
Social-SEO Content Strategy: Ideas for a Data Driven Approach
Social-SEO Content Strategy: Ideas for a Data Driven ApproachSocial-SEO Content Strategy: Ideas for a Data Driven Approach
Social-SEO Content Strategy: Ideas for a Data Driven ApproachPaul Shapiro
 
Regular Expressions for Regular Joes (and SEOs)
Regular Expressions for Regular Joes (and SEOs)Regular Expressions for Regular Joes (and SEOs)
Regular Expressions for Regular Joes (and SEOs)Paul Shapiro
 

More from Paul Shapiro (8)

Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul ShapiroBreaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
 
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroRedefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
 
Start Building SEO Efficiencies with Automation - MNSearch Summit 2018
Start Building SEO Efficiencies with Automation - MNSearch Summit 2018Start Building SEO Efficiencies with Automation - MNSearch Summit 2018
Start Building SEO Efficiencies with Automation - MNSearch Summit 2018
 
Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...
Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...
Put Your Data To Work: Ways to Uncover Content Ideas That Deliver #Confluence...
 
The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...
The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...
The Actionable Guide to Doing Better Semantic Keyword Research #BrightonSEO (...
 
Idea: Selling Clients Google+ Through YouTube
Idea: Selling Clients Google+ Through YouTubeIdea: Selling Clients Google+ Through YouTube
Idea: Selling Clients Google+ Through YouTube
 
Social-SEO Content Strategy: Ideas for a Data Driven Approach
Social-SEO Content Strategy: Ideas for a Data Driven ApproachSocial-SEO Content Strategy: Ideas for a Data Driven Approach
Social-SEO Content Strategy: Ideas for a Data Driven Approach
 
Regular Expressions for Regular Joes (and SEOs)
Regular Expressions for Regular Joes (and SEOs)Regular Expressions for Regular Joes (and SEOs)
Regular Expressions for Regular Joes (and SEOs)
 

Recently uploaded

20 Top Social Media Tips for Peer Specialists
20 Top Social Media Tips for Peer Specialists20 Top Social Media Tips for Peer Specialists
20 Top Social Media Tips for Peer Specialistsmlicam615
 
History of JWT by The Knowledge Center.pdf
History of JWT by The Knowledge Center.pdfHistory of JWT by The Knowledge Center.pdf
History of JWT by The Knowledge Center.pdfwilliam charnock
 
Krisantec Digital Marketing Services.pdf
Krisantec Digital Marketing Services.pdfKrisantec Digital Marketing Services.pdf
Krisantec Digital Marketing Services.pdfkrisantecsolutions
 
2024 WTF - what's working in mobile user acquisition
2024 WTF - what's working in mobile user acquisition2024 WTF - what's working in mobile user acquisition
2024 WTF - what's working in mobile user acquisitionJohn Koetsier
 
Paul Russell Confidential Resume for Fahlo.pdf
Paul Russell Confidential Resume for Fahlo.pdfPaul Russell Confidential Resume for Fahlo.pdf
Paul Russell Confidential Resume for Fahlo.pdfpaul8402
 
Catalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleriaCatalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleriaEsteller
 
Lead Generation Services-The Salesbridge
Lead Generation Services-The SalesbridgeLead Generation Services-The Salesbridge
Lead Generation Services-The SalesbridgeThe Salesbridge
 
AMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo EvangelistaAMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo Evangelistacrevangelista
 
Fritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completaFritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completaEsteller
 
Catalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completaCatalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completaEsteller
 
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptxv100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptxjeromecuyos1
 
TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...Social Samosa
 
Welcome to the Future: New Digital Marketing Trends Shaking Up 2024
Welcome to the Future: New Digital Marketing Trends Shaking Up 2024Welcome to the Future: New Digital Marketing Trends Shaking Up 2024
Welcome to the Future: New Digital Marketing Trends Shaking Up 2024rabboniseo
 
Catálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa HydrapakCatálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa HydrapakEsteller
 
Llanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation StrategyLlanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation StrategyMarianna Nakou
 
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...Valters Lauzums
 
Content Marketing: How To Find The True Value Of Your Marketing Funnel
Content Marketing: How To Find The True Value Of Your Marketing FunnelContent Marketing: How To Find The True Value Of Your Marketing Funnel
Content Marketing: How To Find The True Value Of Your Marketing FunnelSearch Engine Journal
 
Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...
Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...
Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...Nugget Global
 
Catálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compeltaCatálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compeltaEsteller
 
Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...
Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...
Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...Associazione Digital Days
 

Recently uploaded (20)

20 Top Social Media Tips for Peer Specialists
20 Top Social Media Tips for Peer Specialists20 Top Social Media Tips for Peer Specialists
20 Top Social Media Tips for Peer Specialists
 
History of JWT by The Knowledge Center.pdf
History of JWT by The Knowledge Center.pdfHistory of JWT by The Knowledge Center.pdf
History of JWT by The Knowledge Center.pdf
 
Krisantec Digital Marketing Services.pdf
Krisantec Digital Marketing Services.pdfKrisantec Digital Marketing Services.pdf
Krisantec Digital Marketing Services.pdf
 
2024 WTF - what's working in mobile user acquisition
2024 WTF - what's working in mobile user acquisition2024 WTF - what's working in mobile user acquisition
2024 WTF - what's working in mobile user acquisition
 
Paul Russell Confidential Resume for Fahlo.pdf
Paul Russell Confidential Resume for Fahlo.pdfPaul Russell Confidential Resume for Fahlo.pdf
Paul Russell Confidential Resume for Fahlo.pdf
 
Catalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleriaCatalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleria
 
Lead Generation Services-The Salesbridge
Lead Generation Services-The SalesbridgeLead Generation Services-The Salesbridge
Lead Generation Services-The Salesbridge
 
AMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo EvangelistaAMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo Evangelista
 
Fritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completaFritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completa
 
Catalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completaCatalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completa
 
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptxv100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
 
TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M15.xlsx - IPL 17 FCT (Commercial...
 
Welcome to the Future: New Digital Marketing Trends Shaking Up 2024
Welcome to the Future: New Digital Marketing Trends Shaking Up 2024Welcome to the Future: New Digital Marketing Trends Shaking Up 2024
Welcome to the Future: New Digital Marketing Trends Shaking Up 2024
 
Catálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa HydrapakCatálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa Hydrapak
 
Llanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation StrategyLlanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation Strategy
 
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
 
Content Marketing: How To Find The True Value Of Your Marketing Funnel
Content Marketing: How To Find The True Value Of Your Marketing FunnelContent Marketing: How To Find The True Value Of Your Marketing Funnel
Content Marketing: How To Find The True Value Of Your Marketing Funnel
 
Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...
Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...
Make Your Message Go Viral with Nugget Global's Press Release Distribution Se...
 
Catálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compeltaCatálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compelta
 
Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...
Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...
Richard van der Velde, Technical Support Lead for Cookiebot @CMP – “Artificia...
 

How to Leverage APIs for SEO #TTTLive2019