[{"data":1,"prerenderedAt":192},["ShallowReactive",2],{"seo-verification":3,"blog-ووردبريس-متعدد-المواقع-على-vps-ادارة-مواقع-العملاء-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-ووردبريس-متعدد-المواقع-على-vps-ادارة-مواقع-العملاء-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":130,"ctaBody":131,"ctaButton":132,"ctaUrl":133,"relatedPosts":134},368,"ووردبريس-متعدد-المواقع-على-vps-ادارة-مواقع-العملاء",{"fr":12,"en":13,"ar":10,"es":14},"wordpress-multisite-vps-agence","wordpress-multisite-vps-manage-n-client-sites-one-install","wordpress-multisite-vps-gestiona-n-sitios-en-una-instalacion","ووردبريس متعدد المواقع على VPS: إدارة مواقع العملاء","فعّل WordPress Multisite على خادم VPS مخصص لمركزة N مواقع عملاء تحت قاعدة كود واحدة ودورة تحديث واحدة ونطاقات فرعية معزولة. دليل شامل للوكالات.",10,0,false,"2026-09-20T00:00:00+00:00","2026-09-20T21:13:51+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fwordpress-multisite-vps-agence-poster.svg",{"categorySlug":34,"appSlug":35},"أنظمة-إدارة-المحتوى-والمواقع","wordpress","‫عندما يتجاوز محفظة مواقع العملاء عشرة مواقع، تصبح إدارة كل نسخة بشكل منفصل عائقاً حقيقياً: لوحات تحكم متعددة، ودورات تحديث متعددة، ومخاطر تأخر متعددة. يتيح WordPress Multisite دمج هذه المواقع تحت تثبيت واحد مع الحفاظ على نطاقات فرعية مستقلة. على خادم VPS‏، تحدّ عزل الشبكة والنسخ الاحتياطية التلقائية من المخاطر التي يطرحها هذا النموذج المركّز.‬",[38,42,52,55,77,117,121,124,127],{"type":39,"title":40,"body":41},"h2","لماذا Multisite بدلاً من N نسخة WordPress منفصلة","‫وكالة تدير خمسة عشر موقع WordPress على خمس عشرة تثبيتاً منفصلاً تواجه مشكلة توسع: خمس عشرة لوحة تحكم للمراقبة، وخمس عشرة دورة تحديث للتنسيق، وخمس عشرة إعداد خادم ويب للصيانة. إذا نشر إضافة حرجة تصحيحاً أمنياً، يجب تطبيقه خمس عشرة مرة — واحدة تلو الأخرى.\n\nيحل WordPress Multisite هذه المشكلة من جذورها. تثبيت WordPress واحد يشغّل **شبكة من المواقع** (network). يمتلك كل عميل نطاقه الفرعي الخاص (`client1.example.com`،‏ `client2.example.com`)، ومحتواه الخاص، ومستخدميه الخاصين، وإعدادات القالب الخاصة به. لكن ملفات WordPress الأساسية والإضافات والقوالب تتشارك وتُدار مركزياً من قِبل **المدير الأعلى** للشبكة.\n\nعلى خادم VPS مخصص، يكتسب هذا النموذج معناه الكامل: تحدّ عزل الشبكة من سطح الهجوم، وتحتفظ بالتحكم الكامل في PHP‏ وMariaDB‏ وNginx.‬",{"type":43,"title":44,"items":45},"ul","ما تكسبه فعلياً",[46,47,48,49,50,51],"**تحديث واحد** لـ WordPress core والإضافات وقوالب الشبكة — مطبّق في وقت واحد على جميع المواقع.","**نقطة إدارة واحدة**: يشرف المدير الأعلى على جميع المواقع من `\u002Fwp-admin\u002Fnetwork\u002F`.","**تخزين وسائط مشتركة** اختياري لكل موقع — شارك الموارد أو اعزلها وفق عقود عملائك.","**توفير موارد الخادم**: عملية PHP-FPM واحدة، ونسخة كاش كائن واحدة، واتصال MariaDB واحد للضبط.","**إعداد أسرع للعملاء الجدد**: إنشاء موقع فرعي يعني فقط ملء نموذج في الشبكة، وليس توفير خادم.","**نسخ احتياطية مركزية**: تغطي عملية تفريغ MariaDB واحدة جميع المواقع، ويمكن جدولتها بقاعدة cron واحدة.",{"type":39,"title":53,"body":54},"المتطلبات الأساسية: موارد VPS الموصى بها لـ 5 إلى 15 موقعاً نشطاً","‫تعتمد الموارد المطلوبة على حركة المرور وتعقيد المواقع — وليس على عدد التثبيتات. لشبكة من **5 إلى 15 موقع WordPress نشطاً** (مواقع عرض أو مدونات بحركة مرور معتدلة، بدون WooCommerce مكثف)، التوصية التحريرية المستندة إلى وثائق WordPress‏ وNginx\u002FMariaDB هي:\n\n- **المعالج**: 2 vCPU كحد أدنى؛ 4 vCPU بمجرد دمج تخزين الصفحات مؤقتاً مع حركة المرور المتزامنة.\n- **الذاكرة العشوائية (RAM)**: 4 غيغابايت كحد أدنى؛ 8 غيغابايت موصى به عند تفعيل كاش كائن Redis مع PHP-FPM.\n- **التخزين**: SSD NVMe‏، 40 غيغابايت كحد أدنى لملفات WordPress والوسائط وسجلات MariaDB؛ يُعدَّل حسب حجم وسائط العملاء.\n- **PHP**: PHP 8.2 أو 8.3‏ (بلغ PHP 8.1 نهاية الدعم النشط مع نهاية عام 2024).\n- **MariaDB**: ‏10.6 LTS أو 10.11 LTS.\n- **خادم الويب**: Nginx مع كتل `server` لكل نطاق فرعي وـ DNS wildcard.\n\nإذا تجاوزت محفظتك 15 موقعاً أو تضمنت متاجر WooCommerce، ففكر في تقسيم شبكة Multisite إلى قسمين أو البدء بـ 8 غيغابايت \u002F 4 vCPU.‬",{"type":56,"title":57,"steps":58},"steps","تفعيل WordPress Multisite وإعداد Nginx للنطاقات الفرعية",[59,62,65,68,71,74],{"title":60,"body":61},"إعداد DNS Wildcard","‫قبل إجراء أي تعديلات على WordPress، أضف سجل DNS wildcard على نطاقك الرئيسي:\n\n```\n*.example.com  A  \u003CIP_خادم_VPS>\n```\n\nيوجّه هذا السجل جميع النطاقات الفرعية إلى خادم VPS الخاص بك. بدونه، ستظل المواقع الفرعية في الشبكة غير متاحة من المتصفح، حتى لو أنشأها WordPress بشكل صحيح.‬",{"title":63,"body":64},"السماح بوضع الشبكة في wp-config.php","‫حرّر `wp-config.php` في جذر تثبيت WordPress وأضف السطر التالي **قبل** `\u002F* That's all, stop editing! *\u002F`:\n\n```php\ndefine( 'WP_ALLOW_MULTISITE', true );\n```\n\nهذا الثابت هو الشرط الموثق في \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fadvanced-administration\u002Fmultisite\u002Fcreate-network\u002F\">الوثائق الرسمية لـ WordPress\u003C\u002Fa> لتفعيل معالج تثبيت الشبكة.‬",{"title":66,"body":67},"إنشاء الشبكة من لوحة التحكم","‫سجّل دخولك إلى `\u002Fwp-admin\u002F`، وانتقل إلى **الأدوات ← تثبيت الشبكة**. اختر **النطاقات الفرعية** (يلزم وجود DNS wildcard). أدخل عنوان الشبكة وعنوان البريد الإلكتروني للمسؤول، ثم انقر على **تثبيت**.\n\nسيزودك WordPress بكتلتَي كود لإدراجهما في `wp-config.php` وفي `.htaccess`‏ (Apache) أو في ملف إعداد Nginx. انسخهما بدقة.‬",{"title":69,"body":70},"تكييف إعداد Nginx للنطاقات الفرعية الـ wildcard","‫على Nginx، كتلة `.htaccess` التي يوفرها WordPress لا تُقرأ. استبدلها بكتلة `server` مخصصة. إليك الإعداد الأدنى لشبكة نطاقات فرعية:\n\n```nginx\nserver {\n    listen 80;\n    server_name example.com *.example.com;\n\n    root \u002Fvar\u002Fwww\u002Fwordpress;\n    index index.php;\n\n    # Multisite subdomain rewrite\n    if (!-e $request_filename) {\n        rewrite \u002Fwp-admin$ $scheme:\u002F\u002F$host\u002Fwp-admin\u002F permanent;\n        rewrite ^(\u002F[^\u002F]+)?(\u002Fwp-.*) $2 last;\n        rewrite ^(\u002F[^\u002F]+)?(\u002F.*\\.php) $2 last;\n    }\n\n    location \u002F {\n        try_files $uri $uri\u002F \u002Findex.php?$args;\n    }\n\n    location ~ \\.php$ {\n        fastcgi_pass unix:\u002Frun\u002Fphp\u002Fphp8.3-fpm.sock;\n        fastcgi_index index.php;\n        include fastcgi_params;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n    }\n}\n```\n\nأعد تحميل Nginx: `systemctl reload nginx`. ثم انتقل إلى HTTPS بإنشاء شهادة wildcard مع Certbot باستخدام تحدي DNS-01 — شهادة SAN‏ `*.example.com` تغطي جميع المواقع الفرعية في الشبكة.‬",{"title":72,"body":73},"إتمام إعداد WordPress Multisite في wp-config.php","‫أضف الثوابت التي يوفرها المعالج إلى `wp-config.php` (عدّل القيم وفق تثبيتك):\n\n```php\ndefine( 'MULTISITE', true );\ndefine( 'SUBDOMAIN_INSTALL', true );\ndefine( 'DOMAIN_CURRENT_SITE', 'example.com' );\ndefine( 'PATH_CURRENT_SITE', '\u002F' );\ndefine( 'SITE_ID_CURRENT_SITE', 1 );\ndefine( 'BLOG_ID_CURRENT_SITE', 1 );\n```\n\nسجّل خروجك ثم عد للدخول. تعرض لوحة التحكم الآن قائمة **الشبكة** في شريط الإدارة. من **الشبكة ← المواقع ← إضافة جديد**، أنشئ موقعك الفرعي الأول للعميل: `client1.example.com`.‬",{"title":75,"body":76},"تفعيل إضافات الشبكة وتعيين القوالب","‫في **الشبكة ← الإضافات**، فعّل الإضافات لكل الشبكة (**تفعيل على الشبكة**) أو اترك مسؤولي المواقع الفرعية يفعّلونها بأنفسهم. تعمل القوالب بنفس الطريقة: يتيحها المدير الأعلى، ويختار كل موقع فرعي قالبه الخاص.\n\nملاحظة مهمة: بعض الإضافات **لا تدعم وضع الشبكة**. تحقق من التوافق في وثائق الإضافة قبل تفعيلها على الشبكة — إضافة غير متوافقة قد تحجب لوحة تحكم جميع المواقع الفرعية في وقت واحد.‬",{"type":78,"title":79,"headers":80,"rows":84},"comparison","Multisite مقابل نسخ WordPress منفصلة: جدول مقارنة",[81,82,83],"المعيار","WordPress Multisite","نسخ منفصلة",[85,89,93,97,101,105,109,113],[86,87,88],"تحديث WordPress core","عملية واحدة لـ N موقع","N عملية يدوية",[90,91,92],"تحديث إضافة","عملية شبكة واحدة","N عملية، خطر عدم المزامنة",[94,95,96],"عزل بيانات العميل","جزئي (نفس قاعدة MariaDB، بادئات مختلفة)","كامل (قواعد بيانات مختلفة، عمليات PHP مختلفة)",[98,99,100],"تخزين الوسائط","مشترك افتراضياً، قابل للعزل بإضافة","معزول بشكل طبيعي",[102,103,104],"موارد الخادم","مشتركة — توفير في RAM وCPU","تراكمية — كل نسخة تستهلك حصتها",[106,107,108],"إضافة غير متوافقة مع الشبكة","قد تحجب جميع المواقع","تؤثر على نسخة واحدة فقط",[110,111,112],"إعداد موقع جديد","نموذج في الشبكة — ثوانٍ","توفير كامل — دقائق إلى ساعات",[114,115,116],"شهادة SSL wildcard","‏شهادة واحدة `*.example.com`","شهادة لكل نطاق عميل",{"type":118,"title":119,"body":120},"tip","أمان Multisite على VPS: الحد من تأثير الثغرات","‫الاعتراض الأكثر شيوعاً على WordPress Multisite صحيح: إذا تعرضت إضافة ضعيفة للاختراق، فإن سطح الهجوم المحتمل يغطي الشبكة بأكملها، وليس موقعاً واحداً فقط. على خادم VPS مخصص، تُقلل عدة إجراءات من هذا التأثير:\n\n**نسخ احتياطية يومية تلقائية.** تفريغ MariaDB مجدول كل ليلة (cron‏ + `mysqldump` أو `mariabackup`) يمنحك نقطة استعادة حديثة لكل موقع فرعي. خزّن عمليات التفريغ خارج خادم VPS — على bucket متوافق مع S3 أو وحدة تخزين عن بُعد.\n\n**جدار حماية تطبيقي.** يرشح WAF‏ على Nginx‏ (ModSecurity أو قواعد OWASP) الطلبات الضارة قبل وصولها إلى PHP. ادمجه مع `fail2ban` لحظر عناوين IP التي تحاول القوة الغاشمة على `\u002Fwp-login.php`.\n\n**تحديثات فورية.** قوة Multisite — تحديث واحد للمحفظة بأكملها — هي أيضاً أفضل دفاع لك: طبّق تصحيحات أمان WordPress والإضافات في يوم نشرها. بدون Multisite، يكون تأخر تحديث نسخة منسية هو الثغرة الأكثر استغلالاً.\n\n**صلاحيات محدودة للمدير الأعلى.** حساب المدير الأعلى للشبكة له صلاحيات على جميع المواقع. استخدم مصادقة ثنائية على هذا الحساب وأنشئ حسابات مسؤول موقع فرعي منفصلة لكل عميل.‬",{"type":39,"title":122,"body":123},"استكشاف الأخطاء: ثلاثة أخطاء شائعة على شبكة WordPress Multisite","‫**‏1. إضافة مُبلَّغ عنها كـ«غير متوافقة مع وضع الشبكة».**\nتتحقق بعض الإضافات صراحةً مما إذا كان WordPress يعمل في وضع Multisite وترفض التفعيل على الشبكة. السبب غالباً استخدام `$wpdb->blogid` أو خيارات مخزنة بطريقة غير متوافقة مع جداول كل موقع فرعي المُعرَّفة ببادئات. الحل: تحقق من مشكلات GitHub الخاصة بالإضافة، وابحث عن بديل متوافق، أو فعّل الإضافة فقط على المواقع الفرعية التي تحتاجها (إذا سمحت الإضافة بذلك) بدلاً من مستوى الشبكة.\n\n**‏2. صفحة إدارة الشبكة غير متاحة (`\u002Fwp-admin\u002Fnetwork\u002F` تعيد التوجيه إلى لوحة التحكم العادية).**\nالمدير الأعلى ليس نفس مستخدم مسؤول الموقع الرئيسي. عند إنشاء الشبكة، يضيف WordPress علامة `super_admin` للمستخدم النشط. إذا أنشأت الشبكة بحساب ثم سجلت دخولك بحساب آخر، فهذا الحساب الثاني لن يرى قائمة الشبكة. تحقق في MariaDB:\n\n```sql\nSELECT meta_value FROM wp_usermeta\nWHERE meta_key = 'wp_user_level'\nAND user_id = \u003Cمعرف_حسابك>;\n```\n\nللترقية إلى مدير أعلى: استخدم دالة `grant_super_admin( $user_id )` من ملف في مجلد mu-plugins.\n\n**‏3. نطاقات فرعية غير متاحة: DNS wildcard لا ينتشر فوراً.**\nبعد إضافة `*.example.com A \u003CIP>`، تحدد مدة TTL للسجل وقت الانتشار. خلال هذه الفترة، تُرجع المواقع التي أُنشئت في الشبكة خطأ DNS في المتصفح — WordPress أنشأها بشكل صحيح، لكن المحلل لا يعرف النطاق الفرعي بعد. إذا كنت تعمل محلياً مع خادم VPS للتطوير، أضف سجلاً في `\u002Fetc\u002Fhosts` على جهازك لكل نطاق فرعي تريد اختباره: `\u003CIP_VPS>  client1.example.com`.\n\nحالة رابعة تحدث مع إعدادات **www \u002F بدون www** المختلطة: إذا كان كل من `example.com` و`www.example.com` يشيران إلى خادم VPS، فتأكد أن `DOMAIN_CURRENT_SITE` في `wp-config.php` يطابق تماماً النطاق الرئيسي بدون بادئة `www`، وأن Nginx يعيد توجيه صيغة www إلى الصيغة الأساسية قبل تمرير الطلب إلى WordPress.‬",{"type":118,"title":125,"body":126},"نقل المواقع الحالية إلى شبكة Multisite","‫إذا كنت تدير بالفعل مواقع WordPress منفصلة وتريد دمجها في شبكة Multisite، فإن إضافة **WordPress Importer**‏ (الإضافة الرسمية) تصدّر المحتويات والتعليقات والمستخدمين من كل نسخة مصدر، ثم تستوردها إلى موقع فرعي في الشبكة.\n\nثلاث نقاط للانتباه قبل النقل:\n\n- **ملفات الرفع لا تُنقل تلقائياً.** انسخ مجلد `wp-content\u002Fuploads\u002F` من كل موقع مصدر إلى `wp-content\u002Fuploads\u002Fsites\u002F\u003CID>\u002F` في الشبكة (يُعيَّن المعرف بواسطة WordPress عند إنشاء الموقع الفرعي).\n- **تحقق من توافق إضافات الشبكة** قبل التبديل: قد لا تعمل إضافة نشطة على الموقع القديم في وضع الشبكة. أدرج إضافات كل موقع مصدر وقارنها مع قائمة إضافات الشبكة المتاحة.\n- **اختبر إعادة توجيه النطاقات.** إذا كان الموقع المنقول يمتلك نطاقه الخاص (`www.client1.com`)، فقم بإعداد وحدة **WordPress MU Domain Mapping** أو ميزة النطاق المخصص الأصلية لتوجيه `client1.example.com` نحو `www.client1.com` — أو العكس حسب اختيارك.‬",{"type":39,"title":128,"body":129},"الإطلاق في الإنتاج: خطوات التحقق قبل فتح الموقع لعملائك","‫قبل نقل مواقع عملائك الأولى إلى الشبكة، راجع هذه النقاط:\n\n- **اختبر إنشاء موقع فرعي** عبر `client1.example.com` وتحقق من إمكانية الوصول إليه من متصفح خارجي.\n- **تحقق من أن شهادة wildcard تغطي `*.example.com`**: `openssl s_client -connect client1.example.com:443 -servername client1.example.com | grep subject`.\n- **محاكاة تحديث إضافة الشبكة** والتحقق من بقاء جميع المواقع الفرعية تعمل.\n- **خطط واختبر الاستعادة** لموقع فرعي من تفريغ MariaDB: الاستعادة غير المختبرة ليست نسخة احتياطية.\n- **وثّق إجراء الإعداد** لعملائك: عنوان URL للإدارة، وبيانات الاعتماد، والصلاحيات الممنوحة لحساب مسؤول الموقع الفرعي.\n\nخادم ServOrbit VPS مُعدٌّ لمحفظة WordPress الخاصة بك يمنحك التحكم الكامل في مكدس التقنيات بأكمله — PHP‏ وMariaDB‏ وNginx والنسخ الاحتياطية — بدون طبقة تجريد تخفي الأخطاء.‬","خادم VPS واحد لوكالتك بأكملها","‫خادم ServOrbit VPS واحد يكفي لإدارة محفظة WordPress الكاملة لوكالتك.‬","اكتشف عرض الوكالة","\u002Fsolutions\u002Fagences",[135,152,171],{"id":136,"slug":137,"slugs":138,"title":142,"excerpt":143,"readTime":144,"views":18,"isPinned":19,"publishedAt":145,"updatedAt":146,"category":147,"categories":148,"featuredImage":30,"bgImage":31,"posterImage":150,"relatedSolution":151},73,"استضافة-wordpress-على-خادم-vps-الخاص-بك",{"fr":139,"en":140,"ar":137,"es":141},"heberger-wordpress","host-wordpress-on-your-own-vps","alojar-wordpress-en-un-vps","استضافة WordPress على خادم VPS الخاص بك","استضِف WordPress على خادم VPS الخاص بك لأقصى أداء وتحكّم: Docker وMariaDB والتخزين المؤقت (cache) وreverse proxy وSSL.",3,"2026-04-08T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[149],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":25,"appSlug":35},{"id":153,"slug":154,"slugs":155,"title":159,"excerpt":160,"readTime":161,"views":18,"isPinned":19,"publishedAt":162,"updatedAt":163,"category":164,"categories":165,"featuredImage":30,"bgImage":31,"posterImage":167,"relatedSolution":168},144,"woocommerce-على-vps-متجر-سريع-وتحت-سيطرتك",{"fr":156,"en":157,"ar":154,"es":158},"installer-woocommerce-vps","woocommerce-on-a-vps-a-fast-store-you-control","instalar-woocommerce-en-un-vps","WooCommerce على VPS: متجر سريع وتحت سيطرتك","ثبّت WooCommerce على VPS من ServOrbit: WordPress، التخزين المؤقت، HTTPS، النسخ الاحتياطية والتحكم الكامل في متجرك.",4,"2026-02-01T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[166],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Finstaller-woocommerce-vps-poster.svg",{"categorySlug":169,"appSlug":170},"التجارة-الإلكترونية","woocommerce",{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":180,"views":181,"isPinned":19,"publishedAt":182,"updatedAt":163,"category":183,"categories":189,"featuredImage":30,"bgImage":31,"posterImage":191,"relatedSolution":30},317,"قائمة-تصليب-خادم-لينكس-للوكالات-بعد-التسليم",{"fr":175,"en":176,"ar":173,"es":177},"linux-hardening-vps-checklist","linux-vps-hardening-checklist-for-agencies","hardening-linux-vps-checklist-para-agencias-tras-la-entrega","قائمة تصليب خادم لينكس للوكالات بعد التسليم","قائمة تدقيق لتصليب لينكس قابلة للتكرار للوكالات: auditd وsudo ومفتاح SSH وUFW وfail2ban وإلغاء تفعيل root — مع إمكانية التتبع لكل عميل.",11,1,"2026-08-30T00:00:00+00:00",{"id":184,"name":185,"slug":186,"color":187,"icon":188},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[190],{"id":184,"name":185,"slug":186,"color":187,"icon":188},"\u002Fblog\u002Fcovers\u002Flinux-hardening-vps-checklist-poster.svg",1789939084579]