SEO has been around since the 90’s and has evolved ever since. The goal is to improve your site or blog visibility, so it appears on the first page of a given search.
Nowadays search engine algorithms are clever but you still need to adjust some parameters to show your pages on top of search results. To this end, we’ll talk about semantic URL, important and irrelevant meta tags, social meta tags and how you can keep track of your SEO.
There was a time full of tactics to improve your page’s ranking. Those days are long gone. Now, the only thing that matters is to provide useful and updated content to your users. Nevertheless, you can and should improve some technical aspects of your pages. Lets see what you can do.
The current proliferation of CMS, Blog systems and frameworks, it’s quite simple to create semantic URLs.
A semantic URL is represented by
http://domain.tld/category/subcategory/url-for-article while the equivalent non-semantic URL is
There are multiple advantages for using a semantic or friendly URL.
- Semantic URLs are understandable. Your users know what to expect from your page.
- The underlying server technology isn’t visible in the URL (note the lack of index.php).
With semantic URLs, you can change the code and database structure and keep the same URL.
Unlike semantic URLs, the address doesn’t match a physical page or file. Usually this address match a pattern for a route (with regex).
The search engine ranking is based in the words you use in URL.
The segment that describes the page in the URL is called slug (in the above sample I used
url-for-article). There are some good practices you should follow when you specify the slug:
The smaller the better. Take the title and remove “and”, “to”, “for” and the like. The slug should make sense to humans. When in doubt, make sure the slug is understandable even if it has more characters.
Remove ponctuation, spaces and special characters. The spaces are typically replaces by hyphen (-).
Lowercase all the words. While you can use uppercase characters, it’s current practice to convert everything to lowercase so the URL becomes more understandable.
A few years ago it was common to see a lot of inside . While those tags still exist, most of them are now irrelevant.
You only need to set these two tags
<meta name='description' content='page description'>
This description is shown as a part of the search results and should describe the contents of the page. If your description isn’t accurate you can end up with a high bounce rate). The description shouldn’t exceed more than 150 characters, so it’s fully displayed in the search result. Beware that Google doesn’t use this tag for ranking purposes.
You should set a title for each page to be used in the search ranking. It should be unique and should include the most important words representing the subject of the article. The total characters should be between 50 a 60. Take a look at this moz.com post for further information about this tag.
Probably the most common tag used in the past was
<meta name="keywords" content='multiple, words' />. This tag isn’t used for ranking since 2009, according to Google. Besides, Bing treats keywords as a Spam signal.
Other common tags that don’t have any effect on search ranking are
Social networks came to stay and have more and more relevance as each day goes by. To improve the content shared from your pages, there’s a few sets of tags that should be used. Each social network has its own tags, so I’ll provide a list of tags to support Google+, Twitter and Facebook.
<html itemscope itemtype="http://schema.org/Article" prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article#"> <head> <!-- Google+ Tags--> <meta itemprop="name" content="Article Title"> <meta itemprop="description" content="Shared content description"> <meta itemprop="image" content="http://www.domain.tld/image.png"> <!-- Twitter Card Tags --> <!-- Should be set to summary- mandatory --> <meta name="twitter:card" content="summary"> <!-- Twitter' username - mandatory --> <meta name="twitter:site" content="@geekalicious"> <!-- Article's title. Truncated if it exceed 70 characters - mandatory --> <meta name="twitter:title" content="Article title"> <!-- Shared content description. Gets truncated above 200 characters - mandatory --> <meta name="twitter:description" content="Shared content description"> <!-- Image's address. Minimum of 120px * 120px --> <meta name="twitter:image:src" content="http://domain.tld/image.png"> <!-- Open Graph / Facebook Tags--> <!-- Canonical URL / permalink. --> <meta property="og:url" content="http://www.domain.tld/category/subcategory/article-slug" /> <!-- Title --> <meta property="og:title" content="Article title" /> <!-- Name for the source site --> <meta property="og:site_name" content="Site name" /> <!-- Type of content being shared (full list here: http://ogp.me/#types) --> <meta property="og:type" content="article" /> <!-- Localization of article --> <meta property="og:locale" content="en_GB"> <!-- Shared content description --> <meta property="og:description" content="Shared content description" /> <!-- Published date and time. Use the correct format --> <meta property="article:published_time" content="2015-02-12T22:02:00+00:00" /> <!-- Article author name--> <meta property="article:author" content="Geeks" /> <!-- Article category--> <meta property="article:section" content="Category" /> <!-- Article tags. Each line represents an item of an array --> <meta property="article:tag" content="SEO" /> <meta property="article:tag" content="Optimization" /> <!-- Image address. At least you must use a image that is 200px * 200px --> <meta property="og:image" content="http://domain.tld/image.png" /> <!-- Secure image address. Remove this tag if you don't have https --> <meta property="og:image:secure_url" content="https://domain.tld/image.png"> <!-- Image's width. Should be greater than 200px --> <meta property="og:image:width" content="370"> <!-- Image's height. Should be greater than 200px --> <meta property="og:image:height" content="250"> </head>
Facebook is the one that only relies on Open Graph. However, if you don’t set the tags for the remaining social networks, the Open Graph tags will most likely be used (this is the case of Google+ and Twitter). Linked also uses Open Graph in addition to other sharing methods.
- schema.org: Description of Google+ tags
- dev.twitter.com/cards/overview: Description of Twitter Cards
- http://ogp.me: Open Graph protocol page.
- Facebook debugger: Facebook’ debugger that allows you to check what information is used when sharing a specific page. It also gives you some recomendations.
If you follow this post’s steps, then you are on the right track. You should now sign up in Google Webmaster Tools and Google Analytics. After a few weeks, it’s also important to google for
site:mysiteurl.tld to understand what pages are already indexed and what’s the shown information.
It may be necessary to use .htaccess or web.config to adjust your site’s address (remove www, remove index.php) so each page is identified by one unique URL, to avoid duplicate content.
You can use some software to test how what’s the ranking for your pages. Most likely, the software needs the site’s address and the keywords to be entered. Some software allows you to add your competition’s address, so it can compare your page to the competition’s.
Here’s a list:
- SEOBook Rank Checker, free but requires a registration
- iBusiness Promoter, paid with a trial version
- Advanced Web Ranking, paid with a trial version
So, how’s your SEO? Image designed by Freepik