Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk10 min

How to Fix WordPress FTP Credentials That Fail on Only One Site

A one-site WordPress FTP failure usually points to a different path, owner, PHP user, permission set, or filesystem method—not a bad password. Follow this diagnostic sequence before changing FS_METHOD or using unsafe 777 permissions.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If WordPress accepts the same FTP password for other installations but asks for credentials on one site, the password is rarely the whole problem. The failing site usually has a different document root, FTP/SFTP jail, file owner, group, PHP user, or filesystem method. First verify the host, port, protocol, account, and remote path. Then compare ownership and permissions with a working site before changing FS_METHOD.

WordPress asks for filesystem credentials when its direct write test fails. A successful login in an FTP client proves that the account can connect; it does not prove that the PHP process running this particular site can write its files.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the one-site symptom tells you

When several WordPress sites share a server and only one displays an FTP-credentials prompt, investigate differences between the sites rather than immediately resetting a password. WordPress’s Filesystem API selects a transport that can modify files. If direct writes are unavailable, it requests credentials for another transport. See the WordPress Filesystem API documentation.

A site can fail while the account details are valid because:

  • The affected site uses a different hostname, port, protocol, or FTP/SFTP account.
  • The account logs in successfully but starts in the wrong directory, so WordPress cannot find wp-content.
  • PHP-FPM or the web server runs as a user that does not own the site’s files or lack group-write access.
  • The files have restrictive modes, or directories and files are owned by different users after a migration or manual upload.
  • The site’s PHP environment lacks the transport WordPress is trying to use.
  • FS_METHOD is forcing an unsuitable method in wp-config.php.

WordPress’s permissions guidance describes a setup in which the web process has proper ownership and therefore does not ask for FTP credentials during plugin installation or updates. That is a filesystem arrangement, not a special kind of FTP password. Read the WordPress file-permission guidance.

Use this diagnostic order

  1. Record the exact host, port, username, protocol, and remote directory supplied by the host for the affected site.
  2. Test those values in an independent FTP/SFTP client.
  3. Confirm that the login opens at the site’s document root and that wp-content, wp-admin, and wp-includes are present.
  4. Compare the affected site’s owner, group, and modes with a site that updates without a prompt.
  5. Identify the PHP-FPM or web-server user for the failing virtual host.
  6. Check whether FS_METHOD is set and whether the selected transport is available.
  7. Correct ownership, group membership, path, or host configuration. Only then retest an update.

Work on a backup or staging copy when changing ownership or configuration. Do not make an entire site world-writable just to suppress the prompt.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

1. Verify endpoint, account, and protocol

Match the host’s exact connection details

Use the provider’s values for the affected site, not the values from a neighboring installation. Check the hostname, port, username, password, and whether the service is FTP, explicit FTPS, implicit FTPS, or SFTP. WordPress exposes related constants such as FTP_HOST, FTP_PASS, and FTP_SSL in its configuration reference; they must describe the service you actually have. See the wp-config.php reference.

SFTP is not FTP with a different password. It is an SSH-based transport with its own server, port, account, and authentication rules. WordPress’s hardening guidance notes that SFTP encrypts the password and other data in transit, whereas ordinary FTP does not. Review WordPress’s hardening guidance.

Do not infer success from another site

A credential can work for one virtual host and be rejected for another if the accounts, jails, or services differ. Confirm that the username is authorized for this site’s directory and that the account is not read-only. If the host uses separate SFTP and FTP accounts, selecting the wrong protocol can produce a connection failure even when the username looks familiar.

Interpret client errors precisely

  • Connection refused or timed out: investigate the hostname, port, firewall, service status, or TLS requirement.
  • Authentication failed: verify the account, password, key, and whether the account is enabled for the selected protocol.
  • Login succeeds but files are missing: inspect the starting directory, chroot/jail, and document root.
  • Login and browsing work but uploads fail: inspect ownership, write permission, quotas, and read-only mounts.

2. Confirm the remote document root

WordPress must be operating in the directory that contains its own installation. A valid FTP login can still be useless if it opens in a parent directory, a different site’s directory, or a jailed path that does not expose the WordPress files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What to check

  • Locate wp-config.php and the wp-content directory in the client.
  • Confirm that the path corresponds to the affected domain’s document root, not a sibling domain or staging folder.
  • Compare the working site’s absolute server path and the failing site’s path.
  • Check whether the account’s home directory is being treated as the document root by the FTP service.

If the client opens in the wrong place, do not guess a path in WordPress. Ask the host for the exact document root and the directory that the FTP/SFTP account is permitted to access. A path mismatch can make WordPress report a credentials problem even though authentication succeeded.

3. Compare ownership and the PHP execution user

FTP ownership and PHP ownership are separate checks. The FTP account may be able to upload files while PHP cannot modify them, or PHP may own the files while the FTP account cannot replace them. WordPress’s guidance says files that need to be writable should be owned, or group-owned, by the account WordPress runs as. Use the permissions handbook as the reference for your hosting model.

Find the relevant users

On a shell-managed server, inspect the owner and group of the installation and its key directories with commands such as ls -ld /path/to/site, ls -l /path/to/site/wp-content, and stat /path/to/site/wp-content. The exact path and available commands depend on the host. Identify the user running PHP-FPM or the web server for this virtual host; common shared-hosting panels expose that information in the site or PHP settings.

Compare those results with a site that can install a plugin without prompting. Differences often reveal a migration that copied files as root, an extraction performed by a deployment account, or a PHP pool assigned to the wrong user.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose an ownership model deliberately

  • Single-site account: the PHP process and the site’s files use the same account. Direct writes usually work with least complexity.
  • Shared group: PHP and deployment/FTP accounts share a group, and the required directories have group-write access. This can work, but group membership and default umasks must remain consistent.
  • Separate service accounts: PHP and FTP accounts do not share ownership or write access. WordPress may need an SSH/FTP transport, or the host must change the ownership model.

Do not change ownership recursively without knowing how the host provisions the site. On managed or shared hosting, a manual chown can break the control panel, PHP pool, backups, or security isolation. Request the host’s approved ownership command or have support apply the change.

4. Correct permissions without using 777

WordPress’s general examples are directories 755 or 750 and files 644 or 640, with stricter treatment for wp-config.php. The correct values depend on the owner, group, and host’s execution model. The handbook specifically warns against setting directories to 777 in the described suexec-style setup. See the complete permissions guidance.

Check the write locations first

Updates and plugin/theme installations commonly need to write inside wp-content, including its plugins, themes, uploads, and upgrade directories. A directory can be writable while a file inside it is owned by another user, so inspect both directories and representative files. Also check disk quotas, inode limits, and a read-only filesystem if permissions appear correct but writes still fail.

Use least privilege

  • Keep ordinary files non-executable unless the application requires otherwise.
  • Grant write access to the PHP user or an approved shared group, not to every account on the server.
  • Protect wp-config.php more strictly than public content where the host supports it.
  • Never apply a blanket recursive chmod 777 as a troubleshooting shortcut.

If a host’s panel offers a “reset permissions” action, read what it changes before using it and capture the current owner/group values first.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Understand and verify FS_METHOD

WordPress documents four valid filesystem methods: direct, ssh2, ftpext, and ftpsockets. Its automatic transport priority is direct, SSH2, the FTP PHP extension, then FTP sockets. See get_filesystem_method().

What each method means

Method How WordPress writes Typical dependency Use when
direct PHP writes to the local filesystem The PHP/web-server user has the necessary ownership or group access The server’s ownership model is correct
ssh2 WordPress uses SSH/SFTP transport SSH2 support and valid SSH credentials or keys The host provides SSH and direct writes are intentionally unavailable
ftpext WordPress uses PHP’s FTP extension The extension is installed and enabled The host supports this FTP transport
ftpsockets WordPress uses FTP sockets Socket access and a reachable FTP service The other supported transports are unavailable

Should you add FS_METHOD direct?

Only as a targeted diagnostic or configuration change after confirming that PHP should be able to write locally. In wp-config.php, a forced value is written as a PHP constant, for example define( 'FS_METHOD', 'direct' );. Place it before the line that says editing is stopped, and preserve a backup of the file.

Forcing direct can remove the prompt while leaving the underlying ownership failure. It may then cause updates to fail, create files owned by an unexpected account, or expose a security boundary that the host intentionally configured. WordPress advises changing FS_METHOD only to address update problems and reverting the change if it does not help. Fix ownership and permissions with the host whenever possible.

When a forced FTP method fails

A forced ftpext or ftpsockets method can fail because the PHP extension is disabled, sockets are restricted, TLS settings do not match, the port is blocked, or the remote path is wrong. A forced ssh2 method has its own SSH host-key, account, key/password, and path requirements. Changing the constant cannot compensate for any of those conditions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

6. Test outside WordPress

An independent FTP/SFTP client separates connection problems from WordPress’s filesystem decision. Enter the same host, port, protocol, username, and password or key that the site is supposed to use.

  1. Connect without saving a new password in a public or shared computer.
  2. Navigate to the directory that contains wp-config.php and wp-content.
  3. Create a small temporary file only if the host permits it and you have a rollback plan; then delete it and verify that deletion succeeds.
  4. Record whether the client can list, upload, replace, and delete files in the directories WordPress needs.

If the independent login fails, correct the hosting account or service first. If it succeeds but WordPress still prompts, focus on the PHP user, WordPress’s selected filesystem method, the path WordPress detects, and PHP restrictions. An FTP client does not emulate the PHP process, so its success is evidence about the account—not proof that direct writes should work.

7. Common cases and the right fix

The password works elsewhere, but this site rejects it

Re-check the affected site’s hostname, protocol, port, and account. Shared hosting commonly assigns different jails or credentials per site. Ask support to confirm that the account is enabled for the selected service and mapped to this domain’s document root.

The client connects, but WordPress cannot find files

Correct the starting directory or jail. Verify that wp-content exists at the path WordPress uses. Do not move files until you have confirmed the host’s document-root mapping and a current backup.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The client uploads successfully, but updates still prompt

Compare the PHP execution user and owner/group of the installation. The FTP account may write while PHP cannot. Have the host align ownership or configure an approved shared group, then remove any unnecessary forced FS_METHOD value.

The prompt began after a migration or restore

Inspect files extracted by a deployment or administrative account. Restore the hosting provider’s expected owner and group, including newly created directories under wp-content. Check quotas and read-only mounts if ownership is correct.

Forcing direct makes the prompt disappear but updates fail

Undo the forced method and repair the write context. The disappearing prompt only shows that WordPress stopped asking for another transport; it does not demonstrate that the local write operation is safe or successful.

8. What to ask hosting support to compare

Escalate when you cannot inspect or change service users, ownership, jails, or PHP settings. Give support the affected domain, the exact WordPress error, the time it occurred, and a comparison site that works. Ask them to compare:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • The document root and absolute filesystem path.
  • File owner and group for the site root, wp-content, and a representative plugin directory.
  • The PHP-FPM pool or web-server user and its supplementary groups.
  • The FTP/SFTP account, jail, protocol, port, and starting directory.
  • Whether the PHP FTP or SSH2 extension is enabled if that transport is required.
  • Disk quota, inode quota, read-only mounts, and security policies that could deny writes.

Ask the host to apply the least-privilege correction and tell you which filesystem method it expects WordPress to use. This is safer than recursively changing modes or ownership on a managed server.

Security and maintenance checks after the fix

  • Remove temporary test files and credentials from notes or scripts.
  • Use SFTP or another encrypted transport when the host supports it; SFTP is distinct from FTP, not merely a password option.
  • Keep wp-config.php out of public downloads and use the host’s recommended restrictive mode.
  • Review any FS_METHOD constant during future migrations so an old workaround does not mask a new ownership problem.
  • Retest a plugin update, a theme update, and an upload, then verify that newly created files have the expected owner and group.

A compact decision checklist

  1. Connection: Does the exact account connect with the exact host, port, and protocol?
  2. Path: Does it open at the affected site’s document root containing wp-content?
  3. Identity: Which user and group own the files, and which user runs PHP?
  4. Modes: Are directories and files using least-privilege modes such as the handbook’s general 755/750 and 644/640 examples?
  5. Method: Is FS_METHOD unset or intentionally set to one of the four supported values?
  6. Write test: Can the PHP process create, replace, and remove a file where WordPress needs to write?
  7. Escalation: If any answer is unknown, can the host compare the failing site with a working one?

The Bottom Line

A WordPress FTP prompt on only one site usually means that site’s path, ownership, PHP user, permissions, or transport differs from the others. Verify the endpoint and document root, compare the PHP execution context and file ownership, use least-privilege permissions, and treat FS_METHOD as a diagnosed configuration—not a substitute for fixing the filesystem.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.