بهترین آموزش ویرایش فایل wp-config.php

فهرست مطالب

چگونه فایل wp-config.php را ویرایش کنیم؟

در طول سفر وردپرس خود، اغلب با آموزش هایی مواجه می شوید که از شما می خواهند فایل ‘wp-config.php’ را ویرایش کنید.

این فایل به این دلیل مهم است که تنظیمات حیاتی وردپرس را کنترل می کند و آن را به ابزاری قدرتمند برای مدیریت سایت شما تبدیل می کند.

در طول سال‌ها، ما با تنظیمات بی‌شماری وردپرس کار کرده‌ایم. این تجربه به ما نشان داده است که فایل wp-config.php چقدر حیاتی است، به خصوص برای امنیت، عملکرد و عیب یابی.

در این مقاله نحوه ویرایش فایل wp-config.php در وردپرس را به شما آموزش می دهیم. همچنین برخی از بهترین روش هایی را که در طول سال ها توسعه داده ایم به اشتراک خواهیم گذاشت.

فایل wp-config.php چیست؟

همانطور که از نام آن پیداست، این یک فایل پیکربندی است که بخشی از تمام سایت‌های وردپرسی است .

برخلاف سایر فایل‌های اصلی وردپرس، فایل wp-config.php به صورت پیشفرض همراه با وردپرس نیست بلکه در طول مراحل نصب برای سایت شما ساخته می شود.

تنظیمات اتصال به دیتابیس در هنگام نصب وردپرس

وردپرس اطلاعات اتصال به پایگاه داده شما را در فایل wp-config.php ذخیره می کند. بدون این اطلاعات، وب سایت وردپرس شما کار نخواهد کرد و با خطای « خطا در ایجاد اتصال به پایگاه داده » مواجه خواهید شد.

فایل wp-config.php علاوه بر اطلاعات پایگاه داده حاوی چندین تنظیمات سطح بالا دیگر نیز می باشد. در ادامه این مقاله به توضیح آنها خواهیم پرداخت.

کاربران عادی وردپرس ممکن است نیازی به ویرایش مکرر فایل wp-config.php نداشته باشند. با این حال، درک نحوه انجام آن می تواند شما را در مدیریت سایت وردپرس خود کمک کند.

از آنجایی که این فایل حاوی اطلاعات حساس زیادی است، توصیه می‌شود تا زمانی که انتخاب دیگری نداشته باشید، به آن دست نزنید.

اما از آنجایی که در حال خواندن این مقاله هستید، باید فایل wp-config.php را ویرایش کنید. در زیر مراحل انجام این کار بدون ایجاد اختلال در سایت توضیح داده شده است.

شروع به کار

فایل wp-config.php آنقدر برای یک سایت وردپرس مهم است که یک اشتباه کوچک می تواند وب سایت شما را از دسترس خارج کند.

به همین دلیل است که قبل از ایجاد هرگونه تغییر مهم در وب سایت وردپرس خود، همیشه باید یک نسخه پشتیبان کامل از وردپرس ایجاد کنید .

این کار تضمین می کند که از داده ها و تنظیمات وردپرس شما نسخه پشتیبان تهیه شده است و در صورت بروز مشکل می توان آنها را بازیابی کرد.

توصیه می کنیم از UpdraftPlus استفاده کنید . این بهترین افزونه پشتیبان گیری وردپرس است و به شما امکان می دهد به راحتی از وب سایت خود نسخه پشتیبان تهیه کنید.

عکس از افزونه Updraftplus

توجه: نسخه رایگان UpdraftPlus نیز موجود است. با این حال، توصیه می‌کنیم برای فعال شدن ویژگی‌های بیشتر، نسخه حرفه ای آن را خریداری کنید.

دسترسی و ویرایش فایل wp-config.php

فایل wp-config.php در هاست وردپرس شما وجود دارد.

می توانید با اتصال وب سایت خود با استفاده از یک نرم افزار FTP یا برنامه File Manager در کنترل پنل هاست خود به آن دسترسی داشته باشید.

یک نرم افزار FTP به شما امکان می دهد فایل ها را بین هاست و رایانه خود انتقال دهید. کاربران ویندوز می توانند FileZilla، WinSCP یا SmartFTP را نصب کنند، در حالی که کاربران مک می توانند FileZilla، Transmit یا CyberDuck را انتخاب کنند.

ابتدا باید با استفاده از یک نرم افزار FTP به وب سایت خود متصل شوید . شما به اطلاعات ورود به FTP نیاز دارید که می توانید از مدیریت هاست خود دریافت کنید. اگر اطلاعات ورود به FTP خود را نمی دانید، می توانید با تیم پشتیبانی ارائه دهنده هاست خود تماس بگیرید.

فایل wp-config.php معمولاً در پوشه ریشه وب سایت شما و در کنار پوشه های دیگری مانند wp-includes، wp-content و wp-admin قرار دارد.

ویرایش فایل wp-config.php با استفاده از نرم افزار ftp

به سادگی روی فایل کلیک راست کرده و از منو گزینه “Download” را انتخاب کنید.

نرم افزار FTP شما اکنون فایل wp-config.php را در رایانه شما دانلود می کند. می توانید با استفاده از یک برنامه ویرایشگر متن ساده مانند Notepad یا Text Edit آن را باز کرده و ویرایش کنید.

پس از اتمام ویرایش، می توانید به سادگی آن را با استفاده از نرم افزار FTP در وب سایت خود بارگذاری کنید.

سپس پیامی مبنی بر وجود فایل با تعدادی گزینه مشاهده خواهید کرد. گزینه “Overwrite” را انتخاب کنید و روی “OK” کلیک کنید.

آشنایی با فایل wp-config.php

قبل از شروع، اجازه دهید کد کامل فایل پیش فرض wp-config.php را بررسی کنیم. همچنین می توانید نمونه ای از این فایل را در اینجا مشاهده کنید .

<?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';

هر بخش از فایل wp-config.php به خوبی در خود فایل مستند شده است. تقریباً تمام تنظیمات در اینجا با استفاده از ثابت های PHP تعریف می شوند.

define( 'constant_name' , 'value');

بیایید نگاهی دقیق تر به هر بخش در فایل wp-config.php بیندازیم.

تنظیمات MySQL در فایل wp-config.php

تنظیمات اتصال پایگاه داده وردپرس شما در بخش “تنظیمات پایگاه داده” فایل wp-config.php ظاهر می شود.

برای تکمیل این بخش به میزبان MySQL، نام پایگاه داده، نام کاربری پایگاه داده و رمز عبور خود نیاز دارید.

// ** 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', '' );

در اینجا لیستی از ثابت های این بخش و کارهایی که انجام می دهند آماده کرده ایم.

نام ثابتتوضیحات
DB_NAMEنام پایگاه داده برای وردپرس.
DB_USERنام کاربری که برای دسترسی به پایگاه داده وردپرس استفاده می شود.
DB_PASSWORDرمز عبور نام کاربری پایگاه داده
DB_HOSTنام میزبان سرور پایگاه داده (معمولاً ‘localhost’).
DB_CHARSETمجموعه کاراکتر های استفاده شده برای ساخت جداول پایگاه داده (معمولاً ‘utf8’).
DB_COLLATEنحوه مرتب‌سازی و مقایسه کاراکترهای پایگاه داده (معمولا خالی می ماند).

برای پر کردن این مقادیر، به اطلاعات پایگاه داده نیاز دارید که می توانید آن را در کنترل پنل هاست خود پیدا کنید.

بسته به شرکت ارائه دهنده هاست شما، کنترل پنل شما ممکن است کمی متفاوت با تصاویر زیر باشد. در این صورت، شما باید به دنبال بخش «Databases» در کنترل پنل هاست خود باشید.

ما در این آموزش تصاویر Cpanel را قرار داده ایم که ممکن است برای شما Direct Admin باشد.

در کنترل پنل Cpanel ، باید به بخش Databases بروید و روی MySQL Databases کلیک کنید.

گزینه مدیریت دیتابیس ها در cpanel

در صفحه MySQL Databases، لیستی از پایگاه داده ها، نام کاربری و رمز عبور فعلی آن ها را خواهید یافت.

اگر نمی توانید پایگاه داده وردپرس یا نام کاربری و رمز عبور MySQL خود را پیدا کنید، باید با پشتیبانی هاست خود تماس بگیرید.

DB_CHARSET و DB_COLLATE در فایل wp-config.php چیست؟

تنظیم ‘DB_CHARSET’ مجموعه کاراکترها را برای جداول پایگاه داده وردپرس شما مشخص می کند. پیش فرض utf8 است که از اکثر زبان ها پشتیبانی می کند و سازگاری گسترده ای را تضمین می کند.

تنظیم «DB_COLLATE» نحوه مرتب‌سازی و مقایسه کاراکترهای پایگاه داده را مشخص می‌کند.

توصیه می کنیم آن را خالی بگذارید و اجازه دهید MySQL از ترکیب پیش فرض برای مجموعه کاراکترهای مشخص شده استفاده کند (utf8_general_ci برای utf8).

کلیدها و نمک های منحصر به فرد احراز هویت

کلیدهای احراز هویت و نمک ها ویژگی های امنیتی در فایل wp-config.php هستند. این عبارت ها برای اطمینان از رمزگذاری قوی اطلاعات ذخیره شده در کوکی های کاربر، امنیت وردپرس شما را افزایش می دهند.

/**#@+
 * 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' );
 
/**#@-*/

در مجموع هشت کلید و نمک مختلف وجود دارد. هر جفت کلید و نمک یک رشته تصادفی و طولانی از اعداد، متن و کاراکترهای خاص است.

در اینجا چیزی است که هر کلید انجام می دهد:

نام ثابتتوضیحات
AUTH_KEYکوکی ها را احراز هویت و از یکپارچگی داده ها اطمینان حاصل می کند.
SECURE_AUTH_KEYهنگام استفاده از SSL، کوکی احراز هویت را ایمن می کند.
LOGGED_IN_KEYکوکی های کاربران وارد شده را تأیید می کند.
NONCE_KEYاز حدس زدن nonce ها (اعدادی که یک بار استفاده شده اند) محافظت می کند.
AUTH_SALTامنیت بیشتری را به فرآیند احراز هویت اضافه می کند.
SECURE_AUTH_SALTامنیت بیشتری را به فرآیند احراز هویت اضافه می کند.
LOGGED_IN_SALTامنیت بیشتری را به فرآیند های کاربران وارد شده به سیستم اضافه می کند.
NONCE_SALTامنیت بیشتری را به فرآیند ایجاد و تأیید nonce اضافه می کند.

شما می توانید کلیدهای جدید را با مراجعه به مولد کلیدهای مخفی WordPress.org ایجاد کنید. همچنین اگر مشکوک هستید که شخصی در حال تلاش برای دسترسی به بخش مدیریت وردپرس شما است، می‌توانید آنها را تغییر دهید.

پیشوند جداول پایگاه داده وردپرس

به طور پیش فرض، وردپرس پیشوند 'wp_' را به تمام جداولی که در پایگاه داده ایجاد می کند اضافه می کند.

توصیه می شود در حین نصب، پیشوند جدول پایگاه داده وردپرس خود را به عبارت تصادفی دیگری تغییر دهید.

این کار حدس زدن جداول وردپرس شما را برای هکرها دشوار می کند و شما را از برخی حملات رایج SQL Injection نجات می دهد.

/**
 * 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_';

مهم ⚠️ : لطفا توجه داشته باشید که نمی توانید این مقدار را برای یک سایت وردپرس موجود تغییر دهید.

حالت اشکال زدایی وردپرس

این تنظیم به ویژه برای کاربرانی که در حال یادگیری توسعه وردپرس یا عیب یابی خطاها هستند مفید است.

به طور پیش فرض، وردپرس اعلامیه های ایجاد شده توسط PHP را هنگام اجرای کد پنهان می کند. صرفاً تنظیم حالت اشکال زدایی روی “true” این اعلان ها را به شما نشان می دهد.

این اطلاعات مهمی را برای توسعه دهندگان برای یافتن اشکالات فراهم می کند. همچنین اگر در حال تلاش برای عیب یابی مشکلات یک سایت وردپرسی هستید، این تنظیمات کمک خواهد کرد.

/**
 * 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 );

از طرف دیگر، می‌توانید تنظیمات بیشتری را در این مورد انجام دهید.

تنظیمات مسیر مطلق

آخرین قسمت فایل wp-config مسیر مطلق را مشخص می کند. این دستورالعمل به وردپرس می گوید که کجا فایل های اصلی وردپرس را پیدا کند.

پس از این دستورالعمل، مقدار ثابت ABSPATH برای بارگذاری فایل wp-settings.php استفاده می شود.

/** 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';

هر دو این تنظیمات تقریبا ثابت هستند و نباید آنها را تغییر دهید.

هک ها و تنظیمات مفید wp-config.php

تا اینجا تنظیمات پیش فرض wp-config.php را تاکنون پوشش داده ایم. اکنون، اجازه دهید برخی از تنظیمات اضافی را به شما معرفی کنیم.

این تنظیمات اختیاری هستند و در صورت نیاز می توان از آنها استفاده کرد. آنها می توانند به شما در عیب یابی خطاها و حل بسیاری از خطاهای رایج وردپرس کمک کنند .

تغییر پورت و سوکت های MySQL در وردپرس

اگر ارائه دهنده هاست وردپرس شما از پورت های دیگری بغیر از پورت پیشفرض برای میزبان MySQL استفاده می کند، باید مقدار DB_HOST خود را تغییر دهید تا شماره پورت را نیز لحاظ کنید.

توجه : این خط جدید نیست، اما باید مقدار DB_HOST موجود را ویرایش کنید.

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

فراموش نکنید که شماره پورت 5067 را به هر شماره پورتی که میزبان وب شما ارائه می دهد تغییر دهید.

اگر هاست شما از سوکت و پایپ برای MySQL استفاده می کند، باید آن را به صورت زیر اضافه کنید:

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

تغییر URL های وردپرس با استفاده از فایل wp-config.php

هنگام انتقال یک سایت وردپرس به دامنه جدید ، ممکن است لازم باشد URL های وردپرس را تغییر دهید .

با مراجعه به صفحه تنظیمات » عمومی می توانید این URL ها را تغییر دهید .

همچنین می توانید این URL ها را با استفاده از فایل wp-config.php تغییر دهید. اگر به دلیل خطای بسیار زیاد، نمی توانید به قسمت مدیریت وردپرس دسترسی پیدا کنید، این کار مفید است .

به سادگی این دو خط را به فایل wp-config.php خود اضافه کنید:

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

فراموش نکنید که example.com را با نام دامنه خود جایگزین کنید.

همچنین باید به خاطر داشته باشید که موتورهای جستجو www.example.com و example.com را به عنوان دو مکان متفاوت در نظر می گیرند.

اگر سایت شما با پیشوند www ایندکس شده است، باید نام دامنه خود را متناسب با آن اضافه کنید.

تغییر دایرکتوری آپلودها با استفاده از فایل wp-config.php

به طور پیش فرض، وردپرس تمام آپلودهای رسانه شما را در دایرکتوری/wp-content/uploads/ ذخیره می کند.

اگر می خواهید فایل های رسانه ای خود را در مکان دیگری ذخیره کنید، می توانید این خط کد را در فایل wp-config.php خود اضافه کنید:

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

توجه داشته باشید که مسیر دایرکتوری آپلودها نسبت به ABSPATH است که به طور خودکار در وردپرس تنظیم می شود. افزودن یک مسیر مطلق در اینجا درست نخواهد بود.

به روز رسانی خودکار در وردپرس را غیرفعال کنید

وردپرس به‌روزرسانی خودکار را به‌طور پیش‌فرض فعال کرده است. این به سایت های وردپرس اجازه می دهد تا زمانی که یک به روز رسانی جزئی در دسترس است، به طور خودکار به روز شوند.

به عنوان مثال، اگر سایت شما وردپرس 6.6 را اجرا می کند و به روز رسانی امنیتی 6.6.1 منتشر شده است، وردپرس به طور خودکار به روز رسانی را نصب می کند.

با این حال، هنگامی که وردپرس 6.7 منتشر شد، از شما خواسته می شود که به روز رسانی را آغاز کنید.

در حالی که به روز رسانی خودکار برای امنیت بسیار مهم است، بسیاری از کاربران می ترسند که وب سایت خود را نیز خراب کنند و آن را غیرقابل دسترس کنند.

با افزودن این خط کد به فایل wp-config.php همه به‌روزرسانی‌های خودکار سایت وردپرس شما غیرفعال می‌شود:

define( 'WP_AUTO_UPDATE_CORE', false );

محدود کردن تعداد بازبینی پست در وردپرس

نسخه های ویرایش فضای کمی را در اکثر وب سایت ها اشغال می کنند. با این حال، ما متوجه افزایش قابل توجهی در اندازه پشتیبان گیری پایگاه داده برای برخی از وب سایت های بزرگتر شدیم.

بیشتر بخوانید: راهنمای پشتیبان گیری وردپرس + معرفی افزونه های لازم

اگر وب سایت بزرگی دارید، می توانید تعداد ویرایش هایی را که می خواهید در پایگاه داده نگهداری کنید محدود کنید.

به سادگی این خط کد را به فایل wp-config.php خود اضافه کنید تا تعداد ویرایش های ذخیره شده برای یک پست را محدود کنید:

define( 'WP_POST_REVISIONS', 3 );

3 را با تعداد ویرایش هایی که می خواهید ذخیره کنید جایگزین کنید.

وردپرس اکنون به طور خودکار ویرایش های قدیمی را کنار می گذارد. با این حال، ویرایش های پست قدیمی شما هنوز در پایگاه داده شما ذخیره می شود.

امیدواریم این مقاله به شما در یادگیری نحوه ویرایش فایل wp-config.php در وردپرس و تمام کارهای جالبی که می توانید با آن انجام دهید کمک کرده باشد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *