Structuring Information for Search Engine Snippets

Here’s a quick update.

We’ve added a small improvement to our Theme support by defining a new header variable which can be used in the Theme.liquid file as part of the section.

Rather than hand-coding author, copyright, description and keywords meta tags, you can just code

[ruby]
{{ header.author }}
{{ header.copyright }}
{{ header.description }}
{{ header.keywords }}
[/ruby]

These variables will automatically generate the appropriate meta tags for your page’s content.

The advantage of these automatically generated tags is that they structure the description information in a way that makes it easy for the search engines to extract the relevant information about your product or page and this will appear as the snippet in the search results.

For details have a look at our Knowledge Base documentation

Liquid Template Variables – header

The Exciting World of Inventory Management

Our new software release is now out the door, so it’s time to sit back and take the opportunity to highlight some of the new features.

Now inventory management might not be the most exciting topic in the world, but it’s one of the essential aspects of running your own online e-commmerce store. We’re constantly trying to do is to find innovative solutions to the problems you face as a store owner. We believe that we’ve come up with some unique enhancements to the way that we deal with inventory management that you won’t find anywhere else.

Product Variation with Inventory Management

Continue reading

More previews: shopping cart discounts

Shopping cart discountsA shopping cart discount allows you to provide discounted prices for selected items, without your customer needing to put in a coupon code in the checkout.

These discounts allow you to provide discounts for wholesale purchases, plus a huge range of other offers such as “buy one item, get another free” type discounts.

Another great offer that you can easily set up is that you can offer free shipping on orders over a dollar amount that you specify, or free shipping on products purchased from a specific collection.

Discounts are applied on the shopping cart page of your store.   If your specified conditions have been met, then items are shown on the cart page at their discounted price.

Major version update

minimal-theme-previewYou may have noticed that things have been a little quiet here lately. That’s because we’ve been busy working on a major update to the software, which is pretty huge!

This update includes a complete re-design of the interface, with a lot of attention paid to consistency… so that once you’ve learnt how to do one thing, it’s pretty easy to work out how the rest of the interface works.

There are also a lot of additions to functionality, including the ability to manage products and orders in bulk, as well as the ability to download them.

With this new version, we can also now release the Showtime and Antiqua themes that we’ve mentioned previously. We haven’t been able to release them earlier, as they include functionality that isn’t available in the current release. There’s also a new theme… Minimal. A screenshot of the theme can be seen to the right.

We’re just working through the final testing phase, so it will probably be about two weeks. We’ll post more info here in the coming days/weeks, and send out an email to all store owners when we get closer to the date.

5 vital SEO tips

So you have your online store but just can’t seem to get good ranking in Google’s search results. Well, if you’re a DIY search engine optimiser then what’s best way to fix this?  To most people, why sites rank well on google is a mystery,  so here are basic some tips on just what it is you need to do….
Continue reading

Great review…

We had such a nice review the other day, that I thought I would share it…

“The software has a beautiful feel to it and is laid out so well.  I have tried and used quite a few DIY store builders and I must admit you have impressed me!”

Thankyou!

Automated online payments with Payment Express

Link to http://www.paymentexpress.com.au

Spiffy Stores now accept payments through the Payment Express payment gateway!

Payment Express is a Visa and MasterCard certified solution, developed by DPS, which facilitates electronic payments seamlessly from multiple access points i.e. Web, EFTPOS, Billing, IVR (Interactive Voice Response), CRM, Vending, MOTO (Mail Order / Telephone Order) and Wireless.

DPS are certified with banks in Australia, New Zealand, Pacific Islands, Singapore, South Africa, USA and United Kingdom.

Of course Payment Express does require a merchant account, but they have developed a relationship with their banking parters to streamline the application process for you. They are currently offering free setup, with a low $20 a month fee and a 40 cents per transaction charge, making them one of the most affordable payment gateways in Australia.

It’s easy to accept payments through Payment Express in your Spiffy Store. After you’ve signed up with Payment Express, you just go to the “Checkout & Payment” section of your preferences, select “Payment Express” as your payment gateway, and then enter your Payment Express login and password, and it’s all set up for you instantly!

Multisets and Bags in Ruby

I’ve been looking around for an implementation of a Multiset/Bag in Ruby to ease the pain of recording some of our statistics.

Some of the statistics we gather are most usefully stored as some form of “super” Set in which each unique element is stored together with a count of the number of times that element has occurred. These statistics are likely to have a large number of repeated elements, so this makes sense as it saves on space and processing.

So, after an extensive search, I was surprised at the paucity of solutions for this problem.

Eventually I hit upon

http://maraigue.hhiro.net/multiset/index-en.php

It does exactly what I want, but I decided that I would add the following custom functions. These two functions return all the items in a Multiset with the highest/lowest counts.

class Multiset
  # Return all the items with the maximum count
  def max_values
    max_value = @items.values.max
    @items.select { |k, v| v == max_value }.map { |i| i[0] }
  end

  # Return all the items with the minimum count
  def min_values
    min_value = @items.values.min
    @items.select { |k, v| v == min_value }.map { |i| i[0] }
  end
end