Evaluation of JigoShop as WordPress e-Commerce platform

So far, I have had some time to look at JigoShop for evaluation as an ecommerce plugin for WordPress. Coming from a setup where we use dedicated CMS’s for e-commerce, the idea of a plugin seems a little too thin, relatively speaking. i.e. maybe the plugin does not have all the features that a full scaled CMS that is geared towards ecommerce use.

I have found that last part to be mostly untrue, since JigoShop supports a lot of features, right out of the box. It also has a variety of secondary plug-ins for SEO, email etc that make it powerful.

Looking closer at the JigoShop code, I realize that internally it does not use separate tables dedicated to the ecommerce functionality. Instead, it embeds and extends the core WordPress database tables for tailoring it to WordPress. At this point, I am not sure what are the advantages and disadvantages of this structure.

I will continue writing about whatever I discover about the different eCommerce plugins like WordPress.

If you have any feedback, feel free to comment below.

SMX East – Getting serious about SEO & PPC

I have finally made the decision to attend my first professional conference on all things SEO, PPC and the like. SMX East will be held in NYC Oct 1st – Oct 3, 2013. There is also a full day full of workshops on September 30th. I plan on attending that as well.

Here are my goals (in no specific order):

  1. I hope to be able to gain some useful insight on how to legitimately attain top rankings for certain keywords in Google organic search. To make it more general, hopefully across the search engine landscape including Bing, Yahoo and others. 
  2. The focus has to be on what needs to be done on-page as well as off page for SEO purposes.
  3. Increase the conversion rate (for both organic and PPC traffic).
  4. My Adwords education is minimal and has been obtained through reading Brad Geddes’ Advanced Google Adwords book. So I hope there will be in-depth Google Adwords how-tos, particularly related to conversion rates.
  5. I hope the conference will cover material specific to Product Listing Ads (PLA).

I will post back my thoughts on the SMX East conference after I return in October. If anyone has first-hand feedback and tips, please feel free to share in the comments.

Same Page HTML Anchor Not Working? Here is why

I have often encountered this issue where same page anchors do not work. When you click on a link that is supposed to take you to the designated position in the same page (as marked by the anchor), instead you land on the homepage with the name of the anchor appended to the home page URL.

For example, there is a Back To Top link that should return the user to the top of the same page. After tinkering a bit with it, I found out that the “base href” HTML tag plays a role in determining how these anchors work.

If your “base href” is set like this (click on View Source from the right click menu):

<base href=”http://www.example.com”>

Turns out that this tag controls the relative path of all same page anchors. Not really sure what this is used for, so I was able to remove it.

Without this, the same page anchors started working nicely. I am guessing that if this tag is correctly populated with the full path of the URL (not just the domain name), same page anchors should work equally well.

WordPress: JigoShop Conflict of “From” header

Being new to WordPress, I had another challenge this week. It appeared that no matter what “name” was entered by the users on a form, the email sent (as a result of the form submission) was always “From : <Blog Name>” instead of “From : <Actual Name of User>“. In fact, all emails (regardless of plugin) would originate “From: <Blog Name>”.

Initially, I assumed the problem was simple in that the form was somehow hard coding the “From” field and it was just a matter of finding the right piece of code within the Contact Form 7 plugin and replacing it.

After 3 hours of the debug-code-test-repeat cycle, I was nowhere closer to solving the problem. I am not a WordPress guru so I was afraid of delving into the WordPress core code. So I started looking through the code for Contact Form 7 plugin. I placed debug statements (PHP error_log) on the interface between Contact Form 7 and the WordPress core code. Specifically, we are talking about the WordPress “wp_mail()” function.

You can specify headers to the “wp_mail()” function, so I verified that Contact Form 7 was sending these correctly. That meant the problem was NOT within Contact Form 7.

One thing within the WP core code confused me: how and what did the filters do? The wp_mail() function was invoking the filters ‘wp_mail_from_name‘ and ‘wp_mail_from’ before calling the core PHP API to transmit the email. Instinctively, my next step was to look for references to any such filters by any plugins. I found quite a few references to this ‘wp_mail_from_name’ filter. While all other plugins seemed to be using the filter only for their exclusive purposes, one plugin, notably JigoShop, was adopting a different route. The call to “add_filter(‘wp_mail_from_name’, ….)” was not matched by a complimentary call to “remove_filter()”.

That means the WordPress core code would always be setting the header field according to the ‘wp_mail_from_name’ function handler set by JigoShop.

Bingo, I had found the problem! Sometimes, you get so excited about finding the problem that you absorb it in all with pleasure. Its an elated feeling to have found out the answer after several hours of debugging.

A couple of days later, I still do not know what is the correct resolution to this problem. I have posted on the JigoShop forum, seeking a solution. So far, it seems a few other folks have encountered the same issue previously.

I also posted on the WordPress forum for both Contact Form 7 plugin and the JigoShop plugin. I hope to hear back from some experts on what should be the proper resolution.

If I am understanding correctly, JigoShop should only nestle calls to ‘wp_mail()’ between ‘add_filter(‘wp_mail_from_name’…)’ and ‘remove_filter(‘wp_mail_from_name’)’. This way, the JigoShop emails are still sent from the correct “From” field, while still not affecting the rest of the plugins.

Here is my post on the Contact Form 7 plugin forum at WordPress and here is my post on the JigoShop Plugin forum at WordPress. Last, here is my post on the official JigoShop forum on the JigoShop.com site.

Update 02 August 2013

I just heard back from one of the development team members at JigoShop. The good news is that they did acknowledge the conflict. More good news is that the fix is simple, just as I had proposed above i.e. to have ‘add_filter()’ and ‘remove_filter()’ around each call to ‘wp_mail()’.

The official fix will be included in the next JigoShop release.

If you were waiting for bad news, sorry to disappoint you…there is none!

WordPress as e-commerce platform?

Being new to WordPress, I would like to gather some feedback as to how well suited is to e-commerce applications. I am primarily interested in small business websites that require payment gateway integration and shipping providers (UPS, USPS, FedEx).

At a very minimum, Paypal and Authorize.net must be supported. Quickbooks POS integration and synchronization would be an added plus.

Still doing preliminary research on WooCommerce, which is a plugin for enabling e-commerce functionality within WordPress. I will post my findings.

In the meantime, if you have suggestions, please feel free to comment.