The changing face of eCommerce in WordPress

In 2010, I quit my day job to go 100% freelance. At the time I was a straight PHP/MySQL developer, and wasn’t really interested in WordPress. One of my first freelance jobs was building a small eCommerce site. I had worked with projects that tracked session data and and other temporary information, so I felt pretty confident I could figure out how to build an eCommerce site.  All I needed to learn was communicating with a payment processor. How hard could it be?

A week later I knew how hard it could be. I had picked Authorize.net as my merchant processor and after reading lots and lots and LOTS of documentation and talking with some people who knew how to work with Authorize.net, I quickly realized I was in over my head. That’s when I started looking around at other options.

I’d had enough experience with Drupal to know I didn’t want to go there but I knew some people who worked with WordPress and recommended it.

I did some looking around, and most of the eCommerce solutions I found for WordPress were built into themes. Even as a new WordPress developer I knew that committing my store to one theme forever was a bad idea. The only really viable looking plugin was called WP eCommerce.

The best at the time

The plugin was free with paid add-ons. I loved that, and it’s an excellent viable model still in use today.

I installed the plugin and entered some products. Everything seemed to be fine and the UI made sense, so I turned it over to the client for product input. After only a few hours I got a call. Products were losing details, they couldn’t be re-ordered, settings couldn’t be saved, the list went on and on.

Given that the plugin had commercial support I went looking for it. What I found puzzled me. The only way to gain access to paid support was by buying a Gold Plugin. It had a whole bunch of features; none of which I wanted. I asked if I could simply pay for support, and the answer was no.

Fair enough, I bought the plugin, installed it, and posted my questions.

Bad to worse

Nothing happened. A week went by. Then another week. I asked again if I was looking in the right place for support, but got no answer.

Support wasn’t getting me anywhere, so I decided to look at the code myself. I have never seen worse code before or since. I was horrified. There was no fixing it. By the time I fixed everything wrong with that plugin I’d have a whole new plugin.

I knew I was in a hole. At the time, I told the client there wasn’t a good way to get it done with WordPress. This caused me to develop a strong distaste for eCommerce, and avoided all projects involving it for years.

Moving ahead

Then a while back I heard that WooThemes had forked something called JigoShop, and made WooCommerce. I had never heard of either, but it made me really happy that someone was doing SOMETHING.

Then I read that a friend of mine was making plugins for WP eCommerce. He’s a very well respected developer in the community. I asked him about it privately, and mentioned that it was the WORST. He said “What? No! WP eCommerce is amazing!”

Then I had a real dilemma. One does not simply say “No, you’re wrong” to this developer. I was willing to accept that maybe they’d fixed everything, but I still didn’t want to work with eCommerce at all.

Finally getting it right

I’m not going to list every eCommerce plugin that’s come out in the last few years, but it has become obvious that a number of people are taking it seriously. Pippin made Easy Digital Downloads. WooCommerce has become a powerhouse. WP eCommerce really did turn things around and is now a solid offering. Given these great options, I was surprised to see iThemes come out with Exchange, but it too seems to be gaining traction, probably because it’s well written and has excellent support.

I’ve finally built a few stores, reviewed some plugins, and I have to say that the difference between now and 5 years ago is truly incredible. Not only can we actually DO proper eCommerce these days, the power and flexibility of the available options is simply exploding.

These days we have:

  • not just PayPal, not just a few, but dozens of payment gateways
  • nearly all common shipping options
  • consistent, high quality support from the developers
  • an ever expanding ecosystem of add-ons

This isn’t just from one vendor, but from ALL of them.

Thank you

To those who have worked so very hard over the last 5 years, I salute you. To those who turned around WP eCommerce, I am in awe. Fixing anything that big is amazing. I don’t know everyone involved in every project, but many thanks to the WooCommerce team, the iThemes Exchange team, the WP eCommerce team, and the Easy Digital Downloads team.

WordPress is changing the face of the web, and eCommerce is a huge part of the web. It feels like we’re Doing It Right, and I’m excited for the future of eCommerce in WordPress.

Comments

Dee

“I’d had enough experience with Drupal to know I didn’t want to go there” (LOL)

Reply
Don

Authorize.net is the most horrific, convoluted company I’ve ever dealt with – on or off the web. I and another e-commerce friend have tales that would curl your hair. The ease and simplicity of EDD + Stripe is a winning combo that can’t be beat and the old guard payment processors should be shaking in their boots.

Reply
Wassem

Good article definitely the e commerce changed a lot last 5 years and lot of online shops is build

Reply

You know the saying “there’s an app for that” – well with WordPress, you can think of pretty much anything you want to do, and yeah – “there’s a plugin for that” :). WordPress is awesome.

Reply

A pretty focused landing one cay say on WordPress! WP eCommerce exceeding in growth year by year now offers tremendous technicality with the most flexible and functional options. Provides better third-party integration too. Great support.

Reply

“…husband, father, and…”

Gotta love the priority order. Now THAT’s good code! (The post was super-helpful, too).

Reply

Leave a Reply

Your email address will not be published. If you need technical assistance, please open a support ticket.