آموزش وب

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

آموزش وب

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

قرار دادن وردپرس در حالت تعمیر

جمعه, ۲۰ شهریور ۱۳۹۴، ۰۷:۲۱ ب.ظ
در این مطلب میخواهم نحوه قرار دادن وردپرس در حالت تعمیر را آموزش دهم.

حالت تعمیر

انواع حالت تعمیر

در وردپرس، بسیاری از تغییرات را می توان با استفاده از قابلیت های موجود در هسته وردپرس به انجام رساند. حالت تعمیر ( Maintenance Mode ) نیز از این جمله است. اما پیش از اینکه این قابلیت را شرح دهیم، دو مورد از افزونه هایی را که این کار را برای شما انجام می دهند معرفی می کنیم.

WP Maintenance Mode

 این افزونه (Plugin) قابلیت های بیشتری نسبت به افزونه قبلی در اختیار شما قرار می دهد. با استفاده از این افزونه می توانید صفحات مختلفی را که از قبل طراحی شده اند، برای حالت تعمیرات قرار دهید. البته متن این صفحات قابل تغییر توسط خود شماست. علاوه بر این شما می توانید، استایل دلخواه را به این صفحات بدهید و همچنین مشخص کنید که کدام بخش ها از اثر این افزونه در امان باشند.

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



-----------------------------------------------------------------------------------------------------------------------------------------------


Ultimate Maintenance Mode


این افزونه ، به طور اتوماتیک یک تصویر از صفحه اول وبسایت شما تهیه می کند و در هنگامی که سایت خود را در حالت تعمیرات قرار دهید ، تصویر مات شده صفحه اول به همراه یک باکس که دلیل داون بودن سایت را بیان می کند، به نمایش می گذارد. این افزونه با کلیه قالب های وردپرسی سازگار است و همچنین وردپرس چند کاربره هم ساپورت می کند. با فعال کردن حالت تعمیر با استفاده از این افزونه، به طور اتوماتیک صفحه ۵۰۳ برای بازدید کننده ها ارسال می شود، بنابراین موتورهای جستجو نیز متوجه داون بودن سایت شما می شوند و صفحات را ایندکس نمی کنند. توجه داشته باشید که در حالت تعمیرات، در صورتی که با اکانت ادمین ، وارد بخش مدیریتی شده باشید، قادر به دیدن وبسایت هستید. پس برای تست باید از مرورگری دیگر استفاده کنید و یا از بخش ادمین خارج شوید.



--------------------------------------------------------------------------------------------------------------------------------------------------------------


استفاده از هسته وردپرس

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

حالت اول: وبسایت در حال تعمیر است و برای هیچکس قابل مشاهده نیست

برای فعال کردن این حالت، در پوشه روت وردپرس (جایی که فایل های اصلی وردپرس وجود دارند) یک فایل با نام maintenance. بسازید. دقت کنید که حتما یک نقطه ( . ) باید در ابتدای فایل وجود داشته باشد. در لینوکس، وجود نقطه در ابتدای یک فایل موجب مخفی ( Hidden ) شدن آن فایل می شود. پس گزینه نمایش فایل های مخفی باید فعال باشد.

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


<?php $upgrading = time(); ?>


با ذخیره کردن این فایل، سایت شما در حالت تعمیر قرار می گیرد و حتی ادمین هم امکان دسترسی به آن را نخواهد داشت. وقتی که این پیغام را مشاهده کنید احتمالا متوجه می شوید که این پیغام برای شما آشناست. بله! این همان پیغامی است که گاهی در هنگام به روزرسانی وردپرس با آن مواجه می شوید. در واقع این تنظیماتی است که در فایل wp-setting.php مشخص شده است. در این فایل دو چیز چک می شود و در صورت وجود هر یک از آنها، سایت در حالت تعمیر قرار می گیرد. یکی اینکه آیا فایل maintenance. وجود دارد یا خیر. و دیگری هم این که اگر به روز رسانی وردپرس بیشتر از ۱۰ دقیقه طول کشیده است، سایت به طور خودکار در این حالت قرار می گیرد.

در صورتی که بخواهید بعد از مدت زمانی مشخص، این پیغام محو شده و سایت نمایش داده شود، می توانید به جای متغیر $upgrading زمانی که مد نظر دارید را قرار دهید. اما باید دقت داشته باشید که این زمان باید به فرمت یونیکس وارد شود و همچنین ده دقیقه ای که به طور استاندارد در تنظیمات وجود دارد را از آن کسر کنید. برای به دست آوردن زمان یونیکس از این سایت استفاده کنید.

برای مثال، فرمان زیر، باعث می شود تا وبسایت در تاریخ ۱۴ نوامبر ۲۰۱۳ در ساعت ۲۰:۱۳ دقیقه برای همه کاربران قابل مشاهده باشد.


<?php $upgrading = 1384459380; ?>

حالت دوم: وبسایت در حال تعمیر است و تنها برای مدیران قابل مشاهده است.

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

برای این کار، فایل maintenance.  را ویرایش کنید و کد زیر را در آن وارد نمایید:


<?php
function is_user_logged_in() {
$loggedin = false;
foreach ( (array) $_COOKIE as $cookie => $value ) {
if ( stristr($cookie, 'wordpress_logged_in_') )
$loggedin = true;
}
return $loggedin;
}
if ( ! stristr($_SERVER['REQUEST_URI'], '/wp-admin') && ! stristr($_SERVER['REQUEST_URI'], '/wp-login.php') && ! is_user_logged_in() )
$upgrading = time();
?>

حالت سوم: طراحی صفحه “در حال تعمیر” اختصاصی

در حالت اول، در مورد فایل wp-setting.php صحبت کردیم و گفتیم که این فایل چک می کند که آیا باید سایت را در حالت تعمیر قرار داد یا خیر. این فایل همچنین یک مورد دیگر را هم بررسی می کند و آن این است که آیا فایل maintenance.php در فولدر wp-content وجود دارد یا خیر. اما وظیفه این فایل.

زمانی که بخواهیم از حالت پیش فرض وردپرس فاصله بگیریم، می توانیم قالب دلخواه خود را برای صفحه “در حال تعمیر” طراحی کنیم. به شکلی که وقتی با استفاده از هسته وردپرس ، وبسایت را در حالت تعمیر قرار دادیم، صفحه ای به دلخواه ما برای کاربران نمایش داده شود.

این کار نیز ساده است. یک فایل maintenance.php را در فولدر wp-content بسازید و آن را ویرایش کرده و کد مورد نظرتان را در آن وارد کرده و ذخیره کنید.

برای داشتن یک صفحه ساده در حال تعمیر، کد زیر را کپی کرده و در فایل maintenance.php قرار دهید.


<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
$protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Maintenance</title>

</head>
<body>
<h1>سایت موقتا در دسترس نیست. لطفا چند دقیقه بعد مراجعه نمایید</h1>
</body>
</html>
<?php die(); ?>



منبع



نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی