Everything You Want to Know About Writing SEO Tools - Part I

Over the past few months, I've written a few SEO tools. The first ones were, how should I say this, 'improvable', while some of the later ones are fairly popular now. This post is a digest of some of the things I've learned.

Get a good idea

We already have dozens of backlink analyzer, keyword analyzer, etc etc, so what new thing will you add to this huge pile? There are so many tools out there, and so many people writing SEO tools, that it's hard to come up with something new. But it's still possible. I never actively think about an idea, but just keep an open mind while reading forums, blogs, articles, etc. Keep an eye out for 'wishful posts', things that say "wouldn't it be nice if we had..." or "I could find anything that does..." or "all the ones I tried were bad". Those should seed an idea in your head.

Another source of ideas is your work. While I use other tools or try to do something, I sometimes find myself wishing to automate a task or going through a long process to get some a new look at the data. Those are tool ideas just waiting to be implemented! If you work in a company, ask your colleagues. For the Domain Geolocator, the idea evolved in a forum thread that went on to further refine the idea collectively: what do wewant? What do users want? What is missing from the current tools you are using? Remember the old adage about giving users what they want?

Write a plan and the feature specifications

This is probably the most important step, especially for complex/large SEO apps. The feature specs allow you to prioritize development, see which features can interact, allows you to think of other features to add, which features should be removed, and more. Also, it gives you a non-moving target to aim for.

The plan is slightly different: it's how the tool works. You draw boxes and lines and circles describing where data is stored, how it's retrieved, what database tables are needed, any settings, cookies, etc. Clearly, this overlaps a lot with the feature specs.

Know a programming language inside-out

Choose one or two languages and learn them inside-out, left, right, and center. The more you know how to program using a language, the easier development becomes. Write programs just for the sake of writing a program. Try to answer technical questions: which construct is faster? Is a database faster than a well-written text-file storage? Try to work with large data. Have you ever parsed text files tens of megabytes in size? Geeky? Sure, but you'll learn a lot.

For me, this langauge that I know well is PHP. I don't claim to know it inside out, but I do experiment and play with it for the sheer value of learning.

And yes, this takes a lot of time and experience.

Know HTML & CSS well

This might surprise you, but HTML/CSS is very important because it's your tool's interface: how it takes input and prints output. The more well-versed you are with HTML and CSS, the better the results. So many tools out there have crappy interfaces, and your tool's interface might make it a winner. Keep in mind the usability and functionality of your tool.

This is it for Part I. Keep an eye out for Part II soon with an in-depth technical discussion! Comments and questions below are very welcome :)

Subscribe to Things of Sorts

If you liked this post, please subscribe to the Things of Sorts RSS feed:

Leave a Reply

 

Site Navigation

Blog Categories

Popular Pages

The most popular pages on eKstreme.com.

Search

Subscribe

Subscribe to RSS 2.0 feed

Community

 
thermodelly