The Developer’s Guide to Internet Marketing
Ian Lurie Dec 3 2008
I’m a developer. There, I’ve said it. I’m out of the closet.
It’s a little known fact, but I’ve been coding web applications since 1995. I used the very first version of ColdFusion (on 1,000 floppy disks), learned PHP while building Prius Mileage and have even (gasp) muddled through Ruby. While object-oriented programming still makes my medulla ache, my geek credentials are intact.
I learned internet marketing as a long-suffering copywriter and a developer at the same time.
So, here are my tips for developers trying to function in the marketing world:
First, marketers never make sense. Don’t even try to understand their talk about personas and keywords and the long tail. They’re from Laterra, you’re from Arbre. Instead, focus on the things that you can influence:
- Build for speed. A faster site means happier customers and higher search engine rankings. So pay attention to performance-boosters like caching, GZIP compression and stored procedures.
- Minimize inline CSS. See #2, above.
- Follow the design. Your code may make Linus Torvalds weep with joy, but if you force customers to log in every time they want to buy something, your site’s doomed. Listen to those annoying usability people. They know a thing or two.
- Demand a mockup. Before you start coding, someone should give you a screen-by-screen XHTML mockup of how the application should look. All you should have to do is connect that mockup to your application. If it’s not built that way you’re asking for trouble, because you’re being forced to design the interface. Imagine the designers being forced to write code. Make you shudder? Then you get my point.
- Build strong validation. Make sure you practice really good contingency design. If someone fails to complete a form, give them clear instructions on what to do next, and don’t wipe the form. Please. For God’s sake. Read Defensive Design for the Web: How to improve error messages, help, forms, and other crisis points (VOICES) to learn more.
- Code for standards. See all that pretty code in the XHTML mockup? That’s there for a reason. Don’t just drag-and-drop .NET controls and replace the good code with total crap.
- Use a framework. I don’t care which one, just use it. And don’t let the marketing team bully you into hacking together some Frankenstein monster to save a day. Later coders will thank you. So will you if you have to modify your application a year later.
- Keep URLs short. Shorter URLs make linking easier and mean that search engines will have an easier time crawling and ranking the site. If you don’t have to have the category ID in every URL, then don’t.
- Keep URLs friendly. URLs should make sense to the reader. So ‘mysite.com/skates’ is better than ‘mysite.com/asdf.asp?sessionid=1231asdf’. This is not because of search engines. Search engines are fine with dynamic URLs. Rather, the friendly URLs improve clickability. More folks will click on ‘skates’ than ‘1231asdf’.
- Don’t worry about friendly URLs. HAHAHAH fooled ya. Not really, actually. But if your site already uses dynamic URLs and has been indexed by search engines, think carefully before you go and change ’em. The price you’ll pay in lost rankings and busted links may not be worth it.
- No session IDs in URLs. If you put session IDs in URLs I will personally hit you with a desk. You need a session ID if someone logs in, starts checkout or does something similar. Otherwise, leave ’em out. And even if you do need those IDs, there’s this newfangled thing called a cookie. Use it.
- No https unless you need it. Don’t put every page of a site behind an SSL certificate. Use SSL when folks are exchanging information with the server. Don’t argue. I’m an old, cranky prima donna and I’ll kick your behind, sonny.
- Avoid duplication. Never build a cart, CMS or other tool that puts identical content at more than one URL. It’s annoying to the users and confusing to search engines.
- Use consistent canonicalization. The home page lives at www.mydomain.com. Not www.mydomain.com/home/cgi-bin/store/secure/index.htm. Seriously, don’t make me come over there. I’ve got lots of frequent flier miles.
- Build for analytics. Find out what analytics package your client is using. Include the appropriate code from the start. Building a store? Put the e-commerce tracking code in now, not later. They’ll love you for it. If they don’t, call me and I’ll blow you kisses.
- Test. A long time ago, in a legendary land, developers tested their code before they chucked it over the wall. Servers didn’t crash on grand opening day. CEOs didn’t eat handfuls of TUMs. You should aspire to reach that state of geeky nirvana.
- Stick around. When you finish that last line of code, plan to be available for last-minute changes and emergencies for a while. No matter how well you do, your client or the public will find some way to screw up the works. So don’t head for Maui just yet.
- Communicate. Want to really mess with the client’s head? Call them up and say “Hey, can you have a look at the home page. I want to make sure this is how you wanted it to work.” After they pick themselves up off the floor, they’ll try to figure out how they can keep you around for the next decade.
- Code for reuse. This should be obvious. But write all your code so you can re-use it later. It helps everyone and makes your job easier over time.
- Build for maintenance. Like it or not, your client is going to want to add a press release, change a title tag or modify something else someday. When they do, do you want to have to personally make the change for them? Didn’t think so. Make sure they can edit metadata, page copy and whatever else they might change in the life of the site.
- Build for structured content. If the site uses a content management system or an online store, make sure your client will be able to independently edit various structural elements on the page: The title tag, description tag, headline and content should all be separately editable. Don’t dump the product name into the title tag, or the article into the description tag.
- Search engines matter. A lot. 75% of everything that happens online starts at a search engine. So don’t roll your eyes when someone asks you to make something search-friendly.
Follow these tips and congratulations! You’re on the marketing team. Martinis at noon…
Ian Lurie is CEO and founder of Portent Inc. He's recorded training for Lynda.com, writes regularly for the Portent Blog and has been published on AllThingsD, Forbes.com and TechCrunch. Ian speaks at conferences around the world, including SearchLove, MozCon, SIC and ad:Tech. Follow him on Twitter at portentint. He also just published a book about strategy for services businesses: One Trick Ponies Get Shot, available on Kindle. Read More