New Search

The Advanced
Guide to SEO

Chapter 03

By Neil Patel
Sujan Patel

Now your site is crawlable, indexable and lightening fast. Time to ramp it up another notch with some new search elements. Search is moving towards a more semantic "real to life" environment. This means a world where engines understand the relationships between real world objects like people, places, movies, businesses etc. Time to get on board now and integrate this into your website! Metadata Implementation is a universal metadata markup introduced in 2011 by the major search engines. Its used to communicate to them the intended type of content on your website. There are still many people not taking full advantage of this!

We're going to cover several types of schema implementation, and how to get the correct markup into your HTML code.

Basic Attributes of Microdata

These five elements are best described with an example.

  • itemscope
  • itemtype
  • itemprop
  • itemid
  • itemref

Here is some code without schema metadata:

<html lang="en">
<meta charset=utf-8>
<title>Example Page With No Metadata</title>
<h1>Anything You Want</h1>
<span>Author: Derek Sivers</span>
<span>Category : business</span>
<a href="">About the book</a>

You can see it is just pure HTML with no special markup. Now, here is the code with metadata;

<html lang="en">
<meta charset=utf-8>
<title>Example Page With Microdata</title>
<section itemscope itemtype="">
<h1 itemprop="name">Anything You Want</h1>
<span>Author: <span itemprop="author">Derek Sivers</span></span>
<span>Category : <span itemprop="genre">business</span></span>
<a href=""><span itemprop="detail">About the Book<span></a>

Let's look at each element one by one.


<section itemscope itemtype="">

Everything about the book goes in between the itemscope element. You're telling the search engines "everything inside here is about a book"


<h1 itemprop="name">Anything You Want</h1>

The itemprop is simply the name of the book.

<span>Author: <span itemprop="author">Derek Sivers</span></span>
<span>Category : <span itemprop="genre">business</span></span>
<span>Category : <span itemprop="genre">business</span></span>
<a href=""><span itemprop="detail">About the Book

Itemprop is also the author and the category and the genre of the book. Pretty simple so far, right?

You're using a <span> tag to insert the itemprop elements.

Using Schema In Your Blog

I know many of you likely run blogs of some sort. Well you can put schema data into blogs as well! If you're using wordpress you'll want to check with the author of your theme to see if this is possible, or if wordpress will strip out the tags. This does depend on your specific wordpress setup, so I will show you a generic example below.

Code Without Schema

<html lang="en">
<meta charset=utf-8>
<title>Example of Blog Post Without Microdata</title>
   <h1>A Cheat Sheet for Building High Ranking Authority... Without Cheating</h1>
   <p>First, let's define authority: domain authority is the likelihood of
   a single domain to rank well. The higher the rank the higher authority
   that site will have and vice a versa.</p>
   <p>Here's how to do that:</p>
   <p>1. Link a cluster of pages by topic</p>
   <p>2. Send more links to one particular page</p>
   <p>3. Send domain-based external links to hero pages</p>
   <p>4. Avoid cannibalizing keywords</p>
   <p>5. Drive external links to the hero page from relevant website</p>
   <p>6. Locate links high on a page</p>
   <p>7. Pictorial presentation to help you to understand
   the concept better.</p>
   <p>8. Fix broken pages</p>

Code With Schema

<html lang="en">
<meta charset=utf-8>
<title>Example of Blog Post With Microdata</title>
<a rel="author" href="">
Bidhan Chatterjee</a></head>
<div itemscope itemtype="">
<h1>A Cheat Sheet for Building High Ranking Authority... Without Cheating</h1>
   <p>First, let's define authority: domain authority is the likelihood of
   a single domain to rank well. The higher the rank the higher authority
   that site will have and vice a versa.</p>
   <p>Here's how to do that:</p>
   <p>1. Link a cluster of pages by topic</p>
   <p>2. Send more links to one particular page</p>
   <p>3. Send domain-based external links to hero pages</p>
   <p>4. Avoid cannibalizing keywords</p>
   <p>5. Drive external links to the hero page from relevant website</p>
   <p>6. Locate links high on a page</p>
   <p>7. Pictorial presentation to help you to understand
   the concept better.</p>
   <p>8. Fix broken pages</p>

Explanation of Elements

  • Rel = Author

    You may be wondering why this is inside the <head></head> of the HTML. That is because Google now allows you to reference the author in this way.

    It's as simple as it looks;

    <a rel="author" href="">Bidhan Chatterjee</a>

    That code goes in the <head> and then you point your Google Plus profile back at your blog - just like in the section on Google Authorship, which you can find later in this guide.

  • Intemscope

    <div itemscope itemtype="">

    Again, just like before, this is used to signal the type of thing or item your document is talking about.

  • Bonus: Social Sharing Schema

    You can also include social sharing data in your schema. The elements itemprop and interactioncount will do the trick, for example.

    <meta itemprop="interactionCount" content="FacebookLikes:8"/> <meta itemprop="interactionCount" content="GooglePlus:3"/>

  • Testing

    As always you'll want to test your markup with the rich snippet tester provided by Google:

Video Indexation Marking Up Your Videos With

Using to markup your videos can give you a powerful boost with click through rate. Just check out this example of how SEOmoz is utilizing video metadata to give them a giant visual boost in the SERPs;

Video Indexation Marking Up Your Videos With #1

It turns out adding the code is not too difficult, you just need to know the proper markup to use.

Before you begin, there's a few assumptions;

  1. You're "self-hosting" your video (this can not be done for YouTube embeds for example)
  2. You have access to the HTML so you'll be able to edit the code

Paste the Normal Video Code On Your Page

A typical example of video embed code may look like this;

<h1>Neil Patel</h1>

<h2>Video: Advanced SEO for Bloggers</h2>
<object ...>
   <param ...>
   <embed type="application/x-shockwave-flash" ...>
<p>An exclusive video with SEO and web marketing expert Neil Patel.
Drive ridiculous amounts of leads to your blog and learn the 7
secrets of conversion rate optimization.</p>

Wrap In Video Object

Wrap the code in a <div>

Video Indexation Marking Up Your Videos With #2

Add the VideoObject data.

Video Indexation Marking Up Your Videos With #3

Add Basic Markup

Basic properties are;

  • Name
  • Thumbnail
  • Duration
  • Description

The name and description fields are added within <span> tags which wrap around existing content;

Video Indexation Marking Up Your Videos With #4

The duration and thumbnail properties go within <meta> tags which typically get added below the name and before the actual video;

Video Indexation Marking Up Your Videos With #5

Note: the duration is in ISO_8601 format. Learn more about it here:

Add Additional Markup

You can add any property for a MediaObject (the parent object of a VideoObject);

  • associatedArticle
  • bitrate
  • contentSize
  • contentURL
  • duration
  • embedURL
  • encodesCreativeWork
  • encodingFormat
  • expires
  • height
  • playerType
  • regionsAllowed
  • requiresSubscription
  • uploadDate
  • width

Or you can add properties exclusive only to video;

  • caption
  • productionCompany
  • thumbnail
  • transcript
  • videoFrameSize
  • videoQuality

Here's an example with upload date, width and height added;

Video Indexation Marking Up Your Videos With #6

Go add your video markup and steal massive clicks from the competition!

Finished Code

<div itemprop="video" itemscope itemtype="">

<h2><span itemprop="name">Video: Advanced SEO for Bloggers</span></h2>
<meta itemprop="duration" content="T1M33S" />
<meta itemprop="thumbnail" content="neil-patel-video-thumbnail.jpg" />
<meta itemprop="uploadDate" content="2012-04-01T08:00:00-05:00" />
<meta itemprop="width" content="640" />
<meta itemprop="height" content="480" />
<object ...>
   <param ...>
   <embed type="application/x-shockwave-flash" ...>
<p><span itemprop="description">An exclusive video with SEO expert Neil Patel.
Drive ridiculous amounts of leads to your blog and learn the 7 secrets
 of conversion rate optimization.</span></p>


Yahoo Search Monkey RDFa

RDFa Microformats are another markup language that Yahoo uses to identify and categorize information more easily on the net.

RDF stand for Resource Development Framework

You can use RDFs to describe items on an ecommerce site, schedules & content for search engines.

RDFs are not written in HTML they are written in XML format.

We're going to cover some examples of how to add this code to your content.

Understanding Identifiers

anything that exists at a URL
aresource with a name (like the type of content on a webpage) - an author, homepage, book, movie etc.
Property Value
An aspect of the property; ie the author of a book or an actor in a movie

From there you can form "Statements". A statement is a subject, predicate and object.
For example;

The statement "The author of QuickSprout is Neil Patel" would be summed up as the following;

  • Subject:
  • Predicate: Author
  • Object: Neil Patel

An Example

  1. All RDFs start with the XML declaration and the RDF wrapper tags

    Yahoo Search Monkey RDFA #1
  2. The you have to declare the RDF syntax and the URL the data is referring to;

    Yahoo Search Monkey RDFA #2
  3. Next we'll declare the exact items to be described in the document

    Yahoo Search Monkey RDFA #3

    Here, we are talking about the specific CD "Thriller" and referencing the URL that CD is on.

  4. Add The Elements Which Are Properties Of the Resource

    Yahoo Search Monkey RDFA #4

    Using the wrapper tag <cd:artist></cd:artist> (or country, price etc) you can declare the properties of the album you are referencing.

Completed Code Example

Here's an example of the completed code which you can use and modify for your needs

<?xml version="1.0"?>


	<cd:artist>Michael Jackson</cd:artist>
	<cd:company>Epic Records</cd:company>


Use the Validator to check your work!

Adding the Dublin Core to Your Site

The Dublin Core is another metadata format which is used to describe data on the web. There are a variety of elements used by the Dublin Core, including;

the name given the resource
the person or organization responsible for the content
the topic covered
a textual outline of the content
those responsible for making the resource available
those who added to the content
when the resource was made available
a category for the content
how the resource is presented
numerical identifier for the content such as a URL
where the content originally derived from
in what language the content is written
how the content relates to other resources, for instance, if it is a chapter in a book
where the resource is physically located
a link to a copyright notice

An Example

An example of some of the Dublin Core metadata in action would be the following. This code represents a hypothetical document on

<head profile="">
<title>The Neil Patel Guide to Dublin Core</title>

<link rel="schema.DC" href="" />
<link rel="schema.DCTERMS" href="" />

<meta name="DC.Identifier" schema="DCterms:URI"
content="" />
<meta name="DC.Format" schema="DCterms:IMT" content="text/html" />
<meta name="DC.Title" xml:lang="EN" content="Dublin Core Tutorial" />
<meta name="DC.Creator" content="Neil Patel" />
<meta name="DC.Subject" xml:lang="EN" content="Dublin Core Meta Tags" />
<meta name="DC.Publisher" content="I'm Kind of a Big Deal, LLC" />
<meta name="DC.Publisher.Address" content="" />
<meta name="DC.Contributor" content="Neil Patel" />
<meta name="DC.Date" scheme="ISO8601" content="2012-06-01" />
<meta name="DC.Type" content="text/html" />
<meta name="DC.Description" xml:lang="EN"
content="This tutorial is a part of Neil Patel's advanced SEO guide." />
<meta name="DC.Identifier" content="" />
<meta name="DC.Relation" content="" scheme="IsPartOf" />
<meta name="DC.Coverage" content="I'm Kind Of A Big Deal, LLC" />
<meta name="DC.Rights" content="Copyright 2012, Neil Patel, All rights reserved." />
<meta name="DC.Date.X-MetadataLastModified" scheme="ISO8601" content="2012-06-01" />
<meta name="DC.Language" scheme="dcterms:RFC1766" content="EN" />

Bonus: A Dublin Core Generator

If you have a webpage that already exists, try running it through this free DC generator.

Google Rel=Author Tag Implementation for Multiple Author Sites

There are two methods to implementing rel=author for multiple author sites.

Simple Method

With this simple method, all you will need to do is point a link from each post to the corresponding Google Profile page, using rel=author.

Link To The Individual Author Profile From Each Post

So let's say we have a blog with two posts: Post A and Post B. I wrote post A but Post B is a by a guest author. You will do as follows for each post

Post A: The Google Plus Badge
Google Rel=Author Tag Implementation for Multiple Author Sites #1

Go to as before to generate the code (don't forget to use your Google Plus ID!). But this time, you're only going to paste it into the individual posts you authored.

Option B: Use the rel=author tag

<a href="">Neil Patel</a>

This again is the traditional rel=author tag. Substitute your name and Google Plus Profile ID and paste the code only in posts or pages you authored.

New Alternate Option: Use the Special Parameter Link

<a href=">+Neil Patel<a/>

This is the simplest way to link to your author profile. Just put the above code (personalizing your name and link) only on the pages you authored.

Post B

You are going to repeat the above step, choosing whichever option is best for you. But this time you are going to add the author link for each guest author on their posts.

Option A: The Google Plus Badge

Cut and paste the Google Plus Badge code from this time using the profile information of the guest author.

Option B: Use the rel=author tag

A tag of this style for a guest author might look something like;

<a href="">Guest Author</a>

Once you have done so for every page with a guest author, you are ready to move to step two.

Each Author Adds "Contributor" Link To Every Blog They Are a Guest Author On

Now, each author that can contributes to your site, must add a link to your site in the "contributor" section of their Google Plus profile. You can have as many links as you want in the "contributor" section, so no matter how many sites you write for, you can show you are the author.

Take for example Sujan Patel's profile, where he is a contributor to three sites;

Google Rel=Author Tag Implementation for Multiple Author Sites #2

Advanced Method

Link To The Individual Author Profile From Each Post

With this advanced method, every author is going to need their own page. SEOmoz does this well, as you can see below;

Google Rel=Author Tag Implementation for Multiple Author Sites #3

Some WordPress themes may have this functionality built in. If they do not, you can see the section on "setting up a custom author profile in WordPress".

Add rel= "author" Links From Blog Posts To Profile Page

Remember how in the single author blog, you pointed a "rel=author" link to your Google Plus Profile. In the case of a multiple author blog, you're going to point rel=author to your profile page on that website.

Google Rel=Author Tag Implementation for Multiple Author Sites #4

Add rel="me" From Bio Pages To Google Profile

Next, we have to create the third link in the chain: link from your bio page to your Google Plus Profile.

Google Rel=Author Tag Implementation for Multiple Author Sites #5

This establishes the final connection in the chain, which simply looks like this:

Post (rel=author) > Bio/Profile (rel=me) > Google Plus Profile

The chain works backwards too, as you're about to see in step four.

Google Plus Profile (contributor link) > Bio/Profile

Click on Compiler, then Compile All

You should now be familiar with adding a link from your Google Plus Profile back to the site you contribute to.

The important part in this last step, is that the link needs to go directly to your bio/profile page on the website you contribute to. The link from my Google profile pointing back to SEOmoz would be;

Google Rel=Author Tag Implementation for Single Author

Before You Begin: Set Up Your Google Profile

If you do not already have a Google profile set up at this point, you should do that know. This is equivalent to creating a Google Plus page now.

The concept with setting up your author profile is that you are basically putting a link in two places. You're reciprocal linking from your website to your Google profile. Like this;

Every Page On Your website (rel=author) > Google Plus Profile

Google Plus Profile (contributor) > Your Website

Its fairly simple to do, once you've walked through the steps, but there are a few options and specifics to know about.

Add Rel=Author To Your Site

Option A

Install the Google Plus Badge on your site

Grab the code as shown in the above snapshot and paste it where you want it on your site. This will usually go in a sidebar widget if you're running WordPress.

Be sure to use your Google Plus Profile ID.

Option B

You can link from every page on your site to your Google Plus profile with the rel=author attribute.
This was the first method available when Author Profiles first came out.

You need to link your name from every page of your blog to your Google profile.

In a content management setup like WordPress, this can easily be done via the footer or sidebar widget if you have an "about" box with your name in it.

Here's the code. Simply cut and paste it into the sidebar or footer;

<a href="">Neil Patel</a>

Obviously, substitute your name and your Google Plus profile ID.

Special Parameter Link

Most people do not know about this new simple method to link your blog pages back to your Google profile. It was introduced after the initial release of rel=author as an easy way to implement the link without needing to edit HTML.

First, be sure your author name appears on appear page of your site, and simply turn it into the following link;

<a href=">+Neil Patel</a>

Notice the plus in front of my name? That helps signal to Google that you are using the special parameter at the end of the URL. And again, you obviously want to use your Google Plus Profile URL when doing this.

This method replaces the need to use the rel=author attribute or Google Plus badge.

Whichever of the three methods you have chosen to use, now you are ready to point your Google profile back to your site.

Link Back To Your Site From Your Google Profile

  1. Go to your profile page while logged in and click edit.

  2. Use the "contributor" section in your profile.

  3. Add your blog as a link.

  4. Test with the rich snippets testing tool

  5. This will show you if you have implemented the authorship correctly, and how your page may look in the SERPs.

Entity Search

Entity search is still very much in its earliest stages. Only certain types of people, websites or businesses will be able to utilize it, but it won't be long until everyone can participate.

This section will be one of just a few that talks a little bit more about the concepts.

What is Entity Search?

It is often also referred to as "the knowledge graph". It is about connecting people, places and things - more than just keywords - which don't have much of a meaning. For example the keyword "boston" could be the place but it could also be the band.

Let's look at the current knowledge graph for "boston"

Entity Search #1

How does that data get there? Google draws data from a large variety of data repositories around the web, such as wikipedia

The knowledge graph on the right hand side of the SERPs is only the most obvious place you'll see entity like results. They are sometimes hidden - but here's where you might see some entity type results.

Implied Site Search

Google hasn't been doing this long, but there is this thing called an implied site search. You probably know what a normal site search is:

Entity Search #2

But check out what you get with this:

Entity Search #3

The top six results are still all from - Google has recognized quicksprout the company as a business - an entity - and can thus rewrite the search into a site search for the top results.

The Related Search Operator

Not many people use this, but check out the results for a related: search on

Entity Search #4

You can clearly see the association of quicksprout having to do with the topics of web development, blogging and analytics. This is very much how entity relationships work. There are no significant keywords shared between these site - yet they are seen as related to one another.

To illustrate that this association to being an entity, doesn't apply to everyone automatically, here's a related: search with no results

Entity Search #5

Natural Language Search

You also see some entity results in "natural language search". This would be a search query that is a question, a complete sentence or a very long-tail description.

Take "what's the capital of florida?" for example

Entity Search #6

Google returns the answer to your question. This has nothing to do with "keywords" and everything to do with the idea of Florida being a state and Tallahassee being the capital of that state.

Is it becoming apparent that being viewed by Google as an entity could be a very good thing? It gives you the possibilities of appearing in more places around the web, and of boosting your authority.

The next section will cover some specific ways you can get included in entity based sources.

Adding Your Site To Entity Based Sources

The last section taught you all about the importance of appearing like an entity to Google and having as much related information tied to you as an entity as possible. How do we make that happen? By making sure you appear in Freebase.

Here's the most extensive list I know of, for the places Google uses to get its entity information.

  • ArXiv
  • Baseball Almanac
  • Berlin International Film Festival
  • Books and Writers
  • Bureau of Labor Statistics, Unemployment in US
  • Bureau of Labor Statistics, Unemployment in US Counties
  • Bureau of Labor Statistics, Unemployment in US States
  • Câmara dos Deputados
  • Center for Responsive Politics
  • ChefMoz
  • chickipedia
  • Claud Butler
  • Crore
  • Database
  • DatabaseOlympics
  • E-LIS
  • English Wikipedia
  • Eurostat, Minimum Wage in Europe
  • Facebook
  • Factual
  • FDIC
  • Food and Drug Administration
  • Forbes
  • France
  • Freebase
  • GEBCO Undersea Features Gazetteer
  • Geographic Names Information System
  • German Wikipedia
  • Google Plus
  • Healthcare Cost Report Information System
  • Hulu
  • IES NCES Public Library Survey
  • Infochimps
  • InstantEncore
  • Internet Movie Database
  • Internet Speculative Fiction Database
  • Internet Speculative Fiction Database
  • ISO 15924
  • ITIS
  • Library of Congress
  • Library of Congress
  • MBLWHOI Library
  • Medpedia
  • Metaweb topic merging algorithm
  • Mexican INEGI statistics
  • Million
  • MusicBrainz
  • MySpace
  • Named entity recognition
  • National Center for Education Statistics
  • National Fire Department Census Database
  • National Oceanic and Atmospheric Administration
  • Nature
  • Netflix
  • Nielsen Company
  • Official Website
  • Open Library
  • Open Library Project
  • OurAirports
  • Paragliding Earth
  • Pocket Statistical Data on Switzerland 2006
  • Pocket Statistical Data on Switzerland 2007
  • Public domain
  • PubMed Central
  • Quotationsbook
  • Securities and Exchange Commission
  • Simon Property Group
  • SkyGrid
  • Slovak Statistical Office
  • Stanford University
  • StarCraft and StarCraft II Wiki
  • The Football Database
  • The Hollywood Reporter
  • The National Institute of Statistics, Spain
  • The TVDB
  • The World Factbook
  • TVRage
  • U.S. Food and Drug Administration National Drug Code Directory
  • UN Stats
  • Unified Medical Language System Release 2011ABv
  • United States Census Bureau
  • United States Census Bureau, Population
  • United States Department of Housing and Urban Development
  • United States International Trade Commission
  • United States Securities and Exchange Commission
  • Virtual INternet Authority File
  • Wikipedia
  • Wikipedia Categories
  • Wikipedia infoboxes
  • World Bank, World Development Indicators

Freebase draws from all of the above places for data. If you are not in freebase, this is how you can add yourself.


Note: Please don't look at this like directory submission or a place to spam. Freebase is a publicly edited database (started by MetaWeb, bought by Google). Its not a place to drop links or create extra submissions (that probably won't do much). You're goal is to be sure your entity information is complete and accurate.

  1. Create an account

    Adding Site To Entity Based Sources #1
  2. Once your account is created, set yourself to be in edit mode (makes it easier when browsing topics to edit)

    Adding Site To Entity Based Sources #2
  3. Then check to see if your entity exists

    Double entries are not liked very much (and they'll get deleted anyway). From any page, use the search box to see if your entity exists

    Adding Site To Entity Based Sources #3
  4. If it does NOT exist - look for your "topic"

    Your topic is the category the entity should most fit into. For example "Zappos" is a Company. "American Idol" would be a TV Program, etc.

    QuickSprout seems to fit best into "Internet Company" - so you want to go to that topic page

    Adding Site To Entity Based Sources #4
  5. When on your topic page, click to "view all"

    Adding Site To Entity Based Sources #5
  6. Then you need to "add more topics"

    Adding Site To Entity Based Sources #6
  7. Run the Search again for your entity just to be certain (when you don't see it pop up, click "create new topic")

    Adding Site To Entity Based Sources #7
  8. Then you'll see your new topic in the list - click on it

    Adding Site To Entity Based Sources #8
  9. Since you're automatically in edit mode (from step 2) you'll be able to add and edit all information for your new topic.

    Adding Site To Entity Based Sources #9

Again, this is not a sales page. Think of this like a Wikipedia entry - factual.

Hopefully by the end of this section you've gained some in depth understanding of how important things like schema and entity search are. And you've helped make your websites more "future search" friendly!

Well done! You made it through chapter three! Are you ready for chapter four: