Regardless of our current skill level, we all were beginners at one point in time. Making classic beginner mistakes comes with the territory.

Learn from our mistakes; don’t do these things!

JavaScript Tips

1 – Unnecessary DOM Manipulation

The DOM is slow. Limiting your interaction with it will greatly increase your code’s performance. Consider the following (bad) code:

// anti-pattern
for (var i = 0; i < 100; i++){
	var li = $("<li>").html("This is list item #" + (i+1));

This code actually modifies the DOM 100 times, and unnecessarily creates 100 jQuery objects. 100! A more correct approach would be to either use a document fragment, or build up a string that contains the 100 <li/> elements, and then appends that HTML to the containing element. That way, you jump into the DOM a total of once. Here’s an example:

var liststring = "";

for (var i = 100; i > 0; i--){
	liststring += "<li>This is list item #" + (99- i);


As noted above, with this technique, we touch the DOM only once, which is an improvement, but it also relies on string concatenation to build a large string. There’s a different way that we could approach this, using arrays.

var liststring = "<li>"
var lis = [];

for (var i = 100; i > 0; i--){
	lis.push("This is list item #" + (99- i));

liststring += lis.join("</li><li>") + "</li>";

When building large strings, storing each piece of the string as an item within an array element and calling join() is arguably more elegant than string concatenation. This is one of the fastest and easiest ways to build repetitive HTML in JavaScript without using a template library or framework.

2 – Inconsistent Variable & Function Names in JavaScript

This next item isn’t a performance issue, but is extremely important – especially if you are working on code that other people work on, as well. Keep your identifiers (variable and function names) consistent. Consider the following variables as an example:

var foo = "bar";
var plant = "green";
var car = "red";

It wouldn’t make sense to add another variable, called Something. This introduces inconsistency in your variable naming pattern, causing your brain to cognitively flag this variable as being different or special. This is why constants in most languages are traditionally defined with all caps.

You can take this a step further by maintaining similar length, grammatical structure, and explanatory nature when naming functions. For example, consider the following contrived function:

function subtractFive(number){
	return number - 5;

Naming a function that adds five to a given number should follow the same pattern, shown here:

function addFive(number){
	return number + 5;

Sometimes, you might name a function to indicate its return value. For instance, you might name a function that returns an HTML string getTweetHTML(). You might also prepend a function’s name with do, if the function simply performs an operation and doesn’t return a value, eg: doFetchTweets().

Constructor functions typically follow the tradition of classes in other languages, capitalizing the first letter:

function Dog(color){
	this.color = color;

As a general rule of thumb, you should be descriptive when naming your identifiers. Classify them together with other similar identifiers by maintaining a naming pattern that is readable and offers hints to the nature of a variable or function’s purpose.

3 – Use hasOwnProperty() in Loops

JavaScript’s arrays are not associative; trying to use them as such is frowned upon by the community. Objects, on the other hand, can be treated as hash tables, and you can iterate over an object’s properties by using the loop, like so:

for (var prop in someObject) { 
    alert(someObject[prop]); // alert's value of property

The problem, however, is that the loop iterates over every enumerable property on the object’s prototype chain. This can be problematic if you only want to use the properties that exist on the actual object.

You can solve this issue by using the hasOwnProperty() method. Here’s an example:

for (var prop in someObject) {
    if (someObject.hasOwnProperty(prop)) {
        alert(someObject[prop]); // alert's value of property

This version only alerts the values of the properties that directly reside on someObject.

4 – Comparing Boolean Values

Comparing boolean values in a condition is a waste of computation time. Take a look at the following for an example:

if (foo == true) {
    // do something for true
} else {
    // do something for false

Notice the condition: foo == true. The comparison of foo and true is unnecessary because foo is already a boolean value (or it’s a truthy or falsey one). Instead of comparing foo, simply use it as the condition, like this:

if (foo) {
    // do something for true
} else {
    // do something for false

To test for false, use the logical NOT operator, as shown below:

if (!foo) {
    // do something if foo is false
} else {
    // do something if foo is true

5 – Event Binding

Events are a complicated subject in JavaScript. Gone are the days of inline onclick event handlers (except in some very rare “splash page” cases). Instead, use event bubbling and delegation.

Let’s imagine that you have a grid of pictures that need to launch a modal lightbox window. Here’s what you shouldn’t do. Note: we’re using jQuery here, assuming you are using a similar library. If not, the same bubbling principles also apply to vanilla JavaScript.

The relevant HTML:

123456<div id="grid-container"><a href="someimage.jpg"><img src="someimage-thumb.jpg"></a><a href="someimage.jpg"><img src="someimage-thumb.jpg"></a><a href="someimage.jpg"><img src="someimage-thumb.jpg"></a>...</div>

The (bad) JavaScript:

$('a').on('click', function() {

This code assumes that calling the lightbox involves passing an anchor element that references the full size image. Instead of binding to each anchor element, bind to the #grid-container element instead.

$("#grid-container").on("click", "a", function(event) {

In this code, both this and refer to the anchor element. You can use this same technique with any parent element. Just make sure to define the element that should be the event’s target.

6 – Avoid Ternary Redundancy

The overuse of ternary statements is quite common both in JavaScript and PHP.

// javascript
return foo.toString() !== "" ? true : false;
12// phpreturn (something()) ? true : false;

A condition expression always returns a true or false value, meaning you don’t need to explicitly add true/false as ternary values. Instead, you could simply return the condition:

// javascript
return foo.toString() !== "";
12// phpreturn something();

PHP Tips

7 – Use Ternary When Appropriate

if...else statements are a central part of most languages. But doing something simple, such as assigning a value to a variable based upon a condition – well, they can junk up your code. Consider the following code:

12345678if ($greeting) {$post->message = 'Hello';} else{$post->message = 'Goodbye';}

This code can be reduced to one line, while still maintaining readability by using the ternary operator, like this:

1$post->message = $greeting ? 'Hello' : 'Goodbye';

It’s clear, concise, and gives you the functionality you need.

As useful as the ternary operator is, the most important guideline is not to over-use it! The goal of coding is not to cramp your logic into as few lines as possible.

8 – Throw Exceptions Instead of Inception-Style Nesting

Let’s face it: many levels of nesting is ugly and difficult to maintain/read. The following code is a relatively simplified example, but they get much worse over time:

010203040506070809101112131415161718192021222324252627282930313233343536373839// anti-pattern$error_message = null; if ($this->form_validation->run()){if ($this->upload->do_upload()){$image = $this->upload->get_info(); if ( ! $this->image->create_thumbnail($image['file_name'], 300, 150)){$error_message = 'There was an error creating the thumbnail.';}}else{$error_message = 'There was an error uploading the image.';}}else{$error_message = $this->form_validation->error_string();} // Show error messagesif ($error_message !== null){$this->load->view('form', array('error' => $error_message,));} // Save the pageelse{$some_data['image'] = $image['file_name']; $this->some_model->save($some_data);}

That’s some nasty code, but you can make it drastically cleaner by using exceptions, like so:

0102030405060708091011121314151617181920212223242526272829303132333435try{if ( ! $this->form_validation->run()){throw new Exception($this->form_validation->error_string());} if ( ! $this->upload->do_upload()){throw new Exception('There was an error uploading the image.');} $image = $this->upload->get_info(); if ( ! $this->image->create_thumbnail($image['file_name'], 300, 150)){throw new Exception('There was an error creating the thumbnail.');}} // Show error messagescatch (Exception $e){$this->load->view('form', array('error' => $e->getMessage(),)); // Stop method execution with return, or use exitreturn;} // Got this far, must not have any trouble$some_data['image'] = $image['file_name']; $this->some_model->save($some_data);

It might be the same number of lines, but it allows for considerably more readable and maintainable code. It also avoids those difficult debugging sessions, where you’ve missed a possible path through the if statement. Keep it simple!

Second Opinion: be very, very careful, when using exceptions for flow control. Refer herefor additional information.

9 – False-Happy Methods

Being exception-happy is far more advantageous than being false-happy.

Ruby or Python developers are used to watching for trivial exceptions. While that sound tedious, it’s actually quite a good thing. If anything goes wrong, an exception is thrown, and you instantly know where the problem is.

In PHP – and especially when using older frameworks, such as CodeIgniter – you get what I refer to as “false-happy code” (as opposed to exception-happy). Instead of having an exception get all up in your face, it just returns a false value and assigns the error string to some other property. This forces you to fish it out of the class using a get_error(); method.

Being exception-happy is far more advantageous than being false-happy. If an error occurs within your code (eg: could not connect to S3 to upload an image, or a value is empty, etc.), then throw an exception. You can also throw specific types of exceptions by extending the Exception class, like so:

1class CustomException extends Exception {}

Throwing a custom exception makes debugging considerably easier.

Tip 10 – Use Guard Clauses

It’s common to use if statements to control a function or method’s execution path. It’s tempting to test a condition and execute a lot of code when the condition results in true, only to simply return in the else statement. For example:

12345678function someFunction($param) {if ($param == 'OK') {$this->doSomething();return true;} else {return false;}}

This kind of solution, however, represents a potential for spaghetti code. You can make this code easier to read by reversing the condition. Here’s the better version:

123456function someFunction($param) {if ($param != 'OK') return false; $this->doSomething();return true;}

Isn’t that easier to read? It’s a simple change that makes a drastic difference in the readability of your code.

Tip 11 – Use while for Simple Iterations

The for loop is commonly used when you need, for example, a counter. Here’s a simple for loop:

123for (var i = 0; i < x; i++) { ... }

There are some very good reasons to use a for loop, but a while loop may be better if you just need something simple, like this:

12345var i = x; while (i--) { ... }

It doesn’t work in every situation, but it is an alternative.

Tip 12 – Keep Methods Maintainable

This is easily one of the most frequent mistakes made by newcomers.

A method is an object’s unit of work, and limiting your methods to a maintainable size makes your code easier to read and maintain. Take a look at the following monster method:

010203040506070809101112131415161718192021222324class SomeClass { function monsterMethod() {if($weArePilots) {$this->goAndDressUp();$this->washYourTeeth();$this->cleanYourWeapon();$this->takeYourHelmet();if($this->helmetDoesNotFit())$this->takeAHat();else$this->installHelmet();$this->chekcYourKnife();if($this->myAirplain() == "F22")$this->goToArmyAirport();else$this->goToCivilianAirport();$this->aim();$this->prepare();$this->fire();}} }

Consider breaking this monster method into smaller, descriptive chunks, each being responsible for performing one well-abstracted action. This is easily one of the most frequent mistakes made by newcomers.

01020304050607080910111213141516171819202122232425262728293031323334353637383940class SomeClass { function monsterMethod() {if($weArePilots) {$this->prepareYourself();$this->tryHelmet();$this->findYourAirport();$this->fightEnemy();}} private function prepareYourself() {$this->goAndDressUp();$this->washYourTeeth();$this->cleanYourWeapon();$this->chekcYourKnife();} private function tryHelmet() {$this->takeYourHelmet();if($this->helmetDoesNotFit())$this->takeAHat();else$this->installHelmet();} private function findYourAirport() {if($this->myAirplain() == "F22")$this->goToArmyAirport();else$this->goToCivilianAirport();} private function fightEnemy() {$this->aim();$this->prepare();$this->fire();} }

There we go: cleaner, and easier to debug!

Step 13 – Avoid Deep Nesting

Too many levels of nesting makes code difficult to read and maintain. Consider the following:

0102030405060708091011function doSomething() {if ($someCondition) {if ($someOtherCondition) {if ($yetSomeOtherCondition) {doSomethingSpecial();} doSomethingElse();}}}

You can refer to Tip #10 to make this code easier to read by reversing some of the conditions.

010203040506070809101112131415function doSomething() {if (!$someCondition) {return false;} if (!$someOtherCondition) {return false; } if ($yetSomeOtherCondition) {doSomethingSpecial();} doSomethingElse();}

This code is considerably cleaner and produces the same results as before.

When you find yourself with nested if statements, closely examine your code; your method may be performing more than one task. Here’s an example:

1234567function someFunc() {if($oneThing) {$this->doSomething();if($anotherThing)$this->doSomethingElse();}}

In these cases, extract the nested methods into their own method:

0102030405060708091011function someFunc() {if($oneThing) {$this->doSomething();$this->doAnotherThing($anotherThing);}} private doAnotherThing($anotherThing) {if($anotherThing)$this->doSomethingElse();}

Tip 14 – Avoid Magic Numbers and Strings

Magic numbers and strings are evil. Define variables or constants with the values you want to use in your code.

Instead of this:

12345function someFunct() {$this->order->set(23);$this->order->addProduct('superComputer');$this->shoppingList->add('superComputer');}

Specify what those numbers and strings mean, and assign them to a variable with a meaningful name, like this:

12345678function someFunct() {$orderId = 23;$selectedProductName = 'superComputer'; $this->order->set($orderId);$this->order->addProduct($selectedProductName);$this->shoppingList->add($selectedProductName);}

While some might argue that we’re needlessly creating variables, the performance hit is negligible. Readability always takes priority. Remember: don’t optimize for performance until you can describe why it’s necessary.

Step 15 – Use Built-In Array Functions

Use the built-in array functions instead of foreach().

Not Ideal:

123foreach (&$myArray as $key =>$element) {if ($element > 5) unset ($myArray[$key]);}


1$myArray = array_filter($myArray, function ($element) { return $element <= 5;});

PHP offers a variety of array methods. They’re confusing at first, but take a day and try to learn as many as possible.

Tip 16 – Don’t Overuse Variables

It’s easy to overuse variables, but remember that variables are stored in memory. For every variable you create, the system needs to allocate memory for that variable. Look at this code:

12345public function get_posts() {$query = $this->db->get('posts');$result = $query->result();return $result;}

The $result variable isn’t necessary. The following code omits that variable:

1234public function get_posts() {$query = $this->db->get('posts');return $query->result();}

The difference is subtle, but we were able to improve this simple example. We kept the $query variable because it relates to the database, while $result related more to our logic.

General Programming Recommendations

Tip 17 – Rely on the Database Engine

Anything less is a code smell.

A database is designed for working with data; use its tools and abilities to make your application more efficient.

For example, you can avoid redundant database queries in many circumstances. Most plug-and-play user management scripts use two queries for user registration: one to check whether the e-mail/username already exists and another to actually add it to the database. A much better approach is to set the username field to UNIQUE. You can then use native MySQL functions to check whether or not the record was added to the database.

Tip 18: Properly Name Your Variables

The days of naming your variables xyz are over (unless, of course, you’re dealing with a coordinate system). A variable represents an important part of your logic. Don’t want to type a long name? Get a better IDE. Modern IDEs auto-complete variable names in a blink of an eye.

Always be coding for six months from now. Are you certain that you’ll remember what that $sut variables refers to a year from now? Likely not: be descriptive. Anything less is a code smell.

Tip 19 – Methods Represent Actions

Mistakes happen; the key is to learn from them.

Name your methods with verbs representing the action they perform. The main concept is the exact opposite of the variable naming scheme. Use a short, but descriptive, name in a large scope (ie: public methods), and use a longer and more detailed name in a short scope (ie: private / protected methods). This helps make your code read like well written prose.

Also avoid any language other than English, when naming your methods. It’s annoying to read function names like 做些什麼() or делатьчтото() in your project. It may be impossible for other programmers to understand your intent. While it might seem arrogant, for better or worse, English is the adopted language of code. Try to use it, if we’re working on a large team.

Tip 20: Structure Recommendations

Finally, code structure is just as important to readability and maintainability as anything else we’ve talked about today. Here are two recommendations:

  • Indent with four or two space-width tabs. Anything more, such as eight spaces, is too much and will make your code difficult to read.
  • Set a reasonable line-width and respect it. Forty characters in a line? We’re not in the ’70s any more; set your limit to 120 characters, put a mark on the screen, and force yourself or your IDE to respect that limit. 120 characters gives you a nice width without making you scroll.

The first and most important search engine optimization step is keyword research. What is keyword research? Simply put, it’s figuring out what people might search for in order to find what your website offers — what keyword topics best identify your website content.

In this step of our SEO tutorial, you learn the basics of how to do keyword research, try out some free keyword research tools, and start your SEO plan of attack!

Getting Started with SEO Keyword Research

The first task is simply brainstorming. Ask yourself some basic questions to select keywords that might make good targets for search engine optimization, like:

  • What is your website content about?
  • What would you ask a search engine to find what your website offers?
  • What do you think other searchers would ask for?
  • What are your most popular pages/items about?

Most people can make a short (or long) list of keywords that might be used to find their own site. But ask other people these questions and write down their keyword suggestions, too. Doing so will help you go beyond the jargon words that only you and insiders know. When doing keyword research for SEO, you want to discover what real people in your target audience would call what your site offers.

Don’t limit your ideas; brainstorm whatever subjects and phrases could lead the kinds of visitors you want to your site. Type them into a spreadsheet. Your brainstorming will “prime the keyword pump.”

This initial list will be expanded upon and refined in the next few steps, but start with the logical keywords.

Find Keywords People Already Use for Your Business

If your site is already live, you may have hidden keyword gold just waiting to be dug up.

  • A good place to look for keywords is your internal site search. Offering visitors a search box within your site is good for users but also good for you, because it collects search query data. Looking at these queries primarily helps you improve usability (since it reveals what people want to see, what website content may be missing, and where your site navigation is weak). But you may also find nuggets of keyword gold, useful phrases that people search for. Add those to your list.
  • You can find valuable data using Google Search Console (formerly called Webmaster Tools). ​This free service from Google gives website owners a wealth of information about their own sites (especially with Google Analytics set up, too). Particularly useful is the Search Analytics report; when you look at it by Queries, you can see what key search terms are bringing up your web pages in Google searches. Google also uses Search Console to notify you of errors or penalties, and you’ll need the diagnostic SEO tools offered there to keep your site in good health. So don’t miss out.
  • Dig through your customer communications to find additional, actively used keywords. Talk to your customer service people to find out what customers are asking about (in their words). Also check social media sites like Facebook and Twitter to read what your community has said, and search for your primary keywords to discover how people are currently talking about your products, services or subjects.

Get Keyword Suggestions

Take advantage of free keyword research tools to find additional keywords. Our Keyword Suggestion Tool below shows you keyword ideas that are related to any seed word you enter. Type in one word or phrase at a time. The resulting suggestions come from actual search query data, so select the keywords that match your website content and add them to your growing keyword research list.

SEO Tools – Use our free Keyword Suggestion Tool:

Enter Search Word    

What the Keyword Data Tells You

With our tool you can see keyword suggestions with data on the average click-through rate (CTR) and cost per click (CPC) for advertisers bidding on that keyword. It also reveals how many web pages contain those words in their Title tag (not necessarily as an exact phrase) under AllInTitle. These metrics indicate how competitive a keyword phrase may be.

You can also see an Activity column, which shows the approximate number of monthly searches for that keyword (also known as “search volume”). CAUTION: Don’t get greedy looking at keyword activity counts. Record this statistic with the keyword in your spreadsheet. But keep in mind that a keyword’s search volume should not overly influence your choices, especially at this point. You want to select keywords only if they reflect what your website is truly about. Going after high-volume keywords that don’t relate to the rest of your content would be deceptive and even punishable as spam.

Rolling or wheeled backpack

What should you call this?
Keyword research can tell you.

How Should You Use Search Activity Data?

Search volumes do cast light on your keyword research. They reveal what people actually call things, and they help you prioritize similar keyword phrases.

For instance, a retail site might choose to use “rolling backpacks for kids” (1,600 monthly searches) rather than “wheeled backpacks for kids” (320 monthly searches) because the first keyword phrase gets searched 5 times more often. However, that retailer should not pin its hopes on ranking for the broad term “backpacks,” no matter how attractive that word’s sky-high search volume looks.

The moral: Don’t be tempted by the huge numbers for broad keywords. With enough time and effort you might be able to rank for them, but you’d be battling large, established brands for unfocused visitors that might not even be ready to buy. (We’ll talk more about broad keywords later in the tutorial.)

Save that keyword spreadsheet! You’ll find out more about how to select your best SEO keywords in the coming steps.

As a beginner to SEO it can be a little overwhelming. There’s an overload of information to filter through. It can appear to be very technical, complicated or spammy depending on how you look at it.

Thing is, the basics are simple: do keyword research + optimize the website + build links. When it boils down to it, that’s all you have to do.

You do not need to spend thousands of dollars on courses and conferences to learn the “SEO Secrets”. There are plenty of free SEO tutorials online.

Whether you’re looking to do SEO for your personal blog, or trying to increase your value to employers (SEO/SEM was the #8 most desired skill of 2018), or you’re looking to train employees in SEO, this free post is all you need to get started. Read these tutorials, set up a website, and start ranking!

Introduction to SEO

Google’s SEO Starter Guide by @Google

Google’s search engine optimization starter guide is a good place to start. It begins by walking you through all of the on-page basics including setting proper title tags, meta descriptions and all that SEO 101 stuff.

The guide continues on to explain how to promote your website, what a no-follow link is and touches on the importance of being mobile-friendly. Seeing as SEO revolves around Google, it’s a good idea to hear what they have to say about it and what Google views as important factors.

Moz’s Beginners Guide to SEO by @Moz

Moz’s Beginner’s Guide to SEO is another good resource if you’re looking for an introduction. It covers more topics than Google’s version and talks about keyword research and some link building methods. Moz’s guide gives a solid overview of SEO as a whole but doesn’t dig deep in to any one subject.

It’s basically the beginner’s bible to SEO! Moz is also a great place to hang out if you’re just starting out too. Get involved with the community and you’ll learn a lot.

Keyword Research

Keyword research is arguably the most important part of SEO. Even if you have the most powerful backlinks in the world – if nobody’s searching for the keywords you’re optimizing for – there’s no hope for traffic. Good keyword research is a balance of picking profitable keywords with enough search volume and that you can actually compete for.

Keyword Research: The Definitive Guide by @Backlinko

Brian Dean’s blog is a goldmine of SEO tutorials. His guide to keyword research is a good place to start for keyword research. He gives a fantastic tutorial on using the keyword planner which is useful for beginners. The guide then walks through clever ways to find long tail keywords and how to evaluate commercial intent. If you’re new to keyword research there’s no better guide to read.

How to Do Keyword Research in 2018 by @nick_eubanks

In my opinion, Nick Eubanks is at the top of the SEO world when it comes to keyword research. Meant for an intermediate to advanced SEO, the course is broken down in to 13 clear sections. Nick’s guide on keyword research is updated for SEO in 2018. He details his exact process and tools he uses, so you can follow his keyword research process step by step. He dives into determining search intent, a factor you can’t forget during your research.

On-Page & Techincal SEO (Auditing)

On-page is a big part of the equation of to be successful in SEO. While the basics are relatively simple – title tags, meta description, internal links – it can get complicated. If you’re looking for tutorials for your personal WordPress website, Moz’s Beginners Guide will suffice.

If you’re looking to optimize enterprise websites with thousands (or millions) of pages you have some reading to do. Knowing how to deal with a website with four languages, duplicate content, tricky URL parameters and a dev site that hasn’t been blocked from the search engines separates the SEO experts from the startups.

Step by Step Checklist Guide to Performing a Technical SEO Audit by @Ryanwashere

This is a great blog post by Ryan Stewart on his process for auditing large scale websites. He gives you the complete list of tools he uses and walks you through the different steps he takes to complete the audits. It includes advanced technical SEO tactics like using video XML files and pagination. Ryan doesn’t add any fluff – it’s short and to the point – which is a good thing.

DIY Self-Guided Site Audit Template by @AnnieCushing

Okay, okay so I’m cheating a bit… This guide/template isn’t free (it costs $295) BUT it may be worth it if you plan on doing SEO audits in the near future. It’s broken up in to 19 sections with a whopping 197 checkpoints. Each check even has step-by-step instructions on addressing and fixing the issues. If you need advanced guidance on an SEO audit for a client, this is the template to get.

Link Building

For some reason the importance of building links is still a common debate among SEOs. The truth of the matter is… Anybody who disagrees that links are a key part of the equation has clearly never ranked a website for competitive terms before. Links help set yourself apart in the popularity contest happening on Google. There are hundreds of ways to build links and if you’re a beginner it’s best to get your hands dirty and see what works.

Link Building Tactics – The Complete List by @PointBlankSEO

You can’t really talk about link building without including Jon Cooper in the conversation, he’s been a go-to on the topic for a few years now. This list of link building tactics that he built is a great resource for anybody looking to build links. It includes a sortable list with the time to execute, link value, and dependency on other sources.

Whether you’re stumped where to start with a new site, or you’re looking for ideas for a 15 year old projects, there’s something here for you. Jon’s also created a link building course for $67 which could be well worth the money if you’re going to be building a lot of links.

The Noob Friendly Guide to Link Building by @top5seo

Want to learn everything you need to know about link building in one tutorial? David McSweeney outlined link building perfectly in a 6 chapter guide. Its written for a beginner, but is packed with tips that even an experienced SEO will have a few take-aways. He walks through his link building process using Ahrefs as his tool of choice for link research. He covers all of the top strategies: link bait, ego bait, broken link building, guest blogging, and more.

Link Building Using Majestic by @Majestic

If you’re going to do any serious link building you’re going to have to use one, or both, of Majestic or Ahrefs. These are tools which allow you to discover backlinks to any website which can help tremendously for link building efforts.

This guide by Ken McGaffin gives a great intro to building links and using Majestic as a helper. He walks you through building a simple link building process, analyzing & replicating competitors and understanding key link metrics. It’s far from the end-all-be-all of link building guides but is a useful resource for people unacquainted with these backlink discovery tools.

Local SEO

Local SEO is the practice of optimizing a website for searches based on a user’s current location. If a company is geo-specific at all (ex. coffee shop in Toronto), they can most likely benefit from Local SEO. It can help businesses rank for local search terms and move them up the list on Google Maps.

Local SEO: How to Rank Your Local Business by @matthewbarby

I think this guide does a great job at explaining the foundations of Local SEO. It’s succinct and gets to the point by explaining the importance of a proper Google My Business listing, citations, reviews and links. Matthew also gives some good link building techniques and explains how to implement on a website. Local SEO isn’t overly complicated, you just need to do a few things properly, and Matthew explains them well.

How to Attract Local Customers: A Complete Guide to Local SEOby @neilpatel

If you’re looking for a thorough walk through of Local SEO, Neil Patel put together a pretty darn good guide. The best part about this guide are the visuals which accompany it – they make every point clear and actionable. Neil goes in to depth on each point and even includes a section on local content marketing which may give you some good ideas.

Bonus Tool: Local SEO Checklist by @synupinc

Although this isn’t a tutorial, it’s a useful resource for anybody looking to do Local SEO. It’s basically a checklist you can go through when running a Local SEO campaign which includes: setting clean URLs, picking the right category on Google My Business and adding a CTA to the website. It’s a great place to double check that you’ve ticked all the Local SEO boxes.

Page Speed

Page speed is now a search ranking factor (at least with Google) but it affects much more than that. Having a slow website can increase your bounce rate and page load speed heavily impacts a website’s overall conversion rate.

A Beginner’s Guide to Website Speed Optimization by @KinstaHosting

Kinsta has put together an in-depth 6 chapter guide on website speed optimization. They cover everything a beginner needs to know when optimizing page speed: the importance of having a fast website and its impact on conversions & SEO, how to test website speed, and how to improve it for your own or client websites. It is very WordPress focused, but all the points they teach are relevant to any website. I’m only listing one guide in page speed because this is the only one you need.

Mobile Search

Beginning in 2015, Google began using mobile friendliness as a ranking factor. Now Google has announced that they will switch to a mobile-first index at some point during 2018. Seeing as mobile web usage has now eclipsed desktop you need to be optimized for mobile anyway.

Mobile Search & SEO, The Digital Marketer’s Guide by @Builtvisible

Builtvisible’s guide to mobile SEO does a great job of explaining the importance of being mobile-optimized and gives a thorough explanation of how to make it happen. This guide walks you through configuring a website to be mobile friendly, indexing & promoting apps, and developing mobile content. It’s easy to follow along as they give visual and code examples for every point made. If you’re looking to go mobile this is a great place to start.

Google Penalties & Cleanup

Google penalties are something that all SEOs should be aware of and be able to identify. Whether you’re hit for unnatural link building, thin content, or any of the other penalties, they can be a frightening event to wake up to. Good thing is, most can be remedied if dealt with properly.

The Expert’s Guide to Google Penalty Removal by @webpagefx

This guide got surprisingly few social shares… Possibly because they didn’t promote it enough, but wow is it thorough. They walk you through an intro to Google penalties, identifying if a website has one, steps to fixing the issue and reconsideration requests. WebpageFX even throws in a few case studies of some of the penalties they’ve fixed for good measure. Getting a Google penalty can be a nightmare, but this guide can help you remedy the situation.

SEO Tools

SEO Tools: The Complete List by @Backlinko

If you’re going to take SEO seriously you can’t avoid using the tools available to you. They can save you or your employees tons of time and some are simply necessary to do the job. There are free tools available but some paid tools are well worth the money. Brian Dean has put together a thorough list of SEO toolsbroken down in to six sections: link building, technical SEO, keyword research, rank tracking, content optimization and backlink analysis. Browse them and find the right ones for you!

127 Experts Reveal Best Tools For Keyword Research in 2018 by @RobbieRichMktg

Don’t want to trust one man’s opinion alone on the best SEO tools? Robbie Richards asked 127 professionals in the industry if you could only use 3 tools for keyword research, which 3 would you choose? He tallied up the answers for a leaderboard, but you can see each response too. Some of the experts serve up great tips on how they make the most of their favorite tools. It’s a nice mix of both free and paid tools you need to succeed at SEO.

Though some try to categorize SEO as a science, the reality is that SEO is as much art as it is science, perhaps more so. Regardless of your experience or where you decide to start with your SEO studies, it is important to note that SEO is an ever-evolving discipline, and it takes time to get a good grasp on how the intricacies of the process of optimization work. 

Fixing SEO Problems

Optimized websites must not be plagued with basic issues that can negatively impact the search engine friendliness of the site. To accomplish this, there are some basic guidelines to follow in order to address the most important of these issues.

Fixing Duplicate Content

Many sites suffer from lackluster rankings because of duplicate content and the mistaken belief that any content is good content. Good content may be king, but duplicate content is poison to the health of a website. Eliminate all and any duplicate content you may have on your site, whether the content was generated intentionally or it is just a function of bad information architecture design.

Short, yet descriptive URLs which are free of session IDs

URLs are a good way of telling visitors what the page is all about (if nothing else). A URL such as tells the user nothing about the page. Why not use something like There is no good reason for not using the short and descriptive URL. Aside from making the site more user-friendly, the short descriptive URLs will also be search engine friendly. The keyword in the URL will contribute to improved rankings.

Customizable titles tags

As the most important element of the on-site optimization process, the title tag should be utilized to the fullest extent, and this cannot be done unless each and every page on your site has an independently customizable title tag.

Independently customizable description and keyword meta tags

Even though the meta tags are the (much) weaker of the title tag, it is still advisable to customize the keyword and description meta tags. If for nothing else, the description meta tag can be used to provide the search engines relevant and optimized marketing text for the snippet displayed on the search engine result pages (SERPs).

Complex and non search engine friendly navigation

The search engines must be able to index your pages before they can rank them. So if the architecture of your website is a roadblock to the indexing of your pages, no amount of content optimization will help the ranking potential for your website.

Develop a simple to use and logical site structure, and make sure the navigation is not a hindrance to the search engine spiders (e.g. don’t hide your navigation in Flash or JavaScript), but a map for finding each and every page. Note: Even with a perfect navigational structure, you will still benefit from having an actual sitemap.

Keyword Research

Before doing any search engine optimization for your website, it is necessary to set goals towards which you can strive. The most basic of these goals is ranking for a particular set of keywords. Though you may think the most popular keywords in your industry are the ones for which you should rank, it is important to keep in mind that quality (like in many other things), as opposed to quantity, is what is important.

To illustrate, let’s say you have a website that sells blue (and only blue) widgets. Your first thought, when it comes to rankings and keyword selection, may (and most likely) will be that your site has to rank for the word ‘widgets’ in order to be successful. So let us see if that is in fact true.

Let us say that the keywords ‘widgets’ has a monthly search volume of 5,000. And let’s also say that through incredible efforts (since ‘widgets’ is going to be a pretty difficult keyword to rank for) you (or the company you hire) manage to get your site to rank in the #1 position in all search engines. Let us also assume that every search engine user who searches for the keyword ‘widgets’ ends up clicking on the #1 listing (which is not the case). Now, the 5,000 searches conducted by search engine users for the term ‘widget’ can be broken down into two very broad categories: those who are looking to buy a widget (of some color), and those who are simply looking for information on widgets. What is also true, is that those looking to make a purchase are likely going to be interesting in a variety of colors, no only blue widgets. It should be clear by now that a big portion of the 5,000 visitors that will be coming to your site by the virtue of your unlikely high rankings are not going to be interested in what you have to offer since your website offers only blue widgets. This is the most fundamental reason, why keyword research and selection are vital for a successful and sustainable search engine optimization campaign.

Since your website specializes in blue widgets, wouldn’t it make more sense to ignore the deceptively large search volume of the term ‘widgets’ and instead concentrate your efforts behind ranking for the term ‘blue widgets’ (and variations thereof)? If you are unsure of the answer, it is “Yes, it does make more sense to ignore the deceptively large search volume.” Aside from lack of specificity, the term ‘widgets’ will be very difficult to rank for, since it is a more generic term compared to ‘blue widgets’.

The level of competition of a keyword will dictate the amount of effort it will require to attain high rankings for said keyword. So given the fact that a generic term like ‘widgets’ is extremely difficult to rank for, and is much less likely to help create a conversion for your website compared to a term such as ‘blue widgets’, wouldn’t it make sense to pursue rankings for a keyword which has less competition, and a higher potential to send well-converting traffic? The Answer, again, is “Yes, it does make sense.”

There are a variety of SEO tools you can use to research keywords, but one of the keyword research tools which has to the most up-to-date and reliable data is the Google AdWords Keyword Tool. You might say, “But, Mr. SEO article writer guy, that is a keyword tool specifically designed for AdWords, which is a pay per click advertising platform.” And Mr. SEO article writer guy would say, “What is the difference? The tool still provides the same exact data you would need to evaluate whether or not to pursue rankings for a particular keyword.”

Now that we have that settled, make sure you pay attention when it comes to keyword selection, making sure the keywords for which you will expend effort in order to rank are not going to be a waste of your time and money.

Understanding your niche, the competition, and what your site is capable of

If you’ve recently started an auction site, ebay is not your competition. Keep that example in mind when you are trying to figure out what keywords to pick. If your site (a single page is not a website) is new (less than a year old), you will need to make some compromises about the type of keywords you can start your optimization process with. Going back to the auction site example, you would be well advised to stay away from the keyword ‘auction’. This is not to say that you should ignore the prominent keywords for your industry, but you also should not expect to see results for a long while.

Developing a list of 80 to 100 words (the list will be narrowed down)

Start with a large list of keywords and narrow down to pick the ones best suited for your site, product (service) type, service area, and so on. What follows is a list of quick tips for narrowing down the list of keywords.

Start with the most popular keywords in your industry

Use the myriad of research tools available online (e.g. Google Adwords Keyword Tool) to expand your list based on what you think are the most popular keywords.

Narrow down the list to areas you specialize in (if any)

If you sell shoes and specialize in walking shoes, don’t use the term “women’s shoes” just because it has more searches. This by no way means that you should not include “women’s shoes”, but perhaps your optimization will be better served if you used “women’s walking shoes”. The search numbers may be much lower, but you’ll get the type of visitor that is much more likely to buy, once on your site.

Don’t choose keywords solely based on the search volume

As stated above, don’t be swayed by big numbers. A keyword with a search volume of 20,000 per month will have a high level of competition and it may take your site a year or two to get to the first page of the listings (not even #1) , and even then you will only get a fraction of the 20,000 visiting your site. What if you pick a keyword that has only 1000 searches but you are able to rank #1 for it within a few months? Getting all or a big chunk of 1000 within a few short months is much better than getting little to none of the 20,000.

No matter how many products you have, don’t start the initial stage of your optimization with more than 30-50 keywords

Selecting a reasonable number of keywords will help you better utilize your resources, and to build long term and sustainable success on short term achievements.

Choose a balance of low, mid and high competition keywords (based on your site’s ranking potential*)

Though you should not ignore the high end keywords even if your site is brand new, the proportion of the hyper-competitive keywords should be smaller compared to the mid-range and low-end keywords. Remember, do not get distracted by large search numbers.

Optimizing Your Website

These instructions are meant to be an introduction into the world of SEO. They can also be used to make sure that the SEO company that you have hired is doing a thorough job.

Customized Titles

In ‘Eliminating Problems’ portion of this tutorial we spoke about the ability to independently customize each and every page title. Take advantage of this capability and customize the titles of your pages to accurately describe the content of your pages.

Customized description and keyword meta tags

Similar to the title tag, but less important (as far as SEO is concerned), the description and keyword meta tags should be customized to reflect the content of the page they represent.

Customized headings and sub headings for your pages

Headings (H1-H6) can and should be thought of as titles and subtitles (or headings and subheadings), and should be used exactly as they were intended. The most important topic of your page would have an H1 heading, followed by a subsection of that topic which should have an H2 heading (and so on). This structure assumes that you have subsections to your topic on a particular page; if you do not then of course you would simply use an H1 as the main heading and leave it at that. Just like the title, and meta tags, the headings should be descriptive.

Well written, user-centric content

When writing content, the most important thing is to make sure it is of high quality, unique, and useful in some way–it can be full of facts, ideas, entertaining prose or something that sets it apart from the other pages on the Internet that cover the same topic. If your content brings nothing new to the table, it won’t be allowed at the table at all–the table being ‘good rankings’.

Do not spend your time worrying about keyword density, and concentrate the quality. If you are writing about widgets, you cannot help but mention widgets in your text, just be mindful of the variety of keyword you are targeting and when appropriate use keyword variations to avoid overuse of a particular keyword.

Logical and helpful internal link structure (in-line links)

As with most (if not all) things in search engine optimization, logic is king. So when it comes to internal linking, logic should be your main guide. You should be able to justify In-line links in your content by the benefit they provide to the reader. Does a particular keyword mentioned in your content on page ‘A’ have a dedicated page (page ‘B’) on your site? Why not link that keyword to page ‘B’? In some cases you may want (or need) to develop new content to facilitate this process.

Things To DOThings To Not DO
Make your titles and headings descriptive but simple.Stuff your titles with keywords, or repeat the same keyword multiple times.
Make sure your textual content is well researched, well written, and useful in some fashion.Write content that is stuffed with keywords, but offers little value to site visitors.
Create content that addresses a specific topic while using relevant keywords.Select a list of keywords and create “optimized” pages for each individual keyword, which consists of nothing more than rehashed paragraphs with mainly the targeted keyword as the only variation. You shouldn’t have pages like “Blue Widgets Los Angeles”, “Blue Widgets San Francisco”, “Blue Widgets New York”.
Include keywords in your file names.Stuff your file names with keywords, creating monstrosities such as “cheap-blue-widgets-in-los-angeles-blue-widgets.html”
Always work on improving your content and keeping it up-to-date.Constantly add new pages to the site which offer no useful information, nor are interesting nor entertaining, but are there only to serve the search engines and to show them how much optimized content you have.

Link Building

Before you embark on a link building campaign, ask yourself whether you have anything worth linking to, otherwise you’ll be stuck doing the same thing millions of other website owners do, which is low quality linking campaigns (e.g., free directory submissions, blog and forum comments, etc). Every successful link building campaign starts with a website that has content worth linking to. If you don’t have that, your time and money will be better spent on developing such content.

Assuming you have some wonderful, and unique content on your site, there are some basic linking strategies you can utilize to get you started on the right track.

Niche directory submissions

Manually researched niche directories which can usually be found on industry related sites. These types of directories can either be free or offer a paid option. In either case, you’ll get a link from a relevant website. These types of links are not of the highest quality, but will do well in establishing a nice foundation for your website’s link profile.

Link requests

Sending link requests to manually researched websites which offer complementary content, whose users could benefit from information available on your site.

Paid directory submissions

High quality paid directory submissions which offer a category suitable for your product or service. Examples of such directories include Yahoo! Directory,, and Best of the Web.

Creating linkable content

If you are an expert in your field, you can utilize your expertise to write helpful articles for other websites which might benefit from your work. In return for providing such websites with original content, you would request backlinks from bylines included from within those articles or blog posts. Keep in mind that you would not want to publish an article at more than one location, as the effect created by the duplicate content will be counterproductive, as search engines only assign value to the content they perceive to be the original version.

Links from organizations

Join industry organizations (such as local chambers of commerce) which include a link to their members’ websites. This list represents an introduction of what is possible when it comes to link building.

There are various other tips related to SEO. We have not categorized them into any special category and hence, putting these in miscellaneous category. Go through these tips one by one.

To-Don’t List

  • Don’t keep hidden text on your webpages.
  • Don’t create alternate image spamming by putting wrong keywords.
  • Don’t use meta tags stuffing.
  • Don’t use frames and flash on your site.
  • Don’t exchange your links with black listed sites.
  • Don’t try to fool your site visitors by using misspelled keyword.
  • Don’t send spam emails to thousands of email IDs.
  • Don’t use too much graphics on your site.
  • Don’t create too many doorway pages.
  • Don’t try to create duplicate content of pages.
  • Don’t submit your website many times in a single search engine.
  • Don’t use sub-directory depth more than 1-2.
  • Don’t create too many dynamic pages. Try to convert them into static pages.
  • Don’t bloat your pages with code.
  • Don’t nest your pages.

To-Do List

There are various other tips which can help you to optimize your website for many search engines.

  • Create logs of pages and each page should however contain a minimum of about 200 visible words of text to maximize relevance with Google.
  • Create a Sitemap, Help, FAQ, About Us, Link to Us, Copyright, Disclaimer, Privacy Policy pages on mandatory basis.
  • Create a homepage link to each and every webpage and provide easy navigation through all the pages.
  • Pay attention to your dynamic page URLs. Google can crawl and index dynamic pages as long as you don’t have more than 2 parameters in the URL.
  • Check your complete site for broken links. Broken links will reduce your other pages rank as well.

Millions of users these days access the web using smartphones running on Android, iOS, or Windows. Hence, it has become imperative that websites adapt themselves to this changing environment and make suitable changes in their website design to attract more viewership.

The desktop version of a site might be difficult to view and use on a mobile device. The version that is not mobile-friendly requires the user to pinch or zoom in order to read the content. Users find this a frustrating experience and are likely to abandon the site. In contrast, a mobile-friendly version is readable and immediately usable.

A recent Google update makes it mandatory that a website should be mobile-friendly to be effective on Mobile Search Engines. Note that a website that is not mobile-friendly will not have any impact on regular search engines either.

In this chapter, we will see how to make a website mobile-friendly in order to ensure the visitors who access the website from mobile devices have an optimized experience.

What is Mobile SEO?

Mobile Search Engine Optimization is the process of designing a website to make it suitable for viewing on mobile devices of different screen sizes having low bandwidth. Apart from following all the SEO rules which are applicable to a desktop website, we need to take additional care while designing a website for mobile devices. A website is mobile friendly if it has the following attributes −

  • A good mobile website has a responsive design which performs well on desktops as well as mobile devices. It not only reduces the maintenance of the website but also makes the content consistent for the search engines.
  • The contents of a good mobile website are easy to read on a mobile device without having to zoom the screen. It has appropriate fonts, colors, and layouts.
  • It is easy to navigate through a good mobile website on a small screen. It provides links and buttons that can be easily maneuvered using a finger.
  • A good mobile website is lightweight such that it takes less bandwidth and time to load on mobile networks.
  • The Home Page of a mobile website plays the most important role in connecting users to the content they are looking for. Therefore, good mobile websites make sure the most important links are displayed on the Home Page so that they get enough visibility.

The ranking of a website depends heavily on how user friendly it is. You can follow the guidelines given below to design a great mobile-friendly website.

Optimize Your Site for Mobile

If your site is already optimized for search engines, then it should not be too difficult to optimize it for mobile devices. First, let us understand what it takes to go mobile. We can categorize the steps into three broad categories −

Step 1 − Select a Mobile Configuration

Step 2 − Inform Search Engines

Step 3 − Avoid Common Mistakes

Select a Mobile Configuration

There are three different mobile configurations that you can choose from −

Step 1 − Responsive Web Design

Step 2 − Dynamic Serving

Step 3 − Separate URLs

Each has its own advantages and disadvantages. Google recommends responsive design, however it supports all three configurations. The following table shows how the mobile configuration affects your URL and HTML code −

Mobile ConfigurationURLHTML
Responsive Web DesignStays the sameStays the same
Dynamic ServingStays the sameDifferent HTMLs
Separate URLsDifferent URLsDifferent HTMLs

Responsive Web Design

Google recommends responsive web design because it is the simplest mobile configuration and very easy to implement. It serves the same HTML code on the same URL, however it adjusts the display based on the screen size of the mobile device.

Responsive Web Design

Dynamic Serving

Dynamic serving is a type of mobile configuration where the URL of your website remains unchanged, but it serves different HTML content when accessed from a mobile device.

Dynamic Serving

When your content is dynamically served from the server, make sure you inform Google that the content it is crawling may look different on mobile devices. A major drawback of this approach is that you will have to do additional processing on your content at the server level before severing it to the user. This approach puts unnecessary load on your server and makes it slow.

Separate URLs

When you maintain two different URLs — one for mobile users and another for desktop users – make sure you inform Google explicitly when to serve which version. Google does not recommend separate URLs because it can detect automatically that your mobile pages are different from your desktop pages.

Different URLs

This approach is not practical when you have a big website because maintaining two versions of the same website will require double the effort and money. At the same time, you cannot avoid various discrepancies in your content while maintaining two versions.

From the viewpoint of SEO, each URL performs separately. Hence your desktop ranking will never be added to the mobile ranking and they will always be assumed as separate websites. We don’t recommend maintaining different URLs for mobile and desktop versions if you want to draw the benefits of SEO.

Inform Search Engines

Make sure Google and other search engines understand your mobile configuration. Most important of all, Google must understand your page so that it can rank your website properly. How you inform Google depends on which mobile configuration — responsive web design, dynamic serving, or separate URLs — you have opted for.

In case your site has a responsive design, Google’s algorithms can understand it automatically without you having to inform Google. When you have a responsive design, just make sure you have the following meta-tag in your webpage header −

<meta name="viewport" content="width=device-width, initial-scale=1.0">

The viewport decides how your webpage will be displayed on a device. A site with responsive design varies its size based on the size of the device screen. Declare a viewport so that your webpage displays correctly on any device.

If your website is dynamically served, make sure you allow Google detect your configuration using the Vary HTTP header −

Vary: User-Agent

The Vary header is important to tell the search engines that different content will be served on desktops and mobile devices. This header is really important when your content is served by any cache system like a Content Delivery Network and those systems will make use of this header while serving content on different devices.

In case you maintain separate URLs, e.g., and, then you can inform Google by adding a special link rel=alternate tag in your desktop version and vice versa as follows.

Desktop page should have following in its header:
<link rel="alternate" media="only screen and (max-width: 640px)"
href="" >
Mobile page should have following in its header:
<link rel="canonical" href="" >

Avoid Common Mistakes

In order to optimize your website for mobile devices, make sure you avoid committing the following mistakes −

  • Slow Mobile Pages − Mobile networks are slower as compared to wired Internet networks, so it is important to pay attention to how fast your mobile pages load. It is a critical Google ranking factor. Use a mobile SEO tool to find out your mobile page speed. Google provides a number of good tools that you can use. Browse the following link −
  • Don’t Block CSS and JavaScript − Google recommends to use inline CSS and Javascripts for mobile friendly websites so that they can be downloaded along with the content. So if you don’t have much CSS, then try to adjust it within the tag itself; but if you are using a lot of CSS in separate files, then try to include it at the bottom which will stop blocking the other content being downloaded. The same rule applies to Javascript, which can be kept inside the page itself or included at the bottom of the page. If you can avoid including the file at the top of the page, then make use of async attribute while including them.
<script async type="text/javascript" src="jquery.js"></script>
  • Mobile Redirects − Since mobile networks are normally slow, too many redirects can hurt your page speed. If you are maintaining multiple URLs, make sure all your links point to the relevant pages. In case you maintain multiple URLs and you recognize a user is visiting a desktop page from a mobile device and you have an equivalent mobile page at a different URL, then redirect the user to that URL instead of displaying a 404 error.
  • Heavy Images − Heavy images increase the load time, however we cannot completely get rid of them since they are useful and effective. Therefore you should maintain a good balance between text and heavy images. Use a good tool to optimize your images and save them at low resolution to avoid heavy downloads.
  • Avoid plug-ins and pop-ups − Plug-ins like Flash and Java may not be available on user’s mobile device. Always ensure you don’t have any unplayable content on your mobile page. Avoid using pop-ups on mobile pages because it becomes quite clumsy to close these pop-ups on a mobile device.

While creating a mobile page, always keep in mind that the user has limited space to work on. So, you need to be as concise as possible while creating titles, URLs, and meta-descriptions – of course without compromising the essence or quality of information.

Useful Tools

Here is a list of some useful tools that you can use to find out how mobile friendly your site is −

  • Google Webmaster Tools − Use the available Google tools and techniques to understand what should be used and what should be avoided while designing desktop as well as mobile websites.
  • Mobile Emulator − It lets you see how your site appears on a wide variety of mobile devices.
  • Moz Local − Use this tool to ensure that your local SEO is in order.
  • Responsive Web Design Testing Tool − Use this tool to see how your responsive site looks like on a variety of mobile devices with different standard screen sizes.
  • Screaming Frog − This is a useful tool that allows you to analyze your site and double-check all the redirects.
  • User Agent Switcher − This is a Firefox add-on that you can use to find out how your site looks like when accessed from a different user agent.

Creating, editing, and promoting unique high-quality content is difficult and time consuming. If you are really serious about SEO and you are not getting expected result, then it would be better to hire an SEO expert.

SEO experts perform the are following tasks:

  • Code validation and clean up – Ensure that the code is search engine friendly and standards compliant.
  • Site Structure – Building a semantic structure/theme and ensure URLs are spider friendly.
  • On-Page optimization – Page Title, copy writing, Call-to-action, etc.
  • Quality link building – Securing one way links from relevant sites.
  • Keyword research – Building a list of key phrases relevant to your business.
  • Creating Quality Content – Building optimized pages around terms discovered through keyword research.
  • Off-Page Optimization – Managing Blogs, Press Releases, Article Submissions.

If you are confident that you have the required skills, then you can take care of all the above activities; otherwise it is worth taking help from SEO Companies or to hire any SEO specialist.

Choosing an SEO Expert or Company

It is very difficult to choose a correct SEO expert or SEO company. However the following guidelines can help you in this activity:

  • Start searching through your friends and business partners.
  • Post your queries in SEO Forums to get feedback from the community.
  • Check other sites rank which they already have optimized.
  • Do not go for SEO companies doing automated submission.
  • Do not go for SEO companies doing Black Hat tricks.
  • Do not look for cheap SEO. But take care, high price also does not guarantee high quality.
  • Take guarantee if possible for a particular rank and any particular search engine.
  • User SEO Expert or Company name in Google to find more information about them.
  • Do not go just because of their fancy site and availability of good articles on their site.
  • Do not get fascinated by the testimonials available on their sites.

We can not list out all the factors here because there may be different situations and different views. You should be smart enough to think what’s bad and what’s good.

Content basically includes what you see on the site: the text, graphics, and even links to other websites. You should not use excessive graphics because they are not Search Engine Friendly plus heavy graphics normally put the users out when they get downloaded, especially over a slow network.

Thousands of articles, books, and forum entries are available on how to make your website search engine friendly, but ultimately, one rule stands above the rest: Unique, high-quality, unduplicated content is the king.

Superior the quality of your content, the higher the ranking you achieve, larger the traffic you gain and greater the popularity of your website. Search engines prefer good quality sites in their index and search results.

Relevant, fresh, and timely content is crucial in attracting visitors to your website. It helps you both draw traffic from search engines and create audience loyalty.

Unique, High-Quality Content

When people visit a website for information, they want your unique spin on a topic. How is your material or content unique? Is that uniqueness obvious, and easy to find and to understand? Visitors want unique, high-quality site content. It is not only your home page content, but also all the linked pages should have useful and easy-to-understand content.

Now-a-days, search engines have become very smart and they are able to understand complete grammar and complete phrase. Hence while ranking a page against other, the content available on a page matters.

Sites with duplicated, syndicated, or free content are get given red flags by the search engines.

SEO Content Writing (Copy Writing)

SEO Content Writing (also referred as SEO Copy writing), involves the process of integrating keywords and informative phrases which make up the actual content of your website.

While writing your webpage content, the following tips may help you in keeping it better than others.

  • The content should be directed for the specified target audience.
  • Keyword density is strictly adhered as per search engine guidelines.
  • Titles should always be eye-catching, compelling your visitors to read on and want to know what you offer in your website.
  • Do not use confusing, ambiguous, and complex language. Use small statements to make your content more understandable.
  • Keep your web pages short.
  • Organize and distribute the content on the webpages.
  • Divide your web page content also into short paragraphs.

Other Advantages of Having Great Content

It is not only SEO you need to think about. Many factors contribute to make your site popular.

  • If your site is having something really unique, then people like to suggest it to their friends.
  • Other webmasters like to create a link of your site on their sites.
  • Your site visitors start trusting on your site and they look forward for the next content update and keep coming again and again.
  • Although you are listed out by search engine, a but net surfer will click only that page whose content snippet looks more unique and interesting.


Creating, editing, and promoting unique high-quality content is difficult and time consuming. But in the end, the golden rule of SEO is that Content is the King. It is not because of a search engine, but it is for your site visitors. A page that is read by people is better than a page that is read by bots.

So, write your content after a serious thought. Keep your title, keywords, link text, metatags up-to-date, unique, and interesting.

Use descriptive anchor text for all your text links. Most search engines consider anchor text of incoming links when ranking pages. Here is an example of anchor:

<a href="otherpage.htm" title="Anchor Title">Anchor Text</a>

Listed below are some of the important points to note about anchors:

  • The Anchor Title plays a very important role and is seen by most of the search engines. The anchor title should have appropriate keywords. Anchor title helps the site visitors using a balloon, and displaying written text.
  • The Anchor Text is another important part, which should be selected very carefully because this text is used not only for search engines but also for navigation purpose. You should try to use the best keywords in your anchor text.
  • The otherpage.htm is the link to another webpage. This link could be to an external site. Here, you need to ensure that the linked page does exist; otherwise it is called a broken link, which gives a bad impression to search engines as well as to site visitors.

Another example of an anchor could be as follows:

<a href="otherpage.htm" title="Anchor Title">
   <img src="image.gif" alt="keywords" />

In this case, Anchor Text has been replaced by an image. So, while using an image in place of an anchor text, it should be checked that you have put alttag properly. An image alt tag should have appropriate keywords.