Skip to content

Publish the Debugging a WordPress Network rewrite - #534

Open
ekamran wants to merge 2 commits into
WordPress:mainfrom
ekamran:shifteq/debug-network-publish
Open

ekamran wants to merge 2 commits into
WordPress:mainfrom
ekamran:shifteq/debug-network-publish

Conversation

@ekamran

@ekamran ekamran commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #533.

#422 rewrote Debugging a WordPress Network in a new file, debug/debug-network-update.md, and deleted debug/debug-network.md. The manifest still points to debug/debug-network.md, so the importer gets a 404 for it, and the live page still shows the text from before #422.

This renames the file back to debug/debug-network.md, so the manifest and the page URL do not change. It also corrects the #422 text before it goes live:

  • Multisite tables: removed wp_blog_versions, which Core dropped in WordPress 5.3 (r46194). wp_blogmeta is now described as the site metadata table added in 5.1, because WordPress treats site metadata as not supported when it is missing (is_site_meta_supported()).
  • Database rows: the page told readers to insert rows by hand, with fixed IDs and a hand-written serialized site_admins value. It now gives two read-only queries and what to compare their results with, and says to restore missing tables or rows from a backup.
  • wp-config.php: the checklist named a $base variable, which the current Network Setup screen does not add. It now lists the DOMAIN_CURRENT_SITE, PATH_CURRENT_SITE, SITE_ID_CURRENT_SITE and BLOG_ID_CURRENT_SITE constants from that screen.
  • Apache: the page said to change "both instances" of AllowOverride None in 000-default.conf. On a default Ubuntu or Debian install that file has no AllowOverride line. The page now points to the <Directory /var/www/> block in /etc/apache2/apache2.conf and says to leave the <Directory /> block as it is.
  • Nginx: a generic try_files block does not cover Multisite. The page now points to the Multisite configurations on the Nginx page, which depend on subdirectories or subdomains and on the version Multisite was first activated on.
  • Related link: the link to the Hardening WordPress page was labeled "Hardening WordPress Multisite". It now uses the page's title.

Testing

  • Every markdown_source in bin/handbook-manifest.json now points to a file that exists in the repository (checked with a script over all 75 entries; before this change, debug/debug-network.md was the only one missing).
  • Multisite, in Docker with WordPress 7.1.3 and MySQL 8.4 (wp core multisite-install, subdirectory network): the network tables are wp_blogs, wp_blogmeta, wp_registration_log, wp_signups, wp_site and wp_sitemeta. Both queries run, and the domain and path they return match DOMAIN_CURRENT_SITE and PATH_CURRENT_SITE in the generated wp-config.php.
  • Apache, in Docker on Ubuntu 24.04 (Apache 2.4.58) and Debian 12 (Apache 2.4.68), with an .htaccess rewrite rule: 404 on a fresh install, still 404 after a2enmod rewrite alone, and 200 after also setting AllowOverride All in <Directory /var/www/>. 000-default.conf has no AllowOverride line on either.
  • The links on the page return 200, and the anchors #wordpress-multisite and #moving-wordpress-multisite exist on the live pages.
  • After the merge, the raw URL the importer fetches, https://raw.githubusercontent.com/WordPress/Advanced-administration-handbook/main/debug/debug-network.md, should return 200 again, so the next import should replace the old text.

Use of AI Tools

AI assistance: Yes
Tool(s): Claude Code and Codex
Used for: Finding the issue by checking the manifest against the repository files and the live pages, the rename and corrections, Docker testing, and the wording of this description. I reviewed the changes and the results, and I take responsibility for the contribution.

The manifest entry for this page points to debug/debug-network.md, but
WordPress#422 moved the page to debug/debug-network-update.md, so the importer
could not fetch it and the live page kept the text from before WordPress#422.
Rename the file back.

Also fix the rewrite before it goes live: remove wp_blog_versions from
the Multisite tables (Core dropped it in 5.3), point the Apache step to
the <Directory /var/www/> block in apache2.conf instead of
000-default.conf, and use the Hardening page's real title in its link.
Replace the INSERT statements with read-only queries, describe
wp_blogmeta as the site metadata table added in 5.1, list the network
constants instead of $base in the wp-config.php checklist, and point
Nginx users to the Multisite configurations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Debugging a WordPress Network: the rewrite from #422 is not published

1 participant