Email Text Customizer for WooCommerce

UPDATE

This plugin has been closed as of May 27, 2022 and is not available for download. This closure is permanent. Reason: Author Request.

This plugin was As anyone who has worked with WooCommerce knows, the text in the system emails don’t suit every circumstance of every seller. The email text customiser for WooCommerce plugin enables you to rewrite text. There are other ways, but they are more technically challenging, involving language strings and changing template files.

The WordPress repository page for the plugin says that the plugin hasn’t been updated for the past several versions of WooCommerce. The author is Maeve Lander who works at Automattic with the WordPress.com VIP team, helping clients run WordPress at enterprise scale, as you can read on her site.

Note the spelling of customizer, which I have retained because it is the actual name in the WordPress repository. In my native British English is would be spelled customiser, with an s rather than a z.

Restrict Shipping Destinations For Some Products Only

To restrict shipping destinations in WooCommerce specify countries you ship to. Do not set a shipping option for countries you don’t ship to.

But beware how WooCommerce behaves at checkout when you mix products that have different shipping restrictions.

Let’s suppose you sell some products to a lot of countries and some products only with your home country.

You add them to your catalogue and you set up shipping costs for for your home country. And because you are not going to ship outside your home country, you do not set up shipping costs for that item for any other countries.

You add that item to the basket and you say you are a customer in another country. The checkout will flag that it does not have a shipping option for that country. That’s expected behaviour and it’s what we would want.

But now you also add a product that you do ship to many countries to the basket. WooCommerce will override the rule about shipping destinations and charge shipping based on the products that you do ship. That is definitely not what you want.

The solution, is to use the WooCommerce Advanced Shipping Packages extension. It’s not expensive at $49 per year plus tax.

List WooCommerce Products In A Table

By default, WooCommerce is set up to list products in a grid. You can choose the number of thumbnails across the page and the number of rows of products. And you can add the title of the product, the price, and a Buy button below the thumbnail. And there is nothing wrong with that layout. But for some stores it would be nice to have the products in a table, vertically.

That’s what the Woo Product Tables plugin does, It is in the WordPress Repository and it enables you to display your products as a list. A column of thumbnails appears on the left, then in columns across the page you see the title, then the summary, the price, and the Buy button for your selected products.

I like the look of it a lot, particularly for displaying products in a table where a customer might buy several products, choosing right from the thumbnails. For that you need the pro version, which is $49 for one site. Another reason to like the plugin is that the display is responsive. It’s food for thought for the right kind of products.

The pro version is marketed by WooCommerce as Product Table for WooCommerce, and you have to install the free version and then the paid version on top of it.

WooCommerce Blocks – What Is a Stable Block

WooCommerce Blocks is a plugin that adds functionality to the WooCommerce plugin. So far so good. And the specific functions it adds are listed (as of the version 3.1.0 current today) as follows:

Featured Product Block
Featured Category Block
Hand-Picked products Block
Best Selling Products Block
Top Rated Products Block
Newest Products Block
On Sale Products Block
Products by Category Block
Products by Tag Block
Products by Attribute Block
Product Categories List Block
Reviews by Product
Reviews by Category
All Reviews
Product Search
All Products
Filter Products by Price
Filter Products by Attribute
Active Product Filters
Cart
Checkout

The thing is that the WooCommerce plugin itself is being updated all the time, including adding what are called ‘stable blocks’ from WooCommerce Blocks into WooCommerce.

So what are the ‘stable blocks’? And of course the answer is that the list is changing all the time as more blocks are declared stable and incorporated into WooCommerce.

But – as of today, if you go to this WooCommerce.com page you will see:

In WooCommerce 3.6, WooCommerce Product Blocks build upon the power of the block editor, allowing you to easily feature products on posts and pages via eight new blocks:

  • Featured products: Select and display a single product in a new “high-impact” format. Control text alignment, show or hide the price and description, add a color overlay, change the button call to action, specify a custom height, or override the product photograph.
  • Individual, hand-picked products: Search for and display products of your choice in a grid.
  • Bestsellers/top-rated: Display a grid of your best-selling products, filterable by category.
  • Newest products: Display a grid of your newest products, filterable by category.
  • Sale products: Display a grid of on sale products, filterable by category.
  • Products with specific attributes or terms: Display any products that have been assigned multiple or specific attribute terms.

So if you are only using the blocks that are in WooCommerce itself, you could deactivate and delete the WooCommerce Blocks plugin safely, as I just did.

AutomateWoo – Things To Know

AutomateWoo is a plugin for WooCommerce. It allows shop owners to email customers automatically. For example, it can be set up to email customers who buy specific products and ask for a review. Or it can suggest other products they might like, or send them a discount code.

I set up AutomateWoo a day or two ago and see that I can set triggers, rules, and actions. Rules are not an essential part of the workflow, and one can simply set up triggers and actions.

An example will explain this.

I can set up an AutomateWoo workflow to trigger on ‘order complete’. And I can set a rule that the workflow will only trigger if the order is the customer’s first purchase. And I can set an action – an email with a money-off coupon that will be sent on Tuesday at 11:00AM with a delay of 14 days.

In that case the email will go on the first Tuesday after 14 days from the purchase completion to a customer who has purchased their first product.

One thing to note. AutomateWoo workflows run only for those orders that are placed after the workflow is created, not for past orders.

The workflow will run, that is it will be triggered, as soon as a new order is placed. But the action will not run until it reaches the scheduled time, if one is set. Until then the action will stay in the queue. The default if a delay is not set, is for the action to be done immediately. Plainly, one doesn’t want to be asking for a review two seconds after notifying a customer that the product is on its way to them.

Guests versus Accounts

AutomateWoo distinguishes between guests and those who created an account. Only when ‘is transactional’ is enabled in the workflow, will AutomateWoo send emails to guests as well as to those who created an account.

Imagine one is going to send a discount to customers who fit a profile such as ‘has completed first purchase’. Then it is appropriate to enable ‘is transactional’ in the workflow. That’s because everyone who purchases deserves the offer of a discount.

Setting Coupons To Private

The documentation for AutomateWoo in this page states as follows. When you create a coupon (in WooCommerce/coupons) that you intend to use in AutomateWoo, you should set the visibility of the coupon to Private. I thought I knew why that might be, but I asked Support.

Support: That’s a good question. When a coupon is set to ‘Private’, it can’t otherwise be used. So in the context of the workflow, you want it to be private so that it can only be used in this workflow, and not during an otherwise normal checkout by a customer.

Me: Let me understand what personalised coupons are. What I mean is, are they personalised in the sense that they are tied to that workflow because the coupon is set to ‘private’? Or is there more to it so that the coupons are individual – so customer ‘A’ gets coupon zx20-A and customer ‘B’ gets zx20-B, etc?

Support: The latter part is spot on, yes. You don’t want anyone to use your “zx20-” coupon, but you’ll let individuals use “zx20-A” etc.

Me: So when I would look in AutomatWoo coupons when they are used, would I see the name of that individual coupon? And if I create zx20, does the system do all the tagging to create the coupon that is tied to each person who fits the workflow?

Support: You’re correct on both counts. The AutomateWoo workflow will, well, automate the creation of the coupon, tie them to the relevant customer, and add them to your list of coupons along with your normal coupons.

Why It Is A Bad Idea To Mess With WooCommerce Hierarchy

I asked for some SEO advice from someone who was/is in the business of offering SEO advice. He suggested removing some parts of the URL structure to make the URLs more Google-friendly. They way this would do that, so he said, was to shorten the steps that Google would’ve to crawl to find a product.

So here’s a piece of advice for anyone in a similar position. Go do your own research before you say yes. I went checking mostly because I thought there had to be a penalty to pay with all the 301 redirects, but also because changing the URL structure so fundamentally rang alarm bells.

But I was surprised when it took about two seconds to find a warning article about changing the structure. And that warning article was right there on WooCommerce’s own pages.

Here’s the link to the article Removing product, product-category, or shop from the URLs if you want to read it in full.

In sum, the article says:

Removing /product/, /product-category/, or /shop/ from the URLs is not advisable due to the way WordPress resolves its URLs. It uses the product-category (or any other text for that matter) base of an URL to detect that it is an URL leading to a product category.

There are SEO plugins that allow you to remove this base, but that can lead to a number of problems with performance and duplicate URLs.

I thought maybe, just maybe, the article was old advice and no longer relevant. So I asked Support at WooCommerce, and Support confirmed that the article is current advice. That was about March of this year.

I went back to the SEO and he checked with his tech person in his firm and then came back and told me it was a bad idea. What took the biscuit was that he didn’t put his hand up to his mistake. Instead he tried to tell me it was a bad idea as though it was his idea. He fed back to me almost word for word what I had raised with him.

Unsurprisingly, that was the end of relationship.

The bottom line is that the problem was avoided and the URL structure remains intact. I was lucky, and avoided the problem by the skin of my teeth, as it were. I might well not have listened to the alarm bells in my head because they often don’t ring very loudly, and because I had advice from a professional SEO, who must be right, right? Wrong.