1stwebdesigner

Posted by | Posted on 17:27

1stwebdesigner


How to Get Started in Getting More Links to Your Website

Posted: 18 Oct 2010 02:00 PM PDT

Ever heard of the 80/20 rule? It’s about the trivial many (80%) and the vital few (20%), the trivial many that bring small results and vital few that bring most of the results. Guess where link building belong in the overall search engine optimization game? Link building a vital thing to do if you want to stay competitive in the search engines. There are many ways to get links (natural and non-natural ways), and I will outline some ways to get started below.

Before You Start

There is one thing you need to realize before you start: The power of metrics. As you build links, how will you measure the results? How will you determine what links are the best links to get?

What people often use is PageRank, a metric from Google. They see the SEO game through the lenses of PageRank. There are a few problems with this:

  1. Pagerank is not updated often, the last update was 5+ months ago
  2. Google doesn’t say publicly when do they update PageRank, they seem to want to hide this
  3. There isn’t a strong correlation between the Pagerank of a page and where it ranks in the search engines. SEOMoz did this correlation, by the way.

On the positive side, there is a significant correlation between the home page pagerank and where it ranks. So if you want to get a link from a specific domain, take a look at its homepage PR instead of the individual page from where you want the link.

So, besides homepage PR, what are good metrics to use? Page Authority and Domain Authority. These are 2 metrics SEOMoz constantly tries to match so they have significant correlation with Google rankings. Use page authority when you’re determining whether you should get a link from a specific page and domain authority as a replacement for home page Pagerank (they have veru similar correlations with Google rankings, so it’s your choice which one you’re going to use, domain authority is probably going to exceed Pagerank over time because the SeoMoz guys are constantly working on it).

Why am I telling you all this? Why am I telling you about metrics? There’s been some business studies that show that one of the main differences between companies, in terms of how much money they make, is whether they use the right metrics. And if you think about this, it makes sense. If you’re using totally wrong measures then you don’t know how good you perform and you can’t focus on improving the thing you do. Ever heard of “You can’t improve what you don’t measure?”

And now, finally, the main part :)

Get Started in Getting More Links

If you aren’t ranking for your websites name, then how do you expect to rank for other terms? That’s why I recommend you read this article on 1stWebDesigner I wrote several weeks ago on that topic. You’ll find there a description of what ‘authority’ is, and how Google is constantly trying to establish a balance between ranking a page based on its authority / how relevant that page is for that particular keyword.

Imitate: MATCH Your Competitors

What are your competitors doing to get links to their websites? There is one way to find out.

Enter their website into Yahoo Site Explorer and Open Site Explorer (in Open Site Explorer, select “external links” and “to all pages on the Root Domain”). Example? Let’s use 1stwebdesigner :) :

Wow! What are these links from home pages of various (powerful) sites? After further investigation we can see that these sites link to each other in the ‘blogroll’ section of their blogs. Quick, how can you get these links as well? Say you also have a powerful web design/development blog, you can try sending a nice email to each of those people asking if they can reference your website, and in exchange, you’ll make a reference in the blogroll to their site as well. One tip: focus as much as possible on what’s for them, the what’s for you part will usually come naturally with the power of reciprocity.

So, before you go to the next step, PLEASE have a good look at the top 10 competitors (let’s say you want to rank for a ‘design blog’, take a look at the top 10 people who are already ranking, analyze them using the 2 tools I mentioned above, see what links you can also get). Sure, you can get links by the second step alone and still perform well, but isn’t the whole purpose to get more links in the easiest way possible?

EXCEED Your Competitors

This is the part where you’ve already seen and got the links your competitors have. Now it’s time to go a step further and get links none of your competitors have. How?

You can get many ideas from the previous analysis you did. For example, if you’ve seen that some of your competitors got links from guest posting on other blogs, you can do the same, email the webmasters and offer them a guest post. Or if you see that your competitors were active on design-related forums and put a link in their signature, you can try to do the same. To exceed, you can always try and do the ’standard’ link building methods like article marketing, leaving useful/relevant comments on blogs, submitting your site to directories (avoid directories that don’t have the option for a free submission) etc.

I hope you now grasped the match & exceed concept. I’ve noticed that most people who try to get more links to their websites usually do the one thing but forget to do the other. In reality, doing the both (with preference to first doing the ‘match’ and then the ‘exceed’) helps you get more links in the shortest time possible.

What Types of Links Should I Get?

There are 2 types of links you should get:

1. Have a preference toward stronger links (in terms of home page page rank/domain authority and page authority). These help a lot.

2. Have a preference towards links from DIVERSE domains. Diverse = unique root domains = eg. yahoo.com and google.com are 2 unique root domains, but yahoo.com and people.yahoo.com is 1 unique root domain because “people.yahoo.com” is a SUB-DOMAIN, not a root domain. Yahoo.com is the root domain.

There is a strong correlation between rankings in Google and the number of unique root domains they got (if you think about it, it makes sense, this is the single hardest metric to fake by spammers and it takes time/energy to get links from such a wide range of diverse domains).

But I Want the Blueprint to Getting More Links!

Sorry, there’s no such thing as a step-by-step process of getting more links (although a lot would love to sell you that idea for hundreds of bucks). There’s no such person who knows all the answers in this area. So if you plan to get more knowledge on this (and I’m sure you will), get your information from as many people as possible, get multiple points of view, multiple methods for getting links, and most importantly, try things out.

What about natural links?

I spend around 1/4 of my time in this. Natural link building, unfortunately, isn’t working quite well as it used to. But that doesn’t mean you shouldn’t do it, it’s worth over the long run. Making viral content that attracts natural linksis another topic by itself and I’ll try to cover it in some other article

Take a look at your Analytics data

This can be crucial to making decisions. Take a look whether the keywords people use to get to your website are short tail or long tail. This depends a lot upon your market. Why should you take at the short/long tail? Because you’ll know what to focus on, short > rank for individual keywords, long > pump out more content.

Creating Your Own CMS Part 1 – Secure Login

Posted: 18 Oct 2010 03:00 AM PDT

Have you ever built a site to realize it is a pain to manage? There are a lot of CMS options out there but some of them cost money, some are hard to learn, some your hosting company might not support, and well sometimes they just don’t have everything thing that you want. So today I am going to start to teach you how to create your own simple CMS. Today I will get into how you can find a design and get your secure login setup. This will be a series of blogs but to be honest I am not sure how advanced I will be going. If I wanted to spill it all and tell you how to build the CMS that my company uses then it might take a few blogs.

Design of Your Own CMS

This may or may not be important to you. But when it comes down to it you will most likely be much more proud of your CMS with a nice design and design is where the usability starts. I could programming some amazing things but without a design I am limiting myself and wasting a lot of time. I have created a few CMS’s from scratch but I found out that when you give me a design for a CMS it not only comes out a lot neater but I can produce it much faster.

Here is the one that I chose as well as a few others to browse through.

I am creating this CMS as I type this so you guys are looking at it first hand. That is also the main reason I am not sure how many advanced parts we will have but I am willing to take requests while I work.

A Few Things To Have Before You Begin the Login

If you haven’t already setup the database then you can refer to one of my recent posts “Getting Started With MySQL DB and PHP with PHPMyAdmin”. Along with the database it is nice to have a database class file and a database connection file. These are two files that you will be using on each project you do so it is nice to have them on hand. The db.php can just go in the htdocs/ and the db.class.php should go in the htdocs/classes/ folder.

People do their file structure differently but for me I have an Ubuntu server with each site in the home folder like: /home/www.llafl.com/htdocs/
Within the htdocs/ we will want a few different folders as well.

  • admin/
    • classes/
    • css/
    • images/
    • includes/
    • lib/
    • markitup/
  • cache/
  • classes/
  • css/
  • images/
  • includes/
  • lib/

Most of this layout is pretty self-explanatory. You would have your index and other content files in the htdocs/ and in the htdocs/admin/ would be all of you admin content. Then the rest of the folders are all labeled for exactly what should be going in them. The cache/ folder can be used for several different items depending on the type of website that we are building.

Obviously this is not required nor any sort of standard this is just how I like to layout my sites file system to try to keep things neat.
Here the folder “markitup” contains a jquery markup editor which I actually haven’t used until now. I usually use ckeditor for a full featured easy to use editor.

Secure Login Code

With a secure login we will want to use sessions. You can get into more advanced parts with heavier use in cookies also but for now I am just going to show you a very basic secure login with a timeout on it. First though we need to make sure that when people try to go anywhere on our site that they will get sent to the login if they are not already logged in. Se we should put this in the header.php because that is included on every page in the admin, and we can do it like this.

 <?php         if(!$_SESSION['llafl_admin'])         { 		$_SESSION['REQUEST_URI'] = $_SERVER['REQUEST_URI']; //store the page they were trying to access 		header('Location: /admin/login.php'); 		exit; 	} ?> 

You can see here I am checking for a session variable which I have named ‘llafl_admin’. It is best to have a distinct session because if not then you run the chance of some other site having the same session variable. Like if we just made the variable ‘admin’, it is so generic it could be anywhere. So since we have a check like this that means that when someone is logged in then they should have a session variable ‘llafl_admin’, which we will do like this.

 <?php 	if($_SESSION['failed']=='yes') 		echo '<div id="fail" class="info_div"><span class="ico_cancel">Incorrect username or password!</span></div>'; // display failed login if need be ?> <form name="loginform" id="loginform" action="/admin/login.php/" method="post">         <label><strong>Username</strong></label><input type="text" name="username" id="user_login"  size="28" class="input"/> 	<br /> 	<label><strong>Password</strong></label><input type="password" name="password" id="user_pass"  size="28" class="input"/> 	<br /> 	<strong>Remember Me</strong><input type="checkbox" id="remember" class="input noborder" name="remember" /> 	<br />         <input id="save" class="loginbutton" type="submit" class="submit" value="Log In" /> </form> 

That is a a basic login form and below is the code to handle when it is submitted.

 <?php 	if($_POST) 	{ 		if(!$_POST['username'] || !$_POST['password']) 			$_SESSION['failed']='yes'; 		else 		{ 			$username = stripslashes($_POST['username']); 			$password = md5($_POST['password']);  			$u_q = $db->query("SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 1"); 			$u = $db->fetch_assoc($u_q); 			if($u['id']) 			{ 				$_SESSION['llafl_admin'] = $u['access_level']; 				$_SESSION['started'] = time(); 				foreach($u as $key => $value) 					$_SESSION[$key] = stripslashes($value); 				$last_login = date('c',time()); 				$db->query("UPDATE users SET last_login='$last_login' WHERE id='".$_SESSION['id']."' LIMIT 1");  // on successful login update users last login 				header('Location: '.$_SESSION['REQUEST_URI']); //if they successfully log in then send them to the url they requested which is something I have set in the header 				exit; 			} 			else 				$_SESSION['failed']='yes'; // if they failed to login this will set a session var that will trigger an error message 		} 	} ?> 

You can see here this script checks to make sure that both inputs were indeed submitted and if they were then it goes on to check to see if they are in fact part of a legit login. Then if it is successful then the appropriate session variable are set. (You notice we do a stripslashes to sanitize the username and md5 will sanitize the password and make sure that it is not stored human readable in case the database were to be compromised.) And if not then a session variable for ‘failed’ will be set and when the login form reloads it will trigger an error message. There are many more security levels that you can add onto this but this is a very basic and secure login that will work for our purposes.

If you are confused by any of the database aspects then refer back to this post.

Comments (0)

Post a Comment