Your privacy matters: This site uses cookies to analyze site usage and provide social media features. Learn More.

Structured Data for SEO (A True Story)

September 25, 2017 in SEO Articles

Written by Anne Fernandez


A few months ago we added structured data to all of the course pages on the Accelebrate website. What did we have to lose? Google uses this type of markup to better understand a webpage's content and, yes, it is good for SEO. A substantial portion of our business comes directly from organic search in Google, so you can imagine my horror when I received this little gem in my inbox:

(I've taken the liberty of highlighting the most chilling part and adding my own commentary and explanations.)

Google Search Console

Spammy structured data for http://www.accelebrate.com/ might be dropped from search results1

To: Webmaster of http://www.accelebrate.com/,

Google has detected structured markup on some of your pages that violate our structured data quality guidelines. In order to ensure quality search results for users, we display rich search results only for content that uses markup that conforms to our quality guidelines. This manual action has been applied to accelebrate.com/.2 We suggest that you fix your markup and file a reconsideration request. 3 Once we determine that the markup on the pages is compliant with our guidelines, we will remove this manual action.4

  1. Well, $%*&.
  2. Manual actions are how Google demotes, removes individual pages, or completely removes your website from their index.
  3. Thankfully they give you a chance to fix your errors. More on this later.
  4. Actual humans at Google read your reconsideration request plea and determine whether or not to accept it. I smell a new reality show.

In this article, I will tell you what structured data is, how it is implemented, and which pitfalls to avoid so hopefully you will never be in danger of being dropped from Google's search results due to structured data errors.

I won't tell you if we were able to fix the problem just yet. You'll have to read to find out. Yes, I'm shameless. In the meantime, here's a little background to build the suspense.

What is structured data?

Structured data is a way of arranging and organizing data by isolating crucial information and formatting it in a way that makes the information easy to read and understand. As humans, we use structured data in our lives every day.

Consider this lovely invitation without structured data:

unicornMary Poppins would like to invite you to a party at the Dairy Queen in Seemore, VA, at 1 pm on Friday. This get-together is to celebrate unicorns and everyone should wear a top hat, naturally. Steel tipped boots are optional. Can’t wait to see you!

The same basic information using structured data:

Who: Mary Poppins

Where: Dairy Queen, Seemore, VA

What: A party

Why: To celebrate unicorns

When: Friday at 1 pm

How: Wear a top hat.

Image: Unicorn.jpg

In SEO terms, structured data is a type of markup on a web page used to provide information that you would like to have displayed in the search engine results page (SERPs). You may have noticed that sometimes additional details (other than name, URL, and Meta description) will pop up in your search results. For example, if you searched for a hair salon, you may see specifics such as hours, pricing, review stars, services, etc.

One way structured data can be displayed is via the Knowledge Graph Panel, which is the box on the right-hand side of the results page shown below.

Starbucks Knowledge Graph Panel

Unfortunately, you can't be guaranteed that your brand is going to show up in the Knowledge Graph. It will only show up if Google deems it relevant based on the user's search.

Structured data can also be displayed as a rich snippet, which is a section of your structured data that Google will show as a featured result.

Here is what a rich snippet might look like if I searched for "Butter Cookie Recipe":

recipe

Or "Surfing Lessons."

surf_lessons

In small letters underneath these boxes is a link that says "About this result." That link will bring you to a page explaining:

"Featured snippets in search

When a user asks a question in Google Search, we might show a search result in a special featured snippet block at the top of the search results page. This featured snippet block includes a summary of the answer, extracted from a webpage, plus a link to the page, the page title and URL…"

Note: you cannot mark any part of your structured data to be featured as a snippet. Google will make that determination based on the user's search query.

Structured data can be used across a variety of sites, but it is often used for web pages displaying:

  • Articles
  • Books
  • Recipes
  • Products
  • Services
  • Events
  • Music
  • People
  • Courses (lucky for Accelebrate, this is a relatively new schema type!)

Using structured data (CORRECTLY) in your web pages is good for the overall SEO health of your website. This markup helps search engines to understand what your pages are about; therefore, it is much easier for them to determine if your site is a good match for a search query.

What Are The Standards for Structured Data?

Schema.org provides the framework, or vocabulary, for structured data. There are three types:

JSON-LD (recommended) – JavaScript is embedded in a <script> tag in the page.

Microdata – Special structured data HTML tags are embedded in the HTML content.

RDFa – an extension to HTML5 that allows you to publish linked data.

Google's preferred way to add this markup is via JSON-LD, which uses JavaScript Object Notation (a compact way of expressing structured data) and is relatively simple to implement. Since JSON-LD is the type of markup Google prefers (and the type we used on our site), I will only show a JSON-LD example in this article, but here is more information on the different structured data types.

Let's look at the course page for our Introduction to React class.

accelebrate_webpage

This course page, like every course page on our website, has standard features: each course page has its own course name, overview, course number, prerequisites, rating starts, etc. Here is an example of the structured data (JSON-LD) we use for this page now:

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "schema:Course",
  "courseCode": "RCT-100",
  "name": "Introduction to React",
  "description": "React is a popular, high-performance JavaScript library for building rapidly responsive user interfaces.
  Accelebrate's Introduction to React course teaches experienced JavaScript developers the skills they need to implement React in their applications immediately.
  ",
  "timeRequired": "3 Days",
  "coursePrerequisites": "All attendees must be experienced JavaScript developers with a fairly advanced understanding of JavaScript, including prototypes and functions as first class citizens. If your group doesn't yet have this experience, we could readily add one or two days to the beginning of your course to appropriate prepare them.
  ",
  "aggregateRating": {
    "@type": "AggregateRating",
    "bestRating": "5",
    "ratingCount": "78",
    "ratingValue": "4.62"
  }
}
</script>

Structured Data Rules and Where We Went Wrong

Now for some fun: how we messed up our structured data and how we fixed it! If you would like to wait for the movie, I would suggest you skip this section.

After receiving the email that Google had found spammy structured data on our site, I poured over the Structured Data Guidelines from Google and looked at our code.

Then this caught my eye on the guidelines page:

Some of our content was coming from our Meta tags, which of course are NOT in the HTML body or visible to the user on the page. Our course, description property was being pulled right from our Meta <title> tags.

We fixed this error so the course description in the structured data would come from the overview paragraph in the body of the HTML. This was not a very easy fix for us, but my colleague, Jason, was able to do it.

I quickly submitted the reconsideration request. I was fully expecting that Google would accept us back into the circle of trust and stop manual action against our site.

frustration
A dramatic reenactment of my reaction after the reconsideration request was rejected. I am not sure yet where I will display my Oscar.

It only took about two days for Google to send an email saying our reconsideration request had been rejected.

I knew our syntax was correct and could not find any other violations in our structured data. However, when I looked at the code in the page overall, I discovered that we had a second schema for structured data on each course page – a service schema! – which held the information we needed to display review stars at the top of each course page. The course schema is relatively new, so when we posted our structured data to show the ratings a while ago, we used the service schema. It was still there.

You do not want to have two completely different schemas on one page. No wonder Google was confused or thought we were trying to pull one over on them. We removed the service schema and made sure the rating property was properly embedded in our course schema.

This time our reconsideration request was accepted, no manual action taken.

So in a nutshell, the two rules we were violating were:

  1. Issue: The text in the structured data that was not displayed on the page (the description was coming from the Meta description).
    Fix: Made sure the description text was coming from the text displayed in the body of the web page.
  2. Issue: Had a service schema in our course pages to display our star ratings; however, we also had a course schema in those pages.
    Fix: Removed the service schema and moved the rating information to the course schema.

And They Lived Happily Ever After.

Google Search longs to understand you, and by you, I mean the structure of the pages in your website. After all, Google is obsessed with making sure that the precise, desired information gets to the searcher.

Structured Data Tips and Resources

There is no doubt that websites with structured data benefit from enhanced results in the SERPs. Structured data is THE way to classify page content and let Google know who you are and what you do. Just don't mess it up.

Here are some structured data tips from Google:

  • Add your markup to the page it describes (so Product markup would be added to the individual product page, not the homepage).
  • For duplicated pages with a canonical version, add the same markup to all versions of the page (not just the canonical).
  • Don't block your marked-up pages from search engines.
  • Be as specific as possible when choosing a Type to add to a page.
  • Multiple entities on the same page must each be marked up individually (so for a list of products, each product should have its own Product markup added).
  • As a rule, you should only be adding markup for content which is being shown on the page to which you add it.

As structured data has grown in popularity, there are many resources out there, but I found these to be the most helpful:

Structured Data General Guidelines – from Google

Tips to build, test, and release structured data – from Google

Structured data Testing Tool – from Google

Getting Started with Microdata – from Schema.org

Schemas for Course – from Schema.org, but here is the full list of schemas so you can find the one that you need.

Keywords are still important for SEO, and that will probably always be the case. However, structured data will likely have an even greater impact than keywords on search engine results going forward. I would recommend adding structured data to your web pages if appropriate for your type of website. I have faith that you will do it correctly, and so does my friend below.

unicorn


Written by Anne Fernandez

Anne Fernandez

Anne is the web content specialist and instructor manager at Accelebrate. She manages digital marketing initiatives and search engine optimization, makes regular updates to the website, and oversees all instructor travel.
  



Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us Train For Us

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Toll-free in US/Canada:
866 566 1228
International:
+1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Gold Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Huntsville

Montgomery

Birmingham

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

San Francisco

Oakland

San Jose

Orange County

Los Angeles

Sacramento

San Diego

Colorado

Denver

Boulder

Colorado Springs

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Miami

Jacksonville

Orlando

Saint Petersburg

Tampa

Georgia

Atlanta

Augusta

Savannah

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

Banton Rouge

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Hagerstown

Frederick

Massachusetts

Springfield

Boston

Cambridge

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Saint Paul

Minneapolis

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Reno

Las Vegas

New Jersey

Princeton

New Mexico

Albuquerque

New York

Buffalo

Albany

White Plains

New York City

North Carolina

Charlotte

Durham

Raleigh

Ohio

Canton

Akron

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Tulsa

Oklahoma City

Oregon

Portland

Pennsylvania

Pittsburgh

Philadelphia

Rhode Island

Providence

South Carolina

Columbia

Charleston

Spartanburg

Greenville

Tennessee

Memphis

Nashville

Knoxville

Texas

Dallas

El Paso

Houston

San Antonio

Austin

Utah

Salt Lake City

Virginia

Richmond

Alexandria

Arlington

Washington

Tacoma

Seattle

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Edmonton

Calgary

British Columbia

Vancouver

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2019 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.