In this video, I’m going to share with you some things I’ve just been doing lately to try to help us better optimize our title tags for both our users, as well as semantic SEO.

Here’s the link to the Colab

Video Transcript:

So in this video, I’m going to share with you some things I’ve just been doing lately to try to help us better optimize our title tags for both our users, as well as semantic SEO.

The Importance of <title> Tags

Now, everything that we’re doing here is experimental. But I think we’re seeing some pretty cool results and I think by sharing it, hopefully you guys can try some of this too, and maybe together we can come up with something even better.

We know that title tags are important. They’re extremely important when it comes to SEO. And Google talks about them being important as well. This is straight from, saying that title links are critical to giving users a quick insight into the content of a result and why it’s relevant to that query. It’s often the primary piece of information that people use when deciding to click on a link, so it’s important that you use high-quality title text on your web pages.

Now I did a whole video on Google’s replacing title text and how we can create better title tags a few months ago. And if you want to check that out, you can see the link here in the video and learn a little bit more about title best practices.

We’re not going to be talking about best practices today, but we’re going to be talking about how we can leverage Python and the search results to better create title tags that are semantically relevant to what the search results are looking for, as well as what our users are looking for.

The Reality About SEO

So the reality in SEO is that on-page optimization is often seen as a one-time task. People follow the old, yet very poor advice of setting it and forgetting it. Even when it comes to creating title tags, it’s often treated like an afterthought, or we just let it default as the heading, right? Same as the heading. Whatever we named the post as.

Questions to Ask Yourself

Now if you’re doing this, you’re missing a huge opportunity to inform your users and the search engines more clearly about what your content is about.

When optimizing or creating title tags, you need to ask yourself these three questions to make sure you’re on the right track.

  1. Does my title accurately describe what my page is about?
  2. Does my title match the intent of the user and entice them to take action?
  3. Will the crawler have a clear idea of what my page is about based solely on the title?

If you answer no to any of these, you need to do some optimization.

Real Examples from Our Agency

So I want to give you a real-world example of some things that I’ve been looking at lately in order to help us improve our title tags. So we’ve got a client that’s got a lot of good content. But many of the pages weren’t getting the impressions and the clicks that we believe they deserved. So we started to analyze the SERPs using natural language processing, entity extraction, as well as a few other things like good old-fashioned brainpower, our own brains. And we began to adjust our titles to better match for the intent of both the search engines, as well as the users.

Now we tracked the impact of this over a few weeks and we marked down the winners and losers, and then we kept running more tests on those pages that had zero, or not the impact that we wanted to really see.

Now, this is really important. SEO is a verb. We must always be testing. We should never just set it and forget. This is an actual ongoing test, so anything that I’m sharing here, it’s not a foregone conclusion that this will give you the exact results, because we’ve seen mixed results.

SEO is a verb. We must always be testing. We should never just set it and forget.

In some cases, we’ve gotten it right on. In other cases, we really haven’t seen the results we’ve wanted. But in the ones that we have seen positive impact, it’s been pretty massive positive impact.

So here is a slide of both winners and losers.

On the left, we have the winners, and on the right, we have the losers. Now, we also have to look at kind of the time year and all those other things at play as well, because right now we’re in kind of a holiday season, so search is kind of funky. And then throughout December of 2021, Google has kind of gone up and down. But you can see clearly here at the top, the only change we made to this page on this specific day was a title tag adjustment. And as you can see, we saw massive increase in impressions and we also saw a nice increase in clicks.

Now our average CTR went down a little bit, but it’s because we’ve got a lot more exposure and the average position also improved. Down below here, we saw another really good improvement on impressions. Clicks stayed about the same, but we improved our average position by almost six full places.

Now the losers, it’s not that we saw negative results in every case. Like the down here one, we actually saw more impressions in clicks, but we saw our positions going in the wrong direction on both of these, and they could still be done a little bit better in my opinion. So I didn’t think that they were done really well. Now we’ve done about 20 pages so far and right now the results are split about 50-50. So we can go back to the ones that we’re not seeing as much of an improvement on as we want and start running these tests again.

So what I’m going to do now is actually show you the process that I’ve been going through. I’d love to hear your input. Comment below if you’ve got any insight or further thoughts, or if you’re going to try this on your own. I’m also going to share with you the Colab file that I created to help me with this process.

How to Optimize Title Tags

So let’s jump over to an actual, real-time display, and I’ll walk you through my process in doing these title tag optimizations for both user intent, as well as semantics search.

So the first thing I want to do is actually look at my website data, and we can do that by going right over to search console and we can go to our performance. And in this case, I’m just going to pull the last three months. We can go ahead and export that into a Google Sheet. And Google will do its magic and build a sheet for us that we can start to work off of.

So I don’t want to look at queries. I actually want to look at pages right now, and I want to see how specific pages for this site are performing. Now I want to look at title tags like we talked about, so we’ll go ahead and insert a column to the right, and then we can use one of our search operators, which we’ve got a video on search operators to help us pull that data over.

So I am going to go ahead and zoom this in, create that new column. I am going to do equals import XML, select my column over here, and tell it I want the title tag from these pages and hit enter.

So as you can see, here are all of our title tags, and Google’s going to pull that data here into Sheets using that same method right here. So over here, we’ve got our clicks and our impressions, we’ve got our click-through rate, and we’ve got our SERP positions. The next thing I’d want to do after I have this column of title tags is I want to create one more. And I want to create target term or topic. Right?

This is where I’m going to put what I’m actually trying to rank this page for. Now you can do this with your favorite SEO tool, if you’ve been tracking it in there and rank tracking. Or if you just want to actually use your brain for a little bit and go through these and say, “This is what I’m actually trying to target this page with. This is what I’m trying to rank this page for.” So specifically this would be “structured data generator”. That would be the target term.

So after you go through your entire list and you’ve added some of your target terms and you’ve got your titles up here, you’ve got a list of things that you can work on. Now, what I like to do is go over here and look at my impressions and my clicks and my overall positioning.

So we can see all that right here because we imported it straight from search console. And let’s say I want to create some better title tags in order to improve the clicks and impressions for these targeted terms. As you can see, on this site, there’s still a lot of optimization I need to do. And I use this site a lot in videos to kind of show how we can optimize and improve things. And so you can see the title right here. It’s pretty simple. Structured data generator, pipe, simplified search. That’s it. There’s not much more to it. So let’s say I want to understand, one, what do the search engines expect? And two, what is the typical intent for a term like structured data generator? Now, we can go into Google and we can scrape these results or we can do it manually, which is fine and can be helpful.

Or we can use technology to help us a little bit. Now I am not by any means a programmer. I am learning Python bit by bit as I go. But I have found some really helpful tools and tips and tricks along the way to help speed up this process. So I’m going to walk you through this Colab file I created to give you some insights on how you can do this using Google Colabs to scrape some of this data for you and speed the process up.

All right. So we’ve gone ahead and installed the scripts here before the video and we’ve also hit these functions here in Python. Now Google Colab can be scary if you’re getting started, but it’s really not that scary. It’s just a workspace where you can kind of run code. You don’t actually have to touch any of this stuff. Anything that you need to touch, we’ve made it pretty easy to engage with.

The next thing we need to do is find a query. So let’s go ahead and start with this first one, when we’ll start with structured data generator. And we can copy our query right in here and we hit this play button and that’s going to attach this term to our query. Then we are going to hit run here on the cells and it’s actually going to pull all of the search results. And as you can see, we’re actually showing up right here in the search results, which is pretty cool. But there’s also a number of other ones in here as well. And now we want to build a table that’s going to show us all of those search results. The reason I like to build a table with the search results is I can sit here and I can see the titles. I can see the links. I can see a little bit of the text.

Now, what I like to see is, what are some commonalities? So schema, markup, generate, JSON-LD. We’ve got that here. Obviously, we’ve got structured data. Structured data, schema markup again. JSON-LD. Schema markup generator, JSON-LD. JSON-LD. You can start to see a commonality in the titles here by looking at them all stacked on top of each other like this. Now, one of the things we can know too, is that we’re looking at intent. And what are people trying to do? Are they trying to learn about structured data? Are they trying to take an action? Are they trying to find a specific site to help them take that action? What is the intent of the end user? Now, it wouldn’t be informational because they’re not looking to learn more about it.

In this case, it would probably be more transactional or commercial, right? They’re looking to actually find a specific product that they can use right now. So, that needs to come into play when we’re creating our title tags. We have to understand that intent. Now you can use tools to do that. You can use SEMrush, a lot of tools today that are trying to incorporate intent into their keyword data. But I also think it’s extremely important for us to use our own brains and our own knowledge of the space that we’re working in and to say, “Okay, what is somebody actually trying to do? What’s their intention in making a query like structured data generator?” They’re looking to generate structured data. This is a pretty easy one to understand intent.

Now, to help us better understand the most important terms in here, we’re actually going to take all of the titles here and put them together and run some NER on them. So go ahead and click these next couple boxes. And this is going to help us do a couple things:

  1. It’s going to put all the text into one string where we can then run NER over
  2. We’re also going to get rid of common stop words. So we get rid of things like “the” and things like that are going to be common within the text, but they’re not really helpful. They don’t give us any more insight.

For this, we’re going to be using Spacee. And Spacee is going to do the heavy lifting for us. As you can see here, it’s going to give us a couple things. And in this case, I just really want to look at the most common words. Now I’ve got a data frame of the most common words, but in order to really help me out, I like to visualize this stuff, because sometimes it’s just much easier to see.

So go ahead and hit play on those two things. And then we’re going to have this histogram, which is going to show us the most common phrases in terms that show up within these title texts. Now I use the top 10 here and we’ve got markup. So schema markup both show up seven times. Generator is showing up six times. Data and structured data are important. And JSON-LD are very important. We even have search and But here is the most common words and phrases. And we have the pipe showing up because it’s pretty common. And we did not exclude that when we were doing our stop words. Like I said, this is pretty basic, pretty raw. But as you can see, we already understand now quite a bit more about the title tags and the terms that are important.

Now we want to optimize our own title. And we want to make sure that our own title has the right text and the right terminology and phrases in it.

So I can go back here and I can pull my current title. And coming back to our tool, I can paste it right in this box and hit play. Now what I’m going to do is look at the common words and the frequency within my own title tag and comparing that to what we’re seeing within the top 10 results.

Now, since my page is in the top 10, it could skew it a little bit. But as you can see, we’re already missing some pretty important phrases. So we’re looking at how long our title is. We’re looking at, do we have the important words? And we’re also looking at it telling us, what are the missing terms? Once you run this “get results,” you’ll see. We’ve got, our title tag is 45 characters long. It does contain some, but we’re missing these terms; Schema, markup, JSON-LD. And technical SEO, I’m going to go ahead and drop, because to me, that’s not helpful for what I want to do. That’s not my website. Although it’s a very good website and they’ve got some really cool tools there.

So I can actually go up to my title tag generator here and I can say, “Schema, markup, structured data generator, JSON-LD, structured data generator”. Now, as you noticed from the top search results, the brand really wasn’t all that important, only for a couple. So technical SEO, our site showed the brand. Hall analysis had the brand. But as you can see, most of the time that’s getting cut off and it’s really not the focal point. I don’t think the end user cares as much about the brand as they do about getting the results that they’re looking for.

So now that I’ve changed my title tag in here, I can run these cells again. I don’t need to run these functions. They’re already ready to go and I can hit this result here. And as you can see, I have a title tag that meets requirements, but I have a whole lot more of those common words and phrases in it. And to me, this would be a good one that I can go back and test and see if that improves the click-through rate on my title tags. Now, by no means, is this a foolproof plan. You still have to do a lot of manual work. And I think that’s important that we use our brains when we’re creating these title tags. But this does help us to analyze what are the most important words within the text when it comes to our titles and how can we better optimize to make sure that we’re speaking the language of our users, but we also have those entities in there that matter for semantic SEO.

If you notice now, the reason I’m using NER, because it’s actually looking at these terms and it’s extracting them as entities. So I’ve got things like schema markup, or JSON-LD, structured data, generator. All of these things are also entities, and now I can go back in and add that structured data in as well. So not only am I matching the intent of the user, not only am I using the common words and phrases that are expected within the top 10 results, I’m also extracting very relevant entities that should be on this page and that should be describing this page when it’s being crawled by the user.

So I hope you learn something today. If you have any feedback, I’d really appreciate it. Like I said, this is that I’m messing around with right now and I’m running a number of tests on. I’d love to hear your feedback. And please don’t forget to subscribe to the channel. If you got any questions, like I said, comment below. We’d love to continue that conversation with you. And until next time, happy marketing.

Read more: