How to Optimize a Page for Semantic SEO

How to Optimize a Page for Semantic SEO

How to Optimize a Page for Semantic SEO-1

In the latest episode of Hack My Growth, we’re going to be looking at how to optimize a page for semantic SEO.  I’m going to show you how to do some semantic SEO and how you can best optimize your pages for semantic search.

Ensuring that your SEO and content strategy includes 1) developing content that covers various types of intents and 2) optimizing your content for semantic search will enable you can better answer user queries and improve your search rankings.


Semantic SEO: How to Optimize a Page for Semantic Search

Video Transcript:

What is Semantic Search?

What is semantic search? We’ve covered this a couple of times on our site, and I’m going to link to some of those videos so you can get a little more information. Essentially, it’s all about making our content more machine-readable.

Conventional websites are built for people. It’s words on a page that somebody can read and click on the links to go to other pages. But there’s a gap between what humans and computers understand. When we add structure and meaning to the content by linking data, it’s all about linking data together to help computers better understand it. It allows the computers to deliver more contextual results and serve the end user better.

Semantic search allows the computers to actually deliver more contextual results and help serve the end user better.


This picture is a good example of that. When we type in the search query “jaguar”, Google needs a little bit more information in order to disambiguate that query. Are we looking for a cat? Are we looking for a car? There is a big difference between the two. But we have a mixed result here because they don’t really understand the context. And adding that context to our site can make sure that we rank. Let’s say that we’re a car dealership. We want to make sure that we’re ranking for Jaguar, the car, and not for jaguar, the animal, because that has nothing to do with our job.

These are the steps to optimizing a page for semantic SEO. This could be a webpage or blog. In this case, we’re going to optimize a blog article. The steps still apply the same way.

1. Understanding Search Intent: both Users and machines

Step one is understanding search intent. Understanding what both the users are looking for, and understanding how the machines understand that search query.

2. Uncovering Entities and Structured Data Opportunities

The second thing we need to do is uncover the entities and the topics that that query is focusing on, the related concepts that we need to add in, and all the structured data opportunities. Are there any opportunities within the SERP results that we can then mark up for as well?

3. Content Optimization and Internal Links

Third, we have to optimize our content to make sure that we cover those topics, and we make sure that we mention those entities on the page. And we also need to look for internal links. How can we create connections between different pieces that make sense within our website?

4. Marking up the Page

Then we need to add markup to the page, and this is where we would add that structured information around our entities as well as any other structured data opportunity we might have. 

5. On-page Best Practices

And finally, we still need to follow on-page best practices. Traditional SEO still plays a huge role, and we need to make sure that we have good title tags and headers and image alt text and all of those things that play a role as well.

This is an important note. While you can achieve this without the help of tools and Python, which is a programming language, your life will be a lot easier if you get some help.

In this tutorial, I’m going to show you exactly what we do with some of the tools that we use:

  • WordLift
  • Frase
  • Advanced Custom Fields Pro (WordPress)
  • Google SERP Colab file that we created in another video on how to do Natural Language Processing within the search results.

I’m going to show you a couple of other things, too, that you can leverage to get even more rich information.

You don’t have to buy any of these tools, but sometimes it’s worth investing in these tools to help you scale faster, and make sure that you don’t make mistakes. These tools can help you do that. 

Understanding Search Intent: Both Users and Machines

Here we have a new blog post that we’re creating for our simplified search site. We’ve got a title and content in here. But before we hit publish and hope that somebody likes this piece of content and that they read it, we need to understand what the search results are looking for.

This is where we need to make a query and look at Google Search. A very important part of doing SEO is to look at the search results. It’s surprising how many people in SEO today focus too much on tools without actually looking at the search results to understand what’s happening there.

A Very Important Part of SEO is Looking at the Search Results.

So, let’s take a look at what a search result would be for the query, “How does semantic search impact SEO?”

When I search, I like to do it in incognito. Searching in incognito strips the personalized data that Google might want to add to the search results. That’s an important thing to understand, too. Google will add personalized factors into rankings. This might not be what everyone sees, but this is the cleanest version of the SERPs.

  • At the top, I see two ad opportunities, and then right below that, I see a featured snippet.
  • This is an article, and I can see the date it was published. So, Google is looking at dates here, and that’s why they’re showing the date here.
  • It’s by SEMrush, so that’s a credible site, which has a lot of history and trust.
  • “About this result” Google is starting to tell us a little bit more about this result. And I can see here that this result showed up, or earn the featured snippet, because the terms “how does semantic search impact SEO” appears in this article.
  • It also looked at related terms like “what” and “effects”.
  • Other websites also linked to this article that are talking about semantic SEO.
  • The results are in English and the United States, so it knows where I’m at locally.

But right now Google is telling me, all right, this article speaks specifically about what I’m trying to write about.

So, as an author of an article that’s trying to compete for this query, I know that this is important to have this query show up in my content, which it does because it’s the title of my content.

I also need to look at things like what is maybe semantic SEO and starting to get into those levels. And I also need to look at the effects of this. So, these are two important pieces of information that are really helpful and that no SEO tool would have told me if I just looked at one by putting in this query.

All right. Let’s keep going. Right below the featured snippet, I’ve got a people also ask. Now, this is also really helpful as well because this could give me maybe some questions that I want to add to my content. So, what is semantic search? What’s the impact on SEO and SEO-friendly URLs? We’ve got a couple other questions here that are all pretty similar, semantic SEO, semantic keywords, and SEO.

Right below, I see an article from Search Engine Journal on July 29th, 2021, and then I see another one from AHREFS from last year. So, dates might play a role and timeliness might play a role here. Here’s one from HubSpot in 2021. So, they’re trying to get into this game as well. Bloomreach, some of the other SERPs here. I’m not seeing anything crazy. But then the related searches can also be helpful. I can look at how does it work, semantic search machine learning, so people might want to learn how to do this, understanding NLP and the process there, Python, which we’ve talked about a little bit before, some examples, the algorithm, and then how to implement this.

So, there’s some rich data here in the search results. And I can infer based on what I’ve seen is that people who are going to be searching for this query not only want to understand how it impacts search, but they also want to know what to do about it. The user intent is that they want to learn how to actually execute semantic SEO and make sure it will work for them.

This is a big thing because I want to make sure that my content reflects that as well, and I also can look at some of the entities here. So, semantic search, semantic search SEO. Algorithm could be an entity. NLP could be an entity. Machine learning could be an entity. Python may be important here. As you can see, I’m starting to see these things, which both the machines are understanding are correlated and the users also might want to know. Notice, I’ve got BERT showing up here in an internal link on the AHREFS article. So, just by taking this quick look at the search results, I’m getting some powerful information.

So, once I’ve got this, I should be taking notes. Typically, I like to do this on pen and paper. It helps me just flesh it out before I start doing it on the computer. But you can also use spreadsheets to keep track of this information as well. So, now I’ve got an idea of the intent. People want to know not just how it impacts, but what they can do about it, and how they can maybe start to implement it. And I’ve also got some ideas about the things that Google is looking for when it comes to specific queries or topics or entities.

Uncover Entities and Structured Data Opportunities

So, after I’ve done that, the next thing I want to do is some NLP (natural language processing). And specifically, it’s really NER, which would be named into derecognition. I want to look at the content within the top 10 results, and I want to extract the entities from that. We have a video on how to use this Collab file, and I’ve already run it once before. So, I’ve run this file already, but let’s look at some of the results.

If I’m looking at the top 10, I can see terms like “graph”, “LSI”, “optimize”, “featured snippets”, “Schema markup”. All of those are appearing quite a bit. If I look at the results four through 10, we’ve got engine and web and entity. Entity actually scores pretty high on both of these, as you can see. And as we can click in here, we can understand how this content has been used. So, structure plays a role.

And I can see the top characteristics. So, these might be more like topics. SERP, semantic, lexical, hummingbird, which is really the thing that moved us from strings to things. Lots of information right here that I can start to look up and leverage as entities on this page and maybe inject into this page or cover at least in these pages.

So, anytime you use this Collab file, which we’ll link to it in this video as well, you can click on any of these things like contextual, and it’ll show you how frequently these terms are being used, either the top 10 or positions four through 10 and will pool out some of the sentences so you can see how these terms are being used within context. Context is a huge player behind semantic search and behind where SEO is headed.

So, from this, you can go down, and we can extract the top 25 terms and see how frequently they’re being used. We can even pool the entities like this, and this is done using SpaCy. And SpaCy is going to break them up, at least this graph will break them up by how we built it by type, and then the entity within them. So, this would be cardinality, which would be numbers, dates.

And you can look at org. So, this would be organizations. Not always an organization, but you can see things like algorithms. BERT Bidirectional Encoder plays a huge role within natural language understanding and search engines today. We’ve got Google, we’ve got LSI, LSI keywords, and Schema. All of these are entities that we should be thinking about as we’re creating content. We’ve got people. You’ve got a couple of other different types of entities that are being extracted here.

Now SpaCy does a pretty good job. You can train it to be even better. We’ve worked with WordLift a number of times, too, and they’ve built out some pretty cool ones as well. This one is one that they’ve done and then leveraging the BERT model. Another way to do it. If you want to do it for free, copy and paste all of the information into the Natural Language demo by Google.

So, that’s what we did here with one of the articles, and this is a very long way to do it. But you would go ahead and it into the Natural Language demo, and then Google would run their NER on it. This isn’t as accurate, but at least it’ll start to tell us some things. We’ve got search. iPhone SERP, I don’t know if that would be super relevant. But semantic search is relevant. And it’s giving us links to the Wikipedia articles, which Google uses to reconcile an entity and understand what it is.

A lot of times, we would link directly to Wikidata, which is the linked open data point for all of these Wiki articles, but Google right here is linking right to the Wikipedia article. We can see site. We can see algorithms. We can see SEO. We can see links. All of these entities that they’re extracting play a role here within this piece of content. Machine learning, query, knowledge graph, all of these different things. So, this is a free way to do that without having to know any Python whatsoever.

We’re also in the process of final testing a react app that we’ve created, and this does a lot more deep learning and entity extraction for us. And we can see things like HTML and the relevance there and search engine results page and latent semantic analysis, HTML5, meta, spam indexing. Once this is done, we’re going to actually give this to everybody who is part of the simplified search programs. That way you can leverage this tool as well. We can see things like the rank brain, search engine optimization, knowledge graph, web query. This helps us to much more easily visualize this data.

This process takes some time. You need to make sure that you crawl all the pages, you look at all the relevant content, you understand the entities. And now plugging these into the pages themselves aren’t going to magically make things work. But what it’s going to help you with a lot is the ability to know that you have the right type of content and concepts on your site on that page that you’re trying to rank for. So, if I’m talking about semantic SEO, and I’m not covering semantic search, or knowledge graphs, or any of these things, Google may have a harder time interpreting what it is that I’m talking about.

Content Optimization and Internal Links

So, we’ve extracted all of our entities, and we’ve made some decisions on our content structure. Now, we need to take this content and make sure that it’s matching some of those expectations within the search results. Now, we again could go back and read all those articles and see how we’re matching and see what is unique. Because again, we don’t want to just create something that everybody else has created. We need to add value to this conversation. Otherwise, we’re not going to rank.

One of the easiest ways to do that is with the help of Frase. Frase is a pretty inexpensive tool. It’s got a lot of advantages for it. As you can see here, I’ve got the article that we wrote, which is on our website and I’ve pasted it here. I’ve told Frase what my main topic is, and given me some statistics. It says the average word count is about 1,429. This is how many headers, how many links, how many images are expected. And sometimes, it’ll give you domain authority and backlinks.

It’ll then show me the top organic results. It’s not showing me that the result that was in the featured snippet position, but it’s going to give me the one through 10 organically. And I could see some of the headers here. All this is really cool. Frase does a lot of cool things.

But one nice thing we can do is look at the topic score. And this tells me how close my content is related to the other content on the search results. Am I covering all the topics? And I can look here for long-tailed opportunities, or I can look at the direct impact on the SERP scores. And I can see, okay, the SEM page is hitting a hundred. SEMrush is at 99. Moz at 94. Everybody’s really, really good. And I’m at a 14 right now as is, which means this piece of content needs some work.

So, I can go here and I can look at those top topics, and I can say, “All right. I need to maybe talk a little bit more about questions. I need to talk about context and topics and search queries and updates and factors,” all of these different aspects that I might not have covered in this piece so far, and I can start working on those.

So, typically what I would do is I would build a list here of missing topics, and then start to make a note to myself. Maybe put questions in there and see how they’re being used. I can say, “Okay, great. Maybe we can add that in.” So, I’ll go ahead and just click. So, I’ll go ahead and click. You got to click this little guy over here. And also need to talk about context and search queries and maybe any updates. I got to talk about factors and concepts. Maybe there’s a step or links, contextual meaning, or searcher’s intent. All of these things play a role. And as you notice, my topic score’s going up.

Now I don’t have to have a top score of a hundred, but honestly, a lot of the pages that I’m ranking against, or I’m trying to rank against, have some pretty high topic scores. So, if this page is really going to do what I want it to do, I need to make sure that I’m covering this topic completely. Now, this isn’t a magic end all be all, but it is a really good step-by-step practice to help make sure that your content fulfills the needs of the end-users.

Google is saying, “Hey, these are some of the things that people are talking about.” Frase is extracting those, essentially doing some entity recognition here again and saying, “All right. We need to start talking a little bit more about these concepts.” And once I’m done, I can take these missing topics and start to work through this piece of content again, optimizing it here, and then I can put it back on the website.

Related article: Keywords vs. Topics: Optimizing Your Pages for Search

Adding Schema Markup to the Page

So, I haven’t made all of those updates yet, but I’m going to go ahead and go to the next step just to walk you through this process. I need to add some entity markup and maybe some structured data to it. Now, this is an article, so I would want article markup or blog markup. The reason I love WordLift is it makes markup super easy to do. Now we can build it out with advanced custom fields, and we can do a lot of cool different things, which I teach you everything to do when you take our structured data course, which is available. And again, I’ll add a link to that. But WordLift helps us to speed the process up even faster.

You might notice that I’ve got these blue highlights here. And what WordLift is doing is NER as well. It’s doing name entity recognition and looking at my content and extracting entities. Now over here, you might notice that I’ve got an entity type. This entire piece of content will be marked as an article because I want it to be an article.

Now, if I click over here on WordLift, you can see that it started to extract these entities. So, all I need to do with WordLift here is start to click SEO, search, semantic search, structured data, machine-readable, semantic web, entities, worldwide web, semantics. Any of these entities that maybe I uncovered in the search results that I want to add to this piece of content, I’m just clicking on it. And WordLift now is injecting thing structured data and thing markup into my content to help give semantic meaning to the search engines as they crawl it.

It’s also helping me build a glossary page, which I have on this site as well. And it will build some internal links. So, I’m going to be able to enter a link to a page on semantic search. It’s doing all of this with simple clicks of a button. Pretty awesome. As I said, it makes life a lot easier.

WordLift can also help you do a better job of building internal links by adding different widgets to your site as well. So, I’m just going to give them this shoutout because it is so stinking cool. So, I can go up here and I could say, “I want to see the WordLift widgets.” And here we’ve got faceted search or navigator, which would be related articles. If you do products, you’d have that product in here.

I can do an entity cloud, timeline, or glossary page. But in this case, I would just put a faceted search. And what it would do is it would look at related articles and link to them here at the bottom. If I added a video to this page, it would automatically mark up the video. And I’ve got videos on YouTube about semantic search. So, I’m going to add a video in here, and WordLift’s going to automatically add video markup for me as well. I can do all of this with just simple clicks of a button.

