About frans

Website:
frans has written 4625 articles so far, you can find them below.

The Beginner’s Guide to Structured Data for SEO: How to Implement Structured Data

Posted by bridget.randolph

Part 2: How to implement structured data for SEO

Welcome to Part 2 of The Beginner’s Guide to Structured Data: How to Implement Structured Data for SEO. In Part 1, we focused on gaining a high-level understanding of what structured data is and how it can be used to support SEO efforts.

(If you missed Part 1, you can go check it out here).

In Part 2, we’ll be looking at the steps to identify opportunities and implement structured data for SEO on your website. Since this is an introductory guide, I’ll be focusing on the most basic types of markup you can add and the most common use cases, and providing resources with additional detail for the more technical aspects of implementation.

Is structured data right for you?

Generally speaking, implementing structured data for SEO is worthwhile for most people. However, it does require a certain level of effort and resources, and you may be asking yourself whether it’s worth prioritizing.

Here are some signs that it’s a good time to prioritize structured data for SEO:

  • Search is a key value-driving channel for your business
  • You’ve recently audited your site for basic optimization issues and you know that you’ve achieved a competitive baseline with your keyword targeting, backlinks profile, site structure, and technical setup
  • You’re in a competitive vertical and need your results to stand out in the SERPs
  • You want to use AMP (Accelerated Mobile Pages) as a way to show up in featured areas of the SERP, including carousels
  • You have a lot of article-style content related to key head terms (e.g. 10 chicken recipes) and you’d like a way to display multiple results for those terms in the SERP
  • You’re ranking fairly well (position 15 or higher) already for terms with significant search volume (5000–50,000 searches/month)*
  • You have solid development resources with availability on staff and can implement with minimal time and financial investment
  • You’re in any of the following verticals: e-commerce, publishing, educational products, events/ticketing, creative production, TV/movie/book reviews, job listings, local business

*What is considered significant volume may vary according to how niche your market is.

If you said yes to any of these statements, then implementing structured data is particularly relevant to you! And if these criteria don’t currently apply to you, of course you can still go ahead and implement; you might have great results. The above are just a few of the most common indicators that it’s a worthwhile investment.

Implementing structured data on your site

In this guide, we will be looking solely at opportunities to implement Schema.org markup, as this is the most extensive vocabulary for our purposes. Also, because it was developed by the search engine companies themselves, it aligns with what they support now and should continue to be the most supported framework going forward.

How is Schema.org data structured?

The way that the Schema.org vocabulary is structured is with different “types” (Recipe, Product, Article, Person, Organization, etc.) that represent entities, kinds of data, and/or content types.

Each Type has its own set of “properties” that you can use to identify the attributes of that item. For example, a “Recipe” Type includes properties like “image,” “cookTime,” “nutritionInformation,” etc. When you mark up a recipe on your site with these properties, Google is able to present those details visually in the SERP, like this:

Image source

In order to mark up your content with Schema.org vocabulary, you’ll need to define the specific properties for the Type you’re indicating.

For example:

If you’re marking up a recipe page, you need to include the title and at least two other attributes. These could be properties like:

  • aggregateRating: The averaged star rating of the recipe by your users
  • author: The person who created the recipe
  • prepTime: The length of time required to prepare the dish for cooking
  • cookTime: The length of time required to cook the dish
  • datePublished: Date of the article’s publication
  • image: An image of the dish
  • nutritionInformation: Number of calories in the dish
  • review: A review of the dish
  • …and more.

Each Type has different “required” properties in order to work correctly, as well as additional properties you can include if relevant. (You can view a full list of the Recipe properties at Schema.org/Recipe, or check out Google’s overview of Recipe markup.)

Once you know what Types, properties and data need to be included in your markup, you can generate the code.

The code: Microdata vs JSON-LD

There are two common approaches to adding Schema.org markup to your pages: Microdata (in-line annotations added directly to the relevant HTML) and JSON-LD (which uses a Javascript script tag to insert the markup into the head of the page).

JSON-LD is Google’s recommended approach, and in general is a cleaner, simpler implementation… but it is worth noting that Bing does not yet officially support JSON-LD. Also, if you have a Wordpress site, you may be able to use a plugin (although be aware that not all of Wordpress’ plugins work they way they’re supposed to, so it’s especially important to choose one with good reviews, and test thoroughly after implementation).

Whatever option you choose to use, always test your implementation to make sure Google is seeing it show up correctly.

What does this code look like?

Let’s look at an example of marking up a very simple news article (Schema.org/NewsArticle).


Here’s the article content (excluding body copy), with my notes about what each element is:

[posted by publisher ‘Google’]
[headline]Article Headline
[author byline]By John Doe
[date published] Feb 5, 2015
[description] A most wonderful article
[image]
[company logo]

And here’s the basic HTML version of that article:

<div>
  <h2>Article headline</h2>
  <h3>By John Doe</h3>
    <div>
    <img src="https://google.com/thumbnai1.jpg"/>
    </div>
  <div>
      <img src="https://google.com/logo.jpg"/>
      </div>

If you use Microdata, you’ll nest your content inside the relevant meta tags for each piece of data. For this article example, your Microdata code might look like this (within the <body> of the page):

<div itemscope itemtype="http://schema.org/NewsArticle">
  <meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="https://google.com/article"/>
  <h2 itemprop="headline">Article headline</h2>
  <h3 itemprop="author" itemscope itemtype="https://schema.org/Person">
    By <span itemprop="name">John Doe</span>
  </h3>
  <span itemprop="description">A most wonderful article</span>
  <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
    <img src="https://google.com/thumbnail1.jpg"/>
    <meta itemprop="url" content="https://google.com/thumbnail1.jpg">
    <meta itemprop="width" content="800">
    <meta itemprop="height" content="800">
  </div>
  <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization">
    <div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">
      <img src="https://google.com/logo.jpg"/>
      <meta itemprop="url" content="https://google.com/logo.jpg">
      <meta itemprop="width" content="600">
      <meta itemprop="height" content="60">
    </div>
    <meta itemprop="name" content="Google">
  </div>
  <meta itemprop="datePublished" content="2015-02-05T08:00:00+08:00"/>
  <meta itemprop="dateModified" content="2015-02-05T09:20:00+08:00"/>
</div>

The JSON-LD version would usually be added to the <head> of the page, rather than integrated with the <body> content (although adding it in the <body> is still valid).

JSON-LD code for this same article would look like this:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "NewsArticle",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://google.com/article"
  },
  "headline": "Article headline",
  "image": {
    "@type": "ImageObject",
    "url": "https://google.com/thumbnail1.jpg",
    "height": 800,
    "width": 800
  },
  "datePublished": "2015-02-05T08:00:00+08:00",
  "dateModified": "2015-02-05T09:20:00+08:00",
  "author": {
    "@type": "Person",
    "name": "John Doe"
  },
   "publisher": {
    "@type": "Organization",
    "name": "Google",
    "logo": {
      "@type": "ImageObject",
      "url": "https://google.com/logo.jpg",
      "width": 600,
      "height": 60
    }
  },
  "description": "A most wonderful article"
}
</script>

This is the general style for Microdata and JSON-LD code (for Schema.org/Article). The Schema.org website has a full list of every supported Type and its Properties, and Google has created “feature guides” with example code for the most common structured data use cases, which you can use as a reference for your own code.

How to identify structured data opportunities (and issues)

If structured data has previously been added to your site (or if you’re not sure whether it has), the first place to check is the Structured Data Report in Google Search Console.

This report will tell you not only how many pages have been identified as containing structured data (and how many of these have errors), but may also be able to identify where and/or why the error is occurring. You can also use the Structured Data Testing Tool for debugging any flagged errors: as you edit the code in the tool interface, it will flag any errors or warnings.

If you don’t have structured data implemented yet, or want to overhaul your setup from scratch, the best way to identify opportunities is with a quick content audit of your site, based on the kind of business you have.

A note on keeping it simple

There are lots of options when it comes to Schema.org markup, and it can be tempting to go crazy marking up everything you possibly can. But best practice is to keep focused and generally use a single top-level Type on a given page. In other words, you might include review data on your product page, but the primary Type you’d be using is Schema.org/Product. The goal is to tell search engines what this page is about.

Structured data must be representative of the main content of the page, and marked up content should not be hidden from the user. Google will penalize sites which they believe are using structured data markup in scammy ways.

There are some other general guidelines from Google, including:

  • 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 you add it to

So how do you know which Schema.org Types are relevant for your site? That depends on the type of business and website you run.

Schema.org for websites in general

There are certain types of Schema.org markup which almost any business can benefit from, and there are also more specific use cases for certain types of business.

General opportunities to be aware of are:

  • Sitelinks Search Box: if you have search functionality on your site, you can add markup which enables a search box to appear in your sitelinks:

Image source

Image source

  • VideoObject: if you have video content on your site, this markup can enable video snippets in SERPs, with info about uploader, duration, a thumbnail image, and more:

A note about Star reviews in the SERP

You’ll often see recommendations about “marking up your reviews” to get star ratings in the SERP results. “Reviews” have their own type, Schema.org/Review, with properties that you’ll need to include; but they can also be embedded into other types using that type’s “review” property.

You can see an example of this above, in the Recipes image, where some of the recipes in the SERP display a star rating. This is because they have included the aggregate user rating for that recipe in the “review” property within the Schema.org/Recipe type.

You’ll see a similar implementation for other properties which have their own type, such as Schema.org/Duration, Schema.org/Date, and Schema.org/Person. It can feel really complicated, but it’s actually just about organizing your information in terms of category > subcategory > discrete object.

If this feels a little confusing, it might help to think about it in terms of how we define a physical thing, like an ingredient in a recipe. Chicken broth is a dish that you can make, and each food item that goes into making the chicken broth would be classified as an ingredient. But you could also have a recipe that calls for chicken broth as an ingredient. So depending on whether you’re writing out a recipe for chicken broth, or a recipe that includes chicken broth, you’ll classify it differently.

In the same way, attributes like “Review,” “Date,” and “Duration” can be their own thing (Type), or a property of another Type. This is just something to be aware of when you start implementing this kind of markup. So when it comes to “markup for reviews,” unless the page itself is primarily a review of something, you’ll usually want to implement Review markup as a property of the primary Type for the page.


In addition to this generally applicable markup, there are certain Schema.org Types which are particularly helpful for specific kinds of businesses:

  • E-commerce
    • including online course providers
  • Recipes Sites
  • Publishers
  • Events/Ticketing Sites
    • including educational institutions which offer courses
  • Local Businesses
  • Specific Industries (small business and larger organizations)
  • Creative Producers

Schema.org for e-commerce

If you have an e-commerce site, you’ll want to check out:

  • Product: this allows you to display product information, such as price, in the search result. You can use this markup on an individual product page, or an aggregator page which shows information about different sellers offering an individual product.
  • Offer: this can be combined with Schema.org/Product to show a special offer on your product (and encourage higher CTRs).
  • Review: if your site has product reviews, you can aggregate the star ratings for each individual product and display it in the SERP for that product page, using Schema.org/aggregateRating.

Things to watch out for…

  • Product markup is designed for individual products, not lists of products. If you have a category page and want to mark it up, you’ll need to mark up each individual product on the page with its own data.
  • Review markup is designed for reviews of specific items, goods, services, and organizations. You can mark up your site with reviews of your business, but you should do this on the homepage as part of your organization markup.
  • If you are marking up reviews, they must be generated by your site, rather than via a third-party source.
  • Course markup should not be used for how-to content, or for general lectures which do not include a curriculum, specific outcomes, or a set student list.

Schema.org for recipes sites

For sites that publish a lot of recipe content, Recipe markup is a fantastic way to add additional context to your recipe pages and get a lot of visual impact in the SERPs.

Things to watch out for…

If you’re implementing Recipe Rich Cards, you’ll want to be aware of some extra guidelines:

Schema.org for publishers

If you have an publisher site, you’ll want to check out the following:

  • Article and its subtypes,
    • NewsArticle: this indicates that the content is a news article
    • BlogPosting: similar to Article and NewsArticle, but specifies that the content is a blog post
  • Fact Check: If your site reviews or discusses “claims made by others,” as Google diplomatically puts it, you can add a “fact check” to your snippet using the Schema.org/ClaimReview.

Image source

  • CriticReview: if your site offers critic-written reviews of local businesses (such as a restaurant critic’s review), books, and /or movies, you can mark these up with Schema.org/CriticReview.
    • Note that this is a feature being tested, and is a knowledge box feature rather than a rich snippet enhancement of your own search result.

Image source

Things to watch out for…

Schema.org for events/ticketing sites

If your business hosts or lists events, and/or sells tickets, you can use:

  • Events: you can mark up your events pages with Schema.org/Event and get your event details listed in the SERP, both in a regular search result and as instant answers at the top of the SERP:

Things to watch out for…

  • Don’t use Events markup to mark up time-bound non-events like travel packages or business hours.
  • As with products and recipes, don’t mark up multiple events listed on a page with a single usage of Event markup.
    • For a single event running over several days, you should mark this up as an individual event and make sure you indicate start and end dates;
    • For an event series, with multiple connected events running over time, mark up each individual event separately.
  • Course markup should not be used for how-to content, or for general events/lectures which do not include a curriculum, specific outcomes, and an enrolled student list.

Schema.org for job sites

If your site offers job listings, you can use Schema.org/JobPosting markup to appear in Google’s new Jobs listing feature:

Note that this is a Google aggregator feature, rather than a rich snippet enhancement of your own result (like Google Flights).

Things to watch out for…

  • Mark up each job post individually, and do not mark up a jobs listings page.
  • Include your job posts in your sitemap, and update your sitemap at least once daily.
  • You can include Review markup if you have review data about the employer advertising the job.

Schema.org for local businesses

If you have a local business or a store with a brick-and-mortar location (or locations), you can use structured data markup on your homepage and contact page to help flag your location for Maps data as well as note your “local” status:

  • LocalBusiness: this allows you to specify things like your opening hours and payment accepted
  • PostalAddress: this is a good supplement to getting all those NAP citations consistent
  • OrderAction and ReservationAction: if users can place orders or book reservations on your website, you may want to add action markup as well.

You should also get set up with GoogleMyBusiness.

☆ Additional resources for local business markup

Here’s an article from Whitespark specifically about using Schema.org markup and JSON-LD for local businesses, and another from Phil Rozek about choosing the right Schema.org Type. For further advice on local optimization, check out the local SEO learning center and this recent post about common pitfalls.

Schema.org for specific industries

There are certain industries and/or types of organization which get specific Schema.org types, because they have a very individual set of data that they need to specify. You can implement these Types on the homepage of your website, along with your Brand Information.

These include LocalBusiness Types:

And a few larger organizations, such as:

Things to watch out for…

  • When you’re adding markup that describes your business as a whole, it might seem like you should add that markup to every page on the site. However, best practice is to add this markup only to the homepage.

Schema.org for creative producers

If you create a product or type of content which could be considered a “creative work” (e.g. content produced for reading, viewing, listening, or other consumption), you can use CreativeWork markup.

More specific types within CreativeWork include:

Schema.org new features (limited availability)

Google is always developing new SERP features to test, and you can participate in the testing for some of these. For some, the feature is an addition to an existing Type; for others, it is only being offered as part of a limited test group. At the time of this writing, these are some of the new features being tested:

Structured data beyond SEO

As mentioned in Part 1 of this guide, structured data can be useful for other marketing channels as well, including:

For more detail on this, see the section in Part 1 titled: “Common Uses for Structured Data.”

How to generate and test your structured data implementation

Once you’ve decided which Schema.org Types are relevant to you, you’ll want to add the markup to your site. If you need help generating the code, you may find Google’s Data Highlighter tool useful. You can also try this tool from Joe Hall. Note that these tools are limited to a handful of Schema.org Types.

After you generate the markup, you’ll want to test it at two stages of the implementation using the Structured Data Testing Tool from Google — first, before you add it to the site, and then again once it’s live. In that pre-implementation test, you’ll be able to see any errors or issues with the code and correct before adding it to the site. Afterwards, you’ll want to test again to make sure that nothing went wrong in the implementation.

In addition to the Google tools listed above, you should also test your implementation with Bing’s Markup Validator tool and (if applicable) the Yandex structured data validator tool. Bing’s tool can only be used with a URL, but Yandex’s tool will validate a URL or a code snippet, like Google’s SDT tool.

You can also check out Aaron Bradley’s roundup of Structured Data Markup Visualization, Validation, and Testing Tools for more options.

Once you have live structured data on your site, you’ll also want to regularly check the Structured Data Report in Google Search Console, to ensure that your implementation is still working correctly.

Common mistakes in Schema.org structured data implementation

When implementing Schema.org on your site, there are a few things you’ll want to be extra careful about. Marking up content with irrelevant or incorrect Schema.org Types looks spammy, and can result in a “spammy structured markup” penalty from Google. Here are a few of the most common mistakes people make with their Schema.org markup implementation:

Mishandling multiple entities

Marking up categories or lists of items (Products, Recipes, etc) or anything that isn’t a specific item with markup for a single entity

  • Recipe and Product markup are designed for individual recipes and products, not for listings pages with multiple recipes or products on a single page. If you have multiple entities on a single page, mark up each item individually with the relevant markup.

Misapplying Recipes markup

Using Recipe markup for something that isn’t food

  • Recipe markup should only be used for content about preparing food. Other types of content, such as “diy skin treatment” or “date night ideas,” are not valid names for a dish.

Misapplying Reviews and Ratings markup

Using Review markup to display “name” content which is not a reviewer’s name or aggregate rating

  • If your markup includes a single review, the reviewer’s name must be an actual organization or person. Other types of content, like “50% off ingredients,” are considered invalid data to include in the “name” property.

Adding your overall business rating with aggregateRating markup across all pages on your site

  • If your business has reviews with an aggregateRating score, this can be included in the “review” property on your Organization or LocalBusiness.

Using overall service score as a product review score

  • The “review” property in Schema.org/Product is only for reviews of that specific product. Don’t combine all product or business ratings and include those in this property.

Marking up third-party reviews of local businesses with Schema.org markup

  • You should not use structured data markup on reviews which are generated via third-party sites. While these reviews are fine to have on your site, they should not be used for generating rich snippets. The only UGC review content you should mark up is reviews which are displayed on your website, and generated there by your users.

General errors

Using organization markup on multiple pages/pages other than the homepage

  • It might seem counter-intuitive, but organization and LocalBusiness markup should only be used on the pages which are actually about your business (e.g. homepage, about page, and/or contact page).

Improper nesting

  • This is why it’s important to validate your code before implementing. Especially if you’re using Microdata tags, you need to make sure that the nesting of attributes and tags is done correctly.

So there you have it — a beginner’s guide to understanding and implementing structured data for SEO! There’s so much to learn around this topic that a single article or guide can’t cover everything, but if you’ve made it to the end of this series you should have a pretty good understanding of how structured data can help you with SEO and other marketing efforts. Happy implementing!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

The 3 Easiest Link Building Tactics Any Website Can Use to Acquire Their First 50 Links – Whiteboard Friday

Posted by randfish

Without a solid base of links, your site won’t be competitive in the SERPs — even if you do everything else right. But building your first few links can be difficult and discouraging, especially for new websites. Never fear — Rand is here to share three relatively quick, easy, and tool-free (read: actually free) methods to build that solid base and earn yourself links.

Link Building Tactics to Acquire Your 50 First Links

Click on the whiteboard image above to open a high-resolution version in a new tab!

Video Transcription

Howdy, Moz fans, and welcome to another edition of Whiteboard Friday. This week we’re going to chat about how to get those first few links that every website needs to be able to compete. Many folks I know when you get started with link building, it can seem daunting and overwhelming.

So let me walk you through what is essentially a half a day of work, maybe three or four hours of work to try these three tactics that will almost certainly get your business or your organization the first handful, let’s say 50 links that you need to start being able to compete. Content can you take you a long way. Keywords can take you a long way. Engagement and interaction can take you a long way. But you’ve got to have a base of links. So let’s get started here.

#1. Your brand name, domain name, and founder’s/execs names

The first one is basically looking for links that come from your own name, your brand name, your domain name potentially, and the names of the founders or people who run your company.

Step One: Search Google for the names in quotes.

So if it was me and Moz, you’d be searching for “Rand Fishkin” or “Moz.com” in quotes, not the domain name in the URL field. But in the Google search bar, I’d be searching for “Moz.com” in quotes or “Moz + SEO.” Moz also has other meanings, including the singer Morrissey, which makes for confusing types of things. If you have that, you’ll need to use your brand name plus some sort of signifier or identifier. It’s very rare that Morrissey gets mentioned along with search engine optimization. It’s very often that Moz gets mentioned along with SEO, and so I can combine those to search for it. So any of these searches will result in a big list of tons of Google results.

Step Two: Manually check the top let’s say 50 to 100 results to confirm that…

  1. They link to the right place, and if they don’t, if there are mentions of Rand Fishkin that don’t link to Moz, we should fix that. We’re going to contact those people.
  2. If you can control the anchor text and where the link location points, you can update it. For example, I can go to my LinkedIn. My LinkedIn has a link to Moz. I could update that if I were at a different company or if Moz’s domain name changed, for example when it did change from SEOmoz to just Moz.
  3. If it’s missing or wrong, I find the right people, I email them, and I fix it. As a result, I should have something like this. Every single mention in Google has a link on the page to my website. I can get that from brand name, from domain name, and from founders and executives. That’s a lot of great links.

#2. Sites that list your competition

So this is essentially saying we’re going to…

Step One: Identify your top 5 or 10 most visible on the web competitors.

This is a process that you can go through on your own to identify, well, these are the 5 or 10 that we see on the web very frequently for searches that we wish we competed for, or we see them mentioned in the press a ton, whatever it is.

Step Two: Search Google not for each one individually, but rather for combinations, usually two, three, or four of them all together.

For example, if I were making a new whiteboard pen company, I would look for the existing ones, like Pilot and Expo and Quartet and PandaBoard. I might search for Pilot and PandaBoard first. Then I might search for Pilot and Expo. Then I might search for PandaBoard and Quartet and all these various combinations of these different ones.

Step Three: Visit any sites in the SERPs that list multiple competitors in any sort of format (a directory structure, comparisons, a list, etc.)

Then in each of those cases, I would submit or I would try and contact or get in touch with whoever runs that list and say, “Hey, my company, my organization also belongs on here because, like these other ones you’ve listed, we do the same thing.” So if it’s here’s whiteboard pen brands, Expo, PandaBoard, Quartet, and your site, which should now link to YourSite.com.

This is a little more challenging. You won’t have as high a hit rate as you will with your own brand names. But again, great way to expand your link portfolio. You can usually almost always get 20 or 30 different sites that are listing people in your field and get on those lists.

#3. Sites that list people/orgs in your field, your geography, with your attributes.

This is sites that list people or organizations in a particular field, a particular region, with particular attributes, or some combination of those three. So they’re saying here are European-based whiteboard pen manufacturers or European-based manufacturers who were founded by women.

So you can say, “Aha, that’s a unique attribute, that’s a geography, and that’s my field. I’m in manufacturing. I make whiteboard pens. Our cofounder was a woman, and we are in Europe. So therefore we count in all three of those. We should be on that list.” You’re looking for lists like these, which might not list your competitors, but are high-quality opportunities to get good links.

Step One:

  1. List your organization’s areas of operation. So that would be like we are in technology, or we’re in manufacturing or software or services, or we’re a utility, or we’re finance tech, or whatever we are. You can start from macro and go down to micro at each of those levels.
  2. List your geography in the same format from macro to micro. You want to go as broad as continent, for example Europe, down to country, region, county, city, even neighborhood. There are websites that list, “Oh, well, these are startups that are based in Ballard, Seattle, Washington in the United States in North America.” So you go, “Okay, I can fit in there.”
  3. List your unique attributes. Were you founded by someone whose attributes are different than normal? Moz, obviously my cofounder was my mom, Gillian. So Moz is a cofounded-by-a-woman company. Are you eco-friendly? Maybe you buy carbon credits to offset, or maybe you have a very eco-friendly energy policy. Or you have committed to donating to charity, like Salesforce has. Or you have an all-remote team. Or maybe you’re very GLBTQIA-friendly. Or you have a very generous family leave policy. Whatever interesting attributes there are about you, you can list those and then you can combine them.

Step Two: Search Google for lists of businesses or websites or organizations that have some of these attributes in your region or with your focus.

For example, Washington state venture-backed companies. Moz is a venture-backed company, so I could potentially get on that list. Or the EU-based manufacturing companies started by women, and I could get on that list with my whiteboard pen company based there. You can find lots and lots of these if you sort of take from your list, start searching Google and discover those results. You’ll use the same process you did here.

You know what the great thing about all three of these is? No tools required. You don’t have to pay for a single tool. You don’t have to worry about Domain Authority. You don’t have to worry about any sort of link qualification process or paying for something expensive. You can do this manually by yourself with Google as your only tool, and that will get you some of those first early links.

If you’ve got additional suggestions, please leave them down in the comments. I look forward to chatting with you there. We’ll see you again next week for another edition of Whiteboard Friday.

Video transcription by Speechpad.com


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

The E-Commerce Benchmark KPI Study 2017: 15 Essential Takeaways

Posted by Alan_Coleman

Is your website beating, meeting, or behind the industry average?

Wolfgang Digital’s 2017 E-Commerce Benchmark KPI Study is out with an even bigger sample size than ever before. Analyzing 143 million website sessions and $531 million in online revenues, the study gives e-commerce marketers essential insights to help benchmark their business’s online performance and understand which metrics drive e-commerce success.

This study is our gift to the global e-commerce industry. The objective is to reveal the state of play in the industry over the last 12 months and ultimately help digital marketers make better digital marketing decisions by:

  1. Better understanding their website performance through comparing key performance indicators (KPIs) with industry benchmarks.
  2. Gaining insights into which key metrics will ensure e-commerce success

You can digest the full study here.

Skim through the key takeaways below:


1. Google remains people’s window to the web, but its dominance is in decline.

The search giant generates 62% of all traffic and 63% of all revenue. This is down from 69% of traffic and 67% of revenue in last year’s study. In numerical terms, Google is growing — it’s simply that the big G’s share of the pie is in decline.

2. Google’s influence is declining as consumers’ paths to purchase become more diverse, with “dark traffic” on the rise.

This occurs when Google Analytics doesn’t recognize a source by default, like people sharing links on WhatsApp. Dark traffic shows up as direct traffic in Google Analytics. Direct traffic grew from 17% to 18% of traffic.

3. Consumers’ paths to purchase have gotten longer.

It now takes 12% more clicks to generate a million euro online than it did 12 months ago, with 360,000 clicks being the magic million-euro number in 2017.

4. Mobile earns more share, yet desktop still delivers the dollars.

2017 is the first year mobile claimed more sessions (52%) than desktop (36%) and tablet (12%) combined. Desktop generates 61% of all online revenue, with users 164% more likely to convert than those browsing on mobile. Plus, when desktop users convert, they spend an average of 20% more per order than mobile shoppers.

5. The almighty conversion rate: e-commerce sites average 1.6%.

E-commerce websites averaged 1.6% overall. Travel came in at 2.4%. Online-only retailers saw 1.8% conversion rates, while their multichannel counterparts averaged 1.2%

6. Don’t shop if you’re hungry.

Conversion rates for food ordering sites are fifteen times those of typical retail e-commerce!

***Correlation explanation: The most unique and most useful part of our study is our correlation calculation. We analyze which website metrics correlate with e-commerce success. Before I jump into our correlation findings, let me explain how to read them. Zero means no correlation between the two metrics. One means perfect correlation; for example, “every time I sneeze, I close my eyes.” Point five (0.5) means that as one metric increases 100%, the other metric increases 50%. A negative correlation means that as one variable increases, the other decreases.

From our experience compiling these stats over the years, any correlation over .2 is worth noting. North of 0.4 is a very strong correlation. I’ve ranked the following correlations below in order of strength, starting with the strongest.

7. Sticky websites sell more (0.6).

The strongest correlation in the study was between time spent on a website and conversion rate (0.6 correlation). By increasing time on site by 16%, conversion rates ramp up 10%. Pages per session also correlated solidly with revenue growth (0.25).

8. People trust Google (0.48).

According to Forbes, Google is the world’s second most valuable brand. Our figures agree. People who got more than average organic traffic from Google enjoyed a savagely strong conversion rate (0.48). It seems that when Google gives prominent organic coverage to a website, that website enjoys higher trust and, in turn, higher conversion rates from consumers.

9. Tablet shoppers love a bit of luxury (0.4).

Higher-than-average tablet sessions correlated very strongly with high average order values (0.4). However, pricey purchases require more clicks, no matter the device.

10. Loyal online shoppers are invaluable (0.35).

Your best-converting customers are always your returning loyal customers. Typically they show up as direct traffic, high levels of which correlated very strongly with conversion rates (0.35).

11. Speed matters (0.25).

005Onsite Engagement.jpg

Average site speed was 6 seconds. This is far higher than the generally recommended 2 seconds. There was a strong inverse correlation between average page load time and revenue growth (0.25). Reducing the average load time by 1.6 seconds would increase annual revenue growth by 10%.

12. Mobile is a money-making machine (0.25).

009Revenue Growth.jpg

Websites that got more mobile pageviews (0.25) and more tablet pageviews (0.24) grew revenue faster.

13. Email pays dividends (0.24).

002Source-Rev.jpg

Email delivers three times as much revenue as Facebook on a last-click basis. Those who get more traffic from email also enjoy a higher AOV (0.24).

14. Bing CPC represents a quick win (0.22).

Websites with a higher share of Bing CPC traffic tend to see a higher AOV (0.22). This, coupled with lower CPCs, makes Bing an attractive low-volume high-profit proposition. Bing has made the route into Bing Ads much easier, introducing a simple one-click tool which will convert your AdWords campaigns into Bing Ad campaigns.

15. Pinterest can be powerful (0.22).

Websites with more Pinterest traffic enjoyed higher AOVs (0.22). This demonstrates Pinterest’s power as a visual research engine, a place where people research ideas before taking an action — for example, planning a wedding, designing a living room, or purchasing a pair of pumps. The good news for digital marketers is that Pinterest recently launched its self-service ad platform.


Black holes

We used Google Analytics to compile the report. Once installed correctly, Google Analytics is very accurate in the numbers it does reports. However, there are two areas it struggles to report on that digital marketers need to keep in mind:

  1. Offline conversions: For 99% of our data set, there is no offline conversion tracking setup. Google is introducing measures to make it easier to track this. Once marketing directors get visibility on the offline impact of their online spend, we expect more offline budget to migrate online.
  2. Cross-device conversions: It’s currently very difficult to measure cross device conversions. According to Google themselves, 90% of goals occur on more than one device. Yet Google Analytics favors the sturdy desktop, as it generates the most same-device conversions. The major loser here is social, with 9 out of 10 Facebook sessions being mobile sessions. Instagram and Snapchat don’t even have a desktop version of their app!

Google is preparing to launch enhanced reporting in the coming months, which will give greater visibility on cross-device conversions. Hopefully this will give us a clearer picture of social’s role in conversion for our 2018 study.

The full report is available here and I’d love to answer your questions in the comments section below.


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

The Beginner’s Guide to Structured Data for SEO: A Two-Part Series

Posted by bridget.randolph

Part 1: An overview of structured data for SEO

SEOs have been talking about structured data for a few years now — ever since Google, Bing, Yahoo! and Yandex got together in 2011 to create a standardized list of attributes and entities which they all agreed to support, and which became known as Schema.org. However, there’s still a lot of confusion around what structured data is, what it’s for, and how and when to implement structured data for SEO purposes. In fact, a survey carried out last year by Bing found that only 17% of marketers are using (or were planning to use) Schema.org structured data markup.

In this two-part series, you’ll learn the basics of structured data: first we’ll talk about what it is, and how it relates to SEO (Part 1), and then I’ll take you through a simple process for identifying structured data opportunities and implementing structured data on your own site (Part 2).

What is “structured data”?

“Structured data” as a general term simply refers to any data which is organized (i.e., given “structure”). For example, if you have a bunch of scattered Post-It notes with phone messages about meetings, dates, times, people, etc, and you organize these into a table with labeled rows and columns for each type of information, you’re structuring the data.

Example of unstructured data

Post-It 1: “John called, confirming 3pm on Wed at Coffee Shop”

Post-It 2: “Don’t forget your 10am meeting at Mary’s Office this Friday”

Example of structured data

Meeting With

Date

Time

Location

John

Wednesday

3pm

Coffee Shop

Mary

Friday

10am

Office


Structured data can be used in many different ways, such as using Open Graph markup to specify a Facebook title and description, or using SQL to query a relational database. In an SEO context, “structured data” usually refers to implementing some type of markup on a webpage, in order to provide additional detail around the page’s content. This markup improves the search engines’ understanding of that content, which can help with relevancy signals and also enables a site to benefit from enhanced results in SERPs (rich snippets, rich cards, carousels, knowledge boxes, etc). Because this type of markup needs to be parsed and understood consistently by search engines as well as by people, there are standardized implementations (known as formats and/or syntaxes) and classifications of concepts, relationships, and terms (known as vocabularies) which should be used.

There are three syntaxes which search engines will typically support (Microdata, JSON-LD, and microformats) and two common vocabularies which can be used with these syntaxes: Schema.org and Microformats.org. If you’re reading up on this topic, you may also see references to RDFa, which is another syntax.

*This all gets pretty confusing, so if you’re feeling less-than-crystal-clear right now, you might want to check out this great glossary cheat sheet from Aaron Bradley.


When we talk about structured data for SEO, we’re usually talking about the particular vocabulary known as “Schema.org.” Schema.org is the most commonly used approach to structured data markup for SEO purposes. It isn’t the only one, though. Some websites use the Microformats.org vocabulary, most often for marking up product reviews (h-review markup) or defining a physical location (h-card markup).

In addition to being able to use different vocabularies to mark up your site, you can also implement this markup in different ways using syntaxes. For Schema.org vocabulary, the best ways to add markup to your site are either through using the Microdata format, or JSON-LD. With Microdata markup, your structured data is integrated within the main HTML of the page, whereas JSON-LD uses a Javascript object to insert all of your markup into the head of the page, which is often a cleaner, simpler implementation from a development perspective.

The Microdata approach was originally the recommended one for SEO purposes, but Google’s JSON-LD support has improved in the past few years and now it is their recommended approach when possible. Note, however, that Bing does not currently support JSON-LD (although hopefully this may be changing soon).

How does structured data support SEO?

Google, Bing, and other search engines encourage webmasters to use structured data, and incentivize that usage by providing benefits to websites with structured data correctly implemented.

Some of these benefits include search result enhancements and content-specific features, such as:

  • Rich search results: Includes styling, images, and other visual enhancements
  • Rich cards: A variation on rich search results, similar to rich snippets and designed for mobile users
  • Enriched search results: Includes interactive or immersive features
  • Knowledge Graph: Information about an entity such as a brand
  • Breadcrumbs: Breadcrumbs in your search result
  • Carousels: A collection of multiple rich results in a carousel style
  • Rich results for AMP: To have your AMP (Accelerated Mobile Pages) appear in carousels and with rich results, you’ll need to include structured data

These enhanced search results can also improve your click-through rate (CTR) and drive additional traffic, because they are more visually appealing and provide additional information to searchers. And improved CTR can also indirectly improve your rankings, as a user behavior signal.

Implementing structured data on your site is also a way to prepare for the future of search, as Google in particular continues to move in the direction of hyper-personalization and solving problems and answering questions directly. Tom Anthony gave a presentation about this topic not too long ago, titled Five Emerging Trends in Search.

Common uses for structured data

Part 2 of this series will go into more detail around specific structured data opportunities and how to implement them. However, there are certain common uses for structured data which almost any website or brand can benefit from:

Knowledge Graph

If you have a personal or business brand, you can edit the information which appears on the right-hand side of the SERP for branded searches. Google uses structured data to populate the Knowledge Graph box.

Rich snippets and rich cards

The most commonly used markup allows you to provide additional context for:

  • Articles
  • Recipes
  • Products
  • Star Ratings and Product Reviews
  • Videos

Using this markup allows your site to show up in the SERPs as a rich snippet or rich card:

Google’s rich cards examples for “Recipe”

If your site has several items that would fit the query, you can also get a “host carousel” result like this one for “chicken recipes”:

Image source

In addition to these types of content markup, Google is currently experimenting with “action markup,” which enables users to take an action directly from the SERP, such as booking an appointment or watching a movie. If this is relevant to your business, you may want to express interest in participating.

AMP (Accelerated Mobile Pages)

If your site uses AMP (Accelerated Mobile Pages), you’ll want to make sure you include structured data markup on both the regular and AMP pages. This will allow your AMP pages to appear in rich results, including the Top Stories carousel and host carousels.

Social cards

Although Open Graph, Twitter cards, and other social-specific markup may not have a big impact from a purely SEO perspective, this markup is visible to search engines and Bing specifically notes that their search engine can understand Open Graph page-level annotations (although at the moment they only use this data to provide visual enhancements for a specific handful of publishers).

If you use any social networks for marketing, or simply want your content to look good when it’s shared on social media, make sure you correctly implement social markup and validate using the various platforms’ respective testing tools:

AdWords

You can include structured data in your AdWords ads, using structured snippet extensions. These allow you to add additional information within your ad copy to help people understand more about your products or services and can also improve click-through rate (CTR) on your ads.

Email marketing

If you have Gmail, you may have gotten a confirmation email for a flight and seen the information box at the top showing your flight details, or seen a similar information box for your last Amazon order. This is possible due to structured data markup for emails. Google Inbox and Gmail support both JSON-LD and Microdata markup for emails about various types of orders, invoices and reservations.

3 common myths about structured data & SEO

Myth #1: Implementing structured data means I will definitely get rich snippets.

Although using structured data markup is necessary to be eligible for rich snippets and rich cards, there is no guarantee that simply adding structured data markup to your site will immediately result in rich snippets or cards. Sometimes it may not show up at all, or may appear inconsistently. This doesn’t necessarily mean you’ve done anything wrong.

Myth #2: Structured data is a ranking signal.

Using structured data correctly can help search engines to better understand what your content is about and may therefore contribute to a stronger relevancy signal. In addition, studies have shown that rich snippets can improve click-through rate (CTR), which can lead to better rankings indirectly. However, the use of structured data markup on its own is not a direct ranking signal.

Myth #3: Google can figure it out without the extra work.

Sometimes it’s tempting to skip extra steps, like implementing structured data, since we know that Google is getting smarter at figuring things out and understanding content without much help. But this is a short-sighted view. Yes, Google and other search engines can understand and figure out some of this stuff on their own, but if you want them to be able to understand a specific thing about your content, you should use the correct markup. Not only will it help in the short term with the things the algorithms aren’t so good at understanding, it also ensures that your site itself is well structured and that your content serves a clear purpose. Also, Google won’t give you certain features without correct implementation, which could be costing you on a large scale over time, especially if you’re in a competitive niche. Apart from anything else, studies have shown that rich snippets can improve CTR by anywhere from 5%–30%.

Additional resources

In Part 2 of this two-part series, we’ll be looking at the practical side of structured data implementation: how to actually identify structured data opportunities for your site, and how to implement and test the markup correctly.

But for now, here are some resources to help you get started:

In the meantime, I’d love to hear from you: Have you implemented structured data markup on your site? Share your results in the comments!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

State of Enterprise SEO 2017: Overworked SEOs Need Direction

Posted by NorthStarInbound

This survey and its analysis was co-authored with North Star Inbound’s senior creative strategist, Andrea Pretorian.

In the spring of 2017, North Star Inbound partnered up with seoClarity and BuzzStream to survey the state of enterprise SEO. We had a fair share of anecdotal evidence from our clients, but we wanted a more objective measurement of how SEO teams are assembled, what resources are allocated to them, what methods they use, and how they perform.

We hadn’t seen such data collected, particularly for enterprise SEO. We found this surprising given its significance, evident even in the number of “enterprise SEO tools” and solutions being marketed.

What is enterprise SEO?

There is no single fixed-industry definition of “enterprise” beyond “large business.” For the purposes of this survey, we defined enterprise businesses as being comprised of 500 or more employees. “Small enterprise” means 500–1000 employees, while “large enterprise” means over 1000 employees.

Industry discussion often points to the number of pages as being a potential defining factor for enterprise SEO, but even that is not necessarily a reliable measure.

What was our survey methodology?

We developed the widest enterprise SEO survey to date, made up of 29 questions that delved into every aspect of the enterprise SEO practice. From tools and tactics to content development, keyword strategy, and more, we left no stone unturned. We then picked the brains of 240 SEO specialists across the country. You can check out our complete survey, methodology, and results here.

Team size matters — or does it?

Let’s start by looking at enterprise team size and the resources allocated to them. We focused on companies with an in-house SEO team, and broke them down in terms of small (500–1000 employees) and large enterprise (>1000 employees).

We found that 76% of small enterprise companies have in-house SEO teams of 5 people or less, but were surprised that 68% of large enterprise companies also had teams of this size. We expected a more pronounced shift into larger team sizes paralleling the larger size of their parent company; we did not expect to see roughly the same team size across small and large enterprise companies.

Chart_Q4_170522.png

Interestingly, in larger companies we also see less confidence in the team’s experience in SEO. Of the companies with in-house SEO, only 31.67% of large enterprise teams called themselves “leaders” in the SEO space, which was defined in this survey as part of a team engaged broadly and critically within the business. 40% of small enterprise teams called themselves “leaders.” In terms of viewing themselves more positively (leaders, visionaries) or less (SEO pioneers in their company or else new SEO teams), we did not notice a big difference between small or large enterprise in-house SEO teams.

Large enterprise companies should have more resources at their disposal — HR teams to hire the best talent, reliable onboarding practices in place, access to more sophisticated project management tools, and more experience managing teams — which makes these results surprising. Why are large enterprise companies not more confident about their SEO skills and experience?

Before going too far in making assumptions about their increased resources, we made sure to ask our survey-takers about this. Specifically, we asked for how much budget is allocated to SEO activity per month — not including the cost of employees’ salaries, or the overhead costs of keeping the lights on — since this would result in a figure easier to report consistently across all survey takers.

It turns out that 57% of large enterprise companies had over $10K dedicated strictly to SEO activity each month, in contrast to just 24% of small enterprise companies allocating this much budget. 40% of large enterprise had over $20K dedicated to SEO activity each month, suggesting that SEO is a huge priority for them. And yet, as we saw earlier, they are not sold on their team having reached leader status.

Enterprise SEO managers in large companies value being scalable and repeatable

We asked survey takers to rate the success of their current SEO strategy, per the scale mapped below, and here are the results:

Chart_Q8_170522.png

A smaller percentage of large enterprise SEOs had a clearly positive rating of the current success of their SEO strategy than did small enterprise SEOs. We even see more large enterprise SEOs “on the fence” about their strategy’s performance as opposed to small. This suggests that, from the enterprise SEOs we surveyed, the ones who work for smaller companies tend to be slightly more optimistic about their campaigns’ performance than the larger ones.

What’s notable about the responses to this question is that 18.33% of managers at large enterprise companies would rate themselves as successful — calling themselves “scalable and repeatable.” No one at a small enterprise selected this to describe their strategy. We clearly tapped into an important value for these teams, who use it enough to measure their performance that it’s a value they can report on to others as a benchmark of their success.

Anyone seeking to work with large enterprise clients needs to make sure their processes are scalable and repeatable. This also suggests that one way for a growing company to step up its SEO team’s game as it grows is by achieving these results. This would be a good topic for us to address in greater detail in articles, webinars, and other industry communication.

Agencies know best? (Agencies think they know best.)

Regardless of the resources available to them, across the board we see that in-house SEOs do not show as much confidence as agencies. Agencies are far more likely to rate their SEO strategy as successful: 43% of survey takers who worked for agencies rated their strategy as outright successful, as opposed to only 13% of in-house SEOs. That’s huge!

While nobody said their strategy was a total disaster — we clearly keep awesome company — 7% of in-house SEOs expressed frustration with their strategy, as opposed to only 1% of agencies.

Putting our bias as a link building agency aside, we would expect in-house SEO enterprise teams to work like in-house agencies. With the ability to hire top talent and purchase enterprise software solutions to automate and track campaigns, we expect them to have the appropriate tools and resources at their disposal to generate the same results and confidence as any agency.

So why the discrepancy? It’s hard to say for sure. One theory might be that those scalable, repeatable results we found earlier that serve as benchmarks for enterprise are difficult to attain, but the way agencies evolve might serve them better. Agencies tend to develop somewhat organically — expanding their processes over time and focusing on SEO from day one — as opposed to an in-house team in a company, which rarely was there from day one and, more often than not, sprouted up when the company’s growth made it such that marketing became a priority.

One clue for answering this question might come from examining the differences between how agencies and in-house SEO teams responded to the question asking them what they find to be the top two most difficult SEO obstacles they are currently facing.

Agencies have direction, need budget; in-house teams have budget, need direction

If we look at the top three obstacles faced by agencies and in-house teams, both of them place finding SEO talent up there. Both groups also say that demonstrating ROI is an issue, although it’s more of an obstacle for agencies rather than in-house SEO teams.

When we look at the third obstacles, we find the biggest reveal. While agencies find themselves hindered by trying to secure enough budget, in-house SEO teams struggle to develop the right content; this seems in line with the point we made in the previous section comparing agency versus in-house success. Agencies have the processes down, but need to work hard to fit their clients’ budgets. In-house teams have the budget they need, but have trouble lining them up to the exact processes their company needs to grow as desired. The fact that almost half of the in-house SEOs would rank developing the right content as their biggest obstacle — as opposed to just over a quarter of agencies — further supports this, particularly given how important content is to any marketing campaign.

Now, let’s take a step back and dig deeper into that second obstacle we noted: demonstrating ROI.

Everyone seems to be measuring success differently

One question that we asked of survey takers was about the top two technical SEO issues they monitor:

The spread across the different factors were roughly the same across the two different groups. The most notable difference between the two groups was that even more in-house SEO teams looked at page speed, although this was the top factor for both groups. Indexation was the second biggest factor for both groups, followed by duplicate content. There seems to be some general consensus about monitoring technical SEO issues.

But when we asked everyone what their top two factors are when reviewing their rankings, we got these results:

For both agencies and in-house SEO teams, national-level keywords were the top factor, although this was true for almost-three quarters of in-house SEOs and about half of agencies. Interestingly, agencies focused a bit more on geo/local keywords as well as mobile. From when we first opened this data we found this striking, because it suggests a narrative where in-house SEO teams focus on more conservative, “seasoned” methods, while agencies are more likely to stay on the cutting-edge.

Looking at the “Other” responses (free response), we had several write-ins from both subgroups who answered that traffic and leads were important to them. One agency survey-taker brought up a good point: that what they monitor “differs by client.” We would be remiss if we did not mention the importance of vertical-specific and client-specific approaches — even if you are working in-house, and your only client is your company. From this angle, it makes sense that everyone is measuring rankings and SEO differently.

However, we would like to see a bit more clarity within the community on setting these parameters, and we hope that these results will foster that sort of discussion. Please do feel free to reply in the comments:

  • How do you measure ROI on your SEO efforts?
  • How do you show your campaigns’ value?
  • What would you change about how you’re currently measuring the success of your efforts?

So what’s next?

We’d love to hear about your experiences, in-house or agency, and how you’ve been able to demonstrate ROI on your campaigns.

We’re going to repeat this survey again next year, so stay tuned. We hope to survey a larger audience so that we can break down the groups we examine further and analyze response trends among the resulting subgroups. We wanted to do this here in this round of analysis, but were hesitant because of how small the resulting sample size would be.


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →