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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. 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.

  21. 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

$ /plugin marketplace add getfootgun/footgun
$ /plugin install footgun@footgun