وردپرس مقدماتی

آموزش به‌روزرسانی امن وردپرس؛ هسته، قالب و افزونه‌ها

آموزش به‌روزرسانی امن وردپرس

🗓 آخرین به‌روزرسانی:

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

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

در این راهنما، به‌روزرسانی هسته وردپرس، قالب‌ها و افزونه‌ها را به‌صورت مرحله‌به‌مرحله بررسی می‌کنیم. روش یک‌کلیکی، آپدیت خودکار، WP Toolkit، cPanel، SFTP و WP-CLI توضیح داده می‌شود و برای سایت‌های فروشگاهی، پرترافیک و قدیمی چک‌لیست جداگانه ارائه می‌کنیم. همچنین خطاهایی مانند گیر کردن در حالت تعمیر، صفحه سفید، خطای ۵۰۰، تداخل افزونه، خراب شدن طراحی و نیاز به Rollback را رفع خواهیم کرد.

وضعیت بازبینی مقاله

این آموزش در ۲۵ ژوئیه ۲۰۲۶ براساس نسخه پایدار WordPress 7.0.2 و مستندات رسمی WordPress.org بازبینی شده است. نسخه 7.0.2 یک انتشار امنیتی است و تیم وردپرس توصیه کرده سایت‌های نسخه‌های تحت‌تأثیر سریعاً به‌روزرسانی شوند.

چرا به‌روزرسانی وردپرس ضروری است؟

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

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

با این حال، آپدیت بدون برنامه نیز خطر دارد. نسخه جدید ممکن است تابعی را تغییر دهد، نیازمندی PHP را بالا ببرد، دیتابیس را ارتقا دهد یا با کد سفارشی سایت تداخل پیدا کند. هدف این مقاله جلوگیری از آپدیت نیست؛ هدف، تبدیل به‌روزرسانی به یک فرایند قابل کنترل و قابل بازگشت است.

انواع به‌روزرسانی در وردپرس

به‌روزرسانی هسته وردپرس

هسته شامل فایل‌های اصلی سیستم مدیریت محتواست. انتشارهای اصلی یا Major معمولاً قابلیت‌ها و تغییرات گسترده‌تری دارند. انتشارهای جزئی و امنیتی با شماره‌هایی مانند 7.0.1 یا 7.0.2 بیشتر روی رفع خطا و امنیت تمرکز می‌کنند، هرچند باید یادداشت انتشار هر نسخه را جداگانه خواند.

به‌روزرسانی افزونه‌ها

افزونه‌ها قابلیت‌های مستقلی مانند فروشگاه، فرم، سئو، کش و امنیت را اجرا می‌کنند. آپدیت افزونه می‌تواند فایل‌ها، تنظیمات، جدول‌های دیتابیس، Cron و APIهای آن را تغییر دهد. افزونه‌های حساس مانند ووکامرس، درگاه پرداخت، عضویت، رزرو و افزونه‌های چندزبانه باید با دقت بیشتری تست شوند.

به‌روزرسانی قالب

قالب نحوه نمایش سایت را کنترل می‌کند. به‌روزرسانی قالب اصلی می‌تواند فایل‌هایی را که مستقیم ویرایش کرده‌اید بازنویسی کند. تغییرات اختصاصی PHP و Template باید در Child Theme یا افزونه اختصاصی نگهداری شوند. در سایت فعلی که از WoodMart استفاده می‌کند، سازگاری قالب والد، Child Theme و افزونه WoodMart Core باید هم‌زمان بررسی شود.

به‌روزرسانی ترجمه‌ها و دیتابیس

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

اصل اول: قبل از آپدیت بکاپ کامل بگیرید

سایت وردپرسی از دو بخش اصلی تشکیل می‌شود: فایل‌ها و پایگاه داده. بکاپ فایل شامل هسته، قالب‌ها، افزونه‌ها، فایل‌های آپلودشده، wp-config.php و فایل‌هایی مانند .htaccess است. بکاپ دیتابیس شامل نوشته‌ها، برگه‌ها، کاربران، تنظیمات، سفارش‌ها و بسیاری از داده‌های افزونه‌هاست. داشتن فقط یکی از این دو برای بازیابی کامل کافی نیست.

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

بکاپ معتبر چه ویژگی‌هایی دارد؟

  • شامل فایل‌ها و دیتابیس است.
  • تاریخ و ساعت آن مشخص است.
  • در محل جدا از سایت اصلی ذخیره شده است.
  • فایل خراب یا ناقص نیست.
  • روش Restore آن مشخص است.
  • حداقل یک‌بار در محیط آزمایشی بازیابی شده است.

صرف مشاهده پیام «Backup Completed» تضمین نمی‌کند بازیابی موفق باشد. حجم فایل را بررسی کنید، دیتابیس را بازبینی کنید و اطلاعات دسترسی مورد نیاز برای Restore را در جای امن نگه دارید.

اصل دوم: تغییرات را در Staging آزمایش کنید

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

محیط آزمایشی باید تا حد امکان به سایت اصلی شبیه باشد: نسخه PHP، دیتابیس، وب‌سرور، تنظیمات کش و افزونه‌ها. لوکال هاست برای توسعه مفید است، اما تفاوت زیرساخت ممکن است بعضی خطاهای واقعی را نشان ندهد. برای آپدیت فروشگاه یا سایت پرترافیک، Staging سرور انتخاب مطمئن‌تری است.

محیط Staging را از ایندکس موتور جست‌وجو و ارسال ایمیل واقعی محافظت کنید. درگاه پرداخت را روی Sandbox قرار دهید، Cronهای حساس را کنترل کنید و اجازه ندهید نسخه آزمایشی پیام یا سفارش واقعی ایجاد کند.

اصل سوم: سازگاری را قبل از نصب بررسی کنید

قبل از آپدیت، یادداشت انتشار یا Changelog هسته، قالب و افزونه را بخوانید. به تغییرات ناسازگار، حداقل نسخه PHP، اصلاحات دیتابیس و گزارش کاربران توجه کنید. عبارت «Compatible with your version of WordPress» مفید است، اما جای تست واقعی سایت را نمی‌گیرد.

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

مواردی که باید ثبت شوند

  • نسخه فعلی وردپرس
  • نسخه PHP و MySQL یا MariaDB
  • نسخه قالب والد و Child Theme
  • نسخه افزونه‌های اصلی
  • وضعیت لایسنس افزونه‌ها و قالب‌های تجاری
  • کدهای سفارشی و محل ذخیره آن‌ها
  • تنظیمات کش، CDN و Firewall

ترتیب امن به‌روزرسانی چیست؟

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

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

  1. ساخت بکاپ کامل و بررسی قابلیت بازیابی
  2. ساخت Staging تازه
  3. مطالعه Changelog و بررسی نسخه PHP
  4. به‌روزرسانی افزونه‌ها و قالب‌هایی که نسخه سازگار تأییدشده دارند
  5. به‌روزرسانی هسته وردپرس
  6. اجرای ارتقای دیتابیس در صورت درخواست
  7. نصب به‌روزرسانی‌های تکمیلی قالب و افزونه
  8. تست کامل Staging
  9. تکرار فرایند در سایت اصلی در بازه کم‌ترافیک

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

روش اول: به‌روزرسانی یک‌کلیکی وردپرس

برای بیشتر سایت‌ها، روش استاندارد از مسیر «پیشخوان ← به‌روزرسانی‌ها» انجام می‌شود. در این صفحه نسخه هسته، افزونه‌ها، قالب‌ها و ترجمه‌های قابل آپدیت را می‌بینید.

  1. بکاپ کامل بگیرید.
  2. کش صفحه، Object Cache و CDN را ثبت کنید تا بعداً پاک شوند.
  3. برگه‌های مهم را در مرورگر باز نگه ندارید و عملیات مدیریتی هم‌زمان انجام ندهید.
  4. در صفحه به‌روزرسانی‌ها، نسخه مقصد را بررسی کنید.
  5. روی «اکنون به‌روزرسانی کن» کلیک کنید.
  6. تا پایان عملیات صفحه را نبندید و Refresh نکنید.
  7. اگر ارتقای دیتابیس درخواست شد، آن را اجرا کنید.
  8. بعد از پایان، کش‌ها را پاک و سایت را آزمایش کنید.

در طول عملیات، وردپرس ممکن است سایت را موقتاً وارد Maintenance Mode کند. این حالت معمولاً پس از پایان خودکار حذف می‌شود. اگر فرایند قطع شود، فایل .maintenance ممکن است باقی بماند که در بخش رفع خطا توضیح داده می‌شود.

به‌روزرسانی خودکار وردپرس

وردپرس از نسخه‌های قدیمی‌تر خود قابلیت به‌روزرسانی پس‌زمینه برای انتشارهای جزئی و امنیتی را دارد. در بسیاری از سایت‌ها، اصلاحات امنیتی بدون دخالت مدیر نصب می‌شوند. انتشار WordPress 7.0.2 به دلیل اهمیت امنیتی، برای نسخه‌های تحت‌تأثیر از مسیر خودکار نیز توزیع شده است.

برای قالب و افزونه نیز می‌توان Auto-update را فعال کرد. فعال‌سازی خودکار برای افزونه‌های ساده و سایت کم‌ریسک می‌تواند مفید باشد، اما برای ووکامرس، درگاه پرداخت، عضویت یا کدهای حیاتی بهتر است فرایند کنترل‌شده، بکاپ خودکار و مانیتورینگ داشته باشید.

چه زمانی آپدیت خودکار مناسب است؟

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

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

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

به‌روزرسانی وردپرس با WP Toolkit یا ابزار هاست

بسیاری از هاست‌های cPanel یا Plesk از WP Toolkit استفاده می‌کنند. این ابزار می‌تواند نسخه هسته، قالب و افزونه را نمایش دهد، بکاپ یا Restore Point بسازد و به‌روزرسانی‌ها را اجرا کند. بعضی نسخه‌ها قابلیت Smart Update دارند که تغییرات را روی یک کلون آزمایش می‌کند.

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

به‌روزرسانی دستی هسته وردپرس

روش دستی زمانی استفاده می‌شود که آپدیت یک‌کلیکی خطا می‌دهد، دسترسی پیشخوان ندارید یا نیاز به کنترل مستقیم فایل‌ها دارید. این روش باید با SFTP، SSH یا File Manager و با بکاپ کامل انجام شود.

مرحله ۱: دانلود نسخه رسمی

بسته نسخه پایدار را فقط از WordPress.org دریافت و Extract کنید. فایل‌های نسخه را از سایت‌های ناشناس یا بسته‌های دستکاری‌شده نگیرید.

مرحله ۲: غیرفعال کردن افزونه‌ها

در فرایند دستی رسمی، غیرفعال کردن افزونه‌ها پیش از جایگزینی هسته توصیه می‌شود. اگر به پیشخوان دسترسی ندارید، می‌توانید نام پوشه plugins را موقتاً تغییر دهید؛ اما این کار روی سایت فعال باید با آگاهی انجام شود و ممکن است قابلیت‌های مهم را متوقف کند.

مرحله ۳: جایگزینی فایل‌های اصلی

پوشه‌های قدیمی wp-admin و wp-includes را حذف و نسخه جدید را بارگذاری کنید. فایل‌های جدید ریشه وردپرس را نیز جایگزین کنید. فایل‌ها و پوشه‌های اختصاصی زیر را بدون بکاپ حذف نکنید:

  • wp-config.php
  • wp-content
  • .htaccess در صورت داشتن قوانین سفارشی
  • robots.txt اختصاصی

محتویات جدید wp-content را با پوشه موجود ادغام کنید و پوشه uploads، قالب‌ها و افزونه‌های خود را پاک نکنید. هدف جایگزینی هسته است، نه حذف محتوای سایت.

مرحله ۴: اجرای ارتقای دیتابیس

پس از بارگذاری فایل‌ها، وارد /wp-admin/ شوید. اگر وردپرس ارتقای دیتابیس درخواست کرد، آن را اجرا کنید. سپس افزونه‌ها را مرحله‌ای فعال و بررسی کنید.

مرحله ۵: ذخیره پیوندهای یکتا و پاک کردن کش

از «تنظیمات ← پیوندهای یکتا» بدون تغییر گزینه، ذخیره را بزنید تا قوانین بازنویسی در صورت نیاز تازه شوند. سپس کش افزونه، کش سرور، CDN و مرورگر را پاک کنید.

به‌روزرسانی وردپرس با WP-CLI

WP-CLI برای مدیران فنی و مدیریت چند سایت مفید است. دستورات را فقط پس از بکاپ و در مسیر صحیح وردپرس اجرا کنید.

wp core check-update
wp db export before-update.sql
wp core update
wp core update-db
wp plugin update --all
wp theme update --all
wp cache flush

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

آپدیت امن افزونه‌ها

قبل از آپدیت افزونه، Changelog، نسخه PHP مورد نیاز و گزارش سازگاری را بخوانید. برای افزونه تجاری، معتبر بودن لایسنس و اتصال به سرور آپدیت را بررسی کنید. نسخه نال‌شده نباید جایگزین نسخه رسمی شود.

افزونه‌های حساس را یکی‌یکی به‌روزرسانی کنید و بعد از هرکدام عملیات اصلی را تست کنید. برای نمونه بعد از آپدیت فرم، یک پیام آزمایشی بفرستید؛ بعد از آپدیت افزونه سئو، عنوان، Sitemap و Schema را بررسی کنید؛ پس از آپدیت کش، سایت را در حالت ناشناس باز کنید.

راهنمای کامل این بخش در مقاله آموزش نصب و مدیریت افزونه‌های وردپرس ارائه شده است.

آپدیت امن قالب و WoodMart

اگر فایل‌های قالب اصلی را مستقیم ویرایش کرده باشید، آپدیت آن‌ها را بازنویسی می‌کند. تغییرات باید در Child Theme، تنظیمات قالب یا افزونه اختصاصی نگهداری شوند. قبل از آپدیت WoodMart، نسخه افزونه Core، صفحه‌ساز، ووکامرس و Child Theme را بررسی کنید.

پس از آپدیت قالب، کش CSS و فایل‌های تولیدشده WoodMart را پاک کنید. هدر، فوتر، مگامنو، HTML Blocks، Layout Builder، صفحه نوشته، آرشیو، محصول و Checkout را کنترل کنید. طراحی شکسته همیشه به معنی خرابی قالب نیست؛ ممکن است فایل CSS قدیمی در کش CDN باقی مانده باشد.

جزئیات نصب، حذف، Child Theme و Rollback در مقاله آموزش نصب و به‌روزرسانی قالب وردپرس توضیح داده شده است.

چک‌لیست ویژه سایت ووکامرس

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

  • یک محصول ساده و متغیر را باز کنید.
  • افزودن به سبد خرید را آزمایش کنید.
  • کد تخفیف، مالیات و هزینه ارسال را بررسی کنید.
  • فرایند Checkout را با درگاه آزمایشی انجام دهید.
  • ایمیل سفارش برای مدیر و مشتری را کنترل کنید.
  • حساب کاربری، دانلود و بازیابی رمز را تست کنید.
  • گزارش ووکامرس و Scheduled Actions را بررسی کنید.
  • لاگ درگاه پرداخت و خطاهای Fatal را بازبینی کنید.

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

بعد از آپدیت چه چیزهایی را آزمایش کنیم؟

بخش عمومی سایت

  • صفحه اصلی
  • نوشته تکی و برگه‌ها
  • آرشیو دسته و جست‌وجو
  • منوی دسکتاپ و موبایل
  • هدر، فوتر و فرم تماس
  • تصاویر، فونت‌ها و فایل‌های JavaScript

بخش مدیریت

  • ورود و خروج مدیر
  • ساخت و ویرایش نوشته
  • آپلود تصویر
  • مدیریت کاربران
  • ارسال ایمیل بازیابی رمز
  • Site Health و لاگ خطا

سئو و زیرساخت

  • Canonical و Meta Robots
  • نقشه سایت XML
  • Schema صفحات مهم
  • robots.txt
  • ریدایرکت‌های HTTPS
  • کش سرور و CDN
  • Core Web Vitals و خطاهای کنسول

تست را هم با حساب مدیر و هم در حالت ناشناس انجام دهید. مدیر ممکن است صفحه بدون کش ببیند، در حالی که کاربران نسخه کش‌شده خراب را دریافت کنند.

رفع خطای گیر کردن در حالت تعمیر

اگر فرایند آپدیت قطع شود، پیام «جهت انجام عملیات تعمیر زمان‌بندی‌شده، برای مدت کوتاهی در دسترس نیست» ممکن است باقی بماند. با File Manager یا SFTP وارد ریشه وردپرس شوید و فایل .maintenance را حذف کنید. سپس صفحه را Refresh و وضعیت آپدیت را بررسی کنید.

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

رفع صفحه سفید یا خطای ۵۰۰ بعد از آپدیت

خطای PHP، کمبود حافظه، فایل ناقص یا تداخل افزونه از علت‌های رایج‌اند. ابتدا لاگ خطای سرور و wp-content/debug.log را در محیط امن بررسی کنید. نمایش خطا برای کاربران سایت عمومی مناسب نیست.

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

رفع مشکل درخواست مداوم ارتقای دیتابیس

اگر صفحه ارتقای دیتابیس به‌صورت حلقه‌ای نمایش داده می‌شود، کش، فایل‌های هسته ناقص، مجوزها یا ناهماهنگی نسخه فایل و دیتابیس را بررسی کنید. مطمئن شوید همه فایل‌های نسخه جدید کامل آپلود شده‌اند. Object Cache و CDN را پاک کنید و لاگ PHP را بخوانید.

تغییر دستی مقدار نسخه دیتابیس در Options بدون شناخت توصیه نمی‌شود. این کار می‌تواند فرایند لازم Migration را دور بزند و داده را در وضعیت ناسازگار قرار دهد.

اگر طراحی سایت بعد از آپدیت خراب شد

ابتدا کش‌های چندلایه را پاک کنید: مرورگر، افزونه، سرور، CDN و فایل‌های CSS تولیدشده قالب یا صفحه‌ساز. سپس کنسول مرورگر را برای خطای JavaScript و Network بررسی کنید.

اگر مشکل باقی است، نسخه قالب والد، Child Theme، WoodMart Core و صفحه‌ساز را مقایسه کنید. ممکن است یکی از اجزا آپدیت شده و دیگری قدیمی مانده باشد. فایل‌های Template Override ووکامرس نیز در Site Status قابل بررسی‌اند.

Rollback یا بازگشت به نسخه قبلی

Rollback باید آخرین گزینه و مبتنی بر بکاپ باشد. نصب فایل قدیمی روی دیتابیسی که توسط نسخه جدید تغییر کرده، همیشه امن نیست. بهترین روش، Restore کامل فایل و دیتابیس از یک مجموعه بکاپ هم‌زمان است.

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

به‌روزرسانی سایت بسیار قدیمی

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

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

به‌روزرسانی امن PHP در کنار وردپرس

نسخه PHP را هم‌زمان و بدون تست با آپدیت بزرگ وردپرس تغییر ندهید. ابتدا سازگاری قالب و افزونه‌ها را با PHP مقصد بررسی کنید. در Staging نسخه PHP را تغییر دهید، لاگ Deprecated و Fatal را بررسی و عملیات مهم را تست کنید.

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

زمان مناسب برای آپدیت

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

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

برنامه پیشنهادی نگهداری ماهانه

  • روزانه: بررسی بکاپ، قطعی و هشدار امنیتی برای سایت‌های فعال
  • هفتگی: بررسی آپدیت قالب و افزونه و اجرای تغییرات کم‌ریسک
  • ماهانه: تست Restore، پاک‌سازی افزونه‌های بلااستفاده و مرور Site Health
  • قبل از هر Major Release: ساخت Staging و تست کامل سازگاری
  • بعد از هر آپدیت: تست مسیرهای اصلی و ثبت نسخه‌ها

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

اشتباهات رایج هنگام آپدیت وردپرس

  • آپدیت مستقیم سایت اصلی بدون بکاپ
  • اعتماد کامل به بکاپ هاست بدون تست Restore
  • به‌روزرسانی هم‌زمان همه افزونه‌ها بدون ثبت نسخه
  • ویرایش مستقیم فایل‌های هسته یا قالب والد
  • استفاده از قالب و افزونه نال‌شده
  • پاک نکردن کش بعد از آپدیت
  • تست فقط صفحه اصلی
  • نادیده گرفتن ایمیل، پرداخت و Cron
  • Rollback فایل بدون بازگرداندن دیتابیس مرتبط
  • تغییر هم‌زمان وردپرس، PHP، قالب و زیرساخت روی سایت اصلی

چک‌لیست نهایی به‌روزرسانی امن وردپرس

قبل از آپدیت

  • بکاپ فایل و دیتابیس ساخته و خارج از هاست ذخیره شد.
  • امکان بازیابی بکاپ بررسی شد.
  • Staging تازه ایجاد شد.
  • Changelog و سازگاری PHP خوانده شد.
  • نسخه قالب، افزونه و هسته ثبت شد.
  • بازه کم‌ترافیک انتخاب شد.
  • عملیات حساس مانند سفارش و ارسال ایمیل کنترل شد.

حین آپدیت

  • فرایند بدون Refresh یا بستن صفحه انجام شد.
  • خطاها و پیام‌های دیتابیس ثبت شدند.
  • به‌روزرسانی‌های حیاتی مرحله‌ای اجرا شدند.
  • در صورت نیاز Maintenance Mode کنترل‌شده فعال شد.

بعد از آپدیت

  • کش مرورگر، وردپرس، سرور و CDN پاک شد.
  • صفحه اصلی، نوشته، برگه، دسته و 404 تست شدند.
  • ورود، فرم، ایمیل و بازیابی رمز آزمایش شدند.
  • فروشگاه، سبد، Checkout و درگاه کنترل شدند.
  • Site Health، لاگ PHP و کنسول مرورگر بررسی شدند.
  • نسخه‌های جدید در Change Log ثبت شدند.
  • بکاپ سالم جدید پس از تأیید سایت ساخته شد.

📌 همچنین بخوانید: فارسی‌سازی وردپرس و تاریخ شمسی، ساخت نوشته و انتشار اولین مقاله در وردپرس و تفاوت نوشته، برگه، دسته و برچسب در وردپرس

پرسش‌های متداول

آیا قبل از آپدیت باید همه افزونه‌ها را غیرفعال کنیم؟

برای آپدیت یک‌کلیکی معمولی همیشه لازم نیست، اما در به‌روزرسانی دستی رسمی یا سایت دارای تداخل، غیرفعال‌سازی می‌تواند ریسک را کاهش دهد. روی فروشگاه فعال این کار باید در Staging و بازه نگهداری انجام شود.

آیا آپدیت وردپرس محتوا را حذف می‌کند؟

آپدیت استاندارد هسته نباید نوشته و برگه را حذف کند، زیرا محتوا در دیتابیس ذخیره است. با این حال خطای فایل، دیتابیس یا افزونه می‌تواند سایت را مختل کند؛ به همین دلیل بکاپ کامل ضروری است.

آیا نسخه‌های امنیتی را فوری نصب کنیم؟

بله، پس از بکاپ و بررسی سریع سازگاری باید در اولین فرصت عملیاتی امن نصب شوند. WordPress 7.0.2 نمونه یک انتشار امنیتی با توصیه به آپدیت فوری است.

چرا وردپرس برای آپدیت اطلاعات FTP می‌خواهد؟

معمولاً مالکیت یا مجوز فایل‌ها اجازه تغییر مستقیم به فرایند وب‌سرور نمی‌دهد. اطلاعات معتبر SFTP یا FTP هاست را وارد کنید یا از پشتیبانی بخواهید مالکیت و Permission را اصلاح کند. مجوز 777 راه‌حل امنی نیست.

بعد از آپدیت چند ساعت سایت را کنترل کنیم؟

زمان ثابت وجود ندارد. برای سایت معمولی چند بررسی در همان روز کافی است؛ فروشگاه و سرویس حیاتی باید لاگ، پرداخت، Cron و خطاها را حداقل در چرخه‌های بعدی فعالیت نیز مانیتور کند.

آیا می‌توان آپدیت خودکار همه افزونه‌ها را روشن کرد؟

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

اگر بعد از آپدیت سایت خراب شد، اول چه کار کنیم؟

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

جمع‌بندی

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

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

برای تکمیل این مسیر، راهنمای مدیریت افزونه‌های وردپرس، مقاله مدیریت قالب وردپرس و چک‌لیست تنظیمات ضروری وردپرس را نیز مطالعه کنید.

منابع رسمی

آموزش‌های تازه، کد آماده و رفع خطاهر هفته در کانال Dev Source؛ رایگان.

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

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