درود؛
اگر function.php مهمترین پرونده موجود در پوستهی سایت است ٬ wp-config.php مهمترین پرونده در وردپرس است ! از طریق این پرونده میتوان توابع پیکربندی وردپرس را دستکاری کرد ! عملکرد وردپرس را بهبود بخشید ! و قدرت امنیتی وردپرس را دو چندان کرد !
در این مقاله با چند ترفند مخفی در زمینه پیکربندی وردپرس آشنا خواهید شد . ( که شاید کمتر با آنها آشنایی داشته باشید )
پرونده راه اندازی وردپرس wp-config.php است اما به صورت پیشفرض با نام wp-config-sample.php قرار گرفته ! شما باید نام این پرونده را به wp-config.php تغییر دهید و اطلاعات اتصال دیتابیس وردپرس را در آن وارد کنید !
البته دیگر نیازی نیست این کار را به صورت دستی انجام دهید بلکخ وردپرس اینکار را برای شما انجام میدهد ! اگر شما وردپرس را از طریق FTP در سایت ارسال کرده باشید زمانی که آن را باز میکنید با چنین برگه ای مواجه میشود !
زمانی که شما بر روی دکمه Create a Configuration File – ایجاد پرونده پیکربندی – کلیک کنید ٬ با چنین برگهای مواجه میشوید :
در اینجا چندین کلید برای اتصال به پایگاه دادهی وردپرس مورد نیاز است ! هر چه در این قسمت وارد کنید در wp-config.php به این صورت خواهد بود :
define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost');
به صورت پیشفرض دیتابیس میزبان localhost میباشد ! ( به دلیل پشتیبانی اکثر میزبانان سایت – البته میزبانانی هم هستند که دارای کلید متفاوتی برای این قسمتاند)
یکی از بهترین ترفندهای معرفی شده در کتاب Digging into WordPress ٬ امکان یافتن خودکار دیتابیس میزبان هست .
define('DB_HOST', $_ENV{DATABASE_SERVER});
این کد را در wp-config.php جایگذاری کنید ٬ تا دیتابیس سرور به صورت خودکار گزینش شود.
کلیدهای امنیتی
کلیدهای امنیتی وردپرس یک سری مقادیر تصادفی هستند که اطلاعات ذخیره شدهی کوکیها را به صورت رمزگذاری درمیآورند. اگر وردپرس را به صورت خودکار ( همانند نکاتی که در بالا گفته شد ) و نه دستی راهاندازی کنید این سری کلیدها به صورت خودکار در پرونده wp-config.php افزوده خواهند شد .
کدهای این بخش در wp-config.php به صورت زیر هستند :
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');
همچنین شما میتوانید برای دریافت کلیدهای یکتا به این برگه مراجعه کنید !
پیشوند دیتابیس
اگر وردپرس را به صورت خودکار نصب کنید یکی از گزینههایی که برای تغییر نمایش داده میشود پیشوند نام جداول دیتابیس است ! که به این صورت در wp-config.php ذخیره میشود :
$table_prefix = 'wp_';
پیشنهاد میکنم که به جای _wp مقدار دیگری قرار دهید تا امنیت وردپرس خود را دو چندان کنید !
اگر از قبل وردپرس را نصب کردهاید نگران نباشید٬ در مقالههای بعدی به شما روش تغییر نام جداول دیتابیس آموزش داده خواهد شد .
اشکالزدایی وردپرس
برای توسعه دهندگان ویژگی اشکالزدایی بسیار کاربردیست چرا که به آنها امکان یافتن خطا را میدهد! به صورت پیشفرض این امکان غیرفعال است که میتوانید با افزودن این کد این ویژگی را فعال کنید :
define(‘WP_DEBUG’, true);
اگر مقدار این تابع را از true به false تغییر دهید این ویژگی دوباره غیر فعال میشود .
دسترسی پروندهها را تغییر دهید !
اگر میزبان شما دسترسیهای محدودی برای پروندهها در نظر گرفته ٬ میتوانید با کدهای زیر دسترسی پروندهها و پوشهها را تغییر دهید ! ( البته اکثر کاربران به این تغییر نیازی ندارند ! )
define('FS_CHMOD_FILE', 0755); define('FS_CHMOD_DIR', 0644);
بازنگری نوشته
در نگارشهای اخیر وردپرس یک ویژگی فوقالعاده با نام بازنگری نوشته قرار داده شده. این ویژگی به شما امکان ذخیره سازی خودکار نوشتهها را میدهد به این صورت که اگر اینترنت شما قطع شد و یا مرورگر شما از دسترس خارج شد بتوانید نگارش پشتیبان و ذخیره شده را به راحتی بازگردانی کنید ! این ویژگی به همان تعداد که طرفدارانی دارد ٬ مخالفانی نیز دارد !
به صورت پیشفرض وردپرس تغییرات هر نوشته را در هر ۶۰ ثانیه ذخیرهسازی میکند ! شما میتوانید از طریق کد زیر این زمان ذخیرهسازی خودکار را تغییر دهید :
define('AUTOSAVE_INTERVAL', 120); // زمان را به ثانیه وارد کنید
اگر فکر میکنید که این ویژگی ممکن است شما را آزار دهد میتوانید تعداد دفعات ذخیرهسازی خودکار را کاهش دهید !
define('WP_POST_REVISIONS', 5);
اما اگر میخواهید این ویژگی را به طور کلی غیر فعال کنید میتوانید از کد زیر استفاده کنید :
define('WP_POST_REVISIONS', false);
زبالهدان وردپرس
یکی از ویژگیهای باحال که از نگارش ۲.۹ به وردپرس افزوده شد ویژگی زبالهدان بود ! به جای اینکه نوشتهای به صورت کامل پاک شود نخست به زبالهدان میرود ! و بعد از آنجا میتوانید نوشته را پاک کنید ! به صورت پیشفرض زباله دان هر ۳۰ روز تخلیه میشود ! اما اگر فکر میکنید زمان زیادیست میتوانید با کد زیر آنرا کاهش دهید :
define('EMPTY_TRASH_DAYS', 7 ); //تعداد روزها را وارد کنید
اما اگر از دستهی مخالفان این نوشته هستید میتوانید این ویژگی را به طور کل غیرفعال کنید ! و تعداد روزها را 0 ( صفر ) قرار دهید ! فقط دقت کنید نوشتهای را به طور تصادفی پاک نکنید چرا که دیگر قابل بازیابی نخواهد بود !
اطلاعات اتصال !
ویژگی فوقالعادهی دیگر وردپرس بهروزرسانی خودکار میباشد ! اما در بعضی از میزبانان سایت با توجه به تنظیماتی که دارند در هر بار بهروزرسانی اطلاعات اتصال FTP از شما خواسته میشود ! که میتوانید با مراجعه به این نوشته از شر این مرحله راحت شوید ! همچنین میتوانید این افزونه را نصب کنید !
بهینهسازی خودکار دیتابیس !
ویژگی بعدی که از نگارش ۲.۹ به وردپرس اضافه شده بهینهسازی خودکار دیتابیس وردپرس است ! برای فعالسازی این ویژگی کد زیر را به wp-config.php اضافه کنید :
define('WP_ALLOW_REPAIR', true);
بعد به برگه زیر بروید :
http://www.yoursite.com/wp-admin/maint/repair.php
به یاد داشته باشید که پس از بهینهسازی کد را از wp-config.php حذف کنید چرا که این برگه برای عموم کاربران قابل نمایش است !
افزایش محدودیت حافظه PHP
برای اطلاعات بیشتر به این نوشته مراجعه کنید !
لاگ خطاهای وردپرس !
داشتن لاگ خطاهای وردپرس برای توسعهدهندگان بسیار کاربردیست ! شما میتوانید با افزودن یک کد بسیار ساده این ویژگی را فعال کنید ! نخست یک پرونده با نام php_error.log بسازید و سپس دسترسی آن را برای بازنویسیهای سرور تنظیم کنید و پرونده را در مسیری که میخواهید قرار دهید ! سپس در کد زیر مسیر پرونده را ویرایش کنید و آن را در wp-config جایگذاری کنید :
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log');
فعالسازی چند سایته !
با افزودن کد زیر به wp-config.php میتوانید حالت چندسایته وردپرس را فعال کنید :
define('WP_ALLOW_MULTISITE', true);
با فعالسازی این ویژگی زیر برگهای با نام شبکه در بخش ابزارها فعال خواهد شد .
جداول اطلاعات کاربر
همهی اطلاعات کاربران به صورت پیشفرض در جداول wp_users و wp_usermeta ذخیره خواهند شد.
با کد زیر میتوانید تصمیم بگیرید که اطلاعات کاربران در کدام جدول ذخیره شوند !
define('CUSTOM_USER_TABLE', $table_prefix.'my_users'); define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
مکان wp-content را تغییر دهید !
از نگارش ۲.۶ به بعد میتوانید مکان wp-content خود را تغییر دهید . این عمل به افزایش امنیت سایت شما کمک خواهد کرد :
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' ); define( 'WP_CONTENT_URL', 'http://example/blog/wp-content'); define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' ); define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
این بود تعدادی از ترفندهای کاربردی وردپرس امیدوارم که کاربردی بوده باشه !
میثم
عالی بود ممنون
خوزستان خبر
بنده قصد دارم وب سایت خودم رو به دامنه دیگری منتقل کنم با توجه به اینکه شما تجربه چنین کاری رو داشتید لطفا بنده رو راهنمایی کنید که کمترین افت رنک رو داشته باشیم با تشکر
akaskoo720 9 سال عضو همیار وردپرس
با سلام
من توو هاستم هردو پوشه هست!!!!!!
هم wp-config-sample.php و هم wp-config.php کدومشونه ؟؟؟ از کجا بدونم کدوم یکی درسته ، ناگفته نماند من دوتا دیتابیس دارما ، یکی واسه وردپرس و یکی واسه انجمن ساز زنفورو
چجوری بفهمم کدوم درسته ؟؟؟
اون یکی رو پاک کنم؟؟؟
بهاره کوهستانی 10 سال عضو همیار وردپرس
سلام
شما نباید هیچکدوم رو پاک کنید! فقط برای راه اندازی میتونید wp-config-sample رو به wp-config تغییر بدید و اگر هم ندید موردی نداره! به جاش می تونید از روش دیگه ای برای وارد کردن اطلاعات استفاده کنید.
akaskoo720 9 سال عضو همیار وردپرس
من هر دوتا رو دارم ، ی سئوال چرا دوتاست ؟؟؟ اگر اسمش رو تغییر بدم به config.php چه اتفاقی میوفته ؟؟؟ دوتا دایرکتوری کانفیگ دارم یا باهم ادغام میشن؟؟؟؟
و سئوال آخر اینکه شما بعنوان متخصص وردپرس یک راه رو بمن بفرمایید که بهترین راه هست تا من انجام بدم ، فرض کنید این سایت مال شماست و دو پوشه تشکیل شده ، چه میکردید؟؟؟
بهاره کوهستانی 10 سال عضو همیار وردپرس
سلام
منظور شما از اینکه دو تا رو دارید رو متوجه نمیشم!
یعنی میفرمایید دو تا هم اسم هستند ؟ اگه بشه از این پیج اسکرین شات به من بدید ممنون میشم
مجيد
سلام من چطور ميتونم بدون نصب كردن اسكريپت ورد پريس در زير دامنه سايتم چند سايته كنم و امكاناتي مثل فروشگاه و ……. ايجاد كنم
bahar 10 سال عضو همیار وردپرس
این برمیگرده به addon domain
با احترام
علیرضا
سلام خسته نباشید
من میخوام مسیر آپلود فایل هام رو توی وردپرس از wp-content به ساب دامین مثلا dl تغییر بدم
مثل این سایت
hamyarwp.com
مثلا مسیر آپلود تصاویر این سایت :
http://dl.hamyarwp.com/2014/01/so…-wordpress.jpg
بعدم میخوام هم مثل مدل بالا برام بیاد هم مثل مدل پایین :
http://hamyarwp.com/dl/2014/01/so…-wordpress.jpg
آموزش ها و افزونه های زیادی در این زمینه توی گوگل و سایت های وردپرس و … وجود داره که هیچکدوم یا آموزش ندارن یا کامل نیستن !
ممنون میشم یکی تو این زمینه بهم کمک کنه
ممنون
امین
استفاده کردم ! بدون مشکل . . .
ممنون .
ali
سلام.مطلب خوب و مفیدی بود.ممنون.
وی بی کده
خیلی آموزش خوب بود ،
ترفند ترفند میگن اینه :دی
پیامک ونسی
خیلی عالی بود، مخصوصا نکات امنیتی !
تشکر
حسین ناصری
با سلام و احترام
نکات بسیار خوبی بود ، ممنون