WordPress / WordPress/plugin-check

Yoast Indexables Table Errors During Runtime Environment Setup

Open
#1,127 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
362
Forks
126
Avg merge
1d 23h
Merged PRs (30d)
22

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Runtime Environment Setup routine and reproduce the issue with Yoast SEO active, then inspect debug.log for queries against the missing wp_pc_yoast_indexable table. Done means the sandbox no longer permits database-dependent plugin initialization against absent custom tables and setup completes without these errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.