The Benefits of Semantic Search: Beyond SEO Basics
If you’ve been working with websites for a few years, you probably remember the good old days of SEO, maybe 5 years ago, when SEO was simple. All you had to do to get great search results was include specific keywords in your content. Google would match them to someone’s search query, word by word, and BAM! You had a visitor. However, as technology improves and search engines become smarter, it has also become necessary for SEO to evolve and get smarter as well (a.k.a. more complicated). Today, instead of just matching query to keywords, Google looks at other factors, such as search intent and context to deliver more relevant results. This is called semantic search and you should learn as much about the benefits of Semantic Search as possible. This article is for intermediate to advanced readers, so if you need a primer on basic SEO, you may first want to read my previous article: Improve search results with 8 simple steps: On-page SEO Basics
What is Semantic Search?
For a definition we will use Wikipedia:
Semantic search seeks to improve search accuracy by understanding searcher intent and the contextual meaning of terms as they appear in the searchable dataspace, whether on the Web or within a closed system, to generate more relevant results.
And the definition of Techopedia:
Semantic search is a data searching technique in a which a search query aims to not only find keywords, but to determine the intent and contextual meaning of the words a person is using for search.
You will probably notice that in both definitions there are two important concepts: intent and context. Intent, which comes from the user, explicitly states what he or she is looking for. And context could be understood as everything that surrounds a search and makes this go in either direction, i.e., what gives it meaning. Thus, by understanding and connecting intention and context, search engines are able to understand the different queries, both what motivates and what is expected of them demonstrating the benefits of Semantic Search.
How Semantic Search Works
If we do a search for ‘panda’, without specifying anything else, we could think that we are referring to the bear species native to China, one of the Google algorithm updates or even a computer antivirus program. We just have to see the results page to understand that, in the first instance, for Google it is not clear what we are looking for:
Google, as a first option, understands that the user is looking for information about the panda bear, and that makes perfect sense, since the animal existed first and, therefore, gives the name to all other results that appear. However, the range of results is a clear example of the need to fine tune our searching. In fact, if we look at the related searches offered at the end of the page it is clear that the options are quite broad. It is also curious how Google Suggest works:
We could say that with a lack of context Google provides several options, so the next step on the part of the user is to have to choose from what kind of ‘panda’ want to keep getting information. If we do now a new search by typing in the search box ‘panda diet’ it is clear that Google will know perfectly the kind of results to show: those related to the diet of this animal. This time Google responds directly to our query, offering one of the cards from its Knowledge Base, extracting data from a panda record belonging to the website of the Smithsonian National Zoological Park. We see that this is a step beyond the Knowledge Graph, where Google anticipated some of the information from knowledge sources like Wikipedia.
However, in the second case the term is better defined as we are giving a context, so we could say that it is itself an entity. It would not make sense that Google would return as results web pages of an antivirus if we have typed the word ‘diet’ as part of our search criteria.
In order to find and display the most relevant results, Google looks for help from search entities. In short, it is a process by which searches performed by users establish a set relationship that help identify the importance of the various documents and, therefore, influence the information displayed. When establishing the context in which a query occurs, Google takes into account a number of factors such as:
- User search history.
- User location: depending on the location of the user, the search engine is able to discern what type of results are more appropriate for him or her.
- Global search history: searches carried out consecutively or close in time associated with another search
- Relationships between a high amount of previously stored data (named terms or entities).
- Queries characteristics: spelling, variations, etc.
- Domains linked from documents on the same topic
- Co-occurrence of terms and distance between them
However, the major search engines were still looking for a way to get even more precise details about content on a webpage or blog article. The information below will help you understand the benefits of Semantic Search.
Schema.org and Semantic Markup
Google, Bing, Yahoo! and Yandex decided to join forces to develop a vocabulary to implement the HTML semantic markup of the web pages. The result was Schema.org, where we can find the reference needed to semantically mark our content appropriately.
On this website we find the following statement:
On-page markup enables search engines to understand the information on web pages and provide richer search results in order to make it easier for users to find relevant information on the web.
As we can see, semantic markup helps search engines to display more relevant results for the user. We contribute to these results with the famous rich snippets.
Schema.org has a very structured set of tags called markup that help you define information in your articles and pages better. The structure of the markup is as follows.
There are several markup categories, such as event, place, person, organization, and product.
Each category has characteristics, such as a person can have a name, title, address, company, gender, spouse, etc…
In some cases, the characteristic of the category is not enough, so there are more levels of detail to describe something. For example, the category “place”, can have a characteristic of “city”, and have a detail of “Los Angeles”. Below is a screenshot of the schema.org hierarchy.
As you can see above, if you were creating a website for a city hall, in the Schema.org markup, it would fall under Place > Civic Structure > GovernmentBuilding > CityHall.
Implementing Schema.org Markup
One of the areas that Schema.org semantic markup is very powerful is for an event. Let’s say that you were building a page to sell NBA Eastern Conference First Round Playoff Tickets. Your webpage would have html code similar to this:
<a href="nba-miami-philidelphia-game3.html"> NBA Eastern Conference First Round Playoff Tickets: Miami Heat at Philadelphia 76ers Game 3 (Home Game 1) </a> Thu, 04/21/16 8:00 p.m. <a href="wells-fargo-center.html"> Wells Fargo Center </a> Philadelphia, PA Priced from: $35 1938 tickets left
Now, imagine turning this code into a powerful snippet rich structured data that tells the search engines much more information about the tickets. With Schema.org Semantic Search Markup, your html code would look similar to this:
<div itemscope itemtype="http://schema.org/Event"> <a itemprop="url" href="nba-miami-philidelphia-game3.html"> NBA Eastern Conference First Round Playoff Tickets: <span itemprop="name"> Miami Heat at Philadelphia 76ers - Game 3 (Home Game 1) </span> </a> <meta itemprop="startDate" content="2016-04-21T20:00"> Thu, 04/21/16 8:00 p.m. <div itemprop="location" itemscope itemtype="http://schema.org/Place"> <a itemprop="url" href="wells-fargo-center.html"> Wells Fargo Center </a> <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <span itemprop="addressLocality">Philadelphia</span>, <span itemprop="addressRegion">PA</span> </div> </div> <div itemprop="offers" itemscope itemtype="http://schema.org/AggregateOffer"> Priced from: <span itemprop="lowPrice">$35</span> <span itemprop="offerCount">1938</span> tickets left </div> </div>
In the above example the last line of code says “1938 tickets left”, but Google may think that the word “left” is a direction. Because of this, you can use the semantic markup snippet “offercount” so that Google knows the word “left” means availability and not a direction. In the line that has the ticket price of $35.00 we understand that the words “Priced from” means that is the starting price. However Google may think that $35.00 is the price for every ticket. By adding the markup snippet “lowprice” the search engine understands that is the starting price.
Another one of the benefits of Semantic Search markup is that beyond just the ticket information, within the same lines of code you can provide the search engines additional information such as team names, location, start time, address, and much more.
The Benefits of Semantic Search
To you and I this may just look like a bunch of scrambled words, but for search engines, it is a goldmine. In the task of organizing information, it is critical for them to find mechanisms to more precisely understand the existing content. Search engines are becoming authentic learning machines, so if we want our pages to be understood by them in the way human does, we should make this easier for them. There are many components that can help us achieve our goal, but adding semantic markup to our content is one of the most relevant ways to achieve this. For more information about Schema.org markup, visit their site and read the documentation.
Feel free to tell us what you think about this article in the comments below, and please share with others.