How to Create an HTML5 Microdata Powered Resume

In May 2009, Google introduced Rich Snippets, a small block of information displayed in Google's search engine results to make it easier for users to decide which pages are relevant to their search. In June 2011, Google announced the creation of Schema.org, a new initiative from Google, Bing and Yahoo! that aims to improve the web by creating structured data markup schema.

This tutorial demonstrates how to create an online resume that incorporates Schema.org Microdata. The tutorial also includes instructions on how to use Authorship Markup!


Bonus Items Included!

The tutorial demo is a one page site template that you are free to use for your online resume. As a bonus, several color versions are included in the source files zip; dark green, light green, dark blue and light blue.

Please note that this is not a web design or CSS tutorial, so only the HTML5 and Schema.org Microdata markup will be covered.

Now, let's begin!


Step 1: The CSS

Create a CSS style sheet called "style.css" and include the following code. Don't worry; it's fairly simple, and understanding it isn't necessary for this tutorial.


Step 2: The Markup (Without Schema.org Microdata Included)

Next, we need an .html. This is a basic layout that we're all likely familiar with.


A Few Notes About the Markup

HTML5 Shiv

Because Schema.org Microdata is based on the HTML5 microdata specification, HTML5 markup is being used to create the one page resume site template. Unfortunately, older web browsers like IE7 and IE8 do not recognize certain HTML5 elements. Pages written using HTML5 will not render correctly in these older browsers.

Here is a screenshot of the online resume demo when viewed in (IE8 Click on image to see full image):

To solve the problem with these older IE browser versions, the below code has been added between

tags (just below the CSS Stylesheet):

This code is an HTML5 JavaScript shim for IE to recognise and style the HTML5 elements.

Note: An HTML5 JavaScript shim is not required in IE9+ and other modern browsers that support HTML5.

Definition List

Definition lists, <dd></dd> were used in the markup instead of unordered lists. THis is due to the fact that it makes more sense, when considering how each item has a title and a description.

Section vs Article

There seems to be some confusion regarding HTML5 section and article elements. The section element was used in the markup because none of the sections of the resume are considered to be standalone content.
The HTML5 article element is used for standalone content that would most likely be syndicated like a blog post or news article. This article does a really good job explaining the difference between HTML5 article and section elements.


Step 3: Add Schema.org Microdata - Person and PostalAddress

The first types of schemas that we are going to add to the markup is Person and PostalAddress.

Itemscope Element and Itemtype Attribute

An itemscope element is added to <div></div>tags that are placed around the content that contains the information related to the Schema, like this:

The itemscope element and itemtype attribute for the Person Schema will be placed in both the Contact and Social Media Links sections of the resume web page, like so:

The itemscope element and itemtype attribute for the PostalAddress Schema is nested within the Person Schema and is placed around the unordered list <ul></ul>containing the address information like this:

Itemprop Attributes

Itemprop attributes need to be added wherever appropriate using span tags so that additional information is provided to search engines about our web page. Below are the attributes we will be using from these schemas:

Person Schema

  • itemprop="image"
  • itemprop="name"
  • itemprop="jobTitle"
  • itemprop="telephone"
  • itemprop="email"
  • itemprop="url"

PostalAddress Schema

  • itemprop="streetAddress"
  • itemprop="addressLocality"
  • itemprop="addressRegion"
  • itemprop="postalCode"
  • itemprop="addressCountry"

Final Markup for the Contact and Social Media Links Sections


Step 4: Add Schema.org Microdata - Item List

The next schema we are going to add to the markup is ItemList.

Itemscope Element and Itemtype Attribute

The itemscope element and itemtype attribute for the ItemList Schema will be placed in the Skills Section like this:

Itemprop Attributes

Add the "itemprop" attribute wherever appropriate using <span></span>tags. Below are the attributes we will be using from this schema:

ItemList Schema

  • itemprop="itemListElement"

Final Markup for the Skills Section


Step 5: Add Schema.org Microdata - Organization

Next, the Organization schema is going to be added to the markup.

Itemscope Element and Itemtype Attribute

The itemscope element and itemtype attribute for the Organization Schema will be placed around each "Position" listed in the "Experience" section, like so:

Itemprop Attributes

Add the "itemprop" attribute wherever appropriate using <span></span>tags. Below are the attributes we will be using from this schema:

Organization Schema

  • itemprop="jobTitle"
  • itemprop="name"
  • itemprop="description"

Final Markup for the Experience Section


Step 6: Add Schema.org Microdata - Article

Next the Article schema is going to be added to the markup.

Itemscope Element and Itemtype Attribute for Article

The itemscope element and itemtype attribute for the Article Schema will be placed in the "Article" listed in the Publications Section like this:

Itemprop Attributes

Add the "itemprop" attribute wherever appropriate using <span></span>tags. Below are the attributes we will be using from this schema:

Article Schema

  • itemprop="name"
  • itemprop="url"

Final Markup for the Publications Section


Step 7: Add Schema.org Microdata - EducationalOrganization and PostalAddress

Next the EducationalOrganization and PostalAddress schemas are going to be added to the markup.

Itemscope Element and Itemtype Attribute for EducationalOrganization

The itemscope element and itemtype attribute for the EducationalOrganization Schema will be placed in the Education Section like this:

Itemscope Element and Itemtype Attribute for PostalAddress

The itemscope element and itemtype attribute for the PostalAddress Schema is nested within the EducationalOrganization Schema and is placed around the code containing the address information in the Education section like this:

Itemprop Attributes

Add the "itemprop" attribute wherever appropriate using <span></span>tags. Below are the attributes we will be using from these schemas:

EducationalOrganization Schema

  • itemprop="name"
  • itemprop="url"

PostalAddress Schema

  • itemprop="streetAddress"
  • itemprop="addressLocality"
  • itemprop="addressRegion"
  • itemprop="postalCode"
  • itemprop="addressCountry"

Final Markup for the Education Section


About Authorship Markup

Image shows Authorship Markup (John Resig) displayed in Google search results.

In June 2011, Google began to support "Authorship Markup". Through the use of markup, such as rel="author" and rel="me", search engines can identify content created by the same author across the web. Using Authorship Markup, a multi-authored website can link all articles and posts written by each author to their own specific "author page".

Individual articles and posts of a multi-authored website need to link to the appropriate author page using rel="author" tag. If the author page also includes a link to the author's Google Profile using the rel="me" tag, then the author information may appear in search results.

To help users discover quality content, Google is piloting the display of author information in search engine results. This feature is being rolled out gradually and may become a very important part of search engine results and rankings.


Rel Tags

Both the Contact and Social Media Links sections of the one page resume site template contain URLs linking to a primary website and social media pages. The "rel" attribute needs to be added to the links of these sections so that Authorship Markup can be implemented. Authorship Markup allows search engines to identify content created by the same author across the web.

There are two specific rel tags used for Authorship markup:

  • rel="me"
  • rel="author"

Most of the links included in the resume web page point to sites that are about the same person. So the rel="me" tag has been added. For the Google Profile link, the rel="author" tag has been added. Depending on where you post your online resume, you may need to use the rel="me" tag for the Google Profile link instead.


Step 8: Create a Google Profile

If you want to start identifying your original content across the web using Authorship Markup, you first need to create a Google Profile.

If you already have a Google Profile page, then you should update your profile information accordingly (add a picture of yourself, information about yourself, occupation, etc.)

You also need to make sure there is a +1 tab displayed on the page.

If your Google profile includes a good, clear head shot of yourself, it will be eligible to appear as a thumbnail in search results.


Step 9: Link Web Page(s) to Your Google Profile

According to Google, to establish authorship of a web page, you need to do two things:

  • Link that web page to your Google Profile
  • Update your Google Profile with a link back to the home page of the site the web page is on.

You can link your content to your Google Profile using a text link:

or by using the Google Profile Button code:

Google recently made changes to their authorship markup instructions which affect the use of rel="author" and rel="me" tags. The new instructions say to use rel="author" for both the text and profile button links. However, the rel="me" tag needs to be used instead of rel="author". See screenshot below.

Screenshot of "Error: Author profile page does not have a rel=me link to a Google Profile"

Using John Resig as an example:


Step 10: Complete Google Authorship Form (Important!)

One you have added the Schema.org microdata and completed steps 8 and 9, Complete and submit the Google Authorship Request Form.

Your Authorship Markup may not work correctly until the Google Authorship Form is completed and submitted.


Step 11: Test Microdata Markup Using Rich Snippets Testing Tool

Click on image to see complete testing results

You can make sure that Google can correctly parse and display your microdata markup in search results by checking your web page using the Google Rich Snippets Testing Tool. This Testing Tool can check several types of structured data markup including Microdata, Micro formats and RDFa.

Note: The Google Rich Snippets Testing Tool is in Beta and can have unexpected results. The results shown in the full size screenshot include an error "Warning: Missing required field fn." Schema.org does not use the "fn" tag, however the tag is used with Microformats. This is most likely a glitch.


All Done!

You have now created a nice looking online resume using HTML5 and Schema.org Microdata, which provides information about you that may be displayed in search engine results. Additionally, by using Authorship Markup, you can help search engines identify all of your original content across the web!

Have any questions? Let us know in the comments and thank you so much for reading!

Tags:

Comments

Related Articles