I love to rank websites without spending tons of money. It’s a part of me that is frugal and another part that enjoys challenge. That’s why I love technical and content optimisation.
To become the Head of Technical SEO at a fast growing agency requires a real commitment. In my early days of marketing I did on-site audits for $99 just to get some practice. After hundreds of technical audits – I’ve picked up a few things.
In this article I want to share what I consider the eight most essential on-site elements. There are absolutely tons of them out there.
The most important and most powerful on-site element is the robots.txt. It’s not a ranking factor like some of the others in this list, but it deserves to be here.
When I first started marketing, way back in 2015, I quickly learned that not blocking your website to Google was important. After that day I was excited to see any client that had blocked their entire website with robots.txt.
Then it came, within my first few months at the agency I found the first and only client who had blocked their entire website. Needless to say, they ranked for absolutely nothing. Nothing on their website had been crawled and the only things remaining in the index was legacy content from before a site redesign.
You can read more about crawling on my article about site crawlability.
Similar to the previous point, a noindex tag is one of your greatest nightmares. Whilst Google can ignore this tag, it typically honors it. So whenever your page has a noindex, it’s just a matter of time until the rankings take a fall.
Whilst you might think this is obvious, you would be shocked at what I see on a monthly basis. There are absolutely tons of websites that noindex /tag/, /category/ and /author/ pages just because they read it online. They do this even when the /category/ is their main form of navigation on the site.
The opposite can be true about noindex tags. Without them you can quickly get a Panda penalty for low quality pages indexed. With almost every Shopify website I work on, the first month is just about index management. Adding the appropriate noindex tag instantly boosts rankings on any Shopify site.
The next most powerful tag that your website could use is the hreflang tag. This is one that Google is most likely to ignore if set up incorrectly. You can find the right way to do it at Google Support.
Whenever you’re using Chrome, Google can use your location and language settings to determine which content is most suitable for you. This is why English speaking countries always receive content in English, and the same is true for other languages.
This is because Google has no interest in serving Spanish content to English speakers. Even if the content quality is amazing, I can’t understand the language and so it’s useless.
But there’s a lot of misinformation on hreflang tags. Firstly, I would strongly recommend that every website includes at least one hreflang. Preferably, you should be using self-referential statements that include hreflang=”en”.
In WordPress you can usually get away with adding the following line of code to your header.php file:
<link rel=”alternate” hreflang=”en” href=”https://www.example.com<?php echo $_SERVER[‘REQUEST_URI’]; ?>” />
This performs a server request to grab the current URL and append it to your domain. It’s useful for showing Google that you want to rank for English speaking users.
This one is powerful because it’s frequently misused by people in the industry. The idea behind the canonical tag is to reference the primary version of itself. This can be super useful for websites that have a lot of duplicate content.
However, when there’s no alternative versions, you should still include a canonical tag. Instead of referencing another page, it should be self referencing. This helps for Google to see that this page is the primary version of itself.
Anything that can eliminate Google’s scripts from guesswork will help you take control of your rankings. This is true for pages that include a canonical tag and noindex tag. When both exist you’re telling Google that the current page should not be indexed, and this other version is the primary version of itself – it too should not be indexed.
Google typically ignores that behaviour because it’s safe to say that most people did not intend for it to happen. But if you want to take control of your website then mastering canonical tags is an essential.
Google provides tons of information about canonical tags in their Webmasters blog.
For me the page title is the second strongest relevance signal. Keywords in the URLs play a huge impact into ranking. But with that said, as far as HTML elements go, the page title is the absolute strongest.
This has been common knowledge for years, and still I’m finding websites that have:
- Page titles that are shorter than 30 characters.
- Page titles that are longer than 65 characters.
- Page titles that are duplicate or include the same keyword as another page.
- Page titles that are the same as the H1 tag on the page.
- Page titles that are not descriptive and have no keywords.
These are the cheapest win a website can make and by far the best way to improve relevance. It’s something that is completely in your control and improvements here will deliver you a great return on investment.
Similar to the previous point, heading tags are really important. They offer Googlebot and the user an opportunity to find out the purpose of your page. Frequently they are big, bold and above-the-fold – helping them to have a massive impact.
Headings fall to the same problem as page titles, and are all too often not optimised. The most common problems include:
- Logo is encapsulated inside a <h1> tag.
- Headings do not include your keywords.
- Headings do not exist, and pass no relevance signals.
- Headings are duplicate across pages, and competing against each other.
- There are multiple H1 tags on the same page.
There is a semantic structure to headings. Following this can be useful for creating a clear page structure. The main heading should be <h1> with all subheadings as <h2>. If you need to break these sections into more headings, then the use of <h3> or <span> can be great.
Whilst this won’t offer as much bang for the buck as a well written page title, it’s useful to get all your headings in check.
When people talk about anchor text, they all too often assume the conversation is about external link building. Admittedly, there is some good reason for that and I won’t question that dialogue. But there’s a lot that can be said for internal linking.
Before you even start doing external link building, you should first start with your internal links. For me, the best place to start is with Google Search Console. If you access Search Traffic > Links to your Site then you can find some great information.
Change the number of links to ascending order and make sure your pages include lots of links. If you want to have your page crawled regularly, there should be at least 40 internal links towards that page.
The least exciting of all the HTML elements is the HTML declarations. It’s possible for Google to look past bad coding – but it shouldn’t need to.
To get started, make sure that your core pages and templates all include the following:
- <!DOCTYPE html>
- <html lang=”en”>
- <head> </head>
- <body> </body>
To quickly check these are set up, you can use the W3 Validator. This will make sure that your page meets HTML5 specifications.
It seems obvious, but if Google is crawling your pages in HTML, the least you could do is make sure that essential declarations are in place. Don’t expect there to be a huge uplift from making your website valid – but it’s good practice anyways.
These are eight super easy to implement and really important on-site elements to wrestle with. By themselves they don’t form a complete SEO strategy, so check out Shawn’s article on The 5 Most Important SEO Tips for Startups.
If you want to find out more about technical SEO, then feel free to head over to my website called RowanSEO. I have lots of free content on technical and content optimisation that should help beginners to learn the basics.
I hope this helps – but leave your questions in the comments below and I’ll respond.