راهنمای جامع تنظیمات فایل wp-config.php در وردپرس (همه ثابتهای ضروری)
فایل wp-config.php مهمترین فایل پیکربندی در هر سایت وردپرسی است که به عنوان قلب تپنده تنظیمات سایت شناخته میشود. این فایل در ریشه نصب وردپرس (همراه با پوشههای wp-admin و wp-content) قرار دارد و وظیفه برقراری ارتباط با پایگاه داده، تعیین مسیرهای اصلی، تنظیمات امنیتی، بهینهسازی عملکرد و حالت اشکالزدایی را بر عهده دارد. هر گونه تغییر نادرست در این فایل میتواند کل سایت را از کار بیندازد، بنابراین آشنایی با تنظیمات فایل کانفیگ وردپرس برای هر مدیر سایت، توسعهدهنده و متخصص سئو امری ضروری است. در این مقاله از مجموعه مقالات آموزشی وردپرس، به صورت جامع به معرفی و توضیح همه تنظیمات wp-config.php همراه با کاربرد و مقدار پیشفرض هر کدام میپردازیم تا بتوانید سایت وردپرسی خود را به بهترین شکل مدیریت کنید.
فایل wp-config.php چیست و چرا اهمیت دارد؟
هنگامی که یک درخواست به سایت وردپرسی شما میرسد، فایل wp-config.php اولین فایلی است که اجرا میشود. این فایل پیش از هسته وردپرس، پیش از هر افزونه و پیش از بارگذاری قالب اجرا میشود و ثابتهایی را تعریف میکند که بر همه چیز در سایت شما تأثیر میگذارد. به همین دلیل، هر ثابتی که در این فایل تعریف شود، توسط هیچ افزونه یا قالبی قابل تغییر نیست و مقدار آن نهایی خواهد بود. این فایل شامل تنظیمات زیر است:
- تنظیمات پایگاه داده: نام پایگاه داده، نام کاربری، رمز عبور و هاست
- کلیدها و نمکهای احراز هویت: برای امنیت کوکیها و رمزنگاری
- پیشوند جداول پایگاه داده: برای افزایش امنیت و امکان چند سایت در یک دیتابیس
- حالت اشکالزدایی: برای نمایش یا ثبت خطاها
- محدودیت حافظه: تعیین حافظه در دسترس PHP
- تنظیمات امنیتی: غیرفعال کردن ویرایش فایلها، SSL و کنترل بهروزرسانیها
- تنظیمات کش: فعالسازی کش برای بهبود عملکرد
به دلیل اهمیت فوقالعاده این فایل، مهاجمان سایبری دائماً به دنبال دسترسی به آن هستند تا اطلاعات حساس مانند مشخصات اتصال به پایگاه داده را به سرقت ببرند. بنابراین، امنیت فایل wp-config.php یکی از بالاترین اولویتهای امنیتی در وردپرس محسوب میشود.
راهنمای کامل تنظیمات فایل کانفیگ وردپرس
در ادامه، تمامی ثابتهای مهم قابل تعریف در فایل wp-config.php را به همراه توضیح کامل، کاربرد و مقدار پیشفرض بررسی میکنیم. این تنظیمات به چند دسته کلی امنیتی، عملکردی، اشکالزدایی و مدیریت محتوا تقسیم میشوند.
تنظیمات امنیتی فایل wp-config.php
1. DISALLOW_FILE_EDIT – این تنظیم تعیین میکند که آیا مدیران سایت میتوانند از داخل پیشخوان وردپرس فایلهای PHP قالبها و افزونهها را ویرایش کنند یا خیر. غیرفعال کردن این قابلیت یکی از مهمترین اقدامات امنیتی است، زیرا اگر یک حساب کاربری با دسترسی مدیر هک شود، مهاجم نمیتواند مستقیماً کد مخرب را از طریق پیشخوان تزریق کند. مقدار true به معنای غیرفعال کردن ویرایش فایل و مقدار false به معنای فعال بودن آن است. مقدار پیشفرض: false (فعال).
2. DISALLOW_FILE_MODS – این تنظیم مشخص میکند که آیا وردپرس اجازه نصب، حذف یا بهروزرسانی افزونهها و قالبها را از داخل پیشخوان دارد یا خیر. این گزینه در محیطهای تولیدی که بهروزرسانیها از طریق سیستمهای استقرار خودکار انجام میشود، بسیار مفید است. مقدار پیشفرض: false (فعال).
3. FORCE_SSL_ADMIN – این تنظیم تعیین میکند که آیا وردپرس باید از اتصال امن HTTPS برای پیشخوان مدیریت استفاده کند یا خیر. فعال کردن این گزینه از نشت کوکیهای احراز هویت در شبکههای ناامن جلوگیری میکند. مقدار پیشفرض: false (غیرفعال). توصیه: در سایتهای دارای گواهی SSL حتماً روی true تنظیم شود.
4. AUTOMATIC_UPDATER_DISABLED – این تنظیم تعیین میکند که آیا بهروزرسانی خودکار وردپرس به طور کامل غیرفعال باشد یا خیر. اگر سایت شما زیر نظر یک تیم فنی مدیریت میشود که نسخههای بهروز را کنترل میکند، غیرفعال کردن بهروزرسانی خودکار منطقی است. در غیر این صورت، فعال بودن آن توصیه میشود. مقدار پیشفرض: false (فعال).
5. WP_AUTO_UPDATE_CORE – این تنظیم نحوه بهروزرسانی خودکار هسته وردپرس را کنترل میکند. مقادیر ممکن عبارتند از: true (همه بهروزرسانیها شامل major و minor)، false (هیچ بهروزرسانی خودکاری) و 'minor' (فقط بهروزرسانیهای امنیتی و جزئی). بهطور پیشفرض، وردپرس از نسخه ۳.۷ به بعد بهطور خودکار بهروزرسانیهای امنیتی و جزئی را انجام میدهد. مقدار پیشفرض: 'minor' (در صورت عدم تعریف، فقط بهروزرسانیهای جزئی).
6. کلیدها و نمکهای احراز هویت – شامل هشت کلید: AUTH_KEY، SECURE_AUTH_KEY، LOGGED_IN_KEY، NONCE_KEY و چهار _SALT معادل آنها. این کلیدها اطلاعات ذخیره شده در کوکیهای کاربران را رمزنگاری میکنند و امنیت ورود به سیستم را تأمین میکنند. توصیه: این کلیدها باید منحصربهفرد و تصادفی باشند و بهطور دورهای تغییر کنند. برای تولید کلیدهای جدید از https://api.wordpress.org/secret-key/1.1/salt/ استفاده کنید.
7. WP_ALLOW_REPAIR – این تنظیم دسترسی به ابزار تعمیر خودکار پایگاه داده وردپرس را فعال میکند. وقتی روی true تنظیم شود، با مراجعه به آدرس yourdomain.com/wp-admin/maint/repair.php میتوانید پایگاه داده را تعمیر و بهینهسازی کنید. توجه: پس از انجام تعمیرات، حتماً این گزینه را غیرفعال (false) کنید تا از دسترسی غیرمجاز جلوگیری شود. مقدار پیشفرض: false (غیرفعال).
تنظیمات عملکرد و بهینهسازی
8. WP_MEMORY_LIMIT – این تنظیم میزان حافظه PHP در دسترس برای قسمت عمومی سایت (فرانتاند) را مشخص میکند. اگر با خطای Allowed memory size exhausted مواجه هستید، باید این مقدار را افزایش دهید. برای اکثر سایتها مقدار 256M مناسب است و برای سایتهای بزرگ با افزونههای سنگین مانند ووکامرس، مقدار 512M توصیه میشود. مقدار پیشفرض: 40M برای سایتهای تکسایت و 64M برای شبکههای چندسایتی.
9. WP_MAX_MEMORY_LIMIT – این تنظیم حداکثر حافظه PHP در دسترس برای بخش مدیریت (پیشخوان وردپرس) را مشخص میکند. معمولاً این مقدار بیشتر از WP_MEMORY_LIMIT تنظیم میشود زیرا بخش مدیریت نیاز به حافظه بیشتری دارد. مقدار پیشفرض: 256M.
10. WP_CACHE – این تنظیم به شما اجازه میدهد از یک افزونه کش مانند WP Super Cache یا W3 Total Cache برای بهبود عملکرد سایت استفاده کنید. اگر از افزونه کش استفاده میکنید، این گزینه باید روی true تنظیم شود. مقدار پیشفرض: false (غیرفعال).
11. DB_CACHE – این تنظیم مربوط به کش پایگاه داده است و در برخی افزونههای کش دیتابیس مانند DB Cache Reloaded استفاده میشود. این گزینه با WP_CACHE متفاوت است و صرفاً برای کش کردن کوئریهای پایگاه داده طراحی شده است. مقدار پیشفرض: false (غیرفعال).
12. WPCACHEHOME – مسیر پوشه افزونه کش را مشخص میکند. این تنظیم معمولاً بهصورت خودکار توسط افزونههای کش تنظیم میشود و نیازی به دخالت دستی ندارد. مقدار پیشفرض: خالی.
13. CONCATENATE_SCRIPTS – این تنظیم مشخص میکند که آیا وردپرس فایلهای JavaScript را با یکدیگر ادغام کند یا خیر. ادغام اسکریپتها میتواند تعداد درخواستهای HTTP را کاهش دهد و به بهبود سرعت بارگذاری کمک کند. مقدار پیشفرض: true (فعال).
14. WP_SITEURL – این تنظیم آدرس کامل سایت وردپرس را مشخص میکند. اگر سایت خود را به دامنه جدید منتقل میکنید یا نیاز به تغییر آدرس دارید، میتوانید این مقدار را بهصورت دستی تعریف کنید. مقدار پیشفرض: بهصورت خودکار از تنظیمات عمومی وردپرس گرفته میشود.
15. WP_HOME – مشابه WP_SITEURL اما برای تعیین آدرس اصلی وبسایت (همان آدرس دامنه) استفاده میشود. مقدار پیشفرض: بهصورت خودکار از تنظیمات عمومی گرفته میشود.
16. WP_CONTENT_DIR – مسیر کامل پوشه wp-content را در سرور مشخص میکند. این گزینه برای تغییر مکان پوشه محتوا به خارج از دایرکتوری اصلی وردپرس مفید است. مقدار پیشفرض: ABSPATH . 'wp-content'.
17. WP_CONTENT_URL – آدرس اینترنتی پوشه wp-content را مشخص میکند. مقدار پیشفرض: WP_HOME . '/wp-content'.
18. WP_PLUGIN_DIR – مسیر کامل پوشه افزونهها را مشخص میکند. این گزینه برای تغییر مکان پوشه plugins به خارج از دایرکتوری معمول کاربرد دارد. مقدار پیشفرض: WP_CONTENT_DIR . '/plugins'.
19. WP_PLUGIN_URL – آدرس اینترنتی پوشه افزونهها را مشخص میکند. مقدار پیشفرض: WP_CONTENT_URL . '/plugins'.
20. UPLOADS – مسیر سفارشی برای آپلود فایلهای رسانه را مشخص میکند. این گزینه در سایتهای بزرگ با فضای ذخیرهسازی جداگانه مفید است. مقدار پیشفرض: wp-content/uploads.
تنظیمات اشکالزدایی (Debugging)
21. WP_DEBUG – این تنظیم حالت اشکالزدایی وردپرس را فعال یا غیرفعال میکند. وقتی روی true تنظیم شود، تمام خطاها، اخطارها و اعلانهای PHP نمایش داده میشوند که به توسعهدهندگان در ردیابی مشکلات کمک میکند. مهم: این گزینه هرگز نباید در سایتهای زنده (محیط تولید) روی true باشد، زیرا اطلاعات حساس را به بازدیدکنندگان نمایش میدهد. مقدار پیشفرض: false (غیرفعال).
22. WP_DEBUG_LOG – این تنظیم همراه با WP_DEBUG استفاده میشود و وقتی روی true تنظیم شود، اطلاعات اشکالزدایی در یک فایل لاگ به نام debug.log در مسیر wp-content/debug.log ذخیره میشوند. این گزینه در محیط توسعه بسیار مفید است زیرا خطاها را بدون نمایش به کاربران ثبت میکند. مقدار پیشفرض: false (غیرفعال).
23. WP_DEBUG_DISPLAY – این تنظیم کنترل میکند که آیا پیامهای خطا در صفحه نمایش داده شوند یا خیر. مقدار پیشفرض true است، به این معنی که اگر WP_DEBUG فعال باشد، خطاها در مرورگر نمایش داده میشوند. برای مخفی کردن خطاها از دید کاربران (حتی زمانی که WP_DEBUG فعال است)، این گزینه را روی false تنظیم کنید. مقدار پیشفرض: true.
24. SCRIPT_DEBUG – این تنظیم به توسعهدهندگان کمک میکند تا از نسخههای توسعهیافته (غیر فشرده) فایلهای CSS و JavaScript وردپرس استفاده کنند. این گزینه برای اشکالزدایی مشکلات مربوط به اسکریپتها و استایلها مفید است. مقدار پیشفرض: false (غیرفعال).
25. SAVEQUERIES – این تنظیم به توسعهدهندگان امکان میدهد تا تمام کوئریهای پایگاه داده اجرا شده در هر صفحه را مشاهده کنند. این اطلاعات برای بهینهسازی پایگاه داده و شناسایی کوئریهای سنگین بسیار مفید است. مقدار پیشفرض: false (غیرفعال).
تنظیمات مدیریت محتوا و پایگاه داده
26. AUTOSAVE_INTERVAL – این تنظیم فاصله زمانی ذخیره خودکار مطالب و فرمها را بر حسب ثانیه مشخص میکند. مقدار پیشفرض: 60 ثانیه.
27. WP_POST_REVISIONS – این تنظیم تعداد بازنویسیهای مجاز برای هر مطلب را کنترل میکند. مقدار -1 به معنای نامحدود است. مقدار پیشفرض: 5.
28. EMPTY_TRASH_DAYS – این تنظیم مدت زمانی که مطالب حذفشده در سطل زباله نگهداری میشوند را بر حسب روز تعیین میکند. مقدار پیشفرض: 30 روز.
29. IMAGE_EDIT_OVERWRITE – این تنظیم تعیین میکند که آیا تصاویر ویرایش شده بر روی فایلهای اصلی ذخیره شوند یا با نام جدید. وقتی روی true تنظیم شود، ویرایشهای جدید جایگزین نسخههای قبلی میشوند و از ایجاد فایلهای اضافی جلوگیری میشود. مقدار پیشفرض: false (ذخیره با نام جدید).
30. MYSQL_CLIENT_FLAGS – این تنظیم مشخص میکند که وردپرس از چه پرچمهایی برای اتصال به پایگاه داده MySQL استفاده کند. کاربرد اصلی آن فعالسازی اتصال SSL به پایگاه داده است با مقدار MYSQLI_CLIENT_SSL. مقدار پیشفرض: 0 (بدون پرچم خاص).
سایر تنظیمات مهم
31. ALTERNATE_WP_CRON – این تنظیم مشخص میکند که وردپرس از روش جایگزین برای اجرای وظایف زمانبندی (cron jobs) استفاده کند یا خیر. این گزینه در سرورهایی که اجرای معمول cron با مشکل مواجه است، مفید است. مقدار پیشفرض: false (غیرفعال).
32. DISABLE_WP_CRON – این تنظیم سیستم cron وردپرس را به طور کامل غیرفعال میکند. وقتی روی true تنظیم شود، باید یک cron job واقعی روی سرور برای اجرای فایل wp-cron.php تنظیم کنید. مقدار پیشفرض: false (فعال).
33. WP_CRON_LOCK_TIMEOUT – این تنظیم مدت زمان قفل cron را بر حسب ثانیه تعیین میکند. اگر یک فرآیند cron بیش از این مدت طول بکشد، قفل آن شکسته میشود تا فرآیند بعدی اجرا شود. مقدار پیشفرض: 60 ثانیه.
34. WP_DISABLE_FATAL_ERROR_HANDLER – این تنظیم مشخص میکند که آیا وردپرس از مدیریت خطاهای کشنده (fatal error handler) استفاده کند یا خیر. وقتی روی true تنظیم شود، وردپرس خطاهای کشنده را مدیریت نمیکند و خطاها به صورت مستقیم نمایش داده میشوند. مقدار پیشفرض: false (استفاده از مدیریت خطا).
35. COOKIE_DOMAIN – این تنظیم مشخص میکند که کوکیهای وردپرس برای کدام دامنهها معتبر هستند. این گزینه برای اشتراک کوکیها بین زیردامنههای مختلف کاربرد دارد. مقدار پیشفرض: خالی (دامنه فعلی).
36. WP_TEMP_DIR – این تنظیم مسیر ذخیره فایلهای موقت وردپرس را مشخص میکند. مقدار پیشفرض: خالی (مسیر پیشفرض سیستم).
37. JETPACK_AUTOLOAD_DISABLE – این تنظیم مربوط به افزونه Jetpack است و بارگذاری خودکار کلاسهای Jetpack را غیرفعال میکند. فعال کردن این گزینه (true) میتواند در مواقعی که Jetpack با سایر افزونهها تداخل دارد یا نیاز به عیبیابی دارید، مفید باشد. مقدار پیشفرض: false (فعال – بارگذاری خودکار انجام میشود).
کد کامل تنظیمات فایل wp-config.php
در ادامه، لیست کامل تمام ثابتهای توضیح داده شده به همراه مقدار پیشفرض هر کدام ارائه شده است. میتوانید این کد را کپی کرده و در فایل wp-config.php سایت خود قرار دهید.
/*
* WordPress wp-config.php Complete Settings Reference
* All configuration constants with default values for WordPress optimization and security
* Mahdi Jafarzadeh
* https://www.wpwm.ir/
*/
// ==================== Security Settings ====================
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', false);
define('FORCE_SSL_ADMIN', false);
define('AUTOMATIC_UPDATER_DISABLED', false);
// WP_AUTO_UPDATE_CORE values: true | false | 'minor'
// define('WP_AUTO_UPDATE_CORE', 'minor');
define('WP_ALLOW_REPAIR', false);
// ==================== Performance & Memory Settings ====================
define('WP_MEMORY_LIMIT', '64M');
define('WP_MAX_MEMORY_LIMIT', '256M');
define('WP_CACHE', false);
define('DB_CACHE', false);
define('WPCACHEHOME', '');
define('CONCATENATE_SCRIPTS', true);
// define('WP_SITEURL', 'https://yourdomain.com');
// define('WP_HOME', 'https://yourdomain.com');
// define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
// define('WP_CONTENT_URL', 'https://yourdomain.com/wp-content');
// define('WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/plugins');
// define('WP_PLUGIN_URL', 'https://yourdomain.com/wp-content/plugins');
// define('UPLOADS', 'wp-content/uploads');
// ==================== Debugging Settings ====================
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', true);
define('SCRIPT_DEBUG', false);
define('SAVEQUERIES', false);
// ==================== Content Management Settings ====================
define('AUTOSAVE_INTERVAL', 60);
define('WP_POST_REVISIONS', 5);
define('EMPTY_TRASH_DAYS', 30);
define('IMAGE_EDIT_OVERWRITE', false);
// ==================== Database Settings ====================
define('MYSQL_CLIENT_FLAGS', 0);
// ==================== Cron Settings ====================
define('ALTERNATE_WP_CRON', false);
define('DISABLE_WP_CRON', false);
define('WP_CRON_LOCK_TIMEOUT', 60);
// ==================== Other Settings ====================
define('WP_DISABLE_FATAL_ERROR_HANDLER', false);
define('COOKIE_DOMAIN', '');
define('WP_TEMP_DIR', '');
define('JETPACK_AUTOLOAD_DISABLE', false);نکات مهم و فوتهای کوزهگری
در این بخش به نکات کلیدی و مهم درباره تنظیمات فایل wp-config.php اشاره میکنیم که باید به آنها توجه ویژهای داشته باشید:
- محل قرارگیری فایل: فایل
wp-config.phpدر ریشه نصب وردپرس قرار دارد. برای افزایش امنیت، میتوانید این فایل را یک سطح بالاتر از ریشه عمومی (public_html) قرار دهید تا از طریق مرورگر مستقیماً در دسترس نباشد. - مجوزهای دسترسی: مجوز دسترسی این فایل باید روی
400یا440تنظیم شود تا فقط مالک فایل بتواند آن را بخواند. - پشتیبانگیری قبل از تغییر: قبل از هر گونه تغییر در فایل wp-config.php، حتماً یک پشتیبان تهیه کنید. یک اشتباه کوچک مانند جا افتادن یک
;میتواند کل سایت را از کار بیندازد. - غیرفعال کردن DEBUG در محیط تولید: هرگز
WP_DEBUGرا در سایت زنده رویtrueقرار ندهید، زیرا اطلاعات حساس مانند مسیرهای فایلها و جزئیات پایگاه داده را به بازدیدکنندگان نمایش میدهد. - تنظیم حافظه متناسب با نیاز: اگر سایت شما از افزونههای سنگین مانند ووکامرس، عضویت یا صفحهسازهای پیشرفته استفاده میکند، حتماً
WP_MEMORY_LIMITرا به256Mیا بالاتر افزایش دهید. - بهروزرسانی کلیدهای امنیتی: کلیدهای احراز هویت (
AUTH_KEYو …) را بهطور دورهای (مثلاً هر ۶ ماه یکبار) تغییر دهید. این کار باعث میشود کاربران فعلی از سیستم خارج شوند و امنیت سایت افزایش یابد. - غیرفعال کردن ویرایش فایل: حتماً
DISALLOW_FILE_EDITرا رویtrueتنظیم کنید. این کار از تزریق کد مخرب از طریق پیشخوان وردپرس جلوگیری میکند. - استفاده از HTTPS: اگر سایت شما دارای گواهی SSL است، حتماً
FORCE_SSL_ADMINرا رویtrueتنظیم کنید تا تمام ترافیک بخش مدیریت از طریق اتصال امن انجام شود. - مدیریت cron: در سایتهای پربازدید، غیرفعال کردن
DISABLE_WP_CRONو استفاده از cron job واقعی در سرور، عملکرد سایت را به طور قابل توجهی بهبود میبخشد. - تعمیر پایگاه داده: از
WP_ALLOW_REPAIRفقط در مواقع ضروری استفاده کنید و پس از اتمام کار، حتماً آن را غیرفعال کنید تا از دسترسی غیرمجاز جلوگیری شود.
جمعبندی
در این مقاله از سری مقالات کد و آموزشی وردپرس، به بررسی جامع همه تنظیمات فایل wp-config.php پرداختیم. این فایل حیاتی که به عنوان فایل کانفیگ وردپرس شناخته میشود، قلب تپنده هر سایت وردپرسی است و تنظیمات صحیح آن میتواند امنیت، عملکرد و قابلیت اطمینان سایت شما را به طور چشمگیری افزایش دهد. از تنظیمات امنیتی مانند غیرفعال کردن ویرایش فایل و SSL گرفته تا تنظیمات عملکردی مانند افزایش محدودیت حافظه و فعالسازی کش، همه و همه در این فایل قابل تنظیم هستند.
امیدواریم این راهنمای جامع برای شما مفید بوده باشد. اگر سوالی درباره تنظیمات فایل wp-config.php، کاربرد هر کدام از ثابتها یا نحوه عیبیابی مشکلات مربوط به این فایل دارید، لطفاً در بخش نظرات مطرح کنید. همچنین اگر تجربهای در برخورد با مشکلات مربوط به فایل کانفیگ وردپرس دارید یا روش دیگری برای بهینهسازی و امنسازی wp-config.php سراغ دارید، خوشحال میشویم آن را با ما و سایر کاربران به اشتراک بگذارید.







