Faster Datafeedr Product Sets
Free!
If you have the Fast Wordpress Stack and the Super Speedy Plugins Performance Plugin, then you’ll want Faster Datafeedr Product Sets to speed up the product loading to your site. The types of performance gains you’ll get vary depending on your hosting, but something like a 10x speed boost is what you can expect….
- Makes Datafeedr import products 10x – 30x faster
- Uses fewer server resource, so brings your server back to life if you’re running a lot of imports/updates
- Free!
Note: This plugin does not include the very latest revision of 1.2.10 from the official Datafeedr Product Sets plugin – so if you install this, WordPress will keep telling you to upgrade the Datafeedr Product Sets plugin. If you upgrade, you will lose the speed boosts. I will merge in v1.2.1 changes ASAP to stop this message.
If you have the Fast Wordpress Stack and the Super Speedy Plugins Performance Plugin Pack, you’ll be keen to load up millions of products to your site. One problem you are probably encountering is your import speed is not that fast however. The Super Speedy Plugins Performance Plugin adds a useful index to speed up the type of wp_postmeta queries that import jobs perform in order to run their imports (they check for existing of products, existence of values etc) but if you’re using Datafeedr, more speed can be gained using this slightly altered plugin.
The types of performance gains you’ll get vary depending on your hosting, but something like a 10x speed boost is what you can expect.
Please feed back in the reviews what performance boosts you see.
Installation
Download the zip, extract the files, and upload them using SFTP/Filezilla and overwrite your existing datafeedr-product-sets folder (/wp-content/plugins/datafeedr-product-sets/)
Or:
Deactivate and delete your existing Datafeedr product sets plugin, then use Plugins->Add New->Upload Plugin and upload the zip file.
The plugin behaves in the same way to the official Datafeedr product sets plugin, just faster.
Overwriting the files will not delete your products or product sets! Your products and product sets are stored in the database. Still – follow best practices and run a backup before any new plugin. (I recommend UpdraftPlus)
Technical Details
When I was building out my massive demo site, the normal Datafeedr import speed was just too slow for me. I really can’t stand slowness, so I dived into the code to figure out where the performance drains were coming from. I found a few areas such as:
- A slow query which included functionality for when there are more than one type of product sets – since most people use it in conjunction with WooCommerce, I split this into two queries, one fast one for when we know there is only 1 type of product set, and then the original slower one for full compatibility
- A slow query to check for existing products
- A loop where no loop required (array_search in integration.php)
- A SELECT * where only SELECT ID, post_type was required
- An index added to post_meta since datafeedr checks for existence of values. wp_postmeta using a TEXT/BLOB, but you can still create an index on these if you specify a max limit.
- Not quite correct placement of the defer_counting function – this defer_counting function is useful for imports because it lets you count everything after your bulk import rather than keep counting after each individual item is added. Each count operation takes the same amount of time, so it’s better to do it once if possible.
You can view the differences here: https://bitbucket.org/davehilditch/faster-datafeedr-product-sets/commits/4f99af79819bbb75610f197bc7086cb69db12467
Requirements
Obviously you should already be a Datafeedr customer and have the 3 plugins – API, Product Sets and WooCommerce Importer.
Additionally, you should have a REAL CRON job set up. If you’re still using WP CRON, you should stop doing that and set up a real cron job. Here’s a real cron setup guide on my other site.
Known Issues
This plugin does not have the latest 1.2.10 commit from the official version.
Support
I’ve made a public Q & A category for this plugin.
Important Notes
The plugin on this page is technically version 1.2.9 whereas the official Datafeedr plugin is already up to 1.2.10 – so if you install this faster version, WordPress will keep telling you that an upgrade is required. If you upgrade, you will lose the performance boosts.
This plugin has been altered by me, so if you have any problems with it you should bother me and not Eric about it, although bearing in mind it’s free, support is through public Q & A only. Eric is working on integrating these performance boosts into his core. He has rigourous testing procedures, so I’m not sure when that will be.
This plugin is in use by me and about 10 of my clients, so it’s stable, but definitely you’re using it at your own risk.
Please report back in a review on this page what performance difference you experience so we can gather stats from various sized installations.
JoAnne –
Does this work with the current datafeedr plugin?
Dave H. –
It replaces the Datafeedr API but I have not used this myself for a while now. I’ll get back to this plugin in a few months once my other plugins have all received their updates.
In the meantime, you can get a decent speed boost for imports using Scalability Pro, or you can try this free plugin but bear in mind it REPLACES the plugin of the same name from Datafeedr. There are not so many changes they have made since I coded this plugin so you are not missing out on much if you use this one but you do get far faster speed. You can check their changelog for the past 2 years to see what they added to their updates.
Erik D. (verified owner) –
Great plugin. i used it before. But it dont work anymore. Will it ever be updatet
JP –
Will this be compatible with Datafeedr again any time soon? I haven’t actually used it but Datafeedr Product Sets is on Version 1.2.30.
Dave Hilditch (verified owner) –
It is compatible, but it does not include the latest edits. You can check their changelog to see the missing updates, but I don’t think they’re that major yet.
I’ll find time soon to merge their updates into this speed boosted one.
Lali O. –
This is the best plugin. It realy help me improt around 200 000 items every day on my domains! Dave is really great!
Bobette K. (verified owner) –
If there were more stars, this plug-in would get them. My product set updates were taking 10-15 minutes to complete. Now, less than a minute. I’m HUGELY excited.