Skip to content

Yoast Indexables Table Errors During Runtime Environment Setup #1127

@apos37

Description

@apos37

The Runtime Environment Setup routine triggers database errors when Yoast SEO is active. Plugin Check creates a temporary WordPress installation with a custom prefix ( wp_pc_ ), but Yoast is loaded inside this environment even though its custom tables do not exist. As a result, Yoast attempts to query wp_pc_yoast_indexable, which is never created in the sandbox, producing errors such as:

WordPress database error Table '...wp_pc_yoast_indexable' doesn't exist for query SELECT * FROM wp_pc_yoast_indexable WHERE object_type = 'home-page' LIMIT 1

Problem
The sandbox environment created by Plugin Check does not replicate custom database tables used by active plugins. Despite this, Plugin Check loads those plugins and allows them to run initialization logic that assumes their tables exist. Any plugin that relies on custom schema (Yoast is just the most common example) will produce errors during sandbox setup.

Expected
The temporary environment should not load active plugins in a way that allows them to perform database-dependent operations that cannot succeed inside the sandbox. Plugin Check should ensure that plugin initialization logic does not run against incomplete or non-existent database schema.

Actual
Plugin Check loads all active plugins normally inside the sandbox, which triggers database queries against tables that are not present.

Request
Ensure that the Plugin Check sandbox environment does one of the following internally:
• Prevent plugins from executing logic that depends on custom database tables, or
• Prevent plugins from running initialization routines during the temporary installation step.

The current behavior results in noisy database errors for any plugin that uses custom tables and early-running setup hooks.

Reproduction

  1. Activate Yoast SEO.
  2. Run Plugin Check.
  3. Review debug.log.
  4. Observe attempts to query wp_pc_yoast_indexable inside the sandbox environment where those tables were never created.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions