Professional Documents
Culture Documents
Hyperlinks Canonicalization
Text Link Hyperlinking Best Practices Common Duplicate Homepage URLs Canonicalized URL Best Practices
<a href="https://www.example.com/ Preference: HTML links over
webpage.html">Keyword in Anchor https://www.example.com Preferred URL = https://example.com/
JavaScript
Text</a>
Use "nofollow" for paid links and un- https://example.com Place the following in <head> section to
NoFollowed Link trusted content indicate preferred URL:
<a href="https://www.example.com/ https://www.example.com/index.html
For image links, the alt attribute serves
webpage.html" rel="nofollow"> <link href="https://example.com/"
as anchor text
Keyword in Anchor Text</a> rel="canonical" />
https://example.com/index.html
Image Link
<a href="https://www.example.com/webpage.html"><img src="img/ https://example.com/index.html&sessid=123 More information at http://mz.cm/canonical
keyword.jpg" alt="keyword" width="100" height="100"></a>
1 2 3 4 5 6 7 8
5. Subfolder/Path
• When possible, place content on the same subdomain to preserve authority
6. Page
7. Parameter Recommended: https://example.com/blog
8. Named Anchor Less Ideal: https://blog.example.com
User-agent: googlebot Only Meta Robots and X-Robots Googlebot (can be used Mediapartners-Google
Disallow: /example.html remove URLs from search results as default for most (Mobile Adsense) or
Sitemap: https://example.com/sitemap.xml Don't block CSS or JavaScript files Google crawlers) Mediapartners
with robots.txt
More information at http://www.robotstxt.org/robotstxt.html
Googlebot-News Googlebot-Mobile
X-Robots Arguments can be:
Location: Sent in the HTTP headers Googlebot-Image Googlebot-Video
The Web Developer’s SEO Cheat Sheet V3.0 | moz.com | © 2015 SEOmoz 2
Important Social Metadata Rich Snippets and Structured Data
Sample Meta Tag Template: "Article" Enhance search results and help machines to understand your content
Place this data between the <head> tags of your website Common Vocabularies Popular Formats
schema.org Microdata
datavocabulary.org RDFa
<!-- Twitter Card data -->
microformats.org JSON-LD
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="[@publisher_handle]"> Breadcrumbs
<meta name="twitter:title" content="[Page Title]"> Widgets > Large Widgets
<meta name="twitter:description" content="[Page description
<div id="a" itemscope itemtype="http://data-vocabulary.org/Breadcrumb" itemref="b">
less than 200 characters]">
<a href="https://example.com/widgets" itemprop="url">
<meta name="twitter:creator" content="[@author_handle]"> <span itemprop="title">Widgets</span>
</a>
<!-- Twitter Summary card images must be at least 120x120px --> </div>
<meta name="twitter:image" content="[https://example.com/image.jpg]"> <div id="b" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"
itemprop="child">
<a href="https://example.com/widgets/large" itemprop="url">
<span itemprop="title">Large Widgets</span>
<!-- Open Graph data -->
</a>
<meta property="og:title" content="[Title Here]" /> </div>
Platforms that support Open Choose large images over small Common Structured Data Uses
Graph protocol include: Twitter:
Events Recipes
Facebook Minimum 120 x 120px
Twitter No larger than 1MB Business Information Media Content
Google+ Facebook:
People Contact Data
LinkedIn Minimum 200 x 200px
Pinterest Over 1200 x 630px recommended Mobile Apps Email Markup
The Web Developer’s SEO Cheat Sheet V3.0 | moz.com | © 2015 SEOmoz 3
Targeting Multiple Languages Mobile Web Development
Declare language attribute in the HTML element 1 Responsive Design
<html lang="fr"> Place the meta viewport tag in the <head> of the document
<meta name="viewport" content="width=device-width,
URL Structures for Country & Language Targeting initial-scale=1.0">
HTTP/1.1 200 OK
Sitemap version
Content-Type: text/html
<?xml version="1.0" encoding="UTF-8"?>
Vary: User-Agent
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
Content-Length: 3495
<url>
<loc>https://example.com/english</loc> (...rest of HTTP response headers...)
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/deutsch/" />
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/english/" />
</url>
<url>
<loc>http://example.com/deutsch/</loc>
3 Separate URLs
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/english/" /> Identify mobile and desktop versions using
<xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/deutsch/" /> rel="alternate" and rel="canonical"
</url>
</urlset>
Desktop page: http://example.com/
<link rel="alternate" media="only screen and (max-
Popular Languages Popular Regions
More language codes can be found at width: 640px)"
zh Chinese CN China http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes href="https://m.example.com/"/>
es Spanish US United States
en English IN India Mobile page: http://m.example.com/
More region codes can be found at
ar Arabic JP Japan http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 <link rel="canonical" href="https://example.com/"/>
hi Hindi BR Brazil
The Web Developer’s SEO Cheat Sheet V3.0 | moz.com | © 2015 SEOmoz 4