Programming / Lessons From Web Development
I've been a professional web developer for over 13 years now. Technology has progressed, fashions have come and gone, expectations have changed accordingly. Time and again, however, I see projects running into the same carbon copy problems. I've ranted about this before, but every time I find more variations on the same theme. This time I found them all in a single project.
The most common mistake I see is customers asking for features because they've heard a website is supposed to have them. Don't. Your website isn't there for the sake of it. Keep your objectives in mind.
For example, have you noticed how many website themes feature a big fat header image that takes up vertical space for nothing? Worse, some of them add insult to injury by making it a slideshow. Newsflash: your visitors aren't there to admire your layout. Most of them just came via a search engine to find out a specific piece of information, and you're making them scroll and scroll on their 1366x768 laptop screen. Because, isn't it, you also had to ask for a sophisticated web page layout with all kinds of pointless decorations and animations.
Congratulations, you've just made your website a lot slower to load, and prevented Google from telling the meaningful content from chaff.
But it's all right, you'll just apply SEO. Right? Wrong! A combination of myths, ignorance and unscrupulos "experts" have turned search engine optimization into a kind of voodoo that hurts more than helps. Let me give you a few tips:
- original content is SEO;
- clear, simple language is SEO;
- semantic markup is SEO (that's a feature, ask for it);
- links from related websites are SEO;
- dirty tricks to fool Google into placing your site higher in search results are a terrible idea.
A simple example is the "keywords" meta tag. It says right there in the Google documentation that they ignore its content. That has been true for many years, yet customers still ask for it to be included. As for the "description" meta tag, if you can write good copy to describe your website, just put it in the main page content. If it's especially important, put it closer to the top of the page. Rest assured that the Googlebot will find it -- finding relevant results is what it was built for. If you let it.
Another mistake is to wait for your grand new website to be "done" before launch. First of all, the word "done" will become increasingly meaningless as you come up with new ideas during development -- and you will! Coming up with ideas is the easiest thing in the world. Learn to say "good enough for now".
Second, there are essential features, important features... and then utterly insignificant details. Learn to tell the latter apart, because those details will double the development time, for little or no gain. You could say the devil is in the details, but the saying cuts both ways.
Look, I've been working with a WordPress shop for the past 18 months. Believe me, I've learned the platform inside and out in the mean time. I love it, too, and can make it do quite advanced tricks. Yet my own gaming blog is still a vanilla WordPress install with a stock theme (lightly customized) and only a handful of generic plugins. Why?
Because its substance is the content, so that's what must stand out.
(Written sometime in mid-2012.)