The Importance of SEO for Web Developers

Sam McRoberts SEO Resources, Web Dev Leave a Comment

After 16 years in the web dev and SEO industries, I’ve found one very large problem that I continue to encounter on a regular basis: web developers who don’t know a thing about SEO best practices. Why, you might ask, is this such a big problem? A picture is worth 1,000 words:

Web Dev SEO Fail #1

Web Dev SEO Fail #2

Web Dev SEO Fail #3

Each image represents a company I’ve been brought in to help in the past, and the red arrows and massive drops in traffic and ranking keywords are where a web developer who didn’t know SEO was allowed to launch a new website without SEO oversight.

DO NOT DO THIS. If you’re hiring a web developer to build you a new website, even if they claim to be “SEO friendly”, please, for the sake of your bottom line, bring in an outside SEO expert to oversee the process. And if you are a web developer, PLEASE, take the time to learn at least the most basic elements of SEO…if not, you could potentially be liable for the millions in damage that your incompetency causes.

In fact, I would go so far as to say that if you don’t understand how search engines work, and you don’t integrate that into the websites you build, then you don’t deserve to call yourself a web developer. This isn’t some minor knowledge gap…it’s a Grand Canyon of a gap, and negligent to boot.

Whether you’re a web developer, or you’re planning on hiring one to work on your site, the following 7 elements (at an absolute minimum) should be addressed as part of any website development process:

1. Redirects – This is without question the #1 issue I encounter, and it was the cause of 2 out of 3 of the drops in the images above. What do you need to know? If a URL is going to change, at all, create a 301 redirect pointing the old URL to the new URL (this includes images, PDFs, HTML pages, etc.).

DO NOT just redirect everything to the home page, DO NOT use a 302 redirect, and DO NOT create redirect chains (A redirects to B which redirects to C, etc.)

Make sure you set up the most basic redirect rules, such as: redirect non-WWW to WWW, redirect no trailing slash to trailing slash, redirect capitalization to lowercase, redirect index/home to root, and redirect HTTPS to HTTP (or vice versa, as needed). To save you some time, here are htaccess snippets to do each of the above.

## Redirect HTTPS URLs to HTTP URLs ##
RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

## Redirect Non-WWW to WWW ##
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

## Rewrite all MiXed Case uRLs to lower case URL’s and 301 redirect ##
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z] RewriteRule (.*) ${lc:$1} [R=301,L]

## Redirect index.htm, index.html or index.php to the trailing slash recursively for the entire site ##
RewriteCond %{THE_REQUEST} /index.html? [NC] RewriteRule ^(.*/)?index.html?$ /$1 [R=301,L] RewriteCond %{THE_REQUEST} /index.php? [NC] RewriteRule ^(.*/)?index.php?$ /$1 [R=301,L]

## Ensure all URLs have a trailing slash ##
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1/ [L,R=301]

Why is this all so important? 3 reasons. One, links (internal and external) are important ranking factors; when you change a URL, if you use a 301 redirect, then 90% of the link value going to that page transfers through the redirect. If you use a 302, or no redirect at all, none of the value passes through. Oops. Two, without the htaccess snippets above, you end up with a site full of duplicate content (many variations of each page); not only can this split your links between multiple versions of one page, but it can get you penalized by Google. Last but not least, if you don’t implement redirects, you end up with 404 errors, which Google interprets as a negative usability signal. Too many 404s, and you can see your rankings drop.

For additional htaccess tricks, this is a great resource.

2. Page Load Speed – You’ll see this theme again and again: Google cares about usability, like, a lot. A bad user experience on your site means people bounce, and people bouncing means they’re not happy with the search result Google provided them. Google no likey.

So why, precisely, does page load speed matter so much? 3 reasons. One, a site that loads faster tends to have a lower bounce rate, and bounce rate is tightly connected to usability and intent-match (things Google pays close attention to). Two, page load speed negatively impacts conversion rates. For any business trying to drive leads or sales, this is bad JuJu. I’ve seen companies lose millions due to slow page load speed alone, and I’ve seen companies gain millions by fixing it. Third, page load speed is directly connected to page size and server load. If you have a ton of page views, cutting your page load speed can save you a TON on server costs and bandwidth.

You should aim for a page load speed of 1-2 seconds, regardless of the device. This is especially important for mobile, where bandwidth tends to be more limited, and attention spans are shorter. Pingdom and Google Page Speed Insights are great tools to help with this.

KISSmetrics did a great infographic on the importance of page load speed a while back:

Page Load Speed

Courtesy of KISSmetrics

3. Mobile Friendly Site – It’s 2015. Mobile traffic has eclipsed desktop traffic globally, and most of the growth in internet users across the globe is happening via mobile devices. You absolutely, 100% can not have or launch a website at this point that is not mobile friendly. Whether it’s a responsive site or a dedicated mobile site, you need one or the other (and no, just creating a mobile app is not enough; the website needs to be mobile friendly).

If someone does a Google search via a mobile device, Google shows a strong ranking preference to mobile optimized sites. Mobile optimized sites have far lower bounce rates for mobile visitors. Mobile optimized sites convert better for mobile users. I could go on and on. I really like Responsinator for checking the mobile-friendliness of a site.

I repeat: this is not optional. Not having a mobile friendly site at this point is lunacy.

4. CMS – Your choice of CMS matters, a lot, for numerous reasons. Here are my 15 SEO must-haves for any CMS:

  • Static, customizable URLs – You should be able to define both the page name and the directory structure for the entire website, page-by-page (not database driven, unless it can be manually overridden if necessary). Keyword rich and search engine friendly URLs are an SEO must have. If this feature is missing it should be a deal killer.
  • Support for custom URL redirects (301s, 302s, etc). – At some point you will change a page name, move it, or change its structure in your site hierarchy. In order to keep the trust and value of any inbound links to that page, you MUST properly redirect it when you move it using a 301 permanent redirect. Your CMS should allow you to do this one page at a time if needed. You should also be able to directly edit your .htaccess file, if needed.
  • Customizable Title tags and Meta tags on Every Page – The Title tag and Meta description tags are important SEO elements, and should be unique for each page. They should always be carefully written and never duplicated from page to page. Meta keywords tags have no value, and should be left blank. These should not be database driven, but written for each page.
  • Custom Image File Names and Image ALT Tags for Each Image– Search engines look at image filenames and ALT tags for keyword usage to help define the topic of a page. You need to be able to choose the image file name, and you should have the ability to define an ALT tag and if needed an image Title tag.
  • Support for Rel=Canonical tags and Meta Robots tags on Each Page – These elements help to prevent duplicate content penalties, especially with ecommerce websites. You should be able to add this tag on a page-by-page basis as needed.
  • The Ability to Directly Edit the HTML on ANY Page – This is important for customizing content, link anchor text, NoFollow tags, heading tags and other HTML elements.
  • Automatically Generated and Updated Sitemap.xml File – Search engines use this file to find and index all of the pages on your site. It can be a real pain to maintain manually, so the automatic feature is extremely handy.
  • Support for Blog Integration – Every website needs a blog, since that is the best way to ensure ongoing content growth (which search engines love).
  • Clean, Lean Coding – Your CMS should make use of HTML best practices, using clean, current code (validates with W3C), and that loads quickly. Valid, fast loading code is appealing both to visitors and search engines. Avoid code filled with useless JavaScript, unnecessary non-breaking spaces and antiquated tables instead of clean CSS. If possible, find a CMS that supports HTML5. For images, use compression, and for layout elements consider using CSS sprites. Make sure to set page caching quite a ways out. In general, say NO to .NET/ASP.
  • Schema Support – Authorship and Publisher markup in particular should be possible, but other rich text markup such as location and services are also a good idea.
  • Mobile Support – This could be responsive design, where the site auto-adjusts to any screen size or device type, or it could be a dedicated mobile version of a site. Whatever option you go with, at this point in time not having a mobile friendly version of your site is a major negative.
  • Social Integration – If you want people to share what they read on Facebook or Twitter or any other social site, you need the ability to integrate buttons to make that sharing easy. You might also want things like open graph tags, Twitter cards, Facebook insights, etc.
  • Custom 404 Page – Hopefully your site will never have any 404 errors, but if it does it’s nice to have something show up other than “404 error – page not found”. Create a custom 404 page that lists your most popular pages and perhaps a search box. Keep them on the site! Consider making your 404 page funny, like these: http://fab404.com/
  • Automatic Link Management – Whenever you change the name of a page, any links to that page break. While implementing a 301 redirect for the changed page will fix this, you would ideally want to go through the site and change all links to reflect the new page name. Doing this manually sucks, so find a CMS that supports automatic link updating.
  • User Generated Content – Make it possible for visitors/customers to rate products or services, leave reviews, etc. For some industries this is a must have, not a nice to have.

 

Also, in terms of the code base and server type, PHP and an Apache server are considered to be the best for SEO. The reasons for this are complicated, but Microsoft IIS servers and ASP still don’t play well with SEO.

5. Security – While this has only secondary SEO impact (if Google detects a website with malware, a common side-effect of a hack, it can remove the site from search results), it’s still worth considering. If you don’t have at least a basic understanding of website security, you really shouldn’t be building websites.

I wrote an extremely detailed guide on WordPress Security on the Moz blog, which I recommend that you read. You really, really don’t want to be the developer who build a client a site that was full of security holes and got them hacked.

6. Basic On-site SEO Elements – From URL structure and Title tags to Meta descriptions, H1s, internal linking and beyond, this is a key part of SEO. Launching a website without these elements accounted for will pose a major setback for your client (and if these elements were present and optimized before the transition, you will cause their rankings and organic traffic to drop too).

Covering all of these here would take way too much space, but you can read up on them on my On-Page SEO Guide. Pay close attention though to URL structure, and avoid using parameters (for any reason), because many of the problems I see come from really shitty URLs.

Moz also has a great visual resource to help with this.

7. Page Inclusions/Exclusions – There are some things you want search engines to find, and some things you don’t want them to find. Understanding how to make correct use of a Robots.txt file, Meta Robots tags, Rel Canonical tags, htaccess files, and XML sitemaps are critical components of effective and SEO-friendly web dev. The above link to my on-page SEO guide also covers these elements, so I’ll let you dig in deeper there.

Sufficeth to say that you need to make sure that A. Google is aware of and can reach the pages you want it to, and B. Google can’t reach pages they shouldn’t (secure or private content, duplicate versions of pages, etc.)

While there are numerous other issues that could be covered, I’d say that 95% of the SEO nightmares I encounter stem from one of the above.

If you’re a web developer, learn these things and integrate them into your development process.

If you’re hiring a web developer, use this as a checklist before hiring them, and hold them accountable for each of these items.

To be safe, consider hiring an SEO consultant to help you with the process…and bring them in at the start of the process, not at the very end (this happens ALL the time, and is a huge mess).

Leave a Reply

Your email address will not be published. Required fields are marked *