Category: Blog

  • Block Themes 101 – Part 1: What Is a Block Theme?

    After giving my recent talk about building meganav menus in WordPress block themes at WordCamp Athens 2025, I came away with a clear impression: a lot of WordPress developers are still hesitant to dive into block themes. And honestly, I get it – there’s a lot of new terminology, new workflows and new ways of…

  • How to Prevent Broken Links in WordPress with the Wayback Machine Link Fixer Plugin

    Link rot – when external URLs in your content stop working – is a hidden risk for blogs, whitepapers, and case studies. Broken links frustrate readers, reduce trust, and can negatively impact SEO. Fortunately, there’s an easy way to prevent broken links: the Internet Archive Wayback Machine Link Fixer plugin. What the Plugin Does This…

  • WordPress Debugging: When an Elementor Filter Issue Isn’t About the Filter

    WordPress Debugging: When an Elementor Filter Issue Isn’t About the Filter

    When a filter breaks for no obvious reason A client came to us with a mysterious WordPress debugging Elementor filter issue. Their custom post filter looked fine, but it wasn’t sorting results correctly. They’d already tried the basics – clearing caches, regenerating permalinks, disabling plugins – but the order still refused to behave. The investigation…

  • WordPress Maintenance and Security: Why Two-Factor and Role Control Aren’t Optional Anymore

    WordPress Maintenance and Security: Why Two-Factor and Role Control Aren’t Optional Anymore

    WordPress often gets an unfair reputation when it comes to security. The truth? When it’s built and maintained properly, it’s one of the most secure and flexible CMS platforms available. The real problems usually come from how it’s managed day to day, and that’s where things can quickly go wrong. That’s why WordPress maintenance and…

  • Debugging a WooCommerce Discount Loop with Filter Hooks

    We were recently brought into a project (under NDA, so no names!) to fix a WooCommerce conditional discount plugin issue that had become a major source of chaos. The site used the Conditional Discounts for WooCommerce plugin to offer discounts when a customer’s basket exceeded a certain value. After a WooCommerce update, something strange started…

  • NOT ALL HOSTING IS EQUAL

    NOT ALL HOSTING IS EQUAL

    Our hosting package comes straight from WP Engine. We chose WP Engine hosting because we found their reputation for being an awesome specialist WordPress hosting provider to be entirely justified.

  • HTML5 quote attribution

    HTML5 quote attribution

    I often come across the situation when working on a client site where I need to mark up a soundbite. Usually a client testimonial or similar in some kind of business site. The problem I find is that these sorts of testimonial quotes all come complete with their own source references and I’ve struggled to…

  • CSS quotes and the content property

    CSS quotes and the content property

    If there’s one thing I enjoy more than learning new stuff, it is learning new stuff about something that I thought I had boxed off already. The CSS2 ‘quotes’ property pretty much fits that bill. Here’s the rub if (like me) this is a property that you’re unfamiliar with: Major browsers will prepend and append…

  • Taxonomy Term count hardcoded into WPDB

    Taxonomy Term count hardcoded into WPDB

    Who knew, eh? Not me. I’ve been chasing the rabbit for two hours.