Dave Hilditch

Dave has been programming since 6 years old and has been developing Wordpress plugins, themes and websites since 2010. In the past he built the browse view technology for Skyscanner and now he helps clients with interesting website challenges. He is always on at least one of his computers when he's awake, so get in touch and he'll get right back to you.


  1. Eric
    November 21, 2014 @ 7:01 pm

    Nice post, Dave! Very helpful. I will be pointing many folks to this article. If you write any more tips and tricks regarding optimizing WordPress and WooCommerce, let me know so I can send our members to those articles, too. 🙂


  2. Eric
    November 21, 2014 @ 7:08 pm

    One last thing to add regarding W3 Total Cache, do not enable Object Cache. That bypasses the WordPress Transients API which the Datafeedr plugins rely on for storing data to reduce the number of API requests required to build and update your products.

    • Dave Hilditch
      November 22, 2014 @ 6:53 pm

      Thanks for that Eric. I’ve found problems in the past when using W3 Total Cache object cache or database cache. My recommendation for anyone looking for maximum performance would be to use W3 Total Cache for *page caching* and install the Cloudflare add on for W3 Total Cache and use Cloudflare to handle JS/CSS minification, compression and browser caching settings.

  3. bryantech
    May 13, 2015 @ 3:32 pm

    when i run this SQL command.

    alter table wp_postmeta add index woocommercespeed1 (post_id, meta_key, meta_value);

    I get this error


    SQL query:

    alter table qmdz_postmeta add index woocommercespeed1 (post_id, meta_key, meta_value)

    MySQL said: Documentation
    #1170 – BLOB/TEXT column ‘meta_value’ used in key specification without a key length

    Can you help?

    • Dave Hilditch
      May 13, 2015 @ 3:48 pm

      Hi – this can happen.

      Change the command to:

      alter table wp_postmeta add index woocommercespeed1 (post_id, meta_key, meta_value(20));

      • Louisa
        August 22, 2016 @ 12:49 am

        Tried this, but then I get this error:
        Error Code: 1071
        Specified key was too long; max key length is 1000 bytes

        I even tried setting it to (1) instead of (20) – still get the same error.

        Any ideas how to fix that?


  4. Dave
    May 23, 2015 @ 11:04 pm

    Hi Dave,

    Do you still offer optimization services?


    • Dave Hilditch
      May 27, 2015 @ 3:06 pm

      Yes we do – use the contact page or the request a quote page to get in touch for pricing. Please provide as much info as you can.

  5. mike ozman
    December 29, 2015 @ 1:50 pm

    my site s hosted on vps server and wpallimport takes for ever to process 50 k records = 5k products . it takes about 20 hrs to process this little . thanks for your optimization service in advance. take care and waiting your reply

    • Dave Hilditch
      January 5, 2016 @ 3:47 pm

      Hi – if you have 50k records, 5k products this presumably means an average of 10 variations per product?

      Do you have a lot of metadata for the products too?

      How frequently are you processing the 50k records? Are you on the mercury stack or plain old Apache?

  6. Yasin
    November 28, 2016 @ 10:21 pm

    Hi, I have a problem with woocommerce. I need about 3500-4000 product categories and admin products menu is very very slowly then. And I am testing now without plugin, themes or codes. And I am now about 2000 categories and again admin products menu slowly. And when I opened about 4000 categories I know admin products menu will be open very very slowly.

    How can improve product categories queries ??? Really I need that very much ! I try to do a new multivendor website with WC vendors. But I can not still do it because of slow queries problem.

    I hope you have an good idea !
    Thank you so much!

    • Dave Hilditch
      February 19, 2017 @ 6:03 pm

      Get my Scalability Pro plugin – with this many categories you will DEFINITELY need it – table scans are occuring and you can’t scale with table scans – Scalability Pro fixes this

  7. George van Room
    March 1, 2017 @ 9:32 pm

    Hi Dave,

    Perfect article! Very nice read.

    I have a problem with the price filter on my website and I am not sure if I need to scale up. I only have about 2000+ products in the shop. I will try using your analysis tools and see if this can help me. Thanks!

    I have turned the price filter off now because using this filter will cause my website to go down.

    When I look into PHPMyAdmin I can see the following notification which is holding up all other querys:

    SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts LEFT JOIN wp_postmeta ON ( wp_posts.ID = wp_p


    • Dave Hilditch
      March 1, 2017 @ 11:22 pm

      That’ll be doing a count of products – you should check out my Scalability Pro plugin – it has fast replacement woocommerce widgets that will drop in and inherit your existing styling. And they’re FAST!

Leave a Reply