Web Development With Seo In Mind
When a business owner decides to bring their business to the web, generally the last thing that they think about is search engine optimization. They assume that whomever they hire to do their web design will put up a site and then submit it to the search engines and the traffic will magically pour in. Unfortunately it takes more than that to drive search engine traffic to your site, and even more unfortunately most developers don't program with SEO in mind, nor do they educate the client about the process involved in gaining traffic from search engines. Whether it's carelessness or a lack of knowledge, or a combination of the two, this often leads to a client that several months down the road doesn't understand why their site doesn't get any traffic and isn't helping their business. A good designer will not only program with SEO in mind, but will also educate the client about the basic principles of SEO, whether they are the one who executes it or not. Many times the clients I inherit have gone through this scenario and then face drastic on-site changes to get their site search engine friendly before we are even able to begin the arduous process of link building.
Whether you are designing a site for yourself or for a client, following the simple steps below when programming will ultimately save the business time and money and result in a search engine friendly site that truly maximizes the online potential of the business. Use proper tags for headings, bold text, italic text, and lists – HTML has heading tags, bold tags, italic tags, and ordered and unordered lists for a reason and you should use them. Using CSS you can practically style them however you like, but actually using a heading tag for your headings, and bold tags for important text, will help allow search engines understand what text on a page is a heading or what is more important than the surrounding text. Simply applying a CSS style that makes text larger or bold doesn't do that. Optimize your images – search engine spiders can't read text within an image.
Adding ALT text to your image tag helps, but ideally you should remove all wording from the image and style it using CSS, adding the remaining portion of the image as a background image to the text. Here is a side-by-side comparison (http://www.seo-playbook.com/image example.php) of two images that look the same in your browser, but much different to a search engine spider. Avoid canonical problems – believe it or not, search engines can see http://yoursite.com, http://www.yoursite.com, and http://www.yoursite.
com/index.html as three different pages. A simple solution is to use a 301 redirect to point all of your pages to their “www” counterpart. You can also select the preferred domain that Google shows in the new Google Webmaster Tools console. Get rid of Session IDs if you have a PHP site – have you ever seen a PHPSESSID variable added to the end a URL on a PHP page (it looks something like PHPSESSID=34908908)? This happens because PHP will add a unique PHPSESSID to URLs within your site if cookies aren't available. This can be extremely problematic for your site's search engine ranking. Google and Yahoo will see a unique PHPSESSID in the URL every time they visit a page on your site, and in turn think that said page is a different page each time. At worst, this could be viewed as duplicate content and get your site banned, and at best it will reduce the perceived value of each page. One solution that I've used successfully is to utilize url rewriter.tags.
searchenginefriendlylayouts.com for some free example layouts. Validate your site – a site doesn't have to be perfectly coded to rank high in the search engines (there are many, many other factors), but valid HTML will help ensure that search engines and browsers alike will accurately see your page. Try using the official W3C Validator (http://validator.org/) or install this handy Firefox extension (https://addons.mozilla.org/firefox/249/). Validating generally identifies areas of code that are redundant, unnecessary, or not accepted across all browsers.