How to Edit the WordPress wp-config.php File: A Complete Guide
The wp-config.php file is one of the most important configuration files in a WordPress installation. It contains essential information that allows WordPress to communicate with the database and can also be used to configure features such as debugging, security keys, memory limits, and advanced settings.
Because this file directly affects how WordPress operates, even a small syntax error can cause your website to stop working. For that reason, you should always create a backup before modifying it.
This guide explains what wp-config.php does, where to find it, how to edit it safely, and some of the most useful settings you can configure inside the file.
What Is the WordPress wp-config.php File?
wp-config.php is the main configuration file for a WordPress installation.
During WordPress installation, the file contains database connection information such as:
define( 'DB_NAME', 'database_name' );
define( 'DB_USER', 'database_user' );
define( 'DB_PASSWORD', 'database_password' );
define( 'DB_HOST', 'localhost' );
WordPress uses these values to connect to its database.
The file can also contain configuration directives for:
- Database settings
- Authentication keys
- Debugging
- WordPress memory limits
- Automatic updates
- File permissions
- Custom constants
- Development environments
Where Is wp-config.php Located?
In a typical WordPress installation, wp-config.php is located in the main WordPress directory.
For example:
public_html/
├── wp-admin/
├── wp-content/
├── wp-includes/
├── index.php
└── wp-config.php
On some installations, the file may be located one directory above the WordPress installation directory.
WordPress can load wp-config.php from the parent directory, which can be useful for separating configuration information from publicly accessible WordPress files.
Before Editing wp-config.php
Because wp-config.php contains sensitive configuration information, take a few precautions before editing it.
1. Create a Backup
Download a copy of the original file before making any changes.
For example:
wp-config.php
can be backed up as:
wp-config.php.backup
Store the backup somewhere secure.
2. Make One Change at a Time
Avoid modifying several unrelated settings simultaneously.
If something goes wrong, identifying the cause becomes much easier when only one change was made.
3. Be Careful With Syntax
PHP syntax errors can cause errors such as:
Parse error
or:
There has been a critical error on this website.
4. Protect Database Credentials
Never publish your wp-config.php file or share its database password and authentication keys publicly.
Method 1: Edit wp-config.php Using cPanel
If your hosting account uses cPanel, you can edit the file through File Manager.
Step 1: Log in to cPanel
Open your hosting control panel.
Step 2: Open File Manager
Select:
File Manager
Navigate to your WordPress installation.
Commonly, this is:
public_html
Step 3: Find wp-config.php
Locate:
wp-config.php
Step 4: Create a Backup
Right-click the file and choose the appropriate copy or download option.
Step 5: Edit the File
Right-click:
wp-config.php → Edit
Your hosting panel should open a text editor.
Make the required change and save the file.
Step 6: Test the Website
Open your website and WordPress dashboard to make sure everything is working correctly.
Method 2: Edit wp-config.php Using DirectAdmin
DirectAdmin also provides a file-management interface.
Step 1: Log in to DirectAdmin
Open your DirectAdmin account.
Step 2: Open File Manager
Navigate to your WordPress installation directory.
For many hosting accounts, this could be:
domains/example.com/public_html/
Step 3: Locate wp-config.php
Find:
wp-config.php
Step 4: Create a Backup
Download or copy the original file before editing.
Step 5: Edit the File
Open the file using DirectAdmin’s editor.
Make the required changes and save the file.
Step 6: Test WordPress
Open your website and dashboard.
If you see a PHP error, restore the backup or correct the syntax.
Method 3: Edit wp-config.php Using FTP
You can also edit the configuration file using an FTP client.
For example, an FTP application can connect to your hosting account and display your website files.
Locate:
wp-config.php
Download it to your computer and create a backup.
Open the file using a code or text editor.
After making the required changes, upload the file back to the WordPress directory.
Important
Avoid using a word processor such as Microsoft Word to edit PHP files. Use a plain-text or code editor that preserves PHP syntax.
Method 4: Edit `wp-config.php Using SSH
If you manage a VPS or dedicated server, SSH provides another way to edit the file.
Navigate to your WordPress directory:
cd /path/to/wordpress
Create a backup:
cp wp-config.php wp-config.php.backup
You can then use an editor such as:
nano wp-config.php
or:
vim wp-config.php
After saving your changes, test the website.
Understanding the Basic Structure of wp-config.php
A typical configuration file may contain sections similar to:
<?php
define( 'DB_NAME', 'database_name' );
define( 'DB_USER', 'database_user' );
define( 'DB_PASSWORD', 'database_password' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
Further down, WordPress authentication keys and salts may appear.
At the bottom, WordPress loads the application:
require_once ABSPATH . 'wp-settings.php';
Avoid deleting or changing lines unless you understand their purpose.
How to Enable WordPress Debugging
One of the most useful reasons to edit wp-config.php is enabling debugging.
Find:
define( 'WP_DEBUG', false );
and change it to:
define( 'WP_DEBUG', true );
This enables WordPress debugging.
For development websites, you can also configure logging:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
With this configuration, WordPress can write debugging information to:
wp-content/debug.log
Important Security Tip
Avoid displaying PHP errors publicly on a production website.
That’s why:
define( 'WP_DEBUG_DISPLAY', false );
is commonly used when logging errors without displaying them to visitors.
After troubleshooting, disable debugging on production sites unless you have a specific reason to keep it enabled.
How to Increase WordPress Memory Limit
Some websites require additional PHP memory for plugins, themes, imports, or other operations.
You can define the WordPress memory limit using:
define( 'WP_MEMORY_LIMIT', '256M' );
For administrative tasks, WordPress also supports:
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
However, these values don’t necessarily override the server’s PHP memory_limit.
Your hosting provider may impose a lower maximum.
How to Disable WordPress Automatic Updates
wp-config.php can also be used to control WordPress automatic updates.
For example:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
This disables the WordPress automatic updater.
Another setting that specifically controls WordPress core automatic updates is:
define( 'WP_AUTO_UPDATE_CORE', false );
Use these settings carefully because disabling automatic updates means that you must take responsibility for applying important updates manually.
How to Change the WordPress Database Host
The database server is specified using:
define( 'DB_HOST', 'localhost' );
On many hosting environments, localhost is correct.
However, a hosting provider may use another database hostname.
For example:
define( 'DB_HOST', 'mysql.example.com' );
Do not change DB_HOST unless you know the correct database server address.
An incorrect value can result in:
Error establishing a database connection
How to Change the WordPress Database Name
The database name is defined using:
define( 'DB_NAME', 'database_name' );
If you move WordPress to another database, this value may need to be updated.
For example:
define( 'DB_NAME', 'wordpress_new' );
Make sure the database actually exists and contains the correct WordPress tables.
How to Change Database Username and Password
WordPress stores the database credentials in:
define( 'DB_USER', 'database_user' );
define( 'DB_PASSWORD', 'database_password' );
If your hosting provider changes the database credentials, update these values accordingly.
For example:
define( 'DB_USER', 'new_database_user' );
define( 'DB_PASSWORD', 'new_secure_password' );
Do not confuse the database password with your WordPress administrator password. They are separate credentials.
How to Change the WordPress Table Prefix
The WordPress database table prefix is typically:
$table_prefix = 'wp_';
A different installation may use:
$table_prefix = 'site_';
The prefix must match the actual table names in your database.
For example, if your database contains:
site_posts
site_users
site_options
your configuration should use:
$table_prefix = 'site_';
Changing this value incorrectly can make WordPress unable to find its database tables.
Do not change the table prefix casually on an existing website. Changing the value alone does not rename the existing database tables.
How to Change WordPress Site URLs
In certain troubleshooting or migration situations, you can define the WordPress URL in wp-config.php.
For example:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
This can be useful when recovering a site with incorrect URL settings.
However, these constants override the corresponding database values, so use them intentionally.
How to Force HTTPS in WordPress
If your website is properly configured for HTTPS, WordPress can be configured to use the secure URL:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
However, HTTPS should also be correctly configured at the web-server and SSL level.
Changing the WordPress URL alone does not install or configure an SSL certificate.
How to Change the WordPress Content Directory
Advanced WordPress installations can use a custom content directory.
For example:
define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/custom-content' );
define( 'WP_CONTENT_URL', 'https://example.com/custom-content' );
This is an advanced configuration and should only be used when you understand how WordPress loads themes, plugins, and uploaded files.
How to Protect wp-config.php
Because wp-config.php contains sensitive information, it should be protected from unauthorized access.
Keep File Permissions Appropriate
Your hosting environment should use permissions that prevent unauthorized users from modifying the file.
Don’t Upload It to Public Repositories
Never commit a real wp-config.php containing credentials to a public Git repository.
Don’t Share the File Publicly
If troubleshooting with someone else, remove:
- Database password
- Database username
- Authentication keys
- Salts
- Other sensitive credentials
before sharing configuration information.
Common Mistakes When Editing wp-config.php
1. Forgetting the Semicolon
PHP statements normally end with a semicolon.
Correct:
define( 'WP_DEBUG', true );
Incorrect:
define( 'WP_DEBUG', true )
The missing semicolon can produce a PHP syntax error.
2. Using Incorrect Quotes
Use valid PHP quotation marks.
For example:
define( 'WP_MEMORY_LIMIT', '256M' );
Avoid replacing standard quotes with typographic “smart quotes.”
3. Adding Code in the Wrong Location
Configuration constants should generally be added before WordPress loads:
require_once ABSPATH . 'wp-settings.php';
Follow the placement instructions for the specific setting you’re adding.
4. Removing Existing Configuration
Don’t delete existing settings simply because you don’t recognize them.
Some may have been added by your hosting environment, migration process, or WordPress tools.
5. Editing the Wrong WordPress Installation
A hosting account can contain multiple WordPress websites.
Verify the correct document root before modifying wp-config.php.
What to Do If WordPress Breaks After Editing
If the website stops working immediately after modifying wp-config.php, the problem may be caused by a syntax error or incorrect configuration.
Step 1: Restore Your Backup
Replace the modified file with your original backup.
Step 2: Check the Syntax
Look carefully for:
- Missing semicolons
- Missing quotes
- Extra characters
- Incorrect parentheses
- Incorrect constant names
Step 3: Check Error Logs
Your hosting control panel may provide PHP error logs.
These can help identify the exact line causing the problem.
Step 4: Reapply the Change Carefully
Once you identify the issue, restore the original file and make the required change again.
Best Practices for Editing wp-config.php
Follow these recommendations whenever you modify the file:
- Create a backup first.
- Use a plain-text or code editor.
- Make one change at a time.
- Check PHP syntax carefully.
- Never expose database credentials.
- Test the website immediately afterward.
- Keep debugging disabled on production when troubleshooting is finished.
- Use version control carefully without committing real secrets.
- Document important custom configuration.
- Ask your hosting provider before changing server-dependent settings.
Frequently Asked Questions
Can I edit `wp-config.php from WordPress?
Normally, you should edit wp-config.php through your hosting File Manager, FTP/SFTP, SSH, or another server-level file-management method rather than relying on the WordPress dashboard.
Where is `wp-config.php located?
It is usually located in the main WordPress installation directory, such as public_html. WordPress can also load it from the directory above the installation.
Is it safe to edit wp-config.php?
Yes, provided you understand the setting you’re changing and create a backup first. Incorrect configuration can cause WordPress errors.
Can I edit `wp-config.php using cPanel?
Yes. cPanel’s File Manager normally allows you to locate and edit the file.
Can I edit `wp-config.php using DirectAdmin?
Yes. DirectAdmin’s File Manager can generally be used to access and edit the file, depending on your hosting configuration.
What happens if I delete wp-config.php?
WordPress will lose the configuration information required to connect to the database and load the installation correctly. Always keep a backup.
Final Thoughts
The wp-config.php file provides powerful control over a WordPress installation, from database connectivity and debugging to memory settings and update behavior.
Because it contains sensitive information and controls important parts of WordPress, editing it should always be done carefully. Make a backup before making changes, use a proper code editor, verify PHP syntax, and test the website afterward.
Whether you’re using cPanel, DirectAdmin, FTP, SFTP, or SSH, the basic workflow remains the same:
Back up → Edit carefully → Save → Test → Monitor.
With the right precautions, wp-config.php can be a useful tool for troubleshooting and fine-tuning your WordPress website without unnecessarily risking downtime.