SEO Consultants are not Necessarily Experts

I've always been a bit confused by people who consider themselves SEO (Search Engine Optimization) consultants. It's not that I don't think such a position should exists - on the contrary, SEO is an important part of the web development process that is often overlooked by web designers and programmers. What confuses me is how they consider themselves experts.

Most of these consultants devote their focus on Google. This makes a lot of sense, with Google being the elephant in the room when it comes to search engines. However, it seems that the majority of their focus is always on the algorithm and how it changes over time. When Google made the Panda update early in 2011, there was a big push for unique, organic content on sites. SEO consultants seem to be reactionary, watching to see what Google determines is important in determining good content and structure is. This is the wrong approach.

Well-rounded web developers take a simple stance when it comes to SEO. Just build out a web presence that make sense. Each page on a website has a ...

read more »

Responsive Web Design and Duplicate URLs

Duplicate content is a well-known issue that members in the search engine optimization (SEO) and web development communities keep a close eye on. This issue can lower the relative value of a page in the eyes of search engines, due to their being multiple instances of the page's content. The address, or URL, of any page on the internet is meant to be a unique identifier for the page, and if there is an exact duplicate of that content located on a separate URLs than the pages are not as useful for end users. A great example of this is the www vs no-www duplication that many sites have... Both versions of the URL may render the same page. GET parameters, tailing slashes, and other types of dynamically generated pages can also generate duplicate content issues.

I wanted to address the opposite issue in this post. Duplicate content can be easily fixed using a variety of solutions, but there are other practices that are starting to pervade the web development community that could potentially confuse users and search engines alike. Let's call it ...

read more »

Best Practices in Development

Over the last few days I've been working on a relatively large change to my image linking logic. This change involved some reorganization on the server side, adding name-spacing, changing the url structure, and placing 301 redirects to all 1200+ of my photos. I made this update both in hopes of keeping some relative SEO content on the photos linked in my blog and because I wasn't happy with the original implementation (especially the data storage). This post isn't about the update, though. I wanted to talk a bit about some of the principles I used on this and other projects I work on.

Incremental Changes

This update was a rather large one to my engine. I needed to change more than just a few image links - I upgraded my entire image storage system to a relational setup. Eventually this will turn into a dedicated photography site (photos.jacobemerick.com, mayhaps). Trying to change everything and push it live at once would have been asking for disaster.

Instead I broke down this change into five steps. Each step could be tested ...

read more »

Levels of Impossibility

As a novice web developer I often thought that many site functionality ideas were impossible. Without experience or working knowledge of a variety of web languages even the most basic Javascript animations or ajax features throughout the internet lived in the realm of dark magic and mystery. Now, after years of developing web sites for clients, I understand much more of how things work, or at least how to duplicate it using more familiar technologies. When a client throws a unexpected feature request at me, I can normally figure out a way to add it into their project. However, I still believe that some things are 'impossible'... it's just a matter of how impossible they are.

Level 1: Truly, Undeniably Impossible

Even with all of the amazing things web developers can do these days we still have one solid restriction: the browser. A browser instance cannot affect other browser instance (unless they are linked). One domain cannot directly read another domain's cookies. Web sites cannot affect a user's computer unless the user allows it. ...

read more »

Why You Should Build Your Own Darn Framework (Usually)

I've always been a big fan of writing my own website frameworks. It's how I learned to code, writing and re-writing a specialized PHP framework in an iterative, agile-like development process. There have been times when I've worked within standard systems (Zend, Code Ignitor, Wordpress, etc) but I try to avoid them on personal projects. PHP has a lot of flexibility in terms of allowing a developer set their own standards and I have a very unique style and approach to custom projects that I bring to my code. Also, I have some issues with using a pre-built framework.

Too Much Functionality

Some frameworks are very abstracted out with functionality for multiple data source drivers and DOM helpers (cough cough Zend). While it is impressive how much thought went into these large, comprehensive frameworks, there is often far too much logic there for a standard web project. As an example, one of the previous systems I worked with (heavy-traffic, front-facing site) was based off of the Zend Framework. Each page load included over 300 scripts ...

read more »

Best Practices with Forms

The last post about PHP form handling (forms with php) focused on the basics - the HTML syntax and simple PHP necessary for an operating form. There were several pieces that I glossed over in the explanation for the setup of that form that I want to go over in more detail now. You can create a form using many different techniques... but some practices are better than others.

Use Standard Elements

By using Javascript or tweaking HTML elements you can create a working form without the standard form elements (input, textarea, checkbox, etc). Normal HTML form elements often have annoying default styles added to them by different browsers that may conflict with your design. While it may seem like a good idea to hack their behavior, there are two reasons why you shouldn't.

First, if you don't provide graceful degradation, there's a good chance that your tweaks may make your form unusable by more basic browsers and systems (like screen readers!). Second, users are used to certain ...

read more »