Skip to content

Self-hosted login: "Cannot load the WordPress site details" on plain-permalink sites; error surfaces no underlying reason #25604

Open

Description

@dekmeister

Description

Summary

Adding a self-hosted site that uses plain permalinks fails with "Cannot load the WordPress site details" (WordPress/Classes/Login/SelfHostedSiteAuthenticator.swift). An Application Password is successfully issued (it appears in wp-admin → Users → Profile), but the app cannot load site details.

Root cause

The underlying login client (WordPressLoginClient, from Automattic/wordpress-rs) does not handle the ?rest_route= REST API root that WordPress advertises on plain-permalink sites — it path-extends that root into URLs that resolve to the API index. Full analysis + one-line curl reproduction: Automattic/wordpress-rs#1366
Secondary — diagnostics/UX

"Cannot load the WordPress site details" exposes none of the underlying reason. wordpress-rs already models richer failures (e.g. parse_api_root_failure_reason_wordfence_blocking_access); this case yields a silent parse failure with no actionable text. Surfacing the underlying WpLoginError/parse_api_root reason — and, where detectable, hinting at permalink / REST-route configuration — would save real support effort. The current self-hosted troubleshooting guide steers users toward host/firewall/Jetpack causes, which misattributes this bug.

Workaround

See Automattic/wordpress-rs#1366 — server-side rest_url filter + .htaccess rewrite, or enable pretty permalinks.

General Note

I am not a PHP developer or familiar with the low level WordPress code. The above was determined by debugging my system with Claude Code after updating to WordPress 7.0 for my WordPress instance.

Step-by-step reproduction instructions

  1. Self-hosted site, Settings → Permalinks = Plain.
  2. App → add self-hosted site → enter URL → authorize the Application Password.
  3. App shows "Cannot load the WordPress site details."

Screenshots, screen recording, code snippet

No response

Environment info

  • Surfaced via WordPress iOS 26.8 on iOS 26.5 on iPad Air (5th Generation)
  • Server Apache/PHP 8.3.30, WordPress 7.0, plain permalinks

Please confirm that you have searched existing issues in the repo.

  • Yes

Activity

  1. added theissue type on May 31, 2026
  2. dangermattic commented on May 31, 2026

    @dangermattic
    Collaborator

    Thanks for reporting! 👍

  3. jkmassel commented on Jun 1, 2026

    @jkmassel
    Contributor

    Thanks for the super-detailed bug report. We'll get this sorted!

  4. elettrona commented on Jul 3, 2026

    @elettrona

    I have the same issue, mine is a new installation and my permalinks are "site .ext /post-name"
    It's self-hosting based on a VPS through YunoHost app manager. I also have commented the XMLRPC php "deny all" rule in order to allow third-party clients to work. Ulysses -mobile app for writing- works, Drafts -other app for writing- works, the official WordPress iOS app doesn't.

  5. crazytonyli commented on Aug 6, 2026

    @crazytonyli
    Contributor

    Hi @elettrona , it appears YunoHost removes the basic authorization header, which the app uses, by default. Can you try to disable it? This documentation may help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions