techseo boost 2017: working smarter: seo automation to increase efficiency & effectiveness
Post on 22-Jan-2018
10.387 Views
Preview:
TRANSCRIPT
Paul Shapiro | @fighto #TechSEOBoost
SEO Automation to Increase Efficiency & Effectiveness
Working Smarter
Paul Shapiro | @fighto #TechSEOBoost
Paul Shapiro | @fighto #TechSEOBoost
Why Automate?
1.Work faster and free up time for the important stuff
2.Look at more data
3.Improved consistency and procedure
Paul Shapiro | @fighto #TechSEOBoost
What Can You Automate?
• If you’re doing something on a routine basis, it can probably be automated.
• Any procedures that can be broken down into smaller, micro tasks that can be handled a by a computer.• Machine Learning can help with more
complex decision making.
Paul Shapiro | @fighto #TechSEOBoost
How Do You Automate?
Paul Shapiro | @fighto #TechSEOBoost
Paul Shapiro | @fighto #TechSEOBoost
Why KNIME?
• Fast way to put together complex analyses
• Great for prototyping
• Large library of built-in “nodes”
• Free/Open Source
• Run on Windows/Mac/Linux
• Very expandable – even compatible with R, Python, Java, JavaScript
• Easy enough for non-technical staff to grasp
Paul Shapiro | @fighto #TechSEOBoost
Other Options
• Scripting Languages• Python
• Ruby
• Node.js
• Go
• R
• Excel with VBA
• Google Sheets
Paul Shapiro | @fighto #TechSEOBoost
Cron & Windows Task Manager
are Your Friend
Paul Shapiro | @fighto #TechSEOBoost
What is Cron and Why?
• *NIX system daemon used to schedule tasks and scripts.
• Windows Task Manager is the Windows equivalent of Cron.
• This way we can schedule scripts and programs that perform automated tasks on a recurring, scheduled basis.
Paul Shapiro | @fighto #TechSEOBoost
Quick How To
* * * * * command /to/executeDay of Week (0-6) (Sunday = 0)
Month (1-12)
Hour (0-23)
Day of Month (1-31)
Minute (0-59)
Paul Shapiro | @fighto #TechSEOBoost
Run Every Month at Midnight
0 0 1 * * python datacollector.py
Paul Shapiro | @fighto #TechSEOBoost
The Basics of KNIME
Paul Shapiro | @fighto #TechSEOBoost
What is a Node?
• Nodes are prebuilt, drag and drop modules designed perform a singular task
• Nodes are strung together like a chain to accomplish larger, more complex tasks
• Nodes can be grouped together into “meta-nodes”, which can be configured in unison
Paul Shapiro | @fighto #TechSEOBoost
How Do You Add Nodes &
How Do They Connect?
How do you add nodes to your “workflow”?
How do you string nodes together?
Paul Shapiro | @fighto #TechSEOBoost
How Do You Configure & Run Nodes?
Configuring Nodes
Running Workflows
OR
Paul Shapiro | @fighto #TechSEOBoost
Keyword Research
Paul Shapiro | @fighto #TechSEOBoost
Most Keyword Research Looks Like This
Paul Shapiro | @fighto #TechSEOBoost
Typical Time Investment for Keyword
Research
5
8
12
21 21
6
10
18
22
28
0
5
10
15
20
25
30
Micro (0-49 pages) Small (50-99 pages) Medium (100-249 pages) Large (250-499 pages) Extra Large (>500 pages)
Hours to Complete Keyword Research by Site Size
Average (Low End) Average (High End)
Paul Shapiro | @fighto #TechSEOBoost
Size of the Data Set
vs.
Paul Shapiro | @fighto #TechSEOBoost
Filtering +
Data
Manipula-
tions
One Big Keyword List
Seed Keywords
- List
- GWMT
- SEMRush Comp. KWs
- SQR Keywords
Keyword Planner Suggestions (via
GrepWords)Google Autocomplete
Semantic Keyword Recommendations (via MarketMuse)
Google Autocomplete
SEMRush Domain vs. Domain
KeywordsGoogle Autocomplete
Paul Shapiro | @fighto #TechSEOBoost
Data Manipulations / Calculations
• Get top 10 results from rank checking API (i.e., GetSTAT)
• Use Moz API nodes and find average PA to assess competiveness.
• Optionally, use SEMRush’s Keyword Difficulty API
Organic Competition
Search Volume
Keyword Trends
23
Paul Shapiro | @fighto #TechSEOBoost
Data Manipulations / Calculations
• Get top 10 results from rank checking API (i.e., GetSTAT)
• Use Moz API nodes and find average PA to assess competiveness.
• Optionally, use SEMRush’s Keyword Difficulty API
Organic Competition
• Get Search Volumes via SEMRush API or via GrepWords APISearch Volume
Keyword Trends
24
Paul Shapiro | @fighto #TechSEOBoost
Data Manipulations / Calculations
• Get top 10 results from rank checking API (i.e., GetSTAT)
• Use Moz API nodes and find average PA to assess competiveness.
• Optionally, use SEMRush’s Keyword Difficulty API
Organic Competition
• Get Search Volumes via SEMRush API or via GrepWords APISearch Volume
• Use 2 Years of Google Trends data to calculate slope and determine growing/declining keywordsKeyword Trends
25
Paul Shapiro | @fighto #TechSEOBoost
String ‘em All Together and then…
26
Paul Shapiro | @fighto #TechSEOBoost
Visualize
27
This top-right quadrant contains
keywords with:
• Low competition
• Good growth
Larger bubbles show higher
search volumes.
You can alternatively use
current rank on the x-axis to
signal organic market share like
a traditional growth-share
matrix.
Paul Shapiro | @fighto #TechSEOBoost
Option: Tableau
28
Paul Shapiro | @fighto #TechSEOBoost
Option: Python + Bokeh Charts in KNIME
29
Paul Shapiro | @fighto #TechSEOBoost 30
Sample Python Code:
http://pshapi.ro/SLBokeh
Paul Shapiro | @fighto #TechSEOBoost
Learn More…
SearchLove Presentation about Automating Keyword Research:
http://pshapi.ro/2idcqYF
BrightonSEO Presentation about Semantic Keyword Research:
https://searchwilderness.com/semantic-keyword-research/
Paul Shapiro | @fighto #TechSEOBoost
What to Automate for SEO?
Paul Shapiro | @fighto #TechSEOBoost
Reporting
Paul Shapiro | @fighto #TechSEOBoost
Paul Shapiro | @fighto #TechSEOBoost
Data Collection
Paul Shapiro | @fighto #TechSEOBoost
Search Console
Schedule to run monthly with Cron and backup to SQL database:
https://searchwilderness.com/gwmt-data-python/
JR’s BigQuery vision:
http://pshapi.ro/2vmjDe8
Paul Shapiro | @fighto #TechSEOBoost
301 Redirect Mapping
from Old URLs
Paul Shapiro | @fighto #TechSEOBoost
301 Redirect Mapping from Old URLs
Crawl Current Site
Download Rendered
Pages
Extract Main Content
(BoilerPipe)
Convert to Bitvector
Get Historic URLs from Wayback Machine
API
Filter Out URLs found on Current
Site
Grab Rendered Page from Wayback Machine
Extract Main
Content (BoilerPipe)
Convert to Bitvector
Patrick Stox
https://searchengineland.com/fixing-historical-redirects-using-wayback-machine-apis-257628
Cosine
Similarity
Generate .htaccess
strings
1
2
3
Paul Shapiro | @fighto #TechSEOBoost
KNIME Toolkit
Paul Shapiro | @fighto #TechSEOBoost
SERP Similarity / Overlap
Paul Shapiro | @fighto #TechSEOBoost
Riyaad Edoo
1. Download ranking data via STAT API
2. Compare results from 1-10 for each query against results from 1-10 for every other query.
3. Calculate percent similarity.
4. Schedule checks and examine what changed.
Paul Shapiro | @fighto #TechSEOBoost
Test JavaScript Rendering
Paul Shapiro | @fighto #TechSEOBoost
http://pshapi.ro/puppetcrawl
Paul Shapiro | @fighto #TechSEOBoost
Performance Testing with Lighthouse
Paul Shapiro | @fighto #TechSEOBoost
http://pshapi.ro/perfpony
Paul Shapiro | @fighto #TechSEOBoost
Anomaly Detection
Paul Shapiro | @fighto #TechSEOBoost
CTR
1. Data collection: We collect data on query, page and associated metrics via the Google Search Console Search Analytics API.
2. Round average position: I round average position to the tenths decimal place (e.g., 1.19 is rounded to 1.2).
3. Math: We identify outliers using a combination of the statistical methods for identifying outliers (modified z-score, IQR).
4. Email: If any negative outliers are identified for a keyword query and page combination at an average position, an email is sent out identifying all of this data to each of the SEOs assigned to the account to investigate.
5. Scheduling: Set your script to run on a recurring basis.
My SEL Article: http://pshapi.ro/2Ae2LYP
Paul Shapiro | @fighto #TechSEOBoost
Content Ideas
Paul Shapiro | @fighto #TechSEOBoost
Reddit Data Mining
Reddit Data Mining: Python Script
https://searchwilderness.com/reddit-python-code/
1. Enter filename for output
2. Enter a search or series of searches
3. Choose reddit sorting method. For this purpose,
choose ‘new’
4. Choose to look at all of reddit, or isolate to
particular subreddit(s).
5. Schedule with cron to find new topic ideas on a
recurring basis.
Password: fighto
Paul Shapiro | @fighto #TechSEOBoost
AMP Validation
Paul Shapiro | @fighto #TechSEOBoost
Bulk Check AMP
Pages with
AMPBench API
Python Script:
http://pshapi.ro/2AHlNaE
Requires:
• Python
• Requests package
Ideally AMPBench would run locally, but can be ran off the appspot demo URL.
Paul Shapiro | @fighto #TechSEOBoost
Link Building
Paul Shapiro | @fighto #TechSEOBoost
Link Building: Prospecting with Competitors
Paul Shapiro | @fighto #TechSEOBoost
Tech Audit Related Site Changes
Paul Shapiro | @fighto #TechSEOBoost
• New 404s
• New redirects
• Changes to robots.txt
• Content based changes over time
• Indexation changes
• New pages
Paul Shapiro | @fighto #TechSEOBoost
CatalystDigital.com
Paul Shapiro
https://searchwilderness.com
@fighto
Thanks!
top related