The Supercircuits website was running on an custom-developed ASP.Net ecommerce platform, which I inherited when I joined the company. Over time it had become increasingly unwieldy, hard to update, and buggy, and I was desperate to move on to a more modern ecommerce platform.
I'd been interested in Magento for a while as it appeared to meet all of our functional needs as well as being very affordable, and so, after a short period of due diligence, we embarked on an implementation of the Enterprise Edition.
Little did I know then, that it would take over a year to launch the site. But that's what happens when you combine a very small team, with a lot of operational responsibilities, with the requirement to integrate with an internal order management system that's about 10 years old.
Lesson learned #1: If you are about to embark on a major Magento implementation, I highly recommend making use of their consulting services at the outset. An architectural advisory will set you back a few thousand dollars but will make sure you pick the right architecture plan so that your implementation goes more smoothly. We did a lot of learning as we went, which slowed progress as you might expect.
Another challenging area was the migration of product data from the old site. Although we have a little under 1,000 SKUs, because they represent video surveillance equipment, they each have a lot technical specs along with various other complexities.
We had originally intended to manage product data programmatically via a centralized master data management system, but in the end, this proved too much to try and implement along with everything simply developing and launching the site.
As a result, we did not make proper use of attribute sets for classifying different product types, the results of which we are living with today (one day we will have the product comparison tool set up correctly). On reflection, we would have been better off entering all the product data manually and using the extra time to clean up the organization of our technical specs.
One area where we did make the right decision was not to attempt a complete site redesign at the same time. The relaunch was intended to be a "copy exact" — use the base Magento Enterprise store template and overlay our design on top of it. This worked pretty well, as the base Magento template looked nicer than our old site anyway, and we were able to make some further visual improvements in addition to this.
The good news is that we are now in a place were we can start making some more aggressive site design enhancements, now that the back-end heavy lifting has been completed.
A significant reason to move to Magento is its extensibility and the wide range of extensions that have been developed for it. If you can think of a feature, chances are someone has developed an extension for it. The great thing about this is that it reduces implementation time and cost for new features dramatically. I'm like a kid in a candy store with all the additional ecommerce capabilities that are now available to me.
Lesson learned #2: Not all extensions are created equally. I recommend limiting the number of extension vendors you use so that you can be confident in their quality and reduce the potential for code conflicts. We have mostly used extensions from aheadWorks and Amasty. Not only do they create great products, but the support of both vendors so far has been excellent.
Another reason I like Magento is that, as with Google Analytics and Wordpress, because the basic edition is open source it has a huge install base with lots of people developing for it, figuring things out, writing blogs and tutorials, and answering questions.
Consequently, if you have a question about or an issue with Magento, it's likely that someone has run into it and someone else has come up with a solution. The value of this wealth of information cannot be overstated.
One final downside of the extended development time for this website launch is that Magento Enterprise has moved on to version 1.12 while we are still on version 1.10. I do not intend to underestimate the effort to upgrade to the latest version, but it is something that we will need to tackle in the near future. If you don't, as you move further away from the current version, the cost and effort to upgrade just gets larger and more daunting.
A feature that we intend to take full advantage of over the months ahead is Magento's multi-store capability. At some point in the future I intend to have all of our sites running on the Magento platform which will be a huge efficiency gain for my team in terms of managing multiple websites and stores with a common product set.
One area where we have learned a lot is in regards to SEO. While we did all that we could in terms of onsite SEO, we (by we, I mean I) only redirected about 1500 URLs in our htaccess file. However, we have thousands of old product documentation PDFs which I did not have the time or will to get to before the launch which were still receiving links and traffic.
As I started seeing 404 errors pop up in Google Analytics for those pages and files, I began a multi-week process of updating the htaccess file, so that we now have over 6000 redirected URLs.
I am now keeping our htaccess file updated on a monthly basis by running the URLs being redirected to through Xenu's Link Sleuth, which lets you check an imported list of links (very handy). As redirected URLs break (for example, when products are discontinued and are removed from the site) I'm updating the redirect to keep it working. It's very manual, but worth it in my opinion.
We're now on a two-week release schedule for new features, which is aggressive but achievable. One module that we are replacing as soon as possible is our site search. Magento's default search algorithm is garbage. Incredibly, instead of using AND for an operator it uses OR, which means that the more terms you use to refine your search, the more results you get. It's completely backwards!
There is a truism when it comes to learning Drupal — once you've built your first site, throw it away and use what you've learned to build it again correctly. There were a few times along the way that I thought this about our Magento development process as there is certainly a learning curve and a 'right way' to architect it.
Now that we've launched, I've certainly got no regrets about choosing Magento as an ecommerce platform, and I'm looking forward to everything we can do to expand and enhance it.