WordPress breaking changes, updated weekly
Every verified WordPress trap in Footgun: changes and behaviors that break code or give wrong results, newest first. Each one has the error you see, the fix, and the date it was last checked. The list updates when the weekly check adds or retires a trap. For the full cause and sources, open the trap, or see all WordPress traps.
fg-0095· added 2026-10-12· last checked 2026-10-12
Tags installed with Simple Custom CSS and JS vanish after WordPress auto-updates to 7.1
Symptom
Page source shows an empty 'start Simple Custom CSS and JS' comment block
Fix
Update the plugin to 3.54 or later, then clear page caches and confirm the tag loads.
fg-0104· added 2026-10-06· last checked 2026-10-06
WP Mail SMTP Email Test ignores Smart Routing rules
Symptom
Test email goes through the primary mailer although a routing rule should apply
Fix
Test routing with a real site email such as a password reset.
fg-0085· added 2026-09-30· last checked 2026-09-30
Auto-redirect page hangs on phones because WP Rocket delays the redirect script
Symptom
Page sits on its 'Redirecting...' message for 13 to 15 seconds or forever
Fix
Exclude the script from delay with a marker string, and render a visible fallback link.
fg-0090· added 2026-09-24· last checked 2026-09-24
Google sign-in users land on My Account with no phone number and skip WooCommerce form hooks
Symptom
No Continue with Google button on WooCommerce login or register forms
Fix
Render the button with its shortcode on the WooCommerce form hooks, add a phone capture step for logged-in users with no phone, and do not gate list signups on posted form fields.
fg-0098· added 2026-09-22· last checked 2026-09-22
WordPress MCP cannot set a post slug, Yoast fields or a script tag
Symptom
Unsafe content: script tag
Fix
Create the draft with the MCP, then finish slug, full content and meta in one REST call authenticated with an application password.
fg-0092· added 2026-09-22· last checked 2026-09-22
Pasting an Article JSON-LD block into a Yoast site creates a duplicate Article
Symptom
Two Article nodes for the same URL
Fix
Leave Article schema to Yoast; add only types Yoast does not emit, such as FAQPage.
fg-0096· added 2026-09-22· last checked 2026-09-22
WordPress application password stops working with no warning
Symptom
{"code":"incorrect_password","message":"The provided password is an invalid application password."}
Fix
Read the error code to tell the two apart. Regenerate the password in the user's profile while logged in, and store it where every integration reads from.
fg-0097· added 2026-09-22· last checked 2026-09-22
WordPress creates no revision when a post is only published, so revisions cannot show who published it
Symptom
Only the creation revision exists on a post someone later published
Fix
Use an audit log plugin or compare post_modified with post_date_gmt; do not infer from revisions who changed a status.
fg-0099· added 2026-09-22· last checked 2026-09-22
WordPress MCP reports 'Site unreachable' when the login was rejected
Symptom
Site unreachable while the site loads fine
Fix
Test the credentials directly against the REST API before debugging the network.
fg-0101· added 2026-09-15· last checked 2026-09-15
WordPress REST returns stripped content for Elementor pages
Symptom
post_content lacks the HTML visible on the page
Fix
Read and write _elementor_data as an opaque string: back it up, make a targeted substring replacement on the exact stored form, validate that it still parses, and write it back. Then clear the Elementor and page caches.
fg-0093· added 2026-09-04· last checked 2026-09-04
Swapping two slugs fails because Yoast immediately redirects the freed slug
Symptom
The slug you freed redirects to the old page
Fix
Rename the current owner, delete the auto-created redirect on the freed slug, rename the real page onto it, then confirm Yoast created the redirect from the real page's old URL.
fg-0106· added 2026-09-04· last checked 2026-09-04
Yoast fields on WooCommerce products can be set through wc/v3 but not wp/v2
Symptom
wp/v2/product exposes no Yoast meta
Fix
Write product SEO fields through wc/v3 meta_data.
fg-0107· added 2026-09-04· last checked 2026-09-04
Yoast snippet variable adds a space before the following comma
Symptom
SEO title reads 'Product Name , a Brand' with a stray space
Fix
Do not put punctuation directly after a variable; restructure the sentence.
fg-0100· added 2026-09-02· last checked 2026-09-02
WordPress MCP SEO bulk update reports success but writes nothing
Symptom
success: 1, failed: 0
Fix
Write the Yoast keys through REST and confirm through yoast_head_json.
fg-0094· added 2026-08-19· last checked 2026-08-19
't.composedPath(...)[0].getRootNode is not a function' only appears on synthetic events
Symptom
Uncaught TypeError: t.composedPath(...)[0].getRootNode is not a function
Fix
Do not treat it as a broken button. Reproduce with a real click, not window.dispatchEvent.
fg-0103· added 2026-08-17· last checked 2026-08-17
'wp.data is undefined' JavaScript error on pages using WP Rocket delay JS
Symptom
Uncaught TypeError from the inline wp-data-js-after script calling wp.data.use
Fix
Dequeue the inline after-script on the front end if nothing there needs it, or exclude the dependency from delay.
fg-0089· added 2026-08-11· last checked 2026-08-11
Elementor 4.1.3 has no document/repeater/settings command
Symptom
Command document/repeater/settings not found
Fix
Wait for the current document's container, walk widget.repeaters[fieldName].children, and run document/elements/settings on each row. Save with document/save/default; the page is live immediately if published.
fg-0086· added 2026-08-07· last checked 2026-08-07
Complianz 'add documents to menu' writes a REST URL into the menu item
Symptom
Cookie Policy menu link points at /wp-json/complianz/v1/do_action/save_documents_menu_data?_locale=user
Fix
Create a page containing the document shortcode and point the menu item at that page.
fg-0105· added 2026-08-07· last checked 2026-08-07
Writing Yoast fields through the WordPress REST API silently does nothing
Symptom
POST /wp/v2/posts/{id} with meta returns 200 but the Yoast title is unchanged
Fix
Register each key with show_in_rest for the post type, then write and confirm through yoast_head_json.
fg-0131· added 2026-08-07· last checked 2026-08-07
Clearing the WordPress object cache does not purge page or edge caches
Symptom
Cache clear reports success, or 0 entries cleared, but visitors still see the old page
Fix
Content stays stale until the host's page cache and the CDN are purged too. Purge the host page cache through its own tool or endpoint, purge the CDN if it caches HTML, and verify with a cache-busting query string before checking the plain URL.
fg-0087· added 2026-08-07· last checked 2026-08-07
Complianz banner keeps the old cookie policy link after the page setting changes
Symptom
Banner still links the old URL after saving the new page
Fix
Delete those keys and let Complianz rebuild them, for example from a temporary admin-only snippet.
Have your agent check WordPress changes before it codes