Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Edit wp-config.php File in WordPress (Step by Step)

During your WordPress journey, you will often come across tutorials that ask you to edit the ‘wp-config.php’ file. This file is important because it controls critical WordPress settings, making it a powerful tool for managing your site.

Over the years, we have worked with countless WordPress setups. This experience has shown us how crucial the wp-config.php file is, especially for security, performance, and troubleshooting.

In this article, we will teach you how to edit the wp-config.php file in WordPress. We will also share some of the best practices we’ve developed over the years.

Editing the wp-config.php file in WordPress

Here is a list of topics we will cover in this guide:

What Is the wp-config.php File?

As the name suggests, it is a configuration file that is part of all self-hosted WordPress sites.

Unlike other core WordPress files, the wp-config.php file does not come built-in with WordPress.

Instead, it’s explicitly generated for your site during the installation process.

WordPress database settings during installation

WordPress stores your database information in the wp-config.php file. Without this information, your WordPress website will not work, and you will get the ‘error establishing database connection‘ error.

The wp-config.php file contains several other high-level settings in addition to database information. We will explain them later in this article.

Regular WordPress users might not need to edit the wp-config.php file frequently. However, understanding how to do it can make you more proficient in managing your WordPress site.

Since this file contains a lot of sensitive information, it is recommended that you don’t mess with it unless you have absolutely no other choice.

But since you’re reading this article, you need to edit the wp-config.php file. Below are the steps to do it without messing things up.

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

Getting Started

The wp-config.php file is so important to a WordPress site that a tiny mistake can make your website inaccessible.

That’s why, before making any critical changes to your WordPress website, you should always create a complete WordPress backup.

This ensures that your WordPress data and settings are backed up and can be restored if something goes wrong.

We recommend using Duplicator. It is the best WordPress backup plugin and allows you to easily back up your website.

Is Duplicator the right backup and migration plugin for you?

Note: There is also a free version of Duplicator available. However, we recommend upgrading to the paid plan to unlock more features.

Accessing and Editing the wp-config.php File

The wp-config.php file is found on your WordPress hosting server.

You can access it by connecting your website using an FTP client or the File Manager app in your hosting account control panel.

An FTP client allows you to transfer files between a server and your computer. Windows users can install FileZilla, WinSCP, or SmartFTP, while Mac users can choose from FileZilla, Transmit, or CyberDuck.

First, you need to connect to your website using an FTP client. You will need FTP login information, which you can get from your web host. If you don’t know your FTP login information, you can contact your hosting provider’s support team.

The wp-config.php file is usually located in the root folder of your website with other folders like wp-includes, wp-content, and wp-admin.

Download wp-config.php file to your computer for editing

Simply right-click on the file and select ‘Download’ from the menu.

Your FTP client will now download the wp-config.php file to your computer. You can open and edit it using a plain text editor app like Notepad or Text Edit.

Once you have finished editing it you can simply upload it back to your website using FTP.

You will then see a message that the file already exists with a bunch of options. Select ‘Overwrite’ and click ‘OK’.

Overwrite old file

Understanding the wp-config.php File

Before you start, let’s examine the full code of the default wp-config.php file. You can also see a sample of this file here.

<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the website, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * Database settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
 *
 * @package WordPress
 */

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

Each section of the wp-config.php file is well documented in the file itself. Almost all settings here are defined using PHP constants.

define( 'constant_name' , 'value');

Let’s take a closer look at each section in the wp-config.php file.

MySQL Settings in wp-config.php File

Your WordPress database connection settings appear in the ‘Database Settings’ section of the wp-config.php file.

You will need your MySQL host, database name, database username, and password to complete this section.

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

Here is a list of the constants in this section and what they do.

Constant NameDescription
DB_NAMEThe name of the database for WordPress.
DB_USERThe username used to access the WordPress database.
DB_PASSWORDThe password for the database username.
DB_HOSTThe hostname of the database server (usually ‘localhost’).
DB_CHARSETThe hostname of the database server (usually ‘localhost’).
DB_COLLATEThe collation type for the database (usually left blank).

To fill in these values, you will need database information, which you can find in your web hosting account’s control panel.

Depending on your hosting provider, your control panel may look slightly different than the screenshots below. In that case, you need to look for the ‘Databases’ section in your hosting account.

For instance, if you are using Bluehost, first log in to your hosting account. Then, click ‘Settings’ under your website.

Bluehost site settings

This will show you different settings for your website.

Switch to the Advanced tab and then click ‘Manage’ next to the ‘cPanel’ section.

Bluehost advanced cPanel

It will open the cPanel interface in a new browser tab.

From here, you need to scroll to the Databases section and click ‘MySQL Databases.’

MySQL database in cPanel

On the MySQL Databases page, you will find the list of your current database, username, and password.

If you cannot find your WordPress database or MySQL username and password, then you need to contact your web host.

What Are DB_CHARSET and DB_COLLATE in wp-config.php File?

The ‘DB_CHARSET’ setting specifies the character set for your WordPress database tables. The default is utf8, which supports most languages and ensures broad compatibility.

The ‘DB_COLLATE’ setting defines how the database sorts and compares characters.

We recommend leaving it blank and letting MySQL use the default collation for the specified character set (utf8_general_ci for utf8).

Authentication Unique Keys and Salts

Authentication keys and salts are security features in the wp-config.php file. They add extra protection to your WordPress installation by ensuring strong encryption of information stored in user cookies.

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/

There are eight different keys and salts in total. Each key and salt pair is a random, long string of text numbers and special characters.

Here is what each key does:

Constant NameDescription
AUTH_KEYAuthenticate cookies and ensure data integrity.
SECURE_AUTH_KEYSecure the authentication cookie when using SSL.
LOGGED_IN_KEYValidate logged-in cookies.
NONCE_KEYProtect nonces (numbers used once) from being guessed.
AUTH_SALTAdds extra security to the authentication process.
SECURE_AUTH_SALTAdds extra security to the authentication process.
LOGGED_IN_SALTAdds extra security to the logged-in process.
NONCE_SALTAdds extra security to the nonce creation and verification process.

You can generate new keys by visiting the WordPress.org secret keys generator. You can also change them later if you suspect someone is attempting to access your WordPress admin area.

For more information, take a look at our guide on WordPress security keys.

WordPress Database Table Prefix

By default, WordPress adds the ‘wp_’ prefix to all the tables it creates in the database.

It is recommended that you change your WordPress database table prefix to something random during installation.

This will make it difficult for hackers to guess your WordPress tables and will save you from some common SQL injection attacks.

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

Important ⚠️: Please note that you cannot change this value for an existing WordPress site. To change these settings on an existing WordPress site, follow the instructions in our article on how to change the WordPress database prefix.

WordPress Debugging Mode

This setting is particularly useful for users learning WordPress development or troubleshooting errors.

By default, WordPress hides notices generated by PHP when executing code. Simply setting the debug mode to ‘true’ will show you these notices.

This provides crucial information for developers to find bugs. It will also help if you are trying to troubleshoot issues on a WordPress site.

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
 */
define( 'WP_DEBUG', false );

Alternatively, you can also choose to keep a log of errors and notices.

For more detailed instructions, check out our tutorial on enabling debug mode in WordPress.

Absolute Path Settings

The last part of the wp-config file defines the absolute path. This instruction tells WordPress where to find the core WordPress files.

After this instruction, the ABSPATH is used to load the wp-settings.php file.

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

Both these settings are not meant to be changed.

To understand how WordPress loads files, take a look at our explainer on how WordPress works behind the scenes. It will give you a step-by-step breakdown of how WordPress core software works.

Useful wp-config.php Hacks and Settings

We have covered the default wp-config.php settings so far. Now, let’s examine some additional settings.

These settings are optional and can be used when needed. They can help you troubleshoot errors and solve many common WordPress errors.

Changing MySQL Port and Sockets in WordPress

If your WordPress hosting provider uses alternate ports for MySQL host, then you will need to change your DB_HOST value to include the port number.

Note: This is not a new line, but you must edit the existing DB_HOST value.

define( 'DB_HOST', 'localhost:5067' );

Don’t forget to change the port number 5067 to whatever port number is provided by your web host.

If your host uses sockets and pipes for MySQL, then you will need to add it like this:

define( 'DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock' );

Changing WordPress URLs Using wp-config.php File

You may need to change WordPress URLs when moving a WordPress site to a new domain name.

You can change these URLs by visiting the Settings » General page.

Check your WordPress and site address from the WordPress admin

You can also change these URLs using the wp-config.php file. This comes in handy if you are unable to access the WordPress admin area due to the error too many directs issue.

Simply add these two lines to your wp-config.php file:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Don’t forget to replace example.com with your domain name.

You also need to keep in mind that search engines treat www.example.com and example.com as two different locations (See www vs non-www – Which one is better for SEO?).

If your site is indexed with a www prefix, then you need to add your domain name accordingly.

Changing Uploads Directory Using The wp-config.php File

By default, WordPress stores all your media uploads in the/wp-content/uploads/ directory.

If you want to store your media files in a different location, you can add this line of code in your wp-config.php file:

define( 'UPLOADS', 'wp-content/media' );

Note that the uploads directory path is relative to the ABSPATH automatically set in WordPress. Adding an absolute path here will not work.

See our detailed guide on how to change the default media upload location in WordPress for more information.

Disable Automatic Updates in WordPress

WordPress has automatic updates enabled by default. This allows WordPress sites to automatically update when a minor update is available.

For instance, if your site is running WordPress 6.6 and a security update 6.6.1 is released, then WordPress will automatically install the update.

However, when WordPress 6.7 is released, you will be asked to initiate the update.

While automatic updates are critical for security, many users fear that they can also break their website, making it inaccessible.

Adding this single line of code to your wp-config.php file will disable all automatic updates on your WordPress site:

define( 'WP_AUTO_UPDATE_CORE', false );

See our tutorial on how to disable automatic updates in WordPress for more information.

Limit Post Revisions in WordPress

WordPress comes with built-in autosave and revisions. See our tutorial on how to undo changes in WordPress with post revisions.

Revisions take up little space on most websites. However, we noticed a significant increase in database backup size for some of our larger websites.

If you run a large website, then you can limit the number of revisions you want to keep in the database.

Simply add this line of code to your wp-config.php file to limit the number of revisions stored for a post:

define( 'WP_POST_REVISIONS', 3 );

Replace 3 with the number of revisions you want to store.

WordPress will now automatically discard older revisions. However, your older post revisions are still stored in your database. See our tutorial on how to delete old post revisions in WordPress.

We hope this article helped you learn how to edit the wp-config.php file in WordPress and all the cool things you can do with it. You may also want to see our article on password-protecting the WordPress admin directory or our tips for using the WordPress admin bar.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

60 CommentsLeave a Reply

  1. TAOUFIK

    I always have a pb of updating failed when i want to write an article , can you help me?

  2. Sean Hodge

    I believe you should not put any custom rules below the ABSPATH / vars bit down at the bottom, but can you put stuff in any order above those lines?

    I’ve got some time on my hands, so I’ve been doing just that, moving stuff around the wp-config file, and removing all the extra fluff between comments. I now know what it all does, and have just left a simple title above each group of rules, such as

    /**
    * Authentication Unique Keys and Salts.
    */

    All the rest of the info about Salts, and debugging etc, is now gone, the stuff that usually appears in green.

    What I also did was move the $table_prefix above the Salts, right under the rest of the database info.

    I’ve done this all because when I do go in there to modify actual rules, I have to wade my way through what is now useless info, to me.

    So far, nothing has exploded, but I thought to ask anyway.

    • WPBeginner Support

      You can change the order of the other content in that file if you wanted, we would warn to be careful when moving that you don’t remove part of the code and normally you should not need to edit your wp-config file.

      Admin

  3. Priyanshu Nandi

    Which code lines l have to type to increase
    Max_input_vars value in this file

    • WPBeginner Support

      That would require changes to your htaccess or a different file, we would recommend reaching out to your host for assistance with what you’re wanting to do.

      Admin

  4. WPBeginner Support

    Thank you, glad you liked our article :)

    Admin

  5. S.s. Brar

    Great article. A must have information for WP admins.
    Thanks to Syed and His Team.

    • WPBeginner Support

      Glad our article could be helpful :)

      Admin

  6. Mister No

    Hi there, great article. I’m having a problem with my website mobile version. When I try to open it on the mobile phone it says “This site is experiencing technical difficulties”.
    What should I do to make my site work again properly?
    Thanks in advance

  7. Paul

    Syed, all of a sudden, I can’t upload images (message: missing a temporary folder). Tried to log into WordPress to check support blogs and my username is not recognised.

  8. Gale

    I am a newbie at wordpress. I uploaded the files via Filezilla and got everything configured. Now how exactly do I actually access my new wp-blog site?

    Wp is in the root (public_html) of my website. There were several other file folders that came with Wp. Do I upload them into the public_html folder as well?

  9. Esther

    Hi, I found out when I was installing WordPress, it was installed in subdirectory Wp and has a result my website can’t go live, my web host said I have to uninstall and install again and I should leave the Wp in the Installation panel blank, my problem is that I have designed the website only to go live and once I uninstall everything will be wiped off, what do I about it, Is there a way to avoid that?

  10. Mina

    Hi,
    Thank you for the useful article.
    I’m new to this file and I have a basic question. I changed the cache plugin of my site and I need to change the line about it at the beginning of the file to override details of the previous plugin.
    Once my file is updated, can I upload it while the cache plugin is activated, and deactivate/reactivate it just after, or do I have to deactivate the plugin before uploading the new wp-config file ?
    Thanks for your help.

    • WPBeginner Support

      If your plugin is requiring you to edit your wp-config file you would normally want to edit the wp-config file before activating your new plugin.

      Admin

  11. Tiar

    hi, i have a wordpress site, i want edit my wordpress site in local, but when i already backup and run my wordpress in local. the page is full of white. can you help me ? im beginner in wordpress

  12. Arthur

    I have updated my website (lostkatanning.com) o WP 5.1 (the Gutenberg update) but now, when working on pages or posts it has slowed right down to a crawl and takes forever to respond to even a single key touch. I have tried numerous things from various websites but nothing seems to work. It is starting to do my head in! Any ideas on how to get my speed back?

  13. mostafa

    Hi
    I have a wordpress site. Today I realized my wp-config.php file has been removed for no reason (The reason is not important for me right now).

    I want to know what happens if I create another wp-config.php file in the root directory of my website by renaming the wp-config-sample.php file again and set the database name blah blah blah

    does it affect my pages and posts? How about the users who have signed up to my website? does it remove them? If the answer is yes, isn’t it better for me to restore backup? The only problem for restoring backup is that it is for two days ago and I posted a new content yesterday and I will miss it.

    Thank you very much in advance

    • WPBeginner Support

      Your user and post information is in the database so that information shouldn’t be affected, as long as you connect it to your correct database then there shouldn’t be any change.

      Admin

  14. Deepak

    Hello,
    How do I edit wp-config for setting other smtp using WP smtp plugin ?

    Plugin says, “The password is stored in plain text. We highly recommend you setup your password in your WordPress configuration file for improved security; to do this add the lines below to your wp-config.phpfile.

    define( ‘WPMS_ON’, true ); define( ‘WPMS_SMTP_PASS’, ‘your_password’ ); ”

    Where do I exactly add the code ? It don’t shown in tutorial video or article of Wpbeginner.

    • WPBeginner Support

      Hi Deepak,

      You can add this code just before the line that says ‘That’s all, stop editing! Happy blogging’ in your wp-config.php file.

      Admin

  15. Riyaz

    Thank you for sharing this article, it was simple and easy to understand.

  16. Gaurav Bhatnagar

    Hi, I just updated my WordPress to new version manually using FileZilla. My website was working. But then, I did some update inside wp-config.php file. Now the size of that file on server has become ‘0’. Even if I update it from local PC, it still remains ‘0’. What should I do? Now website is not working. I am getting – HTTP Error 500

    • WPBeginner Support

      Hi Gaurav,

      You can download a fresh copy of WordPress and extract it on your computer. Inside it you will find a wp-config-sample.php file. You can upload this file to your server and rename it to wp-config.php. You will now need to edit wp-config.php file and enter your WordPress database information.

      Admin

      • Gaurav Bhatnagar

        It worked. Thank you.

  17. Greg Bryant

    I have an intranet-based wordpress site that I’m setting up. I’m having issues with the proxy configuration in wp-config.php. I’ve tried about everything I know and I still keep getting ‘Proxy Authentication Required” errors.

    define(‘WP_PROXY_HOST’, ‘https://proxy.domain.com’);
    define(‘WP_PROXY_PORT’, ‘3128’);
    define(‘WP_PROXY_USERNAME’, ‘domain\\username’);
    define(‘WP_PROXY_PASSWORD’, ‘xxxxxx’);
    define(‘WP_PROXY_BYPASS_HOSTS’, ‘localhost’);

    Our internal wordpress site can detect that there are new versions of plug-ins but when I try to update I get the proxy authentication error. I’ve tried the variables above with https, http, just proxy.domain.com, the username escaping the \, not escaping the backslash, etc. I looked at the code in class-wp-http-proxy.php and it appears the authentication connects the username with a : and then the password like the http(s)_proxy environment variable. I’ve tried local host for the bypass and an empty string. Our Windows domain uses an file; is there a place to specify this?

    I get the same proxy authentication errors trying to download anything from the internal wordpress site.

    Error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums. (WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.) in /var/www/epkb.mw-process-ctrl.com/public_html/wp-admin/includes/plugin-install.php on line 168

    I’m also having an issue with php’s file_get_contents if that’s something wordpress uses. cURL works fine.

    Any ideas?

    Thanks

      • Greg Bryant

        I have curl installed.

        It lists ipV6 as yes but I have ipV6 disabled since our network doesn’t support it.

        I think the problem is authenticating with our proxy. On the server I use:

        (the \ is escaped when setting the env variables). Above is my wp-content proxy settings.

        I’m using ufw for my firewall and have tried with it enabled & disabled with the same results.

        Any other ideas?

        Thanks

        • WPBeginner Support

          Hi Greg,

          We are not sure. You can post on WordPress.org forums may be someone who has faced similar situation can help out.

  18. Jon M

    Do the changes take effect immediately after saving the new wp-config file?

    • WPBeginner Support

      Hey Jon,

      Yes, they are effectively immediately. However, if you are editing wp-config file in a text editor on your computer, then simply saving your changes may not change the wp-config.php file on your server. You will need to upload the changed wp-config.php file back to your server for changes to take effect.

      Admin

      • Andy

        What’s the best way to upload the changed wp-config.php file back to the server?

        Can the tutorial be updated with how to upload the adjusted config file? The tutorial seems to be incomplete for the (relative) novice

        • WPBeginner Support

          Hi Andy,

          We have linked to our article on how to use FTP to upload WordPress files. It also applies to editing your wp-config.php file. You can simply download your wp-config.php file to your computer using FTP. Edit it to make your desired changes and then upload it back using the same FTP client.

          Hope this helps.

  19. ayush

    I did something silly , i removed the www part from wp site url under Setting-General . Now admin panel is getting redirected to wordpress one. i used your steps to copy both lines with modification and uploaded via ftp . No luck .Plz help

  20. Boris

    Excellent post. I am a newbie and learned a lot.

    I have an issue with my site. It looks like I have been hacked. I ran WordFence scan and it caught a line of code in my wp-config.php file that it flagged as not belonging there. Following is the code:

    My question is this. Can I remove the "@include…" from the file without screwing up the .php file.

    Any guidance will be appreciated.

    • WPBeginner Support

      Hi Boris,

      Is the file part of the core WordPress software, a plugin, or a theme? If yes, then download a fresh copy of WordPress core, plugins, or theme the file belongs to and then upload the new file.

      You can also download the file to your computer before editing the code as a backup. If anything goes wrong you can then upload it back.

      Admin

  21. Saud Razzak

    Great post, glad I read.

  22. Steph

    I’m having problems accessing site. I debugged and am getting a list of problems but most seem to come back to this one:

    “Notice: get_settings is deprecated since version 2.1.0!
    Use get_option() instead. in /usr/local/pem/vhosts/xxxxxx/webspace/siteapps/WordPress-xxxxx/htdocs/wp-includes/functions.php on line 3752″

    But line 3752 reads:
    ” trigger_error( sprintf( __(‘%1$s is deprecated since version %2$s! Use %3$s instead.’), $function, $version, $replacement ) ); ”

    So i’ve no idea what to replace. I’m sure this is 101 stuff to you, but I’m really confused!! I would really appreciate your advice, thank you.

    • Steph

      Found your section on disabling plugins – which was a great help as the the site is now viewable whilst I try to resolve. This is the message I see now when logged in WP Admin

      ” Catchable fatal error: Argument 1 passed to Genesis_Admin_CPT_Archive_Settings::__construct() must be an instance of stdClass, instance of WP_Post_Type given, called in /usr/local/pem/vhosts/xxxxxx/webspace/siteapps/WordPress-xxxxxx/htdocs/wp-content/themes/genesis/lib/admin/menu.php on line 122 and defined in /usr/local/pem/vhosts/xxxxxx/webspace/siteapps/WordPress-xxxxxx/htdocs/wp-content/themes/genesis/lib/admin/cpt-archive-settings.php on line 38 ”

      Am in a spot of bother and could really use your help – thank you!

      • WPBeginner Support

        Hey Steph,

        Try updating your Genesis child theme. Connect to your website using FTP and download your child theme as a backup. After that delete child theme folder from your website.

        Next, download a fresh copy of the theme and install it. If this doesn’t work, then try updating Genesis core itself.

        Admin

  23. Hell Men

    If i delete salt key can i decrypt wordpress password ?

  24. Sean

    Hi,
    I did something silly and now can’t get my site to work. Basically I kept my site live at said URL example.com and created a folder where I built the Wordpress site example.com/Wordpress. However when I went to put the wordpress site into the root folder after backing everything up I forgot to change the site URL in the dashboard. i basically then removed my entire site and copied everything from the wordpress site into the root URL. It didn’t work – so I thought I would remove everything and restore my site as it was with both the wordpress and the normal site working.

    However once I restored all the files the wordpress site now errors with 404 Page not found and I can’t login into the dashboard either.

    Any idea how I can restore this? I think it is looking in the root directory and Wordpress folder for the site or something similar and it’s causing the error – but how do I fix it?

    Thanks
    Sean

    • WPBeginner Support

      Hi Sean,

      You can update WordPress URLs by adding this code to your wp-config.php file:

      define('WP_HOME','http://example.com');
      define('WP_SITEURL','http://example.com');

      Admin

  25. Dan

    Hello i would like to have it when i upload an image it gets uploaded to my cloud from wordpress.
    i got a url & api key.
    Any suggestions would be cool. thanks.

  26. Eeswar Reddy

    Best site for WordPress Beginners. Solved my blog problem simply. Thank u so much Sir…

  27. Karl

    Nice instructions, as far as they go. However, I know it is ALSO possible to edit wp-config.php directly through Wordpress’ Admin area but it seems to be a closely guarded secret as to HOW to actually do this. I do not have FTP access to my site so I have to use some other method and I’d rather not go chasing down the rabbit hole of trying out various flaky plugins until I find one that actually works. Your assistance as to what menu drill-down to explore in Wordpress Admin would be greatly appreciated.

    • WPBeginner Support

      It is not a good idea to edit wp-config.php file inside WordPress admin area. One tiny mistake and you will be locked out of your WordPress site. If you do not have FTP access, you can try editing it via cPanel’s file manager.

      Admin

  28. Angela

    I don’t want to sound stupid, but please help me understand… are the wp-config.php changes supposed to be made on my Mac or on the host for my website. They are two different machines.
    Please help! I keep making changes to my web site and all of a sudden they just do not ‘take’.
    Best regards,
    Angela

    • WPBeginner Support

      You can make changes to wp-config.php file using an FTP client. It allows you to edit files on your web server. After connecting to your website using an FTP client, you need to locate wp-config.php file and download it to your computer. Make changes it to it using a text editor like TextEdit. Save your changes and then upload the file back to your web server using the FTP client.

      Admin

  29. Sharron

    Ok, so I added define(‘WP_ALLOW_REPAIR’, true); to my downloaded wp config file with notepad. Now what?

    • Ray

      Once you have done that, you can see the settings by visiting this URL on your blog:

      yoursite.com/wp-admin/maint/repair.php

      You have 2 buttons
      1st – Repair Database
      2nd – Repair and Optimize Database

      I suggest u click the 1st one and wait for the process to finish.

  30. John Johnson

    CODA is an FTP Client as well. Correct?

  31. PiNo

    Hi,

    For security I add to my .htaccess

    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    Kind regards

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.