# إصلاح تحذيرات المحتوى المختلط بعد تفعيل HTTPS

Source: https://support.kapsulehost.com/ar-ae/ssl-mixed-content

## ما هي محتويات مختلطة

يعامل المتصفح الصفحة على أنها آمنة فقط إذا وصلت الصفحة وكل ما تحمله عبر HTTPS. إذا سحبت صفحة HTTPS صورة أو سكريبت أو ورقة أنماط أو خط أو iframe من عنوان `http://`، فسيعلمك المتصفح بذلك.

يقسم المتصفحات هذا إلى فئتين، وتتصرفان بشكل مختلف جداً:

- **محتويات مختلطة نشطة**: السكريبتات وأوراق الأنماط و iframes و XHR. يحظرها المتصفح تماماً. تنهار التخطيطات والمنزلقات تتوقف والنماذج تتوقف عن الإرسال. هذا هو النوع المدمر.
- **محتويات مختلطة سلبية**: الصور والملفات الصوتية والفيديو. عادة ما يتم تحميلها، لكن قفل المتصفح يتم تخفيض رتبته أو إزالته.

يمكن للموقع بالتالي أن يبدو جيداً تماماً وكأنه لا يزال يفقد قفله، أو يبدو معطلاً مع عدم وجود خطأ واضح في الصفحة نفسها.

## لماذا يحدث هذا بعد تفعيل SSL

تشغيل SSL يغير طريقة تقديم موقعك. لا يغير ما هو مخزن بداخله.

يكتب WordPress عناوين URL مطلقة في قاعدة البيانات، لذا فإن الموقع الذي عمل على HTTP لأي فترة من الوقت به عناوين `http://` محفوظة في:

- محتوى المنشورات والصفحات، بما في ذلك كل صورة يتم إدراجها من خلال المحرر.
- سجلات المرفقات الإعلامية.
- إعدادات مخصص المظهر وخيارات المظهر.
- محتوى الأداة وإعدادات الكتلة.
- إعدادات المكون الإضافي، خاصة منشئي الصفحات ومكونات المنزلقات الإضافية.
- خيارات `siteurl` و `home`.

لا شيء من هذا يحدّث نفسه. تفعيل SSL والتساؤل عن سبب كسر القفل هو أحد أكثر الأسئلة الشائعة في الدعم، وهذا هو السبب.

## الخطوة 1: فرض HTTPS على الخادم

قبل أن تلمس قاعدة البيانات، تأكد من أن كل زائر يصل إلى HTTPS في المقام الأول.

1. سجل الدخول إلى [KPanel](https://kpanel.kapsulehost.com) وانقر فوق **المواقع** في الشريط الجانبي الأيسر.
2. انقر فوق موقعك.
3. افتح **الإعدادات**.
4. ضمن **السلوك**، قم بتشغيل **فرض HTTPS**.
5. انقر فوق **حفظ التغييرات**.

![إعداد Force HTTPS ضمن Behavior على صفحة الإعدادات لموقع في KPanel](https://support.kapsulehost.com/help/screenshots/ssl-mixed-content.6758a2bb.webp)

يتم إعادة توجيه كل طلب HTTP الآن إلى HTTPS على الخادم، قبل تشغيل موقعك.

> **Note:** يتعامل Force HTTPS مع الطلبات الواردة. لا يعيد كتابة عناوين URL المخزنة بالفعل في قاعدة البيانات، لذا بمفرده لن يمسح تحذير محتويات مختلطة ناتجة عن صورة `http://` مشفرة بشدة. تحتاج إلى كل من هذا والخطوة 2.

إذا لم يكن SSL نشطاً بعد، أو بدا الشهادة خاطئة، ابدأ مع [شهادات SSL](https://support.kapsulehost.com/ar-ae/ssl-certificates).

## الخطوة 2: إعادة كتابة عناوين URL المخزنة

هذا هو الإصلاح الذي يحل المحتويات المختلطة فعلياً.

1. افتح الموقع، ثم تبويب **WordPress**، ثم قسم **الإجراءات السريعة**.
2. ابحث عن بطاقة **البحث والاستبدال** وانقر فوق **تكوين**.
3. في **البحث (القيمة القديمة)** أدخل `http://yourdomain.co.nz`.
4. في **استبدل بـ** أدخل `https://yourdomain.co.nz`.
5. اترك **التشغيل الجاف (معاينة فقط، بدون تغييرات)** محدداً وانقر فوق **معاينة**.
6. راجع العد وتقسيم الجدول لكل جدول.
7. أزل تحديد **التشغيل الجاف**، انقر فوق **تشغيل**، وأكد.

يتم أخذ نسخة احتياطية كاملة تلقائياً قبل الاستبدال، وكل جدول مشمول بما في ذلك تلك التي تم إنشاؤها بواسطة المكونات الإضافية. يتم التعامل مع إعدادات المكون الإضافي المسلسلة بشكل صحيح.

> **Warning:** لا تفعل هذا باستخدام استعلام SQL في phpMyAdmin. يخزن WordPress إعدادات المكون الإضافي والمظهر كسلاسل مسلسلة تسجل طول كل قيمة، لذا فإن `REPLACE()` الخام تكسرها وتعيد الإعدادات صامتة إلى فارغة. لا توجد إصلاحات قصيرة من استعادة النسخة الاحتياطية. التفسير الكامل في [تشغيل البحث والاستبدال](https://support.kapsulehost.com/ar-ae/wordpress-search-replace).

إذا كانت خطتك تتضمن وحدة التحكم، فإن الأمر المكافئ هو:

```
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
```

اسقط `--dry-run` لتطبيقه، وخذ نسخة احتياطية بنفسك أولاً: وحدة التحكم لا تأخذها.

## الخطوة 3: امسح كل ذاكرة تخزين مؤقت

ستستمر نسخة مخزنة مؤقتاً من الصفحة في تقديم عناوين HTTP القديمة لفترة طويلة بعد إصلاح قاعدة البيانات، وهذا هو السبب في أن الناس غالباً ما يعتقدون أن الاستبدال لم ينجح.

1. **WordPress**، ثم **الإجراءات السريعة**، ثم **مسح ذاكرة التخزين المؤقت**.
2. **WordPress**، ثم **التخزين المؤقت**، ثم **تطهير ذاكرة التخزين المؤقت**، إذا كان التخزين المؤقت كامل الصفحة قيد التشغيل.
3. **الأداء**، ثم **Kapsule CDN**، ثم **تطهير**، إذا كان CDN قيد التشغيل. انظر [تطهير ذاكرة التخزين المؤقت CDN](https://support.kapsulehost.com/ar-ae/cdn-cache-purge).
4. أي مكون إضافي للتخزين المؤقت، من شاشة إعداداته الخاصة.
5. متصفحك الخاص. الاختبار في نافذة خاصة حتى لا تخدع من قبل ذاكرة التخزين المؤقت الخاصة بك.

## الخطوة 4: ابحث عما تبقى

معظم المواقع نظيفة بعد الخطوة 2. عندما يظل التحذير قائماً، ابحث عن المورد الدقيق بدلاً من التخمين.

**وحدة تحكم المتصفح.** افتح أدوات المطور باستخدام F12، وانتقل إلى تبويب **وحدة التحكم**، وأعد التحميل. تظهر المحتويات المختلطة كتحذير صريح يسمي عنوان URL الكامل للمورد المخالف. يخبرك عنوان URL هذا بأي مكون إضافي أو مظهر مسؤول.

**تبويب الشبكة.** قم بالتصفية حسب `http://` لإدراج كل طلب غير آمن قامت به الصفحة.

**مصدر الصفحة.** قم بتحميل الصفحة وعرض المصدر والبحث عن `http://`. تجاهل أي شيء داخل سمات `xmlns` وتصريحات المخطط: فهذه معرفات وليست طلبات.

الناجون الشائعون، وما يجب فعله حول كل واحد:

| ما تجده | الإصلاح |
|---|---|
| صورة أو شعار في إعداد مخصص المظهر | أعد تحميله أو حدده مجدداً في المخصص |
| وحدة بناء صفحة مع عنوان URL صورة `http://` مكتوب | حرر تلك الوحدة وصحح عنوان URL |
| جدول إعدادات مكون إضافي منزلق | أعد حفظ المنزلق، أو قم بتشغيل البحث والاستبدال باستخدام `--all-tables` |
| خط أو سكريبت من نطاق طرف ثالث | تحقق مما إذا كان المزود يقدم HTTPS. معظمهم يفعلون الآن. بدّل عنوان URL |
| بكسل تتبع أو تضمين من بائع قديم | إذا لم يكن لدى البائع HTTPS، أزله. هذا تبعية مكسورة، وليس مشكلة KapsuleHost |
| `http://` مشفرة بشدة في ملف قالب المظهر | حرر القالب، أو بشكل أفضل، استخدم `https` أو مرجع بروتوكول نسبي |

> **Tip:** إذا تأثرت صفحة واحدة فقط وكان باقي الموقع نظيفاً، فإن الجاني هو محتوى تلك الصفحة وليس إعداد في جميع أنحاء الموقع. افتحها في المحرر وانظر إلى الوسائط التي تدرجها.

## تأكيد إصلاحها

1. حمّل الموقع في نافذة خاصة.
2. يجب أن يكون القفل صلباً، بدون مثلث تحذير وبدون إشارة مشطوبة.
3. انقر فوق القفل. يبلغ المتصفح أن الاتصال آمن بدون إشعار محتويات مختلطة.
4. افتح وحدة التحكم وأعد التحميل مرة أخرى. صفر من تحذيرات المحتويات المختلطة.
5. تحقق من صفحة عميقة، وليس فقط الصفحة الرئيسية: صفحة داخلية ومنشور مدونة يحتوي على صور والدفع في متجر.

## منع عودتها

- **اترك Force HTTPS قيد التشغيل.** إنه إعداد سطر واحد يزيل فئة كاملة من المشاكل.
- **لا تكتب عنوان URL كامل `http://` في المحتوى أبداً.** استخدم مكتبة الوسائط، التي تخزن الآن عناوين HTTPS.
- **تحقق من إعدادات المكون الإضافي بعد تثبيت أي شيء** يطلب عنوان URL.
- **راقب التحذير العائد بعد تحديث المكون الإضافي.** تعيد بعض المكونات الإضافية تعيين عناوين URL المخزنة الخاصة بها.
- **أعد تشغيل البحث والاستبدال بعد أي هجرة**، حيث تجلب قاعدة البيانات المستوردة معها عناوين URL الخادم القديم: [ترحيل موقع من cPanel](https://support.kapsulehost.com/ar-ae/sites-migrate-cpanel).

## استكشاف الأخطاء

**القفل جيد بالنسبة لي وكسور بالنسبة لزميل.** صفحة مخزنة مؤقتاً. اطلب منهم إعادة التحميل في نافذة خاصة.

**انهار الموقع تماماً بعد الاستبدال.** استعد النسخة الاحتياطية التلقائية قبل التشغيل: [الاستعادة من النسخة الاحتياطية](https://support.kapsulehost.com/ar-ae/restoring-from-backup).

**تظهر وحدة التحكم تحذيراً من محتويات مختلطة على نطاق ليس ملكاً لي.** موارد الطرف الثالث. لا يمكنك إصلاح خادمهم: إما أنهم يدعمون HTTPS وتبدل عنوان URL، أو تسقط المورد.

**كل شيء HTTPS ولكن الموقع لن يتحمل على الإطلاق.** هذا ليس محتويات مختلطة. ابدأ مع [موقع لم يتم التحميل](https://support.kapsulehost.com/ar-ae/website-not-loading) وتحقق من الشهادة على [شهادات SSL](https://support.kapsulehost.com/ar-ae/ssl-certificates).

إذا كنت قد عملت من خلال كل هذا والتحذير لا يزال قائماً، أرسل بريداً إلكترونياً إلى [support@kapsulehost.com](mailto:support@kapsulehost.com) مع عنوان URL المتأثر والنص الدقيق لتحذير وحدة تحكم المتصفح.
