Sorting WooCommerce Products

Using the Gutenberg plugin on a blog is one thing: Using it on a WooCommerce site is another. So while I have been using Gutenberg since January 2018, it was only couple of months ago that I activated Gutenberg  on a WooCommerce test site.

I did it when the people at WooCommerce released the WooCommerce Gutenberg Products block plugin.  It was clear how to use Gutenberg to import product images into posts and pages.However, there was no ‘Gutenberg action’ on Product pages.

I thought it might be that the theme I was using was not yet G’berg compatible but it was the same on the 2017 theme, so I switched back.

I asked in the Facebook WooCommerce Help and Share group and was directed to what Mike Jolley said back in May:

Since WooCommerce is not optimised for the Gutenberg editor we’ve decided to keep the old editor for now so sites do not break when WordPress 5.0 is released. Products are not content focussed so using Gutenberg with our meta box placed awkwardly at the bottom is not ideal.

And back in February, Cladiu Lodromanean said:

It’s just temporary until we develop nice Gutenberg-compatible screens for Products/Orders/etc. When Gutenberg is merged into WP core and released we will be ready with the Products block in WooCommerce 3.4 but editing products and orders in Gutenberg will come in a future WooCommerce release.

It won’t be until next year that the people at WooCommerce will be working on using the block editor for products.Meanwhile, even on normal posts and pages, what you still cannot do is order the images with drag and drop. We are restricted to the old ordering system.

If you ask why drag/drop and the ability to move images around is important, look at it from the point of view of the site owner and a customer.

The site owner wants to present the products in the way he/she wants – maybe arranging by colour. And the customer wants to see the most relevant presentation according to the product.

The ‘old’ (current) ordering system allows site owners to list product images by:

  • default sorting (custom ordering + name)
  • Popularity (sales)
  • Average rating
  • Sort by most recent
  • Sort by price (asc)
  • Sort by price (desc)

You can change the order of display under custom ordering by going to WooCommerce > Settings in your WordPress admin. On the Products tab, the Display settings should be set to Default sorting (custom ordering + name). If it is not, then change it to that first.

Then, in the Products admin panel, select Sorting (see the image at the top of this article) and then drag and drop your products in the order that you’d like.

If you have got a lot of products, then it’s not realistic to drag a product up or down hundreds of rows to where you want to place it.

An alternative is to order the products in the Quick Edit menu by changing the order value. The default is zero. Change the numbers and the custom order will display the lower numbers first (negative numbers are allowed).

You can also edit the order value in the Product Data > Advanced tab on the product edit page.

Sounds good, but you have to hold the numbers in your head while you sort them.

There’s a bigger problem though, and that is that custom sorting is applied against all items and not against separate categories, and in all places where the products show.

That may not be what you want. You may want products to show up in a different order in different sections of your site.

For example, you may want to showcase eight products in a blog post and you may want to arrange them in a specific arrangement so that the order complements your text. You can do that, but then that order will apply everywhere the products show.

Only being able to arrange products by date uploaded or the ones with the most sales, etc. is a limitation that doesn’t fit with what store owners want and need. And custom ordering has its own shortcomings.

I asked James Koster of WooCommerce about the capability to drag images around. He replied saying that eventually drag/drop will be a feature, but as it had only recently been added to Gutenberg core,  they are yet to work on their own implementation for the products block. 

Test Your Checkout

I sometime test the checkout by temporarily changing the Stripe checkout to test mode and putting through a purchase.

It works, but being a manual process it depends upon my doing it – and when WordPress is updated or WooCommerce is updated, or some plugin or other that might interfere with another plugin is updated, do I test? No, I do not. Not every time. And that’s a problem.

Robot Ninja tests your checkout regularly to make sure everything is working.

As it says in its blurb;

Don’t wait days or weeks to hear from customers that your checkout isn’t working or waste the time manually checking your store. Schedule tests to run daily or weekly to save you time.
Select real products from your site to use in your tests. No more testing with dummy or $0 products or by having to create test coupons. And you are free to use actual products.

It visits the site and test products as a guest customer and also as a logged in user; it tries selecting all variation options if they exist; it adds the product to the cart; and it purchases the product using an available payment gateway (with priority on using Stripe).

Our store is connected to a fulfilment house that sends out the goods, and our system notifies the fulfilment house automatically when a customer orders a product.

When I test the checkout manually I temporarily disable the notification that is sent automatically to our fulfilment house when a customer purchases a product.

Then I re-enable notifications after I have completed the manual test.

So it’s a problem for us if the service is jumping around and testing different products, because our fulfilment house is going to be getting a lot of dummy notifications and think they are real orders.

Provided I can nominate the product that RobotNinja tests, I can set up a dummy product to be tested, and exclude it from the notifications that go to the fulfilment house. 

But I have never thought to set up a dummy product to test, and exclude that from the notifications.

I would also hide the dummy product from the catalogue.

Hidden products are not visible to customers’ searches and do not appear in the shop page. So unless a ‘real’ customer knows the URL of the product, they will not find it.

Looking through the documentation I see that one can nominate a product or products to be tested.

Next thing: What happens with the payments that go through Stripe. What does Stripe think about these transactions? How does it work? I asked Support and this is the reply:

“If Stripe is used in Live mode they are treated like a normal transaction. Upon completion of an order we process a refund via the WooCommerce API and delete the order.

We also support Stripe in test mode using one of its fake card numbers they provide. You also have the option to disable “placing an order”. We complete the checkout up to the point of clicking the place order button but stop there.

We also support $0 products.

Basically there are a few different options depending on backend systems/costs/etc.

Now I need to think it through to make sure there isn’t a snag that I haven’t thought of yet. I’ll update this post as and when I have done that.

No WooCommerce Product Reviews Tab?

No WooCommerce product reviews tab? Maybe this is why.

I decided to activate product reviews on a site running WooCommerce.

I recalled that I had disabled reviews soon after I set up the site. That was on the advice of someone writing about how to reduce load on the server with requests going back and forth. That was on a site getting thousands of hits an hour. Still, I followed the advice.

Now I wanted to bring back product reviews. They would show up in the Reviews tab next to the Description tab on single product pages.

I saw a comment by Mike Jolley of the WooCommerce team, that reviews are a type of comment. Therefore, comments have to be enabled on the site.

I had the Disable Comments plugin activated, so the first thing was to deactivate it. In fact, I no longer need it since Gutenberg. With Gutenberg you can mark any individual post or page ‘Allow Comments’ or not, by checking a box in the post or page sidebar.

Next thing, make sure that comments were set to be moderated before being published.

Now to WooCommerce itself. Go to Settings/Products and Enable product reviews. Check off to show the verified owner label on customer reviews; check off that reviews can only be left by verified owners; and enable star ratings on reviews.

Done.

I still couldn’t see the Reviews tab next to the Description tab in the individual Product pages.

Why was the Review tab not showing on the Product pages?

What was the problem?

I googled. Perhaps there was something left hanging over in the database for the disable comments plugin? Hardly, but you never know.

Perhaps I had added something to a php file to disable comments? Perhaps, perhaps. I FTP’d in and looked in the files. Nothing. 

I watched youtube videos explaining how to enable reviews.

Nothing. No answer. What I did see was that it was a problem that had been asked about time and time again.

And then I spotted something – a graphic showing the product bulk editing screen. Oh yes, I need to ‘enable reviews’ if they are not enabled.

This is a screen grab of the back end of my WooCommerce site. I’ve put a red line around the ‘enable reviews’ box: 

a screen grab of the back end of my WooCommerce site with a red line around the 'enable reviews' box

Were they enabled on my site? No, they were not.

I had disabled them ages ago.

That was the answer. 

I highlighted all the products, checked that box, and bingo. Now the Reviews tab was there, next to the Description tab.

Tip: Rather than have to enable each page of products one by one, temporarily change the number of products shown per page to a number greater than all the products you have on the site.

To edit the number of products per page, click on the screen options tab dropdown at the top of the page.

Then you can click to bulk edit all of them in one go.

Why You Should Consider A Business Plan on WordPress.com

Why would you want to consider a Business Plan on WordPress.com, you might ask.

Well, WordPress.com has come a long way since its early days of offering a simple way to get into blogging without having to worry about how to set up a self-hosted WordPress site.

I know some people use WordPress.com as a stepping stone to a self-hosted site. I did. I wanted to host my own site because I wanted to be free of restrictions. What that meant in those days (this is back in 2007) is that I could put Google Adsense adverts on my blog.

And I was attracted to the idea of getting to grips with how to do it at all – how to set up a database, how to set up the config file, and all the other bits that go to making a web site. It was nerve-wracking at first. I was afraid that everything I did would break the site and leave me lost in a maze.

It didn’t happen, but what I did get into were the twin notions of ‘optimisation’ and ‘security’.

Optimisation

Optimisation includes using keywords that accurately reflect what the site is about. That way, when someone searches in a search engine such as Google or Bing, your site is likely to be tagged because your keywords fit well with what the page on your site is about.

But optimisation also meant making the site fast to load. As search engine optimisation experts said – it didn’t matter how attractive your site looked, or how perfectly apt the keywords were, no one was going to hang around long enough to see your site if it took a long time to load.

That led on to well-coded versus poorly coded themes, to plugins that optimised CSS and Javascript, to database cleanup tools, gzip, expires headers, memory allocation, and more.

Security

Security meant long and complex login passwords, and it meant keeping themes and plugins up to date. I had to destroy one site when it got infected with a virus that I introduced when I tried out a theme from a dubious source.

I tried to clean up the infection but in the end I nuked the site. That meant first extracting the xml file with the text of the blog posts, then deleting the database, the themes, and the plugins, and starting from scratch.

Not something I would recommend, but I learned from it. One thing I learned was to put a security system in place to prevent it happening again.

Oh yes, and to take regular backups. Take more than one, and store them in more than one place.

A WooCommerce store

Later, much later, I built a WooCommerce store. I didn’t have a product in mind, just the desire to build a store with WooCommerce. That’s another thing that has got easier over the years. The setup wizard is good and the explainer videos are excellent.

But it also means that security has got to be nailed down because people (customers) will be signing up, creating accounts, giving their credit card details, and expecting to receive stuff.

And backups becomes a much bigger issue. It’s one thing if your blog posts go missing – sad, but only sad for you. If your customers’ data goes missing, you are going to be responsible for cleaning up the mess.

Some of the front runners for taking payments on WooCommerce stores don’t take any details on your site. For example, Stripe puts a little popup on your site at the payment stage, and the information your customer puts in is encrypted and sent straight to Stripe.

So you would think that takes care of credit card security. Not so. If your site is hacked, the hacker can, for example, execute a ‘man in the middle’ attack. Your customer thinks they are going to Paypal or Stripe, but secretly they are being led off to something that looks like them but really it is giving your customers details to the hacker who has put a lookalike page over the real page.

Truth is, that is easier with off-site Paypal payments than with Stripe, but there are always people out there trying some new trick to get between you and your customers.

That’s just one issue. They are not impossible to overcome – after all, WooCommerce powers an awful lot of stores both big and small – but you have to take steps to keep your site secure.

A Good Web Host

A good web host will complement the hard work you put into making your site load fast. A bad web host will overstretch resources, fail to guard your site from having its resources hogged by another site on the same server. It can even let in a hacker via the level above your site on the server.

A good web host will take regular backups. And they will make extra backups available to you so you can store them somewhere else – a copy on your hard drive and a copy with something like Amazon AWS, for example.

Managed shared hosting is an option, where they take care of optimisation, backups, and security – with a bigger monthly cost.

A virtual private server (VPS) is the next step up, but that requires a lot more technical skill. There are services that will act as a kind of intermediary or control panel to help set up your site on a VPS, but if it is already starting to give you a headache, it’s something to think about further down the line.

It takes a lot of reading to find accurate data on good versus bad web hosts. I generally look at the benchmarks tests from Review Signal as a starting point.

A fast web host on shared hosting with cPanel should be around $20/month. Access to top-notch WordPress themes that show off your store to its best advantage will be, let’s say, $100/year. WooCommerce itself is free, but you might need some extensions to get your store to do exactly what you want. Or maybe not. So that’s $340/year plus maybe another $100 – let’s say $500/year for everything, including off-site backups on Dropbox or BackBlaze.

A Business Plan on WordPress.com

WordPress.com has a business plan that enables you to use your own domain name, use any of their premium themes, add plugins, change the CSS, set up WooCommerce, and set up Google Analytics. It also offers unlimited storage, but I can’t see that being an issue because it would take a huge store with many thousands of products to make storage an issue.

I have a Premium plan here on WordPress.com. It’s one step down from the business plan, which I haven’t tried. I haven’t tried the business plan because we already have our ecommerce store set up on a self-hosted site and I can’t see any reason to change. But if I was starting again I would look at this option because the two big things that are taken care of – optimisation and security.

With a Business Plan on WordPress.com you get unlimited premium and business theme templates, Google analytics support, 200 GB storage, and the ability to remove WordPress.com branding.

You also get a custom domain name, email & Live Chat support as well as Jetpack with all its benefits, including backups.

Because I am in the UK, I see the prices for the Business Plan in pounds sterling. The cost is £36 per month, billed yearly. That’s £430, which at the current rate of exchange is about $560.

So the cost for a WordPress.com Business Plan is about the same as the cost of hosting an Ecommerce site on a commercial host.

And, if you were to ever want to move to a commercial host, the WordPress happiness engineers will help you move the site. And because you keep the same URL/domain name and the same set of tools on the same (almost the same) platform, you don’t lose credibility or business continuity.