چگونه از وردپرس بکاپ بگیریم؟ راهنمای مبتدیان
چرا بکاپهای زیادی که گرفتهایم، روز حادثه به کار نمیآیند؟ در این راهنما، پروتکل واقعی بکاپگیری وردپرس را از محل ذخیره تا تست بازیابی بررسی میکنم.
سالها پیش، در پروژهای که یک فروشگاه کوچک را راه انداخته بودم، مشتری با اعتماد تمام گفت: «بکاپ را خودم انجام میدهم، شما نگران نباشید». سه هفته بعد، یک افزونهی بهروزرسانی، دیتابیس را خراب کرد و سایت خوابید. مشتری با اطمینان رفت سراغ فایل بکاپش — فایلی که فقط شامل wp-content بود، نه دیتابیس، نه فایلهای هسته. یعنی همهی محتوا، محصولات، سفارشها و تنظیمات، یکجا از دست رفته بود. آن تجربه، به من آموخت که بکاپ، گرفتنِ فایل نیست؛ بلد بودنِ بازگردانی است. اگر تازه با وردپرس آشنا میشوید، این راهنما برای شماست — نه راهنمای «چگونه بکاپ بگیریم»، بلکه راهنمای «چگونه بکاپی بسازیم که واقعاً نجات میدهد».
اگر با مفهوم کلی آشنایی ندارید، پیشنهاد میکنم اول وردپرس چیست و چگونه شروع به کار با آن کنیم و چگونه یک سایت وردپرسی راهاندازی کنیم را بخوانید. نسخهی مفصلتر و فنیتر بکاپ در چگونه از سایت وردپرسی بکاپ بگیریم آمده است — این نوشته، نسخهی مبتدیپسند همان مسیر است.
بکاپ چیست و دقیقاً از چه چیزی باید بگیریم؟
بکاپ یا پشتیبان، یک نسخهی کپی از سایت شماست که در نقطهای مشخص از زمان گرفته میشود. اگر سایت به هر دلیلی از کار بیفتد — هک، خرابی افزونه، آپدیت بد، یا حتی حذف تصادفی یک صفحه — میتوانید سایت را به همان نقطه برگردانید. تعریف، ساده است. ولی آنچه ساده نیست، این است که چیزی که باید کپی شود، فقط پوشهی محتوا نیست.
سه دلیل رایج که به بکاپ نیاز پیدا میکنید:
- هک شدن سایت: مهاجم، فایلها یا دیتابیس را دستکاری میکند. تنها راه برگشت، بکاپ سالم قبل از هک است.
- خرابی بعد از آپدیت: یک افزونه یا قالب جدید، با هسته یا با افزونهی دیگر تضاد پیدا میکند. مسیر عیبیابی در خطای قالب وردپرس: چگونه آن را پیدا و رفع کنیم آمده — ولی در اکثر موارد، سریعترین راه، بازگردانی بکاپ است.
- اشتباه انسانی: حذف تصادفی یک صفحهی مهم، تغییر یک تنظیم حیاتی، یا خرابی در نتیجهی اشتباههای ریز. این نوع، بیشتر از آنکه فکر میکنید اتفاق میافتد.
در همهی این سه حالت، چیزی که نجات میدهد، «بکاپ کامل و قابلبازیابی» است — نه یک فایل ناقص در پوشهای گمشده.
بکاپ، وقتی به کار میآید که نداشته باشیاش؛ پس در لحظهای که داری، آن را جدی بگیر.
بکاپ سالم، سه جزء دارد
یک بکاپ کامل وردپرس، از سه بخش تشکیل میشود. اگر یکی از این سه نباشد، بکاپ ناقص است و در روز حادثه، شما را نجات نمیدهد:
| جزء | چه چیزی را شامل میشود | اگر نباشد چه میشود؟ |
|---|---|---|
| فایلهای وردپرس | هسته، قالبها، افزونهها، تصاویر و فایلهای آپلودشده | سایت بدون قالب و تصاویر بالا نمیآید |
| دیتابیس | نوشتهها، برگهها، کاربران، تنظیمات و کامنتها | سایت با محتوای خالی بالا میآید |
| فایل wp-config.php | اطلاعات اتصال به دیتابیس | وردپرس به دیتابیس وصل نمیشود |
سه جزء که هر کدام، نقشی بیجایگزین دارند. تجربهی من میگوید: بیشترین اشتباه مبتدیها، فراموشکردن دیتابیس است. چون فایلهای قالب و تصاویر را میبینند و فکر میکنند همان کافی است. در حالی که دیتابیس، جایی است که محتوای واقعی سایت زندگی میکند. توضیح گامبهگام بکاپ دیتابیس در چگونه از دیتابیس وردپرس بکاپ بگیریم آمده است.
نکتهی ظریف دربارهی wp-config.php: این فایل، حاوی اطلاعات حساس است (نام کاربری و رمز دیتابیس). اگر بکاپ شما در جای امنی ذخیره نمیشود، این فایل را حتماً رمزنگاری یا از بکاپ حذف کنید. امنیت این فایل، بخشی از امنیت کلی سایت است — که در راهنمای امنیت وردپرس برای مبتدیان بهتفصیل باز شده است.
بکاپ را کجا نگه داریم؟
این سؤال، همان جایی است که اکثر بکاپهای مبتدی شکست میخورند. قاعدهی طلایی: بکاپ نباید روی همان هاستی باشد که سایت روی آن اجرا میشود. سه دلیل روشن:
- اگر هاست از کار بیفتد، بکاپ هم از دست میرود.
- اگر هک شود، مهاجم میتواند بکاپ را هم پاک کند.
- اگر حساب کاربری هاست بهدلیل بدهی یا مشکل غیرفنی مسدود شود، دسترسی به بکاپ هم قطع میشود.
سه گزینهی اصلی برای نگهداری بکاپ:
| محل ذخیره | مزیت | معایب |
|---|---|---|
| گوگل درایو / دراپباکس | رایگان تا حجم مشخص، دسترسی آسان | سرعت بازیابی پایین |
| فضای ابری اختصاصی (S3، Wasabi) | سرعت بالا، مقیاسپذیری | پیکربندی پیچیدهتر |
| هاست دوم ارزان | کنترل کامل، سرعت خوب | هزینهی ماهانه |
در بیشتر پروژهها، ترکیب «فضای ابری + یک نسخهی محلی روی کامپیوتر خودم» را استفاده میکنم. مزایای بکاپ ابری در پشتیبانگیری ابری چه مزایایی دارد آمده است. برای سایتهای فروشگاهی که حجم دادهی آنها بالاست، ذخیرهی ابری اختصاصی، بهترین گزینه است.
یک تجربهی شخصی: در پروژهای، بکاپ روی همان هاست ذخیره میشد. یک بار سرور اصلی، در نتیجهی مشکل سختافزاری، بهطور کامل از کار افتاد. بازیابی از بکاپی که روی همان سرور بود، دو هفته طول کشید. از آن روز، در هر پروژهای که شروع میکنم، اولین کاری که انجام میدهم، اتصال بکاپ به یک فضای ابری بیرونی است.
چه زمانی بکاپ بگیریم؟
پاسخ کوتاه: هر روز. پاسخ دقیقتر: بستگی به سایت دارد. سه سناریوی اصلی:
- سایت شخصی یا وبلاگ: بکاپ روزانه کافی است.
- سایت شرکتی یا فروشگاهی با ترافیک متوسط: بکاپ روزانه + بکاپ قبل از هر تغییر مهم (نصب افزونهی جدید، آپدیت قالب، تغییر تنظیمات).
- فروشگاه فعال با سفارش روزانه: بکاپ چند بار در روز + بکاپ لحظهای دیتابیس. مسیر اختصاصی در بکاپگیری از فروشگاه ووکامرس آمده است.
علاوه بر بکاپ منظم، سه موقعیت دیگر هم نیاز به بکاپ فوری دارند:
- قبل از آپدیت وردپرس یا افزونههای حیاتی.
- قبل از نصب یک قالب یا افزونهی جدید.
- قبل از هر تغییر در فایلهای قالب یا تنظیمات مهم.
عادت شخصی من در پروژهها: قبل از هر تغییری که پتانسیل شکستن سایت را دارد، یک بکاپ دستی سریع میگیرم. حتی اگر بکاپ خودکار روزانه فعال باشد. دلیلش ساده است: در روز حادثه، نمیخواهم ۲۴ ساعت محتوای تازه را از دست بدهم.
چگونه بکاپ بگیریم؟ سه روش عملی
سه روش اصلی برای بکاپ وردپرس وجود دارد. هر کدام، مزایا و محدودیتهای خودش را دارد:
روش اول: افزونهی بکاپ (سادهترین راه)
یک افزونهی بکاپ نصب میکنید، تنظیمات را انجام میدهید، و بکاپ خودکار میشود. بهترین گزینه برای مبتدیها. فهرست افزونههای معتبر در بهترین افزونههای پشتیبانگیری وردپرس آمده است. حداقل ویژگیهایی که یک افزونهی بکاپ باید داشته باشد:
- ذخیرهسازی در فضای بیرونی (گوگل درایو، S3، دراپباکس).
- زمانبندی خودکار روزانه.
- قابلیت بازیابی با یک کلیک.
- پشتیبانی از بکاپ جزئی (فقط دیتابیس یا فقط فایلها).
روش دوم: بکاپ از پنل هاست
اکثر هاستهای cPanel، امکان بکاپ کامل از سایت را در چند کلیک میدهند. مسیر گامبهگام در چگونه از cPanel بکاپ بگیریم آمده است. مزیت این روش: بکاپ کامل و مستقیم. عیب: بکاپ روی همان هاست ذخیره میشود و نیاز به دانلود دستی دارد.
روش سوم: بکاپ دستی از دیتابیس و فایلها
روش سنتی که هر توسعهدهندهای باید بلد باشد: دیتابیس را از phpMyAdmin خروجی میگیرید و پوشهی wp-content را از FTP دانلود میکنید. برای پروژههای بزرگ، زمانبر است، ولی کنترل کامل میدهد. این روش، بهعنوان روش پشتیبان کنار روشهای خودکار، ارزش دارد.
سه روش، سه لایهی امنیت. هیچکدام بهتنهایی کافی نیست؛ ترکیبشان، خیالآسوده میسازد.
بکاپ دیتابیس: قلب بکاپ
دیتابیس، جایی است که همهچیز مهم زندگی میکند: نوشتهها، برگهها، کاربران، تنظیمات، کامنتها، و در فروشگاهها، محصولات و سفارشها. اگر بکاپ دیتابیس را نداشته باشید، حتی اگر همهی فایلها را داشته باشید، سایت خالی بالا میآید. توضیح کامل روشهای بکاپ دیتابیس در چگونه از دیتابیس وردپرس بکاپ بگیریم آمده است.
دو نکتهی مهم دربارهی بکاپ دیتابیس:
- رمزنگاری یا حذف اطلاعات حساس. فایل بکاپ دیتابیس، اطلاعات کاربران و رمزهای هششده را دارد. اگر بکاپ در جای ناامنی ذخیره میشود، این اطلاعات میتواند در دسترس قرار بگیرد.
- تست بازیابی. یک بکاپ دیتابیس بدون تست بازیابی، فقط یک فایل SQL است که ممکن است ناقص یا خراب باشد. تست بازیابی، بخش جداگانهای از بکاپ است.
در پروژههای فروشگاهی، اهمیت دیتابیس دوچندان است — چون نهفقط محتوا، بلکه سفارشها و اطلاعات مشتریان هم آنجاست. مسیر بهینهسازی دیتابیس ووکامرس را در کنار بکاپ، جدی بگیرید.
مهمترین قدم: تست بازیابی
اگر بخواهم یک جمله بگویم که تمام این راهنما در آن خلاصه شود، این است: بکاپی که بازیابیاش تست نشده، بکاپ نیست؛ فقط یک فایل ذخیرهشده است. در تجربهی خودم، بیش از نیمی از بکاپهایی که بهعنوان «بکاپ» نگهداری میشوند، در روز حادثه به کار نمیآیند — چون یا ناقصاند، یا فرمتشان با نسخهی فعلی وردپرس سازگار نیست، یا رمز عبورشان گم شده است.
روش تست بازیابی در محیط لوکال یا استجینگ:
- یک محیط تست بسازید. روی لوکال یا یک زیردامنه، یک نسخهی خالی وردپرس نصب کنید.
- بکاپ را بازیابی کنید. دقیقاً همان مسیری که در روز حادثه طی میکنید — بدون میانبر.
- سایت را باز کنید. صفحهی اصلی، یک نوشته، صفحهی محصول (اگر فروشگاه دارید)، فرم تماس — همه را یک بار ببینید.
- مشکلات را یادداشت کنید. اگر بکاپ، دیتابیس یا قالب را درست برنگرداند، همانجا متوجه میشوید — نه در روز حادثه.
مسیر کامل بازیابی در بازیابی سایت از بکاپ چگونه انجام میشود آمده است. توصیهی من: حداقل هر سه ماه، یک بار بازیابی را تمرین کنید. این تمرین، هم بکاپ را و هم توانایی خودتان را میسنجد.
چند نسخه بکاپ نگه داریم؟
یک بکاپ، کافی نیست. یک قانون ساده در بکاپگیری وجود دارد: حداقل سه نسخه در دو جای مختلف. فهرست دقیق استراتژیها در چند نسخه بکاپ باید نگهداری کنیم آمده است. پیشنهاد عملی من:
- نسخهی روزانه: ۷ نسخهی آخر (یک هفته).
- نسخهی هفتگی: ۴ نسخهی آخر (یک ماه).
- نسخهی ماهانه: ۳ نسخهی آخر (سه ماه).
این ساختار، هم فضا را معقول نگه میدارد و هم در هر سناریو، یک نسخهی مناسب برای بازگشت دارد. حتی اگر امروز سایتتان هک شود و متوجه نشوید، میتوانید به نسخهی ماه گذشته برگردید.
نکتهی مهم: روش خودکارسازی این ساختار، بخش مهمی از پروتکل بکاپ است. افزونههای بکاپ حرفهای، این ساختار را بهطور پیشفرض مدیریت میکنند. مسیر پشتیبانگیری خودکار چگونه انجام میشود را دنبال کنید تا یکبار برای همیشه تنظیم شود.
اشتباهات رایج در بکاپگیری
در تجربهی پروژههای واقعی، این هفت اشتباه را بیشتر از همه دیدهام:
| اشتباه | پیامد |
|---|---|
| ذخیرهی بکاپ روی همان هاست | در فاجعهی هاست، همهچیز از دست میرود |
| فراموش کردن دیتابیس | سایت خالی بالا میآید |
| نداشتن بکاپ قبل از تغییرات مهم | در صورت خرابی، نیاز به بازگردانی از صفر |
| بکاپ دستی و فراموششدن | بکاپهای نامنظم و فاصلهدار |
| بکاپ بدون تست بازیابی | روز حادثه، کشف فایل خراب |
| نادیدهگرفتن امنیت فایل بکاپ | نشت اطلاعات حساس |
| نداشتن نسخههای قدیمیتر | اگر هک مدتها قبل رخ داده باشد، برگشتی نیست |
یک نکتهی مهم که در پروژههای زیادی یادآور میشوم: بکاپ را بهعنوان یک پروژهی یکبار نگاه نکنید؛ بکاپ یک عادت ماهانه است. هر ماه، سه کار ساده انجام دهید: یک بازیابی آزمایشی، بازبینی محل ذخیره، و پاککردن نسخههای اضافی. فهرست دقیقتر این اشتباهات در اشتباهات رایج در پشتیبانگیری از سایت آمده است.
نگاهی از سطح معماری: بکاپ بهمثابه بیمهنامه
برای کسی که سالها روی زیرساخت سیستمهای وب کار کرده، «بکاپگیری» در نگاه اول یک عملیات سادهی فنی است. اما اگر عمیقتر نگاه کنید، بکاپ یک تصمیم معماری است که سه لایه را در خود جای میدهد:
- لایهی نگهداری (Retention): چند نسخه، با چه فاصلهای، چقدر عقب برمیگردد؟ این تصمیم، تعیین میکند که در روز حادثه، چقدر از دست میدهید.
- لایهی دسترسپذیری (Accessibility): در لحظهی حادثه، چقدر سریع میتوانید بکاپ را بیابید و بازیابی کنید؟ این لایه، روی زمان بازگشت سایت اثر میگذارد.
- لایهی اعتبارسنجی (Validation): آیا بکاپ، صحیح است؟ آیا رمزنگاری شده؟ آیا قابلبازیابی است؟ این لایه، همان چیزی است که اکثر افراد نادیده میگیرند.
در چارچوبهای جدی مهندسی، این سه لایه را با مفهوم «Business Continuity Plan» میشناسند: نه فقط گرفتنِ بکاپ، بلکه داشتنِ یک برنامهی کامل که سایت را در سریعترین زمان به کار برگرداند. تفاوت بین سایتی که پس از یک هک، در چند ساعت سالم میشود و سایتی که پس از همان هک، برای همیشه از دست میرود، معمولاً در همین سه لایه است — نه در تعداد افزونههای بکاپ.
یک نکتهی مهم دیگر که در پروژههای بزرگ یاد گرفتهام: بکاپ، بخشی از یک استراتژی کلی است، نه یک کار جدا. باید هماهنگ باشد با لایهی امنیت (راهنمای امنیت وردپرس)، با لایهی سرعت (تأثیر هاست بر سرعت سایت)، و با لایهی نگهداری. اگر بکاپ، بخشی از یک سیستم کلی باشد، در روز حادثه، هر سه لایه همزمان کار میکنند و بازیابی سریعتر میشود. اگر بکاپ، جزیرهای جدا باشد، روز حادثه، همهچیز باید دستی و با استرس انجام شود.
سه سؤال که در انتخاب استراتژی بکاپ، از خودم و مشتریانم میپرسم:
- اگر همین امروز سایت هک شود، آخرین نسخهی سالم، مربوط به چه زمانی است؟
- اگر فردا شب، سرور اصلی از کار بیفتد، چقدر طول میکشد تا سایت سالم برگردد؟
- اگر یک نفر از تیم بهطور تصادفی، ده صفحهی مهم را پاک کند، چند ساعت قبل از آن، بکاپ داریم؟
اگر پاسخ این سه، روشن و کتبی باشد، استراتژی بکاپ شما آگاهانه است. اگر مبهم باشد، بکاپ فعلی، بیشتر یک آرامبخش روانی است تا بیمهنامهی واقعی. برای درک عمیقتر این نگاه، سرور چیست و چگونه کار میکند، چرا SSD برای وردپرس ضروری است و چگونه مصرف منابع هاست را کاهش دهیم را در کنار این بحث بخوانید. یک نکتهی آخر هم که در پروژههای بلندمدت یاد گرفتهام: بکاپ، مثل بیمهنامه است. هزینهی گرفتنش، کم است؛ ارزشش، روزی معلوم میشود که بدون آن، همهچیز از دست میرود. پس انتخاب استراتژی بکاپ، بخشی از بلوغ حرفهای یک تیم است — نه یک کار جانبی.
حرف آخر: بکاپی که تست نشده، وجود ندارد
خلاصهی این راهنما در یک جمله: بکاپ، نه یک فایل، بلکه یک توانایی است — توانایی برگرداندن سایت به حالت سالم در سریعترین زمان ممکن. بکاپ کامل، سه جزء دارد. در جایی بیرون از هاست ذخیره میشود. حداقل هر روز گرفته میشود. و پیش از هر چیز، در محیط تست، بازیابیاش آزمایش شده است.
قدم عملی امشبتان: اگر الان بکاپ فعال دارید، یک نسخهی بازیابی را همین هفته در محیط لوکال تست کنید. اگر ندارید، امروز یک افزونهی بکاپ نصب کنید و آن را به فضای ابری وصل کنید. همین یک کار، شما را از اکثر سایتهای وردپرسی جهان، جلوتر میبرد.
اگر تجربهای از بکاپ و بازیابی دارید — چه با موفقیت، چه با شکست — برای من جذاب است بدانم کدام بخش، بیشترین زمان یا استرس را برایتان داشت. تجربهتان را در دیدگاهها بنویسید؛ مخصوصاً اگر روش متفاوتی برای بکاپگیری پیدا کردهاید که در این راهنما نبوده، آن هم دادهای است که برای نفر بعدی، ساعتها وقت ذخیره میکند. 💾