Categories
Wordpress

[SOLVED] GoShippo Fails to communicate with WooCommerce

I have GoShippo for all ecommerce shipping needs. It integrates quite nicely with Woocommerce, Amazon, ebay and many other channels. I have used it smoothly for a few years.

Last week, GoShippo stopped importing orders from Woocommerce. I was baffled because no code had been changed on the website to cause this. The goshippo-woocommerce integration had worked so seamlessly without any manual intervention.

I removed the Woocommerce integration, retried it by entering the site URL. Repeatedly, I received the following error message: “Failed to establish connection with WooCommerce store”. I cleared the cache, both at the site and hosting level. No luck. GoShippo which is usually quick to respond to support requests had been un-responsive. 5 days passed by and nothing.

After chatting with the tech support at my hosting company (Kinsta), we realized what the issue could be! We checked the access and error logs on the hosting server side, nothing at all. Turns out it the issue was much simpler than we thought. It was an incorrect SSL installation. If the SSL is not installed correctly, the 3rd party sites will fail to connect to WooCommerce.

Earlier this month, I received a notice that the EV SSL certificate was expiring. After applying for a new SSL certificate and going through the tedious validation process, the certificate was finally issued.

In a rush to install the SSL, I had not installed the full certificate chain. This led to communication problems between GoShippo and Woocomerce. Following the instructions of the tech support at Kinsta (BTW, they have the most knowledgeable and helpful tech support), I removed the previously installed SSL. Following that, I re-installed the SSL certificate. The extra step was to install the .ca-bundle file from the certificate.

There are 2 text areas that need to be filled out for installing a new SSL cert. First is the .key file, second is the .crt file. The .key file pertains to the private key generated earlier (make sure you save this as its required for installation). For the .crt area, you enter the contents of the .crt file. Immediately, below that, you have to enter the contents of the .ca-bundle file.

Voila! That did the magic. When I checked at https://whatsmychaincert.com/, it worked without any errors. BTW, that is a very valuable resource, so make sure you bookmark it. I hope this blog post has helped you. Questions/Comments ? Type away below…

Categories
Wordpress

Woocommerce Algolia: How To Add Price (and other fields) to AutoComplete DropDown

I have often wondered how we can add Price (and possibly other product meta data like Average Rating, etc) to the drop down for Algolia Search As You Type solution. Since the Algolia plugin is not supported by Algolia anymore, this was not easy to find. In this post

Background

This post assumes that you have Algolia search working on your WooCommerce website. This post also assumes that you have your main search bar controlled by Algolia for populating the search results.

Steps

Let us get to the code.

  1. Essentially, I took the information provided at the 2 links below

2. VERY IMPORTANT: After adding the code and clearing caches, make sure to click on “Re-Index” and “Push Settings” for the Product Index (found under WordPress Admin Dashboard->Algolia->AutoComplete). Wait a few minutes for the Products to re-index with Algolia and then try your change.

Code

The code is what you really came here for, so without further ado, I present to you the code that I added to get this working. The gist below shows changes to 2 files:

  • wp-content/themes/child-theme/algolia/autocomplete.php – You have to copy this over from the algolia plugin directory and then make changes
  • wp-content/themes/child-theme/functions.php – You should be familiar with this file. Simply add this snippet to the bottom of your existing functions.php file

https://gist.github.com/amitramani/39923b821fc4aa6d9c8e2fc531ee536b

Even though this example specifically deals with the “Price” field, the same logic can be used for adding any other woocommerce product meta data. My next step was going to be to add Average Rating to the Autocomplete results drop down.

Conclusion

If you have found this useful, leave a comment. This is first of a series of posts related to my coding adventures with customizing Algolia on your website. I truly believe it is a fantastic search solution. We are thankful to the WebDevStudios team for taking it over. Please provide your feedback/questions and I will try my best to respond.

Categories
Wordpress

Woocommerce Visual Product Configurator CDN Conflict

The Visual Product Configurator Plugin allows you to offer fully customized products to your customers. Think earphones whose earpieces can be colored, think T-Shirts with different colors, think Sunglasses etc.

The plugin works quite well on its own when I first tested it on localhost. On the Admin side, you build Product Builder Configurators. These configurators contain several different options for the various components of the product. On the front end, the user selects from the “swatches” and their custom creations come to life.

It all functions well without a CDN, Once the CDN is enabled, the plugin’s functionality breaks. Note that the error occurs when the user attempts to “Add To Cart” their customized product.

JS Error

The JS Error as shown in the Console is:

Uncaught (in promise) DOMException: Failed to execute ‘toDataURL’ on ‘HTMLCanvasElement’: Tainted canvases may not be exported.
at https://sitepath/wp-content/plugins/Visual-products-configurator/public/js/vpc-public.js?ver=5.6.6:261:30
at new Promise ()
at getCanvasBase64image (https://sitepath/wp-content/plugins/Visual-products-configurator/public/js/vpc-public.js?ver=5.6.6:259:10)
at https://sitepath/wp-content/plugins/Visual-products-configurator/public/js/vpc-public.js?ver=5.6.6:366:31

Notably, once the CDN is disabled, this error disappears. The “Add To Cart” functionality is restored.

Response from Plugin Authors

I have reached out to the plugin author. Their response is that they are aware of this issue and are actively working on it. They expect to fix it in the next release of the plugin, but there is no timeline for the fixed version.

If anyone else has had a similar issue, can you please chime in?

Categories
Wordpress

[SOLVED] GSC reports “availability” error for Products Schema when Product Feed Pro for WooCommerce is enabled

A few month ago, I started a Google Shopping Campaign in Adwords. For this kind of campaign, you need to have a Google Product Feed setup (via Google Merchant Center). The products from your catalog are compiled into an XML feed (or CSV or other formats) that are then uploaded automatically into your Google Merchant Center Acount.

Google Adwords-Google Merchant Center-Google Search Console

Long story short, the products are then shown in Google Search Console as well. Here is where the smarts come in: GSC will actually report to you all details about your products. On a very high level, it tells you how many products are active etc. It also shows you which products are NOT being shown on your ads because of some missing/erroneous fields.

For me, a lot of the product were showing that the “availability” field was missing. This field tells Google if the product is In Stock/Out Of Stock. By default, if something is Out Of Stock, it will not be shown.

Digging deeper, I found that this was happening as a direct consequence of some specialized code in the Product Feed Pro plugin of Woocommerce. This is an excellent plugin. There is not another plugin that is as powerful and fast for producing Product Feeds.

There is a code conflict between WooCommerce and Product Feed Pro plugin that causes this error. Read this post related to this conflict.

How Did I Solve This Issue?

A specific filter hook from woocommerce called the ” woocommerce_structured_data_product_offer ” that allows you to overwrite the “availability” filter.

I just removed the filter that was being used by the Product Feed Pro plugin. So, the Product Feed Pro plugin code that was omitting the “availability” field will not longer be executing.

remove_filter( 'woocommerce_structured_data_product_offer', 'woosea_product_delete_meta_price' );

Check the plugin for updates

The author of the “Product Feed Pro” plugin may very well have updated the code to address this issue. Please note that my one liner fix is just that, a “fix”. It is recommended that you check the latest version of the plugin.

Categories
Wordpress

Adwords Script for generating a Negative Keywords List

During the maintenance of my Shopping campaign in adwords, I realized I was spending a lot of time just weeding out the search terms that were not producing any conversions. These useless terms were dragging down the overall campaign performance. As a result, the campaign budget was being exhausted earlier.

Given my new found zeal for Adwords Scripts, I embarked on a journey to automate the process. Below the script is presented. I hope you will find it useful.

Script Variables

    null
  • IMPRESSIONS_THRESHOLD = 300;
  • CAMPAIGN_NAME = “Shopping”;
  • NEGATIVE_KW_LIST = “Automated-NegativeKWL-Shopping”;
  • AVERAGE_CPC_THRESHOLD = 1; // $1
  • CTR_THRESHOLD = 8; // 0.5%
  • COST_THRESHOLD = 1; // $4
  • CONVERSIONS_THRESHOLD = 1; // 1
  • MICRO_AMOUNT_MULTIPLIER = 1;
  • SPREADSHEET_URL = ‘https://docs.google.com/spreadsheets/d/1rLuHlBlc5IHo_hT8TZWCFUTz8fLO1CGHfcdSvXyiYwI/’;
  • SHEET_NAME = ‘NegativeKWListShopping’;

You can change these variables to tweak your performance criteria. For example, if you want to exclude Search Terms with less than 2 conversions and Impressions atleast 600, just change the corresponding parameters. In this case, you will set the CONVERSIONS_THRESHOLD to 2 and IMPRESSIONS_THRESHOLD

Adwords Script

Here is the script. Simply copy and paste into your Adwords Scripts.

Conclusion

I hope that someone finds this script useful. It has definitely been of value to me in making my workflow efficiently. In my case, this was specifically applied to the shopping campaign, particularly because there are no set keywords in Shopping ads. However, the same concept can be applied to any other Search campaign. Let me know your thoughts. This is my first attempt at publishing an Adwords script.