<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ABCode Blog</title>
    <link>https://abcode.co.uk/blog/</link>
    <atom:link href="https://abcode.co.uk/blog/feed.xml" rel="self" type="application/rss+xml" />
    <description>Practical how-to guides, fixes and news across WordPress, Laravel and the wider web from ABCode.</description>
    <language>en-GB</language>
    <item>
      <title>React 19 is not in WordPress 7.1. Here is why</title>
      <link>https://abcode.co.uk/blog/wordpress-7-1-react-19/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-7-1-react-19/</guid>
      <description>WordPress 7.1 is expected on 19 August, and the React 19 upgrade everyone was warned about is not in it. What is coming, who is at risk, and how to prepare.</description>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Setting up global colours and fonts in Elementor</title>
      <link>https://abcode.co.uk/blog/elementor-global-colours-and-fonts/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/elementor-global-colours-and-fonts/</guid>
      <description>Set up Elementor global colours and fonts so a rebrand takes minutes, not days: Site Settings, Theme Style defaults and naming colours by role.</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI tools are for professionals, not instead of them</title>
      <link>https://abcode.co.uk/blog/ai-tools-in-a-web-development-business/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/ai-tools-in-a-web-development-business/</guid>
      <description>AI tools are professional tools, not a shortcut past the profession. Where they genuinely save time, where they cost it, and what that means for your project.</description>
      <pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Elementor 4 and the Atomic Editor, explained</title>
      <link>https://abcode.co.uk/blog/elementor-4-atomic-editor/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/elementor-4-atomic-editor/</guid>
      <description>What the Atomic Editor changes, what happens to your existing pages when you update, and whether it is worth switching yet. A plain, calm explanation.</description>
      <pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>When a WordPress cache will not clear</title>
      <link>https://abcode.co.uk/blog/wordpress-cache-not-clearing/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-cache-not-clearing/</guid>
      <description>Cleared the cache and the old page is still there? Here is how to find which layer is serving the stale copy, from browser to CDN to server, and clear it.</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why Elementor is slow, and what actually fixes it</title>
      <link>https://abcode.co.uk/blog/elementor-slow-how-to-speed-it-up/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/elementor-slow-how-to-speed-it-up/</guid>
      <description>Elementor slow to edit, or slow for visitors? They are different problems with different fixes. Here is how to tell them apart and what genuinely helps.</description>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Setting up the ABCode StackCache add-on on 20i</title>
      <link>https://abcode.co.uk/blog/abcode-stackcache-addon-guide/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/abcode-stackcache-addon-guide/</guid>
      <description>How to install and use the ABCode StackCache add-on on 20i hosting, so publishing a post clears your homepage, archives and feed as well as the post.</description>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Elementor form not sending emails? Here is why</title>
      <link>https://abcode.co.uk/blog/elementor-form-not-sending-emails/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/elementor-form-not-sending-emails/</guid>
      <description>Your Elementor form says it sent, but nothing arrives. Why WordPress email fails silently, the form settings to check first, and the SMTP fix that ends it.</description>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI is in WordPress core now. What that actually means</title>
      <link>https://abcode.co.uk/blog/ai-in-wordpress-core/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/ai-in-wordpress-core/</guid>
      <description>WordPress 7.0 put an AI Client, a Connectors hub and the Abilities API into core. What those actually do, what they do not, and whether you need to care.</description>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Elementor containers vs sections, and when to switch</title>
      <link>https://abcode.co.uk/blog/elementor-containers-vs-sections/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/elementor-containers-vs-sections/</guid>
      <description>How Elementor's flexbox containers differ from the old section and column model, what the converter does to your styling, and when not to switch a page.</description>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>WordPress 7.0 landed. What it means for your site</title>
      <link>https://abcode.co.uk/blog/wordpress-7-what-it-means-for-your-site/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-7-what-it-means-for-your-site/</guid>
      <description>WordPress 7.0 Armstrong shipped in May with an AI client in core, a redesigned admin and one big feature cut days before launch. What you actually need to do.</description>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Building a custom Elementor widget</title>
      <link>https://abcode.co.uk/blog/custom-elementor-widget/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/custom-elementor-widget/</guid>
      <description>Build a custom Elementor widget properly: the plugin scaffold, Widget_Base, controls, a style tab, safe rendering, and when a widget beats a dynamic tag.</description>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Elementor editor not loading? Work through this</title>
      <link>https://abcode.co.uk/blog/elementor-editor-not-loading/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/elementor-editor-not-loading/</guid>
      <description>Elementor editor stuck on the grey loading screen? Work through the browser, PHP limits, Safe Mode, plugin conflicts and firewall rules, fastest first.</description>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to set up ABCode Cache Warmer</title>
      <link>https://abcode.co.uk/blog/abcode-cache-warmer-guide/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/abcode-cache-warmer-guide/</guid>
      <description>A setup walkthrough for ABCode Cache Warmer: checking you have a page cache, choosing what to warm, reading the per-URL results, and scheduling it safely.</description>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Cache preloading in WordPress, and when it helps</title>
      <link>https://abcode.co.uk/blog/wordpress-cache-preloading/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-cache-preloading/</guid>
      <description>What cache preloading actually does in WordPress, how to warm a site by hand from your sitemap, and the sites where preloading is a waste of server resources.</description>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to use ABCode View As Role Switcher</title>
      <link>https://abcode.co.uk/blog/abcode-view-as-role-switcher-guide/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/abcode-view-as-role-switcher-guide/</guid>
      <description>A step by step guide to ABCode View As Role Switcher: install it, pick which roles appear in the toolbar, and view your front end as any role sees it.</description>
      <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Checking what your users actually see</title>
      <link>https://abcode.co.uk/blog/test-wordpress-site-as-different-user/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/test-wordpress-site-as-different-user/</guid>
      <description>How to test a WordPress site as a different user: why private windows mislead you, how to use test accounts safely, and how to spot hidden versus blocked.</description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A WordPress security hardening checklist</title>
      <link>https://abcode.co.uk/blog/wordpress-security-hardening-checklist/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-security-hardening-checklist/</guid>
      <description>A WordPress security checklist ordered by what actually stops attacks: updates, 2FA, file permissions, wp-config, backups, and the theatre worth skipping.</description>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to use ABCode Database Exporter</title>
      <link>https://abcode.co.uk/blog/abcode-database-exporter-guide/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/abcode-database-exporter-guide/</guid>
      <description>A walkthrough of ABCode Database Exporter: installing it, picking tables, choosing SQL, CSV or schema, gzip, and importing the file with phpMyAdmin or WP-CLI.</description>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Exporting single WordPress database tables</title>
      <link>https://abcode.co.uk/blog/export-wordpress-database-tables/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/export-wordpress-database-tables/</guid>
      <description>Need one WordPress table, not the whole database? Exporting wp_posts, postmeta or a plugin table with phpMyAdmin, mysqldump or WP-CLI, without breaking it.</description>
      <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>WP-CLI commands worth knowing</title>
      <link>https://abcode.co.uk/blog/wp-cli-commands-worth-knowing/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wp-cli-commands-worth-knowing/</guid>
      <description>The WP-CLI commands I actually use every day: updates, user passwords, safe search-replace, database exports, cron and cache flushing over SSH.</description>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>WordPress user roles and capabilities, explained</title>
      <link>https://abcode.co.uk/blog/wordpress-user-roles-and-capabilities/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-user-roles-and-capabilities/</guid>
      <description>What each WordPress user role can genuinely do, how capabilities are checked in code, and how to add a custom role properly without breaking your admin.</description>
      <pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Speeding up WordPress and fixing Core Web Vitals</title>
      <link>https://abcode.co.uk/blog/speed-up-wordpress-core-web-vitals/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/speed-up-wordpress-core-web-vitals/</guid>
      <description>How to measure Core Web Vitals properly on WordPress, what LCP, CLS and INP actually mean, and which speed fixes are worth doing, in the right order.</description>
      <pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>New post not showing on your homepage? It's the cache</title>
      <link>https://abcode.co.uk/blog/new-post-not-showing-on-homepage/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/new-post-not-showing-on-homepage/</guid>
      <description>Published a post but the homepage still shows the old list? Here is how to confirm it is your cache, rule out the other causes, and purge the right layer.</description>
      <pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Building a custom WordPress login page</title>
      <link>https://abcode.co.uk/blog/custom-wordpress-login-page/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/custom-wordpress-login-page/</guid>
      <description>Brand the WordPress login page with hooks, or build a fully custom one with wp_login_form. Redirects, safe error messages and login security done right.</description>
      <pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why the first visitor after a cache clear waits</title>
      <link>https://abcode.co.uk/blog/why-your-first-page-load-is-slow/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/why-your-first-page-load-is-slow/</guid>
      <description>Your WordPress site feels fast until someone reports it being slow and you cannot reproduce it. Here is how to prove it is a cold cache, and how to fix it.</description>
      <pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Registering a custom post type without a plugin</title>
      <link>https://abcode.co.uk/blog/register-a-custom-post-type-without-a-plugin/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/register-a-custom-post-type-without-a-plugin/</guid>
      <description>Register a custom post type in WordPress with code, not a plugin generator. Labels, REST support, taxonomies and the rewrite flush that stops 404s.</description>
      <pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Turning off WordPress comments for good</title>
      <link>https://abcode.co.uk/blog/disable-wordpress-comments/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/disable-wordpress-comments/</guid>
      <description>Comments off everywhere: future posts, existing posts, pages, media attachments, the admin menu and pingbacks, with a plugin-free code route in full.</description>
      <pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>301 redirects in WordPress: every method that works</title>
      <link>https://abcode.co.uk/blog/wordpress-301-redirects/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-301-redirects/</guid>
      <description>301 redirects done properly: which status code to use, how to do it in a plugin, .htaccess or nginx, and how to test it without trusting your browser.</description>
      <pubDate>Tue, 06 May 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Backing up a WordPress database properly</title>
      <link>https://abcode.co.uk/blog/back-up-a-wordpress-database/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/back-up-a-wordpress-database/</guid>
      <description>How to back up a WordPress database you can actually restore: phpMyAdmin export settings, the mysqldump flags that matter, wp db export, and testing it.</description>
      <pubDate>Mon, 14 Apr 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Fixing error establishing a database connection</title>
      <link>https://abcode.co.uk/blog/error-establishing-a-database-connection/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/error-establishing-a-database-connection/</guid>
      <description>WordPress cannot reach its database. How to check the credentials, the DB_HOST value and the server itself, and why repairing tables comes last, not first.</description>
      <pubDate>Tue, 11 Mar 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to increase the WordPress maximum upload size</title>
      <link>https://abcode.co.uk/blog/increase-wordpress-maximum-upload-file-size/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/increase-wordpress-maximum-upload-file-size/</guid>
      <description>Your WordPress upload limit is set by PHP, not WordPress. Here is every route to raise the maximum upload file size, and the one I try first.</description>
      <pubDate>Thu, 27 Feb 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>WordPress white screen of death: causes and fixes</title>
      <link>https://abcode.co.uk/blog/wordpress-white-screen-of-death/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-white-screen-of-death/</guid>
      <description>A blank white WordPress page means a PHP fatal error. How to see the real error, disable the guilty plugin without admin access, and get the site back.</description>
      <pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>WordPress debug mode and reading the error logs</title>
      <link>https://abcode.co.uk/blog/wordpress-debug-mode-and-error-logs/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/wordpress-debug-mode-and-error-logs/</guid>
      <description>Turn on WP_DEBUG safely on a live site, send errors to a log file nobody can read, and work out which plugin the stack trace is actually blaming.</description>
      <pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to Add a User to WordPress Using Code and functions.php</title>
      <link>https://abcode.co.uk/blog/how-to-add-a-user-to-wordpress-using-code-and-functions-php/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/how-to-add-a-user-to-wordpress-using-code-and-functions-php/</guid>
      <description>A quick, copy-paste-ready snippet for creating an admin user in WordPress straight from functions.php.</description>
      <pubDate>Sat, 12 Oct 2024 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Expanding Elementor's Dynamic Tags Limit for Enhanced Display Conditions</title>
      <link>https://abcode.co.uk/blog/expanding-elementors-dynamic-tags-limit-for-enhanced-display-conditionss/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/expanding-elementors-dynamic-tags-limit-for-enhanced-display-conditionss/</guid>
      <description>Hit Elementor's dynamic tag ceiling? Here's the small filter that lets you push past it cleanly.</description>
      <pubDate>Fri, 04 Oct 2024 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to Safely Change a WordPress User's Password Directly in the Database</title>
      <link>https://abcode.co.uk/blog/how-to-safely-change-a-wordpress-users-password-directly-in-the-database/</link>
      <guid isPermaLink="true">https://abcode.co.uk/blog/how-to-safely-change-a-wordpress-users-password-directly-in-the-database/</guid>
      <description>Locked out of WordPress? Change a user password directly in the database without breaking the site.</description>
      <pubDate>Mon, 22 Jul 2024 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