Now, could I do this by hand and write out my structured data? 100%. But that would take me a long time, and honestly, I don’t have a lot of extra time, so I want to make sure that I’m being as efficient as possible. And a WordLift license is not that expensive. Any website owner could afford one. So, if you’re interested, comment below. I’ll let you know how to get hooked up with that. Because honestly, it’s a tool that we use on every single site that we’re working on, and it helps us make these changes much faster.

So, by using WordLift, I’ve created some internal links, I’ve tagged some entities, I’ve added in some faceted cool search features here, which are going to allow my users to not only find related content, but also link deeper into my website as well.

On-Page SEO Best Practices for Semantic SEO

So, now that I’ve done all of this. Right? I’ve looked at the search results, I’ve worked on optimizing the content, I’ve added structured data, I’ve extracted entities and added them into the page, what else do I need to do?

We need to follow SEO best practices. We need to make sure that we have a good keyword-rich title as we have here. We need to be using great headers that actually explain what it is that we’re talking about, and make sure that they’re formatted properly and they add value to the end-user.

And then we need to make sure that we’re following SEO best practices. Do we have a good meta-description that will look good within the search results? This one is too long. My title tag’s too long. So, I need to actually cut this back a little bit, and I need to make sure that it looks the way I want it to look.

So, I’m going to go ahead and copy my title, and I’m going to put it in here. I’m going to start optimizing my title tag. And I probably don’t want it all uppercase, so I’ll go through and make it better. And then as you can see here, I’m at 36, so that’s a little bit too low. So, I can add my brand at the end of this and bring that up a little bit. Now I’m about 56 characters. That’s really good.

Now I just want to make sure that this isn’t all here. And then we can look at what do we want this meta description to be? These should call somebody to action. These should make sure that users are going to want to take that step and read this article. I can look at the search results again and see what’s working. I can maybe take an opening paragraph here, and I can talk about maybe we’ll start with this first sentence. Right? It’s a relatively new strategy for websites looking to rank higher. In this article, we will show you how, you got to learn how to spell, right, semantic search impacts SEO. Thank God for Grammarly, am I right?

So, it’s still a little bit long, and I want to make sure that I’m not over that character limit because I don’t want the search engines to knock me off. Right? I don’t want to have this dot dot dot. I want them to actually see the full description in there. That’s a big pet peeve of mine. So, I’m going to want to rework this to make sure that we can do that.

Now there are a lot of cool SEO tools out there. This one is SEOPress. It’s pretty awesome. I actually do recommend it. You could put your target keywords in there and it’ll show you keyword density and all that. Make sure you add structured data. Make sure you have the last modified. Make sure that you’re using canonical URLs. All those best practices. Make sure you’re doing internal links as well. Maybe there’s a piece of content in here that you want to link to. Maybe we can talk about structured data. Right? So, the importance of structured data, semantic rich structured data.

This one, I would probably want to link, in my case, to my website, and specifically to one of my courses. So, I should go to my website and find that URL, because I have one that talks specifically about mastering rich results. And this is on a subdomain. So, I’m going to go ahead and take this URL, and I’m going to link to it. And I’m adding these internal links to my site. And I want to open it in a new one, that way the user can keep reading this article. And then maybe I want to add a call to action at the bottom. There are so many things you can do.

But make sure that you have good title tags. Make sure you have optimized headers. If I’ve got an image here, make sure that it has alt text. You need to make sure that you’re following on-page best practices. And when you do all these things, you’re not only going to have really good pieces of content, but you’re going to have content that’s machine-readable and that’s designed for modern-day search engines to give people the content they need within the right context.

Executing a Semantic SEO Strategy

So, if you’re interested in learning more about how to optimize your site for semantic search, I have a course for you, and it’s all about optimizing for semantic search and going deeper. Today we talked about optimizing a single webpage, but in this course, we talk about the entire impact of semantic SEO, how to build your knowledge graph, understanding entities, what the heck linked data is, and more. If you’re looking to drive organic traffic to your site, I highly recommend you check this out. Go to, and start optimizing your website for semantic search today.

New call-to-action

Editor’s Note: This article was originally published in August 2021 and has been updated with fresh content.