Ecom Launches, And Why You Should Run Screaming From Yahoo! Stores
Posted on May 25th, 2006 by AJ
Grocor, LTD came to us to revamp their e-commerce web site, which was powered by Yahoo! Merchant Solutions. They wanted to add many new products and make the site more attractive and easier to maintain.
Unfortunately, Yahoo!’s store system leaves a lot to be desired, requiring that you create many static pages for products, which totally goes against our mantra of making web sites that are easy to maintain and as automated as possible.
When I first started digging into the Yahoo! catalog system, I could hardly believe it. The interface and functionality seems to have been frozen in time, circa 1999. You have to navigate an unnecessary sea of links to get where you want to go and there are lots of places where you have to enter data in multiple places when one would have sufficed.
And have I mentioned everything is sloooooooow?
Here We Go
Here are some of our initial frustrations from the get-go. For one thing, you cannot have products in multiple categories. Actually, Yahoo! calls categories tables. Apparently they thought ‘categories’ wasn’t self-explanatory enough. Also, you can’t give categories descriptive names like “Root Feeder”. It has to be entered as “root-feeder”. Why? We have no idea.
And speaking of categories, a product can only be in ONE category. Want to change that category later? Too bad! You’ll have to completely delete that product and enter it again from scratch in the new category, table, whatever.
First, all your store pages MUST be static .html pages. No dynamic store for you! Again, this is a concept that sends shudders up our spines. We thought at first we’d be able to accomplish the same thing by creating a template PHP page that can dynamically generate the Yahoo! store tags. Nope. Even though the Yahoo! server supports PHP (and mySQL), you cannot use PHP in conjunction with the store tags. Only works on pages with a .html extension.
Plan B
After that revelation, we discovered that you can get your entire catalog contents spit out as an xml file. Sweet. Let’s roll.
So we set out to build an application that could parse the xml data, read it into an array and then serve that information dynamically in multiple ways on the site (ie, category lists, product details, etc). This way, the client still only had to update catalog data in one place….their Yahoo! login.
Using the excellent PHP script, MagicParser, we built a small app that was able to accomplish just that. And it worked great, to an extent. Then we started running up against the same limitations again.
First, since we were parsing an xml file for every request, and Yahoo! was slow, our new product pages on the site weren’t loading fast enough. Then we realized that the client really did need to be able to put products into multiple categories, something that just couldn’t be done with Yahoo! out of the box. We at first tried creating a new field in the store for categories, but that had its own issues.
Then, we ran up against similar problems in trying to get a “related items” feature implemented. Again, this would entail creating a new text field in the Yahoo! store and training the client how to manually input product codes with delimiters, etc. Not a good solution.
What We Should’ve Done In The First Place
We finally got to the point where we’d exhausted the potential of the xml-PHP solution based on the client’s needs.
So we built a custom product catalog system within our FireControl CMS that would handle all aspects of organizing, displaying and maintaining their product line. Then, with automatically generated forms, we were still able to pass shopping cart information back to the Yahoo! system for customer checkout.
The main drawback of this system is that it requires the client to update products in two places: Yahoo! and their CMS. Thankfully, they only need to make changes on Yahoo! to things like price, item code and weight. Within the new CMS they can do multiple categories, multiple images, attach PDF files and select any number of “related items”. Score another win for FireControl.
Hopefully someone will read this before they try to bend a Yahoo! Store to their will. If you want a store that’s dynamic and flexible, either build your own front-end for it, or better yet, pick another ecom solution. Who knows, maybe someday we might actually release a good database-driven front-end for Yahoo! Stores. Anyone interested?
————-
Grocor, LTD is a Marietta Ohio-based company that makes a unique fertilizing system called the Grow More Root Feeder. This feeder allows you to inject water, nutrients, insecticide, or deer repellant directly to the roots of your plants and trees.
Check them out at www.rootfeed.com.
