Skip to content

Merge the Advanced Administration multisite planning and migration pages into multisite/index.md - #423

Open
bordoni wants to merge 6 commits into
WordPress:mainfrom
bordoni:merge-aah-multisite
Open

bordoni wants to merge 6 commits into
WordPress:mainfrom
bordoni:merge-aah-multisite

Conversation

@bordoni

@bordoni bordoni commented Aug 16, 2026

Copy link
Copy Markdown
Member

Stacked on #418, #419, #420, #421 and #422. Last of the series. Review those first, then read only the final commit here, aa4b6fc.

Purpose

Fifth and last merge. Three Advanced Administration pages fold into multisite/index.md.

That file arrived in #418 as a ten line stub, and it was a stub with a problem: both of its links pointed at pages being merged into it. It linked out to prepare-network#server-requirements for the server requirements and to domain-mapping for domain mapping, and both of those are now sections of this page. Those two links are the clearest example in the whole series of why the merge has to happen for the move to make sense.

source lines lands in
multisite/prepare-network.md 119 Do You Really Need a Network, Types of Multisite Network, Admin / Server / WordPress Settings Requirements
multisite/sites-multisite.md 80 Migrating Existing Sites into a Network
multisite/domain-mapping.md 36 Domain Mapping

10 lines to 216.

A factual correction

sites-multisite.md says the WXR import can fail because "PHP's max_upload_size will be too small".

There is no max_upload_size directive in PHP. The setting that limits upload size is upload_max_filesize, which is what the page now says, with a pointer to the PHP section in performance.md where both it and post_max_size are documented. Anyone who followed the original text would have gone looking in php.ini for a directive that does not exist.

Links

Seven links rewritten to resolve inside the handbook, which is more than the other four PRs combined, because this content cross-references the server pages heavily:

Those last three anchors only exist because of the stack. They resolve on this branch. If #419, #421 or #422 are rejected rather than merged, three links here need repointing, and I would rather say that now than have it discovered later. multisite/administration stays absolute, since it is in the DevHub bucket.

Smaller calls

Two screenshots had no alt text, one with an empty ![]() and one with its caption sitting below the image as body text. Both now have real alt attributes.

Glossary links stripped. prepare-network.md linked FTP, cPanel, PHP, HTML, CSS, mod_rewrite and .htaccess to entries in the wordpress.org glossary. In a page whose reader operates the server, defining "PHP" with a glossary link is noise. The .htaccess reference points at our own Apache page instead.

A dead cPanel documentation link dropped. It pointed at documentation.cpanel.net/display/74Docs/, the docs for cPanel 74.

"Blogs" changed to "sites" in the migration section, which used the two interchangeably, sometimes in the same sentence.

A named domain mapping plugin dropped, same reasoning as the caching plugins in #421. The sentence that matters is that domain mapping has been native since WordPress 4.5.

Advice inverted for the audience. The source repeatedly tells the reader to ask their hosting provider to raise PHP limits or explain server configuration. The reader of this handbook is the hosting provider.

Where the series ends up

With all five merged, the seventeen pages the triage assigned to existing handbook pages have landed, and two more turned out to need nothing at all:

target before after
reliability.md 15 475
security.md 173 492
performance.md 119 369
server-environment.md 504 594
multisite/index.md 10 216

Still to come, and not in this series: the generator fix, wiring the manifest so any of this publishes, rewriting the remaining absolute links in the twelve moved files, redirects, and team-projects.md.

Verification

  • Anchors, tables, cross-file links and encoding checked by script across the whole repo. The script caught a real bug here: subdomains-wildcard.md written as a sibling when it lives in server/.
  • Source coverage compared line by line with typography normalized, every gap reviewed individually.

Review

Two hosting-team reviewers. Worth knowing that sites-multisite assumes cPanel throughout, which the triage treated as the reason it belongs on the hosting side rather than a problem to fix.

Copies twelve pages from WordPress/Advanced-administration-handbook whose
reader is a platform engineer: the eight server pages, the multisite index
and network creation, hardening, and migration.

The files are byte-identical to their source and keep their original paths.
gen-hb-manifest globs the repository root only, so nothing under server/,
multisite/, security/ or upgrade/ is visible to it and no page publishes
yet. bin/handbook-manifest.json is unchanged.

Nothing is removed from the Advanced Administration Handbook; all twelve
URLs stay live.

Wiring the manifest, rewriting the internal links, folding the remaining
pages into reliability.md, security.md, performance.md and
server-environment.md, and the redirects all follow separately.
reliability.md named backups, monitoring and version control as its three
subjects and then said almost nothing about any of them. It was fifteen
lines, three of which were outbound links.

Folds in five pages from the Advanced Administration Handbook:
security/backup, security/backup-database, security/backup-files,
security/monitoring and wordpress/loopback.

The three sources overlapped heavily, so the merge keeps one treatment of
each topic rather than three: a single database-and-files explanation, one
phpMyAdmin export walkthrough from backup-database rather than the shorter
duplicate in backup, and one set of file-backup methods. Cross-links
between the five pages become in-page anchors.

Also strips an invisible U+FEFF from the end of the mysqldump example,
which broke the command when copied, and repairs the column count on the
MySQL GUI tools table.

Nothing is removed from the Advanced Administration Handbook.
…rs pages

Folds three pages from the Advanced Administration Handbook into
security.md: security/https, security/brute-force and
security/display-errors.

The existing Throttling Multiple Login Attempts section becomes Brute
Force Attacks and keeps its hosting-focused framing, gaining the Apache,
Nginx, Caddy and IIS rate-limiting examples, the WAF guidance and the
passkey and application password material. The HTTPS section was a single
sentence pointing outward and now carries the FORCE_SSL_ADMIN and reverse
proxy configuration, which is the part hosts actually need. Display Errors
becomes a section of its own.

Two of the five pages the triage assigned here turned out to need no work.
security/index is already the opening of security.md, and
security/caching-security is already its Caching Security section, both
verbatim. Neither is touched.

The Further Information block in security/https is not carried over. It
documents WordPress 1.5 with Apache mod_rewrite and is 165 of that page's
242 lines, and the brute force page merged alongside it advises against
exactly the .htaccess rewrite approach it teaches.

Also normalizes 34 non-breaking hyphens to ASCII so the configuration
examples survive copy and paste.
Folds performance/optimization, performance/cache and performance/php into
performance.md.

The page already documented the caching layers in real depth, so most of
what the two caching sources had to say was already here and better said.
What they add is the plugin-level view and browser cache headers, which
were missing. Everything else in optimization is new to the handbook:
hosting types, hardware and server load, software tuning for DNS, web
server, PHP and MySQL, content offloading, compression, autoloaded options
and adding servers. The PHP section was a single outbound link and now
carries the timeout, memory, upload and cron configuration.

Two anchors in the caching layer list were repointed. Local Browser cache
now links to the new Browser Cache section, and Static Cache pointed at
#static-cache, which has never existed on this page, so it now points at
Static Content.

The version guidance in performance/php is not carried over. It recommends
PHP 7.4 and uses the "compatible with exceptions" and "beta support"
labels that server-environment.md already records as retired. That section
now points at the maintained tables instead of restating them.

Merged prose is shifted to third person to match the surrounding page.
…pages

Folds server/server-info and before-install/multiple-instances into
server-environment.md, as two additions that leave the page's existing
structure alone.

Multiple WordPress Instances is a new section covering the three ways to
pair instances with databases: multisite, shared database with distinct
table prefixes, and one database per instance.

Reading Server Info with phpinfo() sits under the existing "How do I know
which version I have?" heading, which until now only described Site
Health. Site Health reports what WordPress can see; phpinfo reports what
the server is actually running.

Fixes an alt text artifact in the phpinfo screenshot, where the alt string
had been left as a line of body text, and supplies headers for a table
that had an empty header row.

The Create A Network and Multisite links now point inside the handbook.
Merged prose is shifted to third person to match the surrounding page.
Folds multisite/prepare-network, multisite/domain-mapping and
multisite/sites-multisite into multisite/index.md, which arrived from the
Advanced Administration Handbook as a ten line stub whose two links both
pointed at pages being merged into it.

The page now covers planning a network, the domain and path requirements,
domain mapping, and migrating standalone installs into an existing
network. Both of the original links become in-page anchors.

Corrects the PHP directive named in the import troubleshooting section.
The source says max_upload_size, which is not a PHP directive; the setting
that limits WXR upload size is upload_max_filesize.

Also supplies alt text for two screenshots that had none, and drops a
cPanel documentation link pointing at the retired version 74 docs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant