وردپرس

آموزش پیکربندی و تنظیمات فایل wp-config.php در وردپرس

مقدمه

فایل wp-config.php یکی از مهم‌ترین فایل‌های اصلی وردپرس است که در پوشه‌ی ریشه‌ی نصب وردپرس یا همان روت قرار دارد. این فایل وظیفه‌ی برقراری ارتباط وردپرس با پایگاه داده، تنظیم گزینه‌های امنیتی، فعال کردن حالت اشکال‌زدایی (Debug) و انجام پیکربندی‌های پیشرفته را بر عهده دارد. اگر این فایل وجود نداشته باشد یا به‌ درستی تنظیم نشود، کل سایت از دسترس خارج خواهد شد و خطای Error establishing a database connection (خطا در برقراری ارتباط با پایگاه داده) را می دهد.

اهمیت فایل wp-config.php در این است که امکان اعمال تنظیمات کلیدی را بدون نیاز به افزونه یا ویرایش مستقیم پایگاه داده را فراهم می‌کند. برای مثال می‌توان حالت اشکال‌ زدایی (Debug) را فعال کرد، کلیدهای امنیتی را تغییر داد، میزان حافظه را مدیریت کرد و عملکرد کلی وردپرس را بهبود بخشید. این فایل به‌طور خودکار هنگام نصب وردپرس ایجاد می‌شود، اما آشنایی و تسلط بر آن برای توسعه‌دهندگان، مدیران سایت و کاربران حرفه‌ای ضروری است.

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


چگونه به فایل wp-config.php دسترسی پیدا کنیم؟

برای ویرایش این فایل می‌توانید از سه روش متداول زیر استفاده کنید:

1. از طریق FTP یا SFTP

  • ابزارهایی مانند FileZilla یا WinSCP را نصب و استفاده کنید.

  • پس از اتصال به هاست، فایل wp-config.php را از پوشه اصلی (public_html یا www) دانلود کنید.

  • با یک ویرایشگر متنی ساده مثل Notepad++ یا VS Code آن را باز و ویرایش کنید (از Word یا ویرایشگرهای متنی پیچیده استفاده نکنید).

  • فایل ویرایش‌شده را مجدد آپلود کرده و جایگزین نسخه قبلی کنید.

2. استفاده از پنل مدیریت هاست (مثل cPanel)

  • به File Manager مراجعه کرده و به پوشه ریشه وردپرس بروید.

  • روی wp-config.php کلیک کرده و گزینه Edit را انتخاب کنید.

  • تغییرات را اعمال و ذخیره نمایید.

3. از طریق SSH (برای کاربران پیشرفته)

  • با استفاده از دستورات زیر فایل را باز کنید:

    nano wp-config.php
    

    یا

    vi wp-config.php
    

🔐 نکته مهم: همیشه پیش از هر تغییری از فایل wp-config.php نسخه پشتیبان تهیه کنید. همچنین برای افزایش امنیت، سطح دسترسی فایل را به 400 یا 440 تغییر دهید تا فقط مالک به آن دسترسی داشته باشد.


تنظیمات پایه در wp-config.php

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

1. اطلاعات پایگاه داده (Database)

موارد زیر باید دقیق تنظیم شوند:

define('DB_NAME', 'نام_پایگاه_داده');
define('DB_USER', 'نام_کاربری');
define('DB_PASSWORD', 'رمز_عبور');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

💡 نکات امنیتی:

  • رمز عبور قوی انتخاب کنید.

  • از ذخیره این اطلاعات در فایل‌های دیگر یا عمومی اجتناب کنید.

  • در برخی سرورها ممکن است نیاز به استفاده از سوکت یونیکس باشد:

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

2. کلیدهای احراز هویت (Authentication Keys and Salts)

این کلیدها برای رمزنگاری کوکی‌ها و افزایش امنیت نشست‌های کاربر استفاده می‌شوند:

define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
define('LOGGED_IN_KEY', '...');
define('NONCE_KEY', '...');
define('AUTH_SALT', '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT', '...');
define('NONCE_SALT', '...');

🔐 برای تولید کلیدهای جدید و امن، از سایت رسمی وردپرس استفاده کنید:

https://api.wordpress.org/secret-key/1.1/salt

📌 نکته: بهتر است هر چند ماه یک‌ بار کلیدها را تغییر دهید، به‌خصوص پس از انتقال سایت یا ایجاد مشکلات امنیتی.

3. پیشوند جداول دیتابیس (Table Prefix)

تغییر پیشوند wp_ به عبارت اختصاصی، یکی از راهکارهای افزایش امنیت در برابر حملات SQL Injection است:

$table_prefix = 'xyz_123_';

🛠 پیشنهاد: هنگام نصب وردپرس، پیشوند خاصی ایجاد کنید. برای سایت‌های موجود از افزونه‌هایی مثل “Change Table Prefix” استفاده کرده و از دیتابیس بکاپ بگیرید.


تنظیمات پیشرفته در wp-config.php

تنظیمات زیر برای بهبود عملکرد سایت، اشکال‌ زدایی و کنترل بیشتر روی وردپرس استفاده می شوند. این تنظیمات باید قبل از خط زیر قرار گیرند:

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

1. فعال‌سازی دیباگ و لاگ‌گیری

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

📌 در محیط‌های تولید (Production)، همه موارد بالا را غیرفعال کنید.

💡 برای جلوگیری از نمایش فایل debug.log به بازدیدکنندگان:

<Files debug.log>
Order allow,deny
Deny from all
</Files>

2. افزایش حافظه PHP

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

اگر مقدار دلخواه شما اعمال نشد، با پشتیبانی هاست تماس بگیرید.

3. تنظیم URLهای سایت

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

برای جابجایی مسیر wp-content:

define('WP_CONTENT_DIR', dirname(__FILE__) . '/custom-content');
define('WP_CONTENT_URL', 'https://example.com/custom-content');

🎯 برای داینامیک کردن URL:

define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

4. کنترل به‌روزرسانی‌ها

define('AUTOMATIC_UPDATER_DISABLED', true);
define('WP_AUTO_UPDATE_CORE', 'minor');
define('DISALLOW_FILE_EDIT', true);

🔐 پیشنهاد: در سایت‌های زنده، به‌روزرسانی‌های امنیتی جزئی را فعال نگه دارید.

5. کنترل کرون و بازبینی‌ها

define('DISABLE_WP_CRON', true);
define('WP_POST_REVISIONS', 5);
define('EMPTY_TRASH_DAYS', 7);

برای اجرای کرون جاب از سمت سرور:

*/15 * * * * wget -q -O - https://example.com/wp-cron.php >/dev/null 2>&1

6. فعال‌سازی کش و ثبت کوئری‌ها

define('WP_CACHE', true);
define('SAVEQUERIES', true);

از افزونه‌های کش استفاده کنید. هنگام فعال بودن SAVEQUERIES می‌توانید کوئری‌ها را برای بهینه‌سازی بررسی کنید.


تنظیمات امنیتی مهم در wp-config.php

1. محافظت از فایل wp-config.php

  • تغییر سطح دسترسی به 400 یا 440

  • اضافه کردن به .htaccess (برای Apache):

<files wp-config.php>
order allow,deny
deny from all
</files>
  • برای Nginx:

location ~* wp-config.php {
    deny all;
}
  • جابجایی فایل به مسیر بالاتر و درج آدرس آن:

include('/path/to/secure/wp-config.php');

2. اجبار به استفاده از SSL و محدود کردن درخواست‌ها

define('FORCE_SSL_ADMIN', true);
define('WP_HTTP_BLOCK_EXTERNAL', true);
define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,example.com');

🔒 فعال‌سازی SSL در هاست، قدم مهمی در امنیت سایت است.

3. سایر تنظیمات امنیتی

define('WP_ALLOW_MULTISITE', true);
define('WP_ALLOW_REPAIR', true);  // بعد از تعمیر غیرفعال کنید
define('WP_DISABLE_FATAL_ERROR_HANDLER', true);  // فقط برای توسعه

نمونه کامل فایل wp-config.php

<?php
// تنظیمات پایگاه داده
define('DB_NAME', 'db_name');
define('DB_USER', 'db_user');
define('DB_PASSWORD', 'db_password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// کلیدهای امنیتی
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
// ...

$table_prefix = 'xyz_';

// تنظیمات اختیاری
define('WP_DEBUG', false);
define('WP_MEMORY_LIMIT', '256M');
define('FORCE_SSL_ADMIN', true);
define('DISALLOW_FILE_EDIT', true);

/* پایان تنظیمات */
require_once ABSPATH . 'wp-settings.php';
?>

نکات نهایی و توصیه‌ها

همیشه پشتیبان‌گیری کنید. از افزونه‌هایی مثل UpdraftPlus یا Duplicator بهره بگیرید.
تغییرات را ابتدا روی محیط آزمایشی (staging) انجام دهید.
در صورت بروز خطا:

  • صفحه سفید؟ WP_DEBUG را روشن کنید.

  • مشکل پایگاه داده؟ اطلاعات ورود را بررسی کنید.

  • مشکلات کوکی؟ کلیدها را بازسازی کنید.


جمع‌بندی

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

اگر سؤالی دارید یا تجربه‌ای در این زمینه دارید، در بخش نظرات با ما به اشتراک بگذارید.

نوشته های مشابه

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

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

دکمه بازگشت به بالا