SlideShare a Scribd company logo
@Rob Bertholf
Technical SEO __
@Rob on...
@Rob Bertholf
WiFi Access
Login:
________
Password:
________
@Rob Bertholf
@Rob
HELLOmy name is
@Rob Bertholf
@Rob’s Experience
@Rob Bertholf
@Rob’s Geek Cred
@Rob
WordPress
Plugin
Developer
<>
#IRC Operator
@Zeppo
Former
Board of
Directors
Information Management
Staff Sergeant
US Air Force
Software as a Service
Architect / Growth Hacker
CC Creative
Commons
Contributor
Wikipedia
Editor
PATENT APPLICATION
#US20060294199
Systems &
Methods for a
Standard Web
Platform
@Rob Bertholf
Search Engine Optimization Expert
Google Search Engine Optimization Expert
@Rob Bertholf | Search Engine Optimization Expert
rob.bertholf.com
Hi, I’m @Rob on Twitter. California guy living in
Honolulu, Hawaii the last 10 years. I teach at
University of Hawaii’s PNM program and I am
passionate about Development, Social Marketing
Strategy, Web Analytics & Conversion optimization.
Search engine optimization - Wikipedia
en.wikipedia.org/wiki/Search_engine_optimization
About 22,500,000 Results
@Rob Bertholf
Get Social! #UHPNM
Pacific New Media
@pacificnewmedia
Follow @PacificNewMedia
Excited to speak at #Clarity15
on #SEO #KPI’s & Reporting!
Rob Bertholf
@Rob
Follow @Rob
Excited to speak at #UHPNM
on #SEO & #ContentMarketing!
@Rob Bertholf
Introductions
:)
HELLOyour name is
1) Name
2) Industry
3) Takeaway
@Rob Bertholf
● How can we improve the search experience for
our visitors while serving up our content in the
most effective way for a search engine to
consume it
● What are the technical aspects search engines
look at
Desired Takeaways
@Rob Bertholf
Search Engine
Codependency
Meeting mutually beneficial needs
@Rob Bertholf
Google - Browser
http://www.google.com
Search Engine
Google
@Rob Bertholf
Search Engines
Query their Index for
Search Results
Google
@Rob Bertholf
The Index is the
result of Spiders
“Crawling” the Internet
@Rob Bertholf
cache:cat.html
Cat Page - Chrome
cat.html
Meow.
Cat Page - Chrome
cat.jpg
Meow.
Cat
Spiders SeeHumans See
Cached View
@Rob Bertholf
view-source:cat.html
Cat Page - Chrome
cat.html
Meow.
Cat Page - Chrome
cat.jpg
<html>
<head>
<title>Cat Page</title>
</head>
<body>
<h1>Meow.</h1>
<img src=”cat.jpg” alt=”Cat” />
</body>
</html>
Humans See Spiders See
HTML Source
@Rob Bertholf
HTML:
Hypertext
Markup
Language
<html>
<head>
<title>My Page</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
mypage.html
@Rob Bertholf
Anatomy of an HTML Document
<!DOCTYPE>
<html>
<head>
<title>Cat Page</title>
<meta />
<script></script>
</head>
<body>
<h1>Meow.</h1>
<img src=”cat.jpg” />
</body>
</html>
Cat Page - Chrome
cat.html
Meow.
@Rob Bertholf
My Page - Browser
mypage.html
Hello World!
Click Here for Cats!
Hyperlinks are
fundamental
to HTML
& the web
@Rob Bertholf
cat.html
My Page - Browser
mypage.html
Hello World!
Click Here for Cats!
Meow.
Cats - Browser
cat.jpg
Hyperlink
Spiders Crawl Hyperlinks
@Rob Bertholf
Likely to be indexed
Likely to be indexed
NOT likely to be indexed
About
Products
Homepage
Contact
Internal
Linking
@Rob Bertholf
Likely to be indexed
Likely to be indexed
NOT likely to be indexed
About
Products
Homepage
Contact
<a href=”cars.html” title=”Page about Cars”>Cars</a>
Internal Linking
@Rob Bertholf
Spiders must
see (& trust)
your content
to index it!
Avoid:
● Frames / iframes
● AJAX single page sites
● Unparsable javascript
● Flash, java or plugins
● Text in Images
@Rob Bertholf
HTML Sitemaps
Good for Humans
Great for Robots
@Rob Bertholf
Good for Humans
Great for Robots
HTML Sitemaps
@Rob Bertholf
XML Sitemaps
@Rob Bertholf
XML Sitemaps
@Rob Bertholf
Sitemaps and Sitemap Indexes
Sitemap files can contain up to 50,000 URLs in
each sitemap. For large sites you need to break
URLs up over several sitemaps.
If you have more than one sitemap, you will need
a sitemap index.
@Rob Bertholf
XML Sitemap (Index)
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>
http://www.domain.com/pages.xml
</loc>
<lastmod>2015-07-19</lastmod>
</sitemap>
<sitemap>
<loc>
http://www.domain.com/products.xml
</loc>
<lastmod>2015-07-19</lastmod>
</sitemap>
@Rob Bertholf
XML Sitemap
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>
http://www.domain.com/some-page/
</loc>
<lastmod>2015-07-19</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
@Rob Bertholf
Homepage
About
Services
Hidden
Please DO
NOT INDEX
What about
intentionally
hidden pages?
@Rob Bertholf
Tells User Agents how to treat the page
<meta name="robots" content="NOINDEX">
...or manage multiple rules in the robots.txt file
Meta NoIndex
@Rob Bertholf
The Robots
Whisperer
Control crawl via robots.txt
@Rob Bertholf
Robots.txt
@Rob Bertholf
Robots.txt
Tells User Agents how to treat the site.
Allow
Disallow
@Rob Bertholf
Robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
@Rob Bertholf
Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)
User Agents
User-Agent: Googlebot
Allow: /
@Rob Bertholf
Google’s User Agents
Googlebot
Googlebot-News
Googlebot-Images
Googlebot-Mobile
Mediapartners-Google
AdsBot-Google
@Rob Bertholf
International User Agents
Do we need international search engines crawling
and indexing our site?
@Rob Bertholf
Server Response
Codes
@Rob Bertholf
Server Codes
● 1xx: Information
● 2xx: Successful
● 3xx: Redirect
● 4xx: Client Error
● 5xx: Server Error
@Rob Bertholf
Server Request: OK
200 Code
@Rob Bertholf
Permanent Redirect
301 Code
@Rob Bertholf
Temporary Redirect
302 Code
@Rob Bertholf
Not Found
404 Code
?
@Rob Bertholf
Internal Server Error
500 Code
WT@#$%
@Rob Bertholf
Gateway Timeout
504 Code
?
@Rob Bertholf
Crawl Time is
Limited
@Rob Bertholf
Broken Links &
Images Slow
The Crawl
404 Error
@Rob Bertholf
Website Cleanup
Billy, clean your room!
@Rob Bertholf
1. Manually Finding Missing Pages
In Google just type “site:yourdomain.com” to
return a list of pages in your website that Google
has in their index.
Check for pages which are no longer valid or that
should not appear publicly.
site:yourdomain.comGoogle Search
@Rob Bertholf
2. Use Google Search Console
Cat Page - Chrome
https://www.google.com/webmasters/tools/crawl-errors
Google Search Console
URL Errors Desktop Smartphone Feature Phone
Server Error Soft 404 Not Found OtherNot Followed
@Rob Bertholf
3. Run a Crawl Report w/
URL
Long
URL
Dynamic
URL
4XX
Error
5XX
Error
301
Code
302
Code
Meta
Refresh
No
follow
Block
robots
Block
meta-
robots
/ (Homepage) FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/help/shipping FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
/policies-and-programs FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/help/policy FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
/tonneau-covers/10A50174.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/brakes/10A50530.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/seat-covers/10A52289.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/suspension-systems/10A504... FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
@Rob Bertholf
Redirecting Pages
Why redirect a page?
@Rob Bertholf
Fixing Broken Link on Website
/old-page.html /new-page/
404 Error
Add to your .htaccess file:
Redirect 301 /old-page.html http://yourdomain.com/new-page/
@Rob Bertholf
Redirecting to or from http://WWW.
http://mydomain.com http://www.mydomain.com
WWW.
Add to your .htaccess file:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
@Rob Bertholf
Redirecting to new domain
http://olddomain.com http://newdomain.com
Add to your .htaccess file:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
@Rob Bertholf
WordPress Rewrites
index.php?id=2 /my-path/
Add to your .htaccess file:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
@Rob Bertholf
Other Types of Redirects
Note: There are other ways to redirect pages using
Javascript, ASP, PHP, etc.
THESE ARE NOT RECOMMENDED!
They feel spammy to the search engines.
Use 301 Redirects in your HTACCESS file (If on
Apache).
@Rob Bertholf
Editing your
HTACCESS file
@Rob Bertholf
What is HTACCESS?
.htaccess files (or “distributed configuration files”) provide
a way to make configuration changes on a per-directory
basis. A file, containing one or more configuration
directives, is placed in a particular document directory,
and the directives apply to that directory, and all
subdirectories thereof.
- via Apache
@Rob Bertholf
What is HTACCESS?
The file you edit to manage redirects (and how page paths
are handled).
@Rob Bertholf
Find or Create the File
You will want to edit it with a plain text editor
(notepad or similar, I like “Sublime Text” editor).
If the file is not there you can create one. Just
name it: “.htaccess”
@Rob Bertholf
WordPress “Redirection” Plugin
If you are using WordPress you can use a plugin
to manage your redirects. This is not as powerful
but is easier to use.
https://wordpress.org/plugins/redirection/
@Rob Bertholf
RegEx
(Regular Expression)
Working Smarter not Harder with
Pattern Matching
@Rob Bertholf
Character Classes
. any character except newline
w d s word, digit, whitespace
W D S not word, digit, whitespace
[abc] any of a, b, or c
[^abc] not a, b, or c
[a-g] character between a & g
@Rob Bertholf
Anchors
^abc$ start / end of the string
b word boundary
@Rob Bertholf
Escaped Characters
. *  escaped special characters
t n r tab, linefeed, carriage return
u00A9 unicode escaped ©
@Rob Bertholf
Groups & Lookaround
(abc) capture group
1 backreference to group #1
(?:abc) non-capturing group
(?=abc) positive lookahead
(?!abc) negative lookahead
@Rob Bertholf
Quantifiers & Alternation
a* a+ a? 0 or more, 1 or more, 0 or 1
a{5} a{2,} exactly five, two or more
a{1,3} between one & three
a+? a{2,}? match as few as possible
ab|cd match ab or cd
@Rob Bertholf
Site is clean…
now how to
determine Context &
Authority
@Rob Bertholf
The role of the
Technical SEO is to
make it easy to crawl
the site & also provide
contextual info
@Rob Bertholf
How to
determine
context?
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc viverra velit ex, nec placerat lorem suscipit et.
Pellentesque condimentum lectus at venenatis tincidunt.
Donec at ex nec ante pharetra suscipit a non nunc.
Curabitur velit quam, pharetra sed convallis non, volutpat
mattis urna. Sed et urna suscipit, sagittis libero nec, viverra
metus. Fusce congue massa in dapibus bibendum. Proin
bibendum augue et nulla iaculis, non porta lorem tempus.
Suspendisse vitae elementum nisi, vel tempus lorem. In
luctus orci sed finibus viverra. Etiam semper sit amet ante
eu ullamcorper. Sed tempus, elit ac convallis suscipit,
metus elit iaculis ante, sit amet pellentesque turpis justo sit
amet mauris. Sed fermentum condimentum turpis id
ultrices.
@Rob Bertholf
Context
applied
from
<tags>
<h1>Lorem ipsum</h1>
Dlor sit amet, consectetur adipiscing elit. Nunc viverra velit ex,
nec placerat lorem suscipit et. Pellentesque condimentum
lectus at venenatis tincidunt. Donec at ex nec ante pharetra
suscipit a non nunc.
<h2>Curabitur velit quam</h2>
Paretra sed convallis non, volutpat mattis urna. Sed et urna
suscipit, sagittis libero nec, viverra metus. Fusce congue massa
in dapibus bibendum.
<h2>Proin bibendum augue</h2>
Et nulla iaculis, non porta lorem tempus. Suspendisse suscipit,
metus elit iaculis ante, sit amet pellentesque elementum
nisi, <strong>tempus lorem</strong> In luctus orci sed
finibus viverra. Etiam semper sit amet ante eu ullamcorper. Sed
tempus, elit ac convallis turpis justo sit amet mauris. Sed
fermentum condimentum turpis id ultrices.
@Rob Bertholf
HTML Tags
● Heading <h1> <h2> <h3> <h4> <h5> <h6>
● Bold <strong>
● Image Alternate <img alt=”value”>
● Link Title <a title=”value”>
@Rob Bertholf
Context
from
Page Title
<title>Lorem ipsum</title>
Lorem Ipsum - Chrome
cat.html
Meow.
<!DOCTYPE>
<html>
<head>
@Rob Bertholf
Page Title
● Keep the page title less than 65 characters
● Ensure the title grabs your attention
Home
domain1.com
This is a description of the page.
Search Term - Free Shipping!
domain2.com
This is a description of the page.
@Rob Bertholf
Lorem Ipsum - Chrome
http://distraction.com/pets/cat.html
Meow.
Context
from
URL
domain.tld/sub-folder/page
@Rob Bertholf
Search Friendly URLs
Keyword in Domain Relevant Keyword
in Subfolder
Keyword in page name
separated by hyphen
www.distraction.com/pets/playful-cats.html
@Rob Bertholf
UN-Search Friendly URLs
Unnecessary
Subdomain
Dynamic URLs (especially
with more than 2 parameters)
Not readable URL string
123xyz.distr-action.com/a?q=abc&x=yxz&p=1
@Rob Bertholf
Lorem Ipsum - Chrome
cat.html
Learn about Cats
Context
from
referring
Hypertext
<a href=”page.html”
title=”Page about
Cats”>Cats</a>
@Rob Bertholf
Hypertext
<a href=”page.html”>Click Here</a> for Cats
Click Here for <a href=”page.html”>Cats</a>
@Rob Bertholf
NOT SEO Factors
● Meta Keywords
● Meta Description
<meta name="keywords" content="Obsolete">
<meta name="keywords" content="This is only
used to customize what appears in the
search engine results page for your listing.">
@Rob Bertholf
Pruning Content
(Not all content should
be indexed)
@Rob Bertholf
Duplicate Content
Identifies Duplicate Content
Determine Original Version
<link rel=”canonical”
href=”http://site.com/url.html” />
@Rob Bertholf
rel=”canonical”
Copied Version
partnersite.com/article
Canonical Version
yoursite.com/article
Duplicate Version
yoursite.com/article?mode=print
@Rob Bertholf
rel=”prev/next”
Page 3
Page 2
yoursite.com/article?page=2
Page 1
yoursite.com/article?page=1 yoursite.com/article?page=3
<link rel="prev" href="http://yoursite.com/article?page=1" />
<link rel="next" href="http://yoursite.com/article?page=3" />
@Rob Bertholf
Link Sculpting
Website
About
Services
Privacy
Policy
External
Link
@Rob Bertholf
Link Sculpting
Overall, this is a tactic which is no longer a tactic.
Still useful on Privacy Policy / Terms of Use which
should not be followed or indexed by the search
engines.
<a href="/login" rel="nofollow">Login</a>
@Rob Bertholf
Link Sculpting: NoFollow
Google recommends Rel=NoFollow on any paid
links or external links going to untrusted sites.
<a href="http://externalsite.com"
rel="nofollow">Sponsored Link</a>
@Rob Bertholf
Other Link Directives
noarchive: Don’t show a "Cached" link in search results.
nosnippet: Don’t show a snippet in the search results for this page
noodp: Don’t use metadata from Open Directory project for titles or snippets.
notranslate: Don’t offer translation of this page in search results.
noimageindex: Don’t index images on this page.
unavailable_after: Don’t show this page after the specified date/time.
@Rob Bertholf
Let’s Get Back
to Context
@Rob Bertholf
Web 1.0
Article Person
Song Book
Portal
@Rob Bertholf
Article Person
Song
Book
Collaborate
Connect & Share
Review
Discuss
Collaboration
Web 2.0
@Rob Bertholf
Article Person
Song Book
written by
is loved by
references
inspired by
isreading
discussed
in
Context
Web 3.0
@Rob Bertholf
Semantic Web User Interface & Applications
Trust
Crypto
URI / IRI
XML
Data Interchange:RDF
Rules:
RIF
RDF-S
Unifying Logic
Ontology: OWLQuery:
SPARQL
Proof
Unicode
@Rob Bertholf
JSON Markup: Organization
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"url": "http://www.yourdomain.com",
"logo": "http://yourdomain.com/somelogo.png",
"contactPoint" : [
{ "@type" : "ContactPoint",
"telephone" : "+1-800-123-4567",
"contactType" : ["Sales","Customer Service"],
"contactOption" : "TollFree",
"areaServed" : "US",
"availableLanguage" : ["English", "Spanish"]
} ],
@Rob Bertholf
JSON Markup: Organization
"sameAs" : [
"https://www.facebook.com/yourbrand",
"https://twitter.com/yourbrand",
"http://plus.google.com/+yourbrand",
"https://www.youtube.com/user/yourbrand",
"https://www.pinterest.com/yourbrand/",
"https://instagram.com/yourbrand/",
"http://en.wikipedia.org/wiki/yourbrand",
"https://www.linkedin.com/company/yourbrand"
]
}
</script>
@Rob Bertholf
JSON Markup: Website
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "http://www.domain.com",
“name”: “Your Brand”,
"potentialAction": {
"@type": "SearchAction",
"target": "http://www.domain.com/shop/{search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
@Rob Bertholf
Product Schema
<div itemscope itemtype="http://schema.org/Product">
<span itemprop="brand">{{Product Manufacturer}}</span>
<span itemprop="name">{{Product Name}}</span>
<img itemprop="image" src="{{Product Image Filename}}" alt="{{Product Name}}"
/>
<span itemprop="description">{{ProductDescription}}</span>
Product #: <span itemprop="mpn">{{Product ID}}</span>
<span itemprop="aggregateRating" itemscope
itemtype="http://schema.org/AggregateRating">
<span itemprop="ratingValue">{{Review Rating|4.4}}</span> stars,
based on <span itemprop="reviewCount">{{Review Count|89}}</span> reviews
</span>
</div>
@Rob Bertholf
Rating Schema
<div itemscope itemtype="http://schema.org/Review">
<div itemprop="itemReviewed" itemscope itemtype="http://schema.org/Product">
<span itemprop="name">{{Product Name}}</span>
</div>
<span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
<meta itemprop="bestRating" content="{{Review Rating|5}}" />
<meta itemprop="worstRating" content="{{Review Rating|1}}" />
<span itemprop="ratingValue">{{Review Rating|4}}</span>
</span> stars
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
<span itemprop="name">{{First L}}</span>
</span>
<b>"<span itemprop="name">{{Review Title}}</span>" </b>
<span itemprop="reviewBody">{{Review Text}}</span>
<meta itemprop="datePublished" content="2015-03-31T08:06:00" />
</div>
@Rob Bertholf
Breadcrumb Markup
<ul class="breadcrumb inline clearfix">
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a title="Home" href="/" itemprop="url"><span itemprop="title">Home</span></a>
</li>
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/store" itemprop="url"><span itemprop="title">Store</span></a>
</li>
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/store/shoes" itemprop="url"><span itemprop="title">Shoes</span></a>
</li>
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<span itemprop="title">Running Shoe</span>
</li>
</ul>
@Rob Bertholf
https://developers.google.com/structured-data/testing-tool/
@Rob Bertholf
Tools __
@Rob Bertholf
What I Pay For
● Currently
○ Moz (https://moz.com/)
○ AHREFs (https://ahrefs.com/)
○ Screaming Frog (http://www.screamingfrog.co.uk/seo-spider/)
○ Link Assistant’s Rank Tracker (http://www.link-assistant.com/rank-tracker/)
● Previously
○ seoClarity, MagesticSEO, WebCEO,
LinkResearchTools
@Rob Bertholf
Webmaster Tools
@Rob Bertholf
Test drive… vroom.
Google Webmaster
Tools Search Console
@Rob Bertholf
+ Google Search Console Data
Google Search Console - Chrome
https://www.google.com/webmasters/tools/crawl-errors
Google Search Console
URL Errors Desktop Smartphone Feature Phone
Server Error Soft 404 Not Found OtherNot Followed
@Rob Bertholf
Test drive… vroom.
Bing Webmaster
Tools
@Rob Bertholf
+ Crawl Data via
URL
Long
URL
Dynamic
URL
4XX
Error
5XX
Error
301
Code
302
Code
Meta
Refresh
No
follow
Block
robots
Block
meta-
robots
/ (Homepage) FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/help/shipping FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
/policies-and-programs FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/help/policy FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
/tonneau-covers/10A50174.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/brakes/10A50530.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/seat-covers/10A52289.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
/suspension-systems/10A504... FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
@Rob Bertholf
Noticeably Absent
● International / Multilingual Tactics
● Mobile Sitemap & Canonical, Viewport
● Social Integration (FB: OG, etc.)
@Rob Bertholf
Questions?
@Rob
Rob@Bertholf.com
@Rob Bertholf
Recap __
@Rob Bertholf
Questions?
@Rob Bertholf
Thank you!
@rob
rob@bertholf.com
@Rob Bertholf
What were your thoughts?
Please tweet:
“Just finished #SEO course with @Rob.
It was _________”

More Related Content

PDF
Search Engine Optimization Fundamentals
PDF
SEO Team Management & Reporting
PDF
Strategic Content Framework
PDF
Social Media Marketing: Strategy, Tactics & Measurement
PDF
Importance of Content in SEO
PDF
Web Analytics: Data driven marketing decisions
PPT
Romania presentation
PDF
Seo 101 - NYC Faith and Tech
Search Engine Optimization Fundamentals
SEO Team Management & Reporting
Strategic Content Framework
Social Media Marketing: Strategy, Tactics & Measurement
Importance of Content in SEO
Web Analytics: Data driven marketing decisions
Romania presentation
Seo 101 - NYC Faith and Tech

What's hot (20)

PPT
Tactics for Dealing with the Latest Google Algorithm Updates - Pubcon New Orl...
KEY
FUD-Free Accessibility for Web Developers - Also, Cake.
KEY
FL/AL ARVC Internet Marketing Presentation
PDF
How to Maximize Conversions Through SEO and CRO
PPT
The Web Wonder In 40 Minutes
PDF
SEO Is Dead - Raleigh SEO Meetup - 2019 09-17
PPTX
Lost in the Net: Navigating Search Engines
KEY
LinkedIn 10/10
PDF
BrightonSEO: Context is King - Ian Miller, CEO, at Crafted
PPTX
Lost in the Net? Navigating Search Engines
PPT
Google Update Zoo : Panda – Penguin
PPT
Seo - Search Engine Optimization seminar
PPTX
Local SEO Hotseat
PPTX
Fresno WordPress Meetup - 7 Basic SEO questions
PPT
Seo presentation revised(2)
PDF
Basic Search Engine Optimization techniques & tips
PPTX
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
KEY
SEO Presentation - LA2M
PPTX
Sustainable SEO Strategies By Jake Bohall at Pubcon Florida 4/12/2018
PPT
Vikram seo ppt
Tactics for Dealing with the Latest Google Algorithm Updates - Pubcon New Orl...
FUD-Free Accessibility for Web Developers - Also, Cake.
FL/AL ARVC Internet Marketing Presentation
How to Maximize Conversions Through SEO and CRO
The Web Wonder In 40 Minutes
SEO Is Dead - Raleigh SEO Meetup - 2019 09-17
Lost in the Net: Navigating Search Engines
LinkedIn 10/10
BrightonSEO: Context is King - Ian Miller, CEO, at Crafted
Lost in the Net? Navigating Search Engines
Google Update Zoo : Panda – Penguin
Seo - Search Engine Optimization seminar
Local SEO Hotseat
Fresno WordPress Meetup - 7 Basic SEO questions
Seo presentation revised(2)
Basic Search Engine Optimization techniques & tips
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
SEO Presentation - LA2M
Sustainable SEO Strategies By Jake Bohall at Pubcon Florida 4/12/2018
Vikram seo ppt
Ad

Viewers also liked (8)

PDF
SEO Analysis & KPI Tracking
PPT
PPTX
Goal Setting and KPIs for SEO by Sheila Dela Pena
PPT
SEO Life Cycle
PDF
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
PPTX
SearchLove Boston 2013_Will Critchlow_Technical SEO
PPT
Startup Metrics 4 Pirates (July 2010)
PDF
The Technical SEO Renaissance
SEO Analysis & KPI Tracking
Goal Setting and KPIs for SEO by Sheila Dela Pena
SEO Life Cycle
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
SearchLove Boston 2013_Will Critchlow_Technical SEO
Startup Metrics 4 Pirates (July 2010)
The Technical SEO Renaissance
Ad

Similar to Technical SEO Factors (20)

PDF
Technical SEO: .htaccess & 301 Redirects
PDF
Technical SEO Checklist for Beginners
PPTX
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
PPTX
How to Use Google Search Console
PPTX
Google Webmaster Tools
PDF
How to do a SEO Site Audit
PDF
SEO for Developers
PDF
What is Technical SEO?
PPTX
Technical SEO Face-Off
PDF
What You Need to Know About Technical SEO
PPTX
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
PPTX
Digital marketing introduction - SEO for developers
PDF
BrightonSEO 2017 - SEO quick wins from a technical check
PDF
Technical SEO.pdf
PDF
Google webmaster tools
PDF
Importance of Technical SEO
PPTX
Part 2 of Advanced SEO tips for Exponent CMS
PDF
The Technical SEO Full Course how to do
PPTX
Technical SEO explain by Akramujjaman Mridha
PPTX
SEO for Beginners Feb 2020 - Bristol Media
Technical SEO: .htaccess & 301 Redirects
Technical SEO Checklist for Beginners
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
How to Use Google Search Console
Google Webmaster Tools
How to do a SEO Site Audit
SEO for Developers
What is Technical SEO?
Technical SEO Face-Off
What You Need to Know About Technical SEO
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
Digital marketing introduction - SEO for developers
BrightonSEO 2017 - SEO quick wins from a technical check
Technical SEO.pdf
Google webmaster tools
Importance of Technical SEO
Part 2 of Advanced SEO tips for Exponent CMS
The Technical SEO Full Course how to do
Technical SEO explain by Akramujjaman Mridha
SEO for Beginners Feb 2020 - Bristol Media

More from Rob Bertholf (7)

PDF
Demystifying SEO & Modern KPI Reporting
PDF
Introduction to Web Technology
PDF
SaaS Springboard API
PDF
SaaS Ventures: Introduction
PDF
How to increase your Klout score by 20 points
PDF
Convent Validation & Off-site SEO
PPT
DrupalCampHI - Drupal vs WordPress
Demystifying SEO & Modern KPI Reporting
Introduction to Web Technology
SaaS Springboard API
SaaS Ventures: Introduction
How to increase your Klout score by 20 points
Convent Validation & Off-site SEO
DrupalCampHI - Drupal vs WordPress

Recently uploaded (20)

PPT
Introduction to consumer behavior(1).PPT
PDF
Keshav Solutions Pest Control || Trending Branding Digital Solutions
PDF
20K Btc Enabled Cash App Accounts – Safe, Fast, Verified.pdf
PDF
Unit 1 -2 THE 4 As of RURAL MARKETING MIX.pdf
PPTX
Tea and different types of tea in India
PDF
You Need SEO for Your Business. Here’s Why..pdf
PDF
RC 14001 Certification: Enhancing ISO 14001 with EHS & Security Standards
PDF
Nurpet Packaging Company Profile (Basic)
PDF
Pay-Per-Click Marketing: Strategies That Actually Work in 2025
PDF
Missing skill for SEO in AI Era eSkydecode.pdf
PPTX
Best Digital marketing service provider in Chandigarh.pptx
PPTX
Presentation - MindfulHeal Digital Ayurveda GTM & Marketing Plan.pptx
PPTX
CH 2 The Role of IMC in the Marketing Process (combined)
PPT
Market Segmentation and Positioning(3).ppt
PPTX
Strategic Sage Digital-The Professional Digital Marketing Company in Mohali.pptx
PPTX
Fixing-AI-Hallucinations-The-NeuroRanktm-Approach.pptx
PDF
sm_67a1bc7f35716dcb1a9195ea_382528b8-2159-47be-a7ba-d034a449f849.pdf
PDF
Building a strong social media presence.
PPTX
hnk joint business plan for_Rooftop_Plan
PPTX
APA Examples Reference Examples Style and
Introduction to consumer behavior(1).PPT
Keshav Solutions Pest Control || Trending Branding Digital Solutions
20K Btc Enabled Cash App Accounts – Safe, Fast, Verified.pdf
Unit 1 -2 THE 4 As of RURAL MARKETING MIX.pdf
Tea and different types of tea in India
You Need SEO for Your Business. Here’s Why..pdf
RC 14001 Certification: Enhancing ISO 14001 with EHS & Security Standards
Nurpet Packaging Company Profile (Basic)
Pay-Per-Click Marketing: Strategies That Actually Work in 2025
Missing skill for SEO in AI Era eSkydecode.pdf
Best Digital marketing service provider in Chandigarh.pptx
Presentation - MindfulHeal Digital Ayurveda GTM & Marketing Plan.pptx
CH 2 The Role of IMC in the Marketing Process (combined)
Market Segmentation and Positioning(3).ppt
Strategic Sage Digital-The Professional Digital Marketing Company in Mohali.pptx
Fixing-AI-Hallucinations-The-NeuroRanktm-Approach.pptx
sm_67a1bc7f35716dcb1a9195ea_382528b8-2159-47be-a7ba-d034a449f849.pdf
Building a strong social media presence.
hnk joint business plan for_Rooftop_Plan
APA Examples Reference Examples Style and

Technical SEO Factors

  • 5. @Rob Bertholf @Rob’s Geek Cred @Rob WordPress Plugin Developer <> #IRC Operator @Zeppo Former Board of Directors Information Management Staff Sergeant US Air Force Software as a Service Architect / Growth Hacker CC Creative Commons Contributor Wikipedia Editor PATENT APPLICATION #US20060294199 Systems & Methods for a Standard Web Platform
  • 6. @Rob Bertholf Search Engine Optimization Expert Google Search Engine Optimization Expert @Rob Bertholf | Search Engine Optimization Expert rob.bertholf.com Hi, I’m @Rob on Twitter. California guy living in Honolulu, Hawaii the last 10 years. I teach at University of Hawaii’s PNM program and I am passionate about Development, Social Marketing Strategy, Web Analytics & Conversion optimization. Search engine optimization - Wikipedia en.wikipedia.org/wiki/Search_engine_optimization About 22,500,000 Results
  • 7. @Rob Bertholf Get Social! #UHPNM Pacific New Media @pacificnewmedia Follow @PacificNewMedia Excited to speak at #Clarity15 on #SEO #KPI’s & Reporting! Rob Bertholf @Rob Follow @Rob Excited to speak at #UHPNM on #SEO & #ContentMarketing!
  • 8. @Rob Bertholf Introductions :) HELLOyour name is 1) Name 2) Industry 3) Takeaway
  • 9. @Rob Bertholf ● How can we improve the search experience for our visitors while serving up our content in the most effective way for a search engine to consume it ● What are the technical aspects search engines look at Desired Takeaways
  • 11. @Rob Bertholf Google - Browser http://www.google.com Search Engine Google
  • 12. @Rob Bertholf Search Engines Query their Index for Search Results Google
  • 13. @Rob Bertholf The Index is the result of Spiders “Crawling” the Internet
  • 14. @Rob Bertholf cache:cat.html Cat Page - Chrome cat.html Meow. Cat Page - Chrome cat.jpg Meow. Cat Spiders SeeHumans See Cached View
  • 15. @Rob Bertholf view-source:cat.html Cat Page - Chrome cat.html Meow. Cat Page - Chrome cat.jpg <html> <head> <title>Cat Page</title> </head> <body> <h1>Meow.</h1> <img src=”cat.jpg” alt=”Cat” /> </body> </html> Humans See Spiders See HTML Source
  • 17. @Rob Bertholf Anatomy of an HTML Document <!DOCTYPE> <html> <head> <title>Cat Page</title> <meta /> <script></script> </head> <body> <h1>Meow.</h1> <img src=”cat.jpg” /> </body> </html> Cat Page - Chrome cat.html Meow.
  • 18. @Rob Bertholf My Page - Browser mypage.html Hello World! Click Here for Cats! Hyperlinks are fundamental to HTML & the web
  • 19. @Rob Bertholf cat.html My Page - Browser mypage.html Hello World! Click Here for Cats! Meow. Cats - Browser cat.jpg Hyperlink Spiders Crawl Hyperlinks
  • 20. @Rob Bertholf Likely to be indexed Likely to be indexed NOT likely to be indexed About Products Homepage Contact Internal Linking
  • 21. @Rob Bertholf Likely to be indexed Likely to be indexed NOT likely to be indexed About Products Homepage Contact <a href=”cars.html” title=”Page about Cars”>Cars</a> Internal Linking
  • 22. @Rob Bertholf Spiders must see (& trust) your content to index it! Avoid: ● Frames / iframes ● AJAX single page sites ● Unparsable javascript ● Flash, java or plugins ● Text in Images
  • 23. @Rob Bertholf HTML Sitemaps Good for Humans Great for Robots
  • 24. @Rob Bertholf Good for Humans Great for Robots HTML Sitemaps
  • 27. @Rob Bertholf Sitemaps and Sitemap Indexes Sitemap files can contain up to 50,000 URLs in each sitemap. For large sites you need to break URLs up over several sitemaps. If you have more than one sitemap, you will need a sitemap index.
  • 28. @Rob Bertholf XML Sitemap (Index) <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc> http://www.domain.com/pages.xml </loc> <lastmod>2015-07-19</lastmod> </sitemap> <sitemap> <loc> http://www.domain.com/products.xml </loc> <lastmod>2015-07-19</lastmod> </sitemap>
  • 29. @Rob Bertholf XML Sitemap <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc> http://www.domain.com/some-page/ </loc> <lastmod>2015-07-19</lastmod> <changefreq>daily</changefreq> <priority>0.8</priority> </url>
  • 30. @Rob Bertholf Homepage About Services Hidden Please DO NOT INDEX What about intentionally hidden pages?
  • 31. @Rob Bertholf Tells User Agents how to treat the page <meta name="robots" content="NOINDEX"> ...or manage multiple rules in the robots.txt file Meta NoIndex
  • 34. @Rob Bertholf Robots.txt Tells User Agents how to treat the site. Allow Disallow
  • 35. @Rob Bertholf Robots.txt User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/
  • 36. @Rob Bertholf Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) User Agents User-Agent: Googlebot Allow: /
  • 37. @Rob Bertholf Google’s User Agents Googlebot Googlebot-News Googlebot-Images Googlebot-Mobile Mediapartners-Google AdsBot-Google
  • 38. @Rob Bertholf International User Agents Do we need international search engines crawling and indexing our site?
  • 40. @Rob Bertholf Server Codes ● 1xx: Information ● 2xx: Successful ● 3xx: Redirect ● 4xx: Client Error ● 5xx: Server Error
  • 45. @Rob Bertholf Internal Server Error 500 Code WT@#$%
  • 48. @Rob Bertholf Broken Links & Images Slow The Crawl 404 Error
  • 50. @Rob Bertholf 1. Manually Finding Missing Pages In Google just type “site:yourdomain.com” to return a list of pages in your website that Google has in their index. Check for pages which are no longer valid or that should not appear publicly. site:yourdomain.comGoogle Search
  • 51. @Rob Bertholf 2. Use Google Search Console Cat Page - Chrome https://www.google.com/webmasters/tools/crawl-errors Google Search Console URL Errors Desktop Smartphone Feature Phone Server Error Soft 404 Not Found OtherNot Followed
  • 52. @Rob Bertholf 3. Run a Crawl Report w/ URL Long URL Dynamic URL 4XX Error 5XX Error 301 Code 302 Code Meta Refresh No follow Block robots Block meta- robots / (Homepage) FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /help/shipping FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE /policies-and-programs FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /help/policy FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE /tonneau-covers/10A50174.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /brakes/10A50530.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /seat-covers/10A52289.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /suspension-systems/10A504... FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
  • 54. @Rob Bertholf Fixing Broken Link on Website /old-page.html /new-page/ 404 Error Add to your .htaccess file: Redirect 301 /old-page.html http://yourdomain.com/new-page/
  • 55. @Rob Bertholf Redirecting to or from http://WWW. http://mydomain.com http://www.mydomain.com WWW. Add to your .htaccess file: RewriteEngine on RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
  • 56. @Rob Bertholf Redirecting to new domain http://olddomain.com http://newdomain.com Add to your .htaccess file: RewriteEngine on RewriteCond %{HTTP_HOST} ^olddomain.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
  • 57. @Rob Bertholf WordPress Rewrites index.php?id=2 /my-path/ Add to your .htaccess file: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
  • 58. @Rob Bertholf Other Types of Redirects Note: There are other ways to redirect pages using Javascript, ASP, PHP, etc. THESE ARE NOT RECOMMENDED! They feel spammy to the search engines. Use 301 Redirects in your HTACCESS file (If on Apache).
  • 60. @Rob Bertholf What is HTACCESS? .htaccess files (or “distributed configuration files”) provide a way to make configuration changes on a per-directory basis. A file, containing one or more configuration directives, is placed in a particular document directory, and the directives apply to that directory, and all subdirectories thereof. - via Apache
  • 61. @Rob Bertholf What is HTACCESS? The file you edit to manage redirects (and how page paths are handled).
  • 62. @Rob Bertholf Find or Create the File You will want to edit it with a plain text editor (notepad or similar, I like “Sublime Text” editor). If the file is not there you can create one. Just name it: “.htaccess”
  • 63. @Rob Bertholf WordPress “Redirection” Plugin If you are using WordPress you can use a plugin to manage your redirects. This is not as powerful but is easier to use. https://wordpress.org/plugins/redirection/
  • 64. @Rob Bertholf RegEx (Regular Expression) Working Smarter not Harder with Pattern Matching
  • 65. @Rob Bertholf Character Classes . any character except newline w d s word, digit, whitespace W D S not word, digit, whitespace [abc] any of a, b, or c [^abc] not a, b, or c [a-g] character between a & g
  • 66. @Rob Bertholf Anchors ^abc$ start / end of the string b word boundary
  • 67. @Rob Bertholf Escaped Characters . * escaped special characters t n r tab, linefeed, carriage return u00A9 unicode escaped ©
  • 68. @Rob Bertholf Groups & Lookaround (abc) capture group 1 backreference to group #1 (?:abc) non-capturing group (?=abc) positive lookahead (?!abc) negative lookahead
  • 69. @Rob Bertholf Quantifiers & Alternation a* a+ a? 0 or more, 1 or more, 0 or 1 a{5} a{2,} exactly five, two or more a{1,3} between one & three a+? a{2,}? match as few as possible ab|cd match ab or cd
  • 70. @Rob Bertholf Site is clean… now how to determine Context & Authority
  • 71. @Rob Bertholf The role of the Technical SEO is to make it easy to crawl the site & also provide contextual info
  • 72. @Rob Bertholf How to determine context? Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra velit ex, nec placerat lorem suscipit et. Pellentesque condimentum lectus at venenatis tincidunt. Donec at ex nec ante pharetra suscipit a non nunc. Curabitur velit quam, pharetra sed convallis non, volutpat mattis urna. Sed et urna suscipit, sagittis libero nec, viverra metus. Fusce congue massa in dapibus bibendum. Proin bibendum augue et nulla iaculis, non porta lorem tempus. Suspendisse vitae elementum nisi, vel tempus lorem. In luctus orci sed finibus viverra. Etiam semper sit amet ante eu ullamcorper. Sed tempus, elit ac convallis suscipit, metus elit iaculis ante, sit amet pellentesque turpis justo sit amet mauris. Sed fermentum condimentum turpis id ultrices.
  • 73. @Rob Bertholf Context applied from <tags> <h1>Lorem ipsum</h1> Dlor sit amet, consectetur adipiscing elit. Nunc viverra velit ex, nec placerat lorem suscipit et. Pellentesque condimentum lectus at venenatis tincidunt. Donec at ex nec ante pharetra suscipit a non nunc. <h2>Curabitur velit quam</h2> Paretra sed convallis non, volutpat mattis urna. Sed et urna suscipit, sagittis libero nec, viverra metus. Fusce congue massa in dapibus bibendum. <h2>Proin bibendum augue</h2> Et nulla iaculis, non porta lorem tempus. Suspendisse suscipit, metus elit iaculis ante, sit amet pellentesque elementum nisi, <strong>tempus lorem</strong> In luctus orci sed finibus viverra. Etiam semper sit amet ante eu ullamcorper. Sed tempus, elit ac convallis turpis justo sit amet mauris. Sed fermentum condimentum turpis id ultrices.
  • 74. @Rob Bertholf HTML Tags ● Heading <h1> <h2> <h3> <h4> <h5> <h6> ● Bold <strong> ● Image Alternate <img alt=”value”> ● Link Title <a title=”value”>
  • 75. @Rob Bertholf Context from Page Title <title>Lorem ipsum</title> Lorem Ipsum - Chrome cat.html Meow. <!DOCTYPE> <html> <head>
  • 76. @Rob Bertholf Page Title ● Keep the page title less than 65 characters ● Ensure the title grabs your attention Home domain1.com This is a description of the page. Search Term - Free Shipping! domain2.com This is a description of the page.
  • 77. @Rob Bertholf Lorem Ipsum - Chrome http://distraction.com/pets/cat.html Meow. Context from URL domain.tld/sub-folder/page
  • 78. @Rob Bertholf Search Friendly URLs Keyword in Domain Relevant Keyword in Subfolder Keyword in page name separated by hyphen www.distraction.com/pets/playful-cats.html
  • 79. @Rob Bertholf UN-Search Friendly URLs Unnecessary Subdomain Dynamic URLs (especially with more than 2 parameters) Not readable URL string 123xyz.distr-action.com/a?q=abc&x=yxz&p=1
  • 80. @Rob Bertholf Lorem Ipsum - Chrome cat.html Learn about Cats Context from referring Hypertext <a href=”page.html” title=”Page about Cats”>Cats</a>
  • 81. @Rob Bertholf Hypertext <a href=”page.html”>Click Here</a> for Cats Click Here for <a href=”page.html”>Cats</a>
  • 82. @Rob Bertholf NOT SEO Factors ● Meta Keywords ● Meta Description <meta name="keywords" content="Obsolete"> <meta name="keywords" content="This is only used to customize what appears in the search engine results page for your listing.">
  • 83. @Rob Bertholf Pruning Content (Not all content should be indexed)
  • 84. @Rob Bertholf Duplicate Content Identifies Duplicate Content Determine Original Version <link rel=”canonical” href=”http://site.com/url.html” />
  • 85. @Rob Bertholf rel=”canonical” Copied Version partnersite.com/article Canonical Version yoursite.com/article Duplicate Version yoursite.com/article?mode=print
  • 86. @Rob Bertholf rel=”prev/next” Page 3 Page 2 yoursite.com/article?page=2 Page 1 yoursite.com/article?page=1 yoursite.com/article?page=3 <link rel="prev" href="http://yoursite.com/article?page=1" /> <link rel="next" href="http://yoursite.com/article?page=3" />
  • 88. @Rob Bertholf Link Sculpting Overall, this is a tactic which is no longer a tactic. Still useful on Privacy Policy / Terms of Use which should not be followed or indexed by the search engines. <a href="/login" rel="nofollow">Login</a>
  • 89. @Rob Bertholf Link Sculpting: NoFollow Google recommends Rel=NoFollow on any paid links or external links going to untrusted sites. <a href="http://externalsite.com" rel="nofollow">Sponsored Link</a>
  • 90. @Rob Bertholf Other Link Directives noarchive: Don’t show a "Cached" link in search results. nosnippet: Don’t show a snippet in the search results for this page noodp: Don’t use metadata from Open Directory project for titles or snippets. notranslate: Don’t offer translation of this page in search results. noimageindex: Don’t index images on this page. unavailable_after: Don’t show this page after the specified date/time.
  • 91. @Rob Bertholf Let’s Get Back to Context
  • 92. @Rob Bertholf Web 1.0 Article Person Song Book Portal
  • 93. @Rob Bertholf Article Person Song Book Collaborate Connect & Share Review Discuss Collaboration Web 2.0
  • 94. @Rob Bertholf Article Person Song Book written by is loved by references inspired by isreading discussed in Context Web 3.0
  • 95. @Rob Bertholf Semantic Web User Interface & Applications Trust Crypto URI / IRI XML Data Interchange:RDF Rules: RIF RDF-S Unifying Logic Ontology: OWLQuery: SPARQL Proof Unicode
  • 96. @Rob Bertholf JSON Markup: Organization <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "url": "http://www.yourdomain.com", "logo": "http://yourdomain.com/somelogo.png", "contactPoint" : [ { "@type" : "ContactPoint", "telephone" : "+1-800-123-4567", "contactType" : ["Sales","Customer Service"], "contactOption" : "TollFree", "areaServed" : "US", "availableLanguage" : ["English", "Spanish"] } ],
  • 97. @Rob Bertholf JSON Markup: Organization "sameAs" : [ "https://www.facebook.com/yourbrand", "https://twitter.com/yourbrand", "http://plus.google.com/+yourbrand", "https://www.youtube.com/user/yourbrand", "https://www.pinterest.com/yourbrand/", "https://instagram.com/yourbrand/", "http://en.wikipedia.org/wiki/yourbrand", "https://www.linkedin.com/company/yourbrand" ] } </script>
  • 98. @Rob Bertholf JSON Markup: Website <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "http://www.domain.com", “name”: “Your Brand”, "potentialAction": { "@type": "SearchAction", "target": "http://www.domain.com/shop/{search_term_string}", "query-input": "required name=search_term_string" } } </script>
  • 99. @Rob Bertholf Product Schema <div itemscope itemtype="http://schema.org/Product"> <span itemprop="brand">{{Product Manufacturer}}</span> <span itemprop="name">{{Product Name}}</span> <img itemprop="image" src="{{Product Image Filename}}" alt="{{Product Name}}" /> <span itemprop="description">{{ProductDescription}}</span> Product #: <span itemprop="mpn">{{Product ID}}</span> <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <span itemprop="ratingValue">{{Review Rating|4.4}}</span> stars, based on <span itemprop="reviewCount">{{Review Count|89}}</span> reviews </span> </div>
  • 100. @Rob Bertholf Rating Schema <div itemscope itemtype="http://schema.org/Review"> <div itemprop="itemReviewed" itemscope itemtype="http://schema.org/Product"> <span itemprop="name">{{Product Name}}</span> </div> <span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="bestRating" content="{{Review Rating|5}}" /> <meta itemprop="worstRating" content="{{Review Rating|1}}" /> <span itemprop="ratingValue">{{Review Rating|4}}</span> </span> stars <span itemprop="author" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">{{First L}}</span> </span> <b>"<span itemprop="name">{{Review Title}}</span>" </b> <span itemprop="reviewBody">{{Review Text}}</span> <meta itemprop="datePublished" content="2015-03-31T08:06:00" /> </div>
  • 101. @Rob Bertholf Breadcrumb Markup <ul class="breadcrumb inline clearfix"> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a title="Home" href="/" itemprop="url"><span itemprop="title">Home</span></a> </li> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="/store" itemprop="url"><span itemprop="title">Store</span></a> </li> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="/store/shoes" itemprop="url"><span itemprop="title">Shoes</span></a> </li> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <span itemprop="title">Running Shoe</span> </li> </ul>
  • 104. @Rob Bertholf What I Pay For ● Currently ○ Moz (https://moz.com/) ○ AHREFs (https://ahrefs.com/) ○ Screaming Frog (http://www.screamingfrog.co.uk/seo-spider/) ○ Link Assistant’s Rank Tracker (http://www.link-assistant.com/rank-tracker/) ● Previously ○ seoClarity, MagesticSEO, WebCEO, LinkResearchTools
  • 106. @Rob Bertholf Test drive… vroom. Google Webmaster Tools Search Console
  • 107. @Rob Bertholf + Google Search Console Data Google Search Console - Chrome https://www.google.com/webmasters/tools/crawl-errors Google Search Console URL Errors Desktop Smartphone Feature Phone Server Error Soft 404 Not Found OtherNot Followed
  • 108. @Rob Bertholf Test drive… vroom. Bing Webmaster Tools
  • 109. @Rob Bertholf + Crawl Data via URL Long URL Dynamic URL 4XX Error 5XX Error 301 Code 302 Code Meta Refresh No follow Block robots Block meta- robots / (Homepage) FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /help/shipping FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE /policies-and-programs FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /help/policy FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE /tonneau-covers/10A50174.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /brakes/10A50530.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /seat-covers/10A52289.aspx FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE /suspension-systems/10A504... FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
  • 110. @Rob Bertholf Noticeably Absent ● International / Multilingual Tactics ● Mobile Sitemap & Canonical, Viewport ● Social Integration (FB: OG, etc.)
  • 115. @Rob Bertholf What were your thoughts? Please tweet: “Just finished #SEO course with @Rob. It was _________”