لماذا تستضيف WordPress ذاتيًا على خادم VPS
تتقاسم الاستضافة المشتركة وحدة المعالجة (CPU) والذاكرة (RAM) وحتى قاعدة البيانات مع مئات المواقع الأخرى: تعتمد سرعتك على الجيران، وغالبًا ما يكون الوصول عبر SSH أو الإعداد الدقيق للخادم مقفلًا. يمنحك خادم VPS مخصّص موارد مضمونة، وتحكمًا كاملًا في PHP-FPM وخادم الويب والتخزين المؤقت للكائنات (Redis) والتخزين المؤقت للصفحات. وبالنسبة إلى وكالة تدير عدة مواقع لعملائها، فهذا يعني أيضًا إمكانية عزل كل شيء في حاويات على جهاز واحد، مع نسخ احتياطية ونشر مُحكَمين، حيث تفرض الاستضافة المشتركة حدودها وتكاليفها الإضافية.
مكاسب WordPress على خادم VPS
- موارد CPU/RAM مضمونة: لا مزيد من التباطؤ بسبب الجيران
- تحكم كامل في PHP-FPM وخادم الويب والإضافات
- التخزين المؤقت للكائنات عبر Redis والتخزين المؤقت للصفحات لتقليص أزمنة الاستجابة إلى النصف
- وصول كامل عبر SSH/WP-CLI لأتمتة الصيانة وعمليات النشر
- العزل عبر الحاويات: عدة مواقع لعملاء على خادم VPS واحد
- نسخ احتياطية وقواعد أمان تحدّدها أنت، دون تكلفة إضافية لكل موقع
متطلبات واقعية
يتحمّل خادم VPS بمعالجَين افتراضيَّين (2 vCPU) و2 غيغابايت من الذاكرة (RAM) موقع WordPress بحركة زوار معتدلة بأريحية؛ انتقل إلى 4 غيغابايت مع Redis أو WooCommerce أو عدة مواقع. تحتاج إلى Docker + Compose، وقاعدة بيانات MariaDB أو MySQL، ويُفضَّل Redis للتخزين المؤقت للكائنات، ونطاق yourdomain.com مع شهادة SSL الخاصة به. خصّص بعض الضبط لـPHP (upload_max_filesize وmemory_limit) بحسب وسائطك وإضافاتك.
النشر خطوة بخطوة
تركيب WordPress وMariaDB وRedis
في ملف docker-compose.yml، صرِّح عن wordpress:php8.3-fpm أو wordpress:apache، وخدمة mariadb:11 وredis:alpine. احفظ wp-content وقاعدة البيانات في وحدات تخزين مُسمّاة، على شبكة Docker داخلية.
إدخال بيانات قاعدة البيانات والأسرار
مرّر WORDPRESS_DB_* وكلمات مرور قوية عبر متغيرات البيئة. أضِف مفاتيح الأمان (salts) المولَّدة من واجهة WordPress الرسمية في WORDPRESS_CONFIG_EXTRA.
تشغيل WordPress وتثبيته
ابدأ بـdocker compose up -d ثم افتح نطاقك لمعالج التثبيت. والأفضل: أتمِت العملية عبر WP-CLI (wp core install) للحصول على عمليات نشر قابلة للتكرار من موقع إلى آخر.
وضع reverse proxy وSSL
أعدّ Nginx/Caddy بـHTTPS أمام WordPress. اضبط client_max_body_size لعمليات الرفع، وفعِّل ضغط gzip/brotli والتخزين المؤقت للأصول الثابتة (الصور وCSS وJS) مع ترويسات Cache-Control طويلة الأمد.
تفعيل التخزين المؤقت للكائنات عبر Redis
ثبّت إضافة للتخزين المؤقت للكائنات (مثل Redis Object Cache)، ووجّهها إلى خدمة redis، وفعّلها: عندئذٍ تُخدَّم الاستعلامات المتكررة إلى قاعدة البيانات من الذاكرة، ما يخفّف العبء بشدة عن MariaDB.
التحصين والنسخ الاحتياطي
عطّل تحرير الملفات في لوحة الإدارة (DISALLOW_FILE_EDIT)، وحُدّ من محاولات تسجيل الدخول، وجدوِل نسخة احتياطية ليلية لـwp-content + نسخة SQL إلى تخزين كائنات بعيد.
للحصول على أداء ينافس أفضل المنصات المُدارة، أضِف تخزينًا مؤقتًا كاملًا للصفحات أمام PHP: إضافة تولّد ملفات HTML ثابتة يخدمها Nginx مباشرةً (عبر try_files)، أو وحدة FastCGI cache. عندئذٍ لا تلمس صفحاتك العامة PHP ولا MariaDB إطلاقًا، ما يتيح لخادم VPS متواضع استيعاب آلاف الزوار المتزامنين، مع إبقاء لوحة الإدارة وسلة الشراء (WooCommerce) خارج التخزين المؤقت.
الوثائق الرسمية
للإعداد المتقدّم والخيارات الخاصة بالأداة، ارجع إلى الوثائق الرسمية لـWordPress. يغطّي هذا الدليل النشر على خادم VPS؛ وتبقى وثائق الناشر المرجعَ للضبط الدقيق والترقيات الكبرى وحالات الاستخدام الخاصة.