Adding SEO Support To The Shopp Commerce Plugin

by Duane Storey ~ Jan 27 / 2010

We were recently working on a client project that involved usage of the Shopp plugin for WordPress. Shopp is a fairly feature rich commercial plugin targeted towards users who want an easy way to sell products or digital downloads from their website.

While playing with it, it became apparent that the plugin didn’t support integration with any SEO plugins, such as the All-In-One SEO Pack. In fact, while scanning the support forums for Shopp, it seemed that other people were looking for this feature too.

So, BraveNewCode to the rescue. We whipped up a quick little proof of concept tonight to make it work using the WordPress shortcode API. To use it, simply add a shortcode into each Shopp product description, similar to this:


[shoppseo title="This is some title" desc="This is some description"]

The shortcode name is shoppseo, and the relevant parameters are title and desc.

To use the plugin, download the following file, copy it to your /wp-content/plugins folder and rename it to shopp-seo.php. At that point you should be able to activate it from the administration panel. You’ll also need the All-In-One SEO Pack installed and configured.

I imagine this feature will eventually make it into the Shopp plugin, but until then people are free to use this plugin. If you’re interested in anything else we do here at BraveNewCode, bounce around and take a look or follow us on Twitter.

13 Comments

  1. Hi,

    Thanks for the code but I’m not quite getting the instructions, I might be missing something obvious though.

    What I did was install the plugin as stated (activated ok) then put:

    [shoppseo title="Twisted Horns" desc="Hand crafted and hand painted wearable twisted horns for your fairy party needs"]

    In the description field of that product but no joy, all that happens is that it outputs that exact phrase at the front end. So, where exactly do I:

    ‘add a shortcode into each Shopp product description’.

    Sorry if I’m being a bit dense, but I thought that the product description at the shopp backend would be the best place to add this code.

    Michael

    • Duane Storey

      BNC Development Guru

      7 months, 1 week

      Hmm, that should be enough. The product description area is the big editable area that appears at the top when you edit a product. What is the URL for your shop on your site?

      • Michael Tingle

        7 months, 1 week

        Yes, that is the area I put the code (in HTML view mode).

        The shop URL is:

        http://www.faemagazine.com/shop

        I’ve not got the plugin activated at the moment, but will turn it back on if you need me to test something.

  2. Hey,
    Would Shopp be your recommend for e-commerce? I’ve been using instinct’s wp e-commerce and have been grossly dissatisfied with it once I had to get into the code to affect the design. I haven’t had a chance to really explore what else is available.

    • Dale Mugford

      BNC Design Guru

      7 months

      Absolutely— Shopp doesn’t just handle digital downloads. The breadth of options and implementation capabilities are excellent.

  3. im having a similar problem to michael. ive put the [shoppseo… into my description, enabled all-in-one-seo and im not getting anything.

    it all sounded simple enough. is there anything im missing?

    wolfgang

  4. update:
    it seems after i went into the shop page and added a description in the all-in-one-seo box on that page that everything seemed to start working. now i can control the meta description on my shopp product pages. thank you!

    wolfgang

  5. Vinyltoupee

    7 months

    I am have the same trouble as Michael and Wolfgang. I have ShoppSEO activated correctly and I have All-in-One SEO active, but the inserted code in the Shopp product page description field isn’t parsing. Any suggestions? You can see it sitting here:

    http://www.midnightoilproductions.com/products/communion/

  6. Duane Storey

    BNC Development Guru

    7 months

    It’s probably because the plugin assumes you’ve installed the shop at the location /shop/.

    To change it, change what’s in the preg_match expression around line 10 from “#^/shop/(.*)/$#” to “#^/products/(.*)/$#” in your case. See if that helps.

  7. Thank you for sharing.

    I was just getting ready to roll my own SEO function when I decided to google the Shopp forum to see if someone else had solved it already. I was really surprised that the SEO functionality was not in the Shopp plugin. Its nice to be able to customize it now.

    You all rock! Love the WPtouch plugin.

  8. 6 months, 2 weeks

    This seems like a nice and simple way to get this working. I’ve heard a lot about the disadvantages of shopp to SEOs, but this fix should take care of it.
    Thank you.

    This post didn’t get posted with google chrome for mac and I had to use safari to get this posted.

  9. Exactly I loaded the zipped pdf file through the graphical WP editor and it’s in there, but I’m not exactly sure that it’s in the right place. Can someone please help me with this.

  10. Hello. I actually succeeded on solving problem I mentioned above by myself. I did this by messing a little with the source by moving

    add_shortcode( ’shoppseo’, ’shopp_seo_shortcode’ );
    ob_start( ’shopp_seo_callback’ );

    These two statements outside the if statements. I know this is not the ideal way to solve this problem and I’d like to hear why and explanation why not would also be nice.

    If you’re not going to answer to this post, I’m going to put the solution mentioned above out there. I would greatly appreciate your opinion on this.

    Code works great. :) Thank you anyway.