/ โ† AI Agent Compatibility Fixes / Agent Compat: WordPress
In this guide
  1. Why WordPress sites trip agents up
  2. Plugin by plugin: what to check
  3. Form plugins
  4. Booking and appointment plugins
  5. Page builder menus and delayed scripts
  6. The fix, step by step
  7. Cookie banners and WooCommerce
  8. Keeping it working after updates
  9. Questions and answers

Why WordPress sites trip agents up

WordPress core produces clean HTML. The block editor's own blocks, the default themes and the core Navigation block all follow accessibility guidance reasonably well. Agents run into trouble with what gets added on top, and a typical small business site has a lot on top: a page builder, a form plugin, a booking or appointment plugin, a cache and optimisation plugin, a cookie consent plugin, a security plugin and often WooCommerce with its own extensions.

Each of those plugins produces its own markup and loads its own scripts. Each one was built and configured with human visitors in mind, and each has settings that make it more or less usable by software acting for a person. An AI agent that is booking an appointment, asking for a quote or buying something moves through several of them in one visit, so a single badly configured plugin can end the task.

The good news is that most fixes are settings, not code. Where code is needed it is usually a small change to a form template or a line in the cache plugin's exclusion list.

๐Ÿ’ก This guide is about agents using the site. Whether AI crawlers can read and cite your content, including robots.txt and SEO plugin settings, is a separate question covered by the agent readiness fixes. Security plugins that refuse agents entirely are covered in fixing agent blocks.

Plugin by plugin: what to check

Plugin typeExamplesWhat goes wrong for agentsWhere to look
Form buildersContact Form 7, Gravity Forms, WPForms, Fluent Forms, Elementor FormsPlaceholder text used instead of labels; hidden labels removed from the HTML; invisible spam checks rejecting the submissionForm template or field settings; spam protection settings
Booking and appointmentsAmelia, Bookly, Simply Schedule Appointments, WooCommerce BookingsCalendars drawn as boxes with no names; time slots that only respond to a mouse click; steps that reset on refreshPlugin appearance settings; an alternative booking route
Page builders and menusElementor, Divi, Beaver Builder, Max Mega MenuSub-menus that open only on hover; icon links with no name; buttons that are styled divsMenu widget settings; link and button fields
Cache and optimisationWP Rocket, LiteSpeed Cache, Perfmatters, FlyingPressScripts delayed until the first interaction, so menus and forms do nothing at firstDelay JavaScript settings and exclusion lists
Cookie consentCookieYes, Complianz, CookiebotA full-screen wall that must be answered first; unnamed buttonsBanner layout and button settings
EcommerceWooCommerce and its extensionsForced accounts; checkout add-ons with unclear fieldsWooCommerce settings for accounts and checkout

Form plugins

Forms are how a service business gets enquiries, so this is usually the most valuable fix. An agent fills a form by matching each field to what it knows: name, email, phone, the service wanted, the preferred date. It relies on the field's label to do that. A form that uses placeholder text inside the box instead of a label, which many themes and form styles do to look tidy, leaves the agent guessing.

Contact Form 7

Contact Form 7 builds forms from a text template, so labels are only there if the template includes them. The pattern below wraps each field in a label, which is the simplest reliable form:

<label> Your name
    [text* your-name autocomplete:name] </label>

<label> Email address
    [email* your-email autocomplete:email] </label>

<label> Phone number (optional)
    [tel your-phone autocomplete:tel] </label>

<label> What do you need help with?
    [select your-service "Boiler service" "Boiler repair" "New installation"] </label>

[submit "Send enquiry"]

If your version of Contact Form 7 does not accept the autocomplete option, leave it out; the labels matter more.

Gravity Forms, WPForms, Fluent Forms and Elementor Forms

These builders create labels from the field name you type, which is good. Check two settings. First, label visibility: some options hide the label visually but keep it in the HTML, which is fine, while others remove it altogether and leave only a placeholder. View the page source and check a <label> element is still there for each field. Second, field names: a field called "Field 3" or "Untitled" produces a label of "Field 3". Rename every field to what it asks for.

Spam protection

Score-based checks such as Google reCAPTCHA v3 and Cloudflare Turnstile run invisibly. When they judge a visitor to be automated, the form may fail with a vague "there was an error" message or, worse, appear to send while the plugin quietly discards it. A genuine agent working for a customer can be marked as automated because, strictly, it is. Test the form with an agent and check the submission arrives. If it does not, consider a honeypot field, which most form plugins offer, as your first line of defence, and keep the heavier challenge for forms that attract a lot of spam.

Booking and appointment plugins

Booking is a task people increasingly hand to an agent, and booking plugins are some of the hardest pages for agents to use. Many draw their calendar and time slots with JavaScript as a grid of boxes, with the date shown only as a number inside each box and availability shown only by colour.

What an agent needs from a booking step is simple: controls it can identify and operate, with names that say what they are.

<!-- Hard to use: a number in a box, availability shown by colour -->
<div class="day available">14</div>

<!-- Usable: a button whose name gives the full date and status -->
<button type="button" aria-label="Tuesday 14 October, 3 slots available">14</button>
<button type="button" aria-label="Wednesday 15 October, fully booked" disabled>15</button>

You usually cannot change a booking plugin's markup yourself, so the practical route is:

  1. Check the plugin's settings for an accessible or list view. Several plugins can show available times as a list of buttons rather than a calendar grid, which agents and keyboard users both find easier.
  2. Try booking with only the keyboard. If you cannot tab to a date and choose it with Enter, an agent will struggle too. Report it to the plugin developer with the details; accessibility fixes help every customer of theirs.
  3. Offer a second route. A short, well-labelled "request an appointment" form with a preferred date and time lets an agent make the request even when the calendar defeats it. Link to it from the booking page.
  4. Keep the booking page at its own address. If the booking widget is inside a pop-up on the home page, give it a dedicated page so an agent can be sent straight there.

The fix, step by step

Step 1

List the plugins on your key journeys

Pick the two or three things you most want visitors to do, such as sending an enquiry, booking a visit or buying a product, and note every plugin involved in each: the page builder, the form or booking plugin, the cache plugin, the cookie banner and any shop extensions. Run the AI Agent Compatibility audit on the start page of each journey and set up a staging copy so you can change settings safely.

Step 2

Give every form field a real label

Open each enquiry and quote form in its plugin, rename any field called Field 1 or Untitled to what it asks for, and make sure a label element appears in the page source for every input, even if it is visually hidden. In Contact Form 7, wrap each tag in a label in the template. Submit the form yourself and check the message arrives, then check it again after any spam setting change.

Step 3

Make the booking calendar usable without a mouse

Try making a booking using only the Tab, arrow and Enter keys. If you cannot reach or pick a date or time, look in the booking plugin for a list view of available times or an accessibility option, and switch it on. Give the booking tool its own page rather than a pop-up, and add a short, labelled appointment request form as a fallback route that an agent can always complete.

Step 4

Switch menus from hover to click

In the core Navigation block, set submenus to open on click; in Elementor, Divi or your mega menu plugin, choose the click option where it exists. Make every parent item a real link to a page that lists its children, so the section can be reached even if the sub-menu never opens. Give icon-only header links, such as search, account and basket, a text name in the link settings or a visually hidden label.

Step 5

Exclude interactive scripts from delayed loading

Open your cache or optimisation plugin and find its delay JavaScript setting. If it is on, add exclusions for the scripts your journeys need, such as the form plugin, the booking plugin, the menu toggle and any add to cart script, using part of each file path. Clear every cache layer, load the page in a private window and click the menu and form straight away without moving the mouse first.

Step 6

Make the cookie banner easy to answer

In your consent plugin, choose a banner or box layout rather than a full-screen wall where the law and your own advice allow, and give Accept and Reject buttons plain text names of equal prominence. Check the banner is a labelled dialog or region, that it can be answered with the keyboard, and that answering it once is remembered across pages rather than asked again on every visit.

Step 7

Open up WooCommerce guest checkout and retest

If you run WooCommerce, go to the Accounts and Privacy settings and allow customers to place orders without an account. Review checkout extensions that add fields and make the extras optional unless you truly need them. Then walk each journey again with the keyboard, re-run the audit on each start page, and give an AI agent a realistic enquiry, booking or purchase on the staging site.

Cookie banners and WooCommerce

Cookie banners

In the UK, PECR as amended by the Data (Use and Access) Act 2025 still generally requires consent before non-essential cookies are set, so a consent banner is often needed. This is not legal advice, and your own obligations depend on what the site sets. From an agent's point of view the design matters more than the plugin. A banner that sits at the bottom of the screen with two plainly named buttons is quick to answer. A full-screen wall with a single "Manage" link leading to a panel of toggle switches is slow and error-prone, and an agent may refuse to make a privacy choice on the person's behalf and stop to ask.

WooCommerce

WooCommerce is used differently from Shopify because you control the whole checkout. Newer installs use the Cart and Checkout blocks, which are built with labelled fields and autocomplete attributes. Older sites may still use the shortcode checkout with a theme template on top, where field labels and error messages vary. Points to check:

Keeping it working after updates

Questions and answers

1. Why can an AI agent not send my Contact Form 7 form?

The usual reasons are missing labels and spam protection. Contact Form 7 only outputs labels that are written into the form template, so a template that uses placeholders alone leaves an agent unsure which box is which. If you use reCAPTCHA v3 or another invisible check, the agent may be scored as automated and the message rejected or discarded. Add labels to the template, then submit a test with an agent and check the message actually reaches your inbox.

2. Do I need to replace my booking plugin?

Not necessarily. Start by trying a booking with only the keyboard and looking for a list view or accessibility option in the plugin settings. If the calendar still cannot be operated without a mouse, add a simple, labelled appointment request form as a second route, and ask the plugin developer about accessibility improvements. Replace the plugin only if bookings are central to the business and the developer cannot or will not fix it.

3. Is WP Rocket bad for AI agents?

No. WP Rocket and similar plugins make pages faster, which helps agents. The one feature to watch is delaying JavaScript until the first interaction, because menus, forms and booking tools that depend on those scripts do nothing until the visitor moves, scrolls or presses a key. An agent clicking a menu button first may see no response. Keep the feature if you like it, but exclude the scripts that power your key journeys, then retest.

4. Does Elementor work with AI agents?

Elementor sites can work well, but some widgets need care. Check that nav menus open on click as well as hover, that icon boxes and buttons use real links with meaningful text rather than empty links around an image, and that form fields keep their labels in the HTML. Elementor and other builders add a lot of wrapper markup, which does not stop agents on its own. What matters is that every control has a name and does something predictable.

5. Will a cookie banner stop an AI agent?

A simple banner rarely stops an agent, although many agents will pause and ask the person before making a consent choice for them. A full-screen wall that must be answered before the page can be used, especially with toggles hidden behind a Manage link, is more likely to end the task. Use a banner layout with clearly named Accept and Reject buttons, remember the answer, and check the banner can be operated with the keyboard.

6. Should I let AI agents create WooCommerce accounts?

Agents generally should not be creating accounts for people, and reputable ones avoid it because it involves passwords and personal commitments. The better approach is to allow guest checkout so the account question never comes up, and offer account creation after the order for customers who want one. Forcing an account before payment is the single step most likely to make an agent stop, and it also loses some human customers.

7. How do I test my WordPress site with an agent safely?

Use a staging copy so no real orders, bookings or emails go out, or switch payment gateways to test mode and use a test email address. Give an agent you have access to a realistic task, such as booking the next free appointment for a boiler service, and watch where it hesitates or asks for help. Note each point, fix the matching plugin setting, and repeat until it can reach the confirmation or payment hand-over.

Find the plugin that stops agents on your site

The AI Agent Compatibility audit tests your page for bot blocks, content hidden behind JavaScript, unlabelled forms and controls, navigation agents cannot follow and missing structured data, and links each finding to the guide that fixes it.

Open AI Agent Compatibility Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All AI Agent Compatibility Fixes  ·  Forms Agents Cannot Fill  ·  Agent Compatibility in Shopify  ·  WordPress Agent Readiness  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.