المواقع الإلكترونية

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

When SSL is active but the browser padlock is missing, broken or showing a warning, the cause is almost always mixed content: the page itself is encrypted but something on it is still being fetched…

عندما يكون SSL نشطًا لكن قفل المتصفح مفقود أو معطوب أو يعرض تحذيرًا، فإن السبب في الغالب هو المحتوى المختلط: الصفحة نفسها مشفرة لكن شيئًا ما فيها لا يزال يتم جلبه عبر HTTP العادي. يشرح هذا الدليل لماذا يحدث هذا، وكيفية العثور على كل مورد مخالف، وكيفية إصلاحه بشكل صحيح بدلاً من إخفاء المشكلة.

ما هو المحتوى المختلط

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

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

  • المحتوى المختلط النشط: السكريبتات وأوراق الأنماط وإطارات HTML و XHR. المتصفحات تحظر هذه بشكل كامل. التخطيطات تنهار، أجهزة التمرير توقفت، النماذج توقفت عن الإرسال. هذا هو النوع الضار.
  • المحتوى المختلط السلبي: الصور والصوت والفيديو. هذه عادة ما تزال تُحمّل، لكن القفل يتم خفضه أو إزالته.

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

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

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

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

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

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

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

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

  1. قم بتسجيل الدخول إلى KPanel وانقر فوق Websites في الشريط الجانبي الأيسر.
  2. انقر فوق موقعك.
  3. افتح Settings.
  4. ضمن Behavior، قم بتشغيل Force HTTPS.
  5. انقر فوق Save Changes.

إعداد Force HTTPS على موقع في KPanel

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

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

إذا كان SSL غير نشط بعد، أو بدا الشهادة خاطئة، ابدأ بـ SSL Certificates.

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

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

  1. افتح الموقع، ثم علامة التبويب WordPress، ثم قسم Quick Actions.
  2. ابحث عن بطاقة Search & Replace وانقر فوق Configure.
  3. في Find (old value) أدخل http://yourdomain.co.nz.
  4. في Replace with أدخل https://yourdomain.co.nz.
  5. اترك Dry run (preview only, no changes) مُحددًا وانقر فوق Preview.
  6. راجع العدد والتفصيل لكل جدول.
  7. قم بإلغاء تحديد Dry run، انقر فوق Run، وأكد.

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

لا تقم بهذا باستخدام استعلام SQL في phpMyAdmin. يخزن WordPress إعدادات المكونات الإضافية والمظاهر كسلاسل مسلسلة تسجل طول كل قيمة، لذا فإن استعلام REPLACE() الخام يكسرها وتعود الإعدادات صامتة إلى فارغة. لا يوجد إصلاح غير استعادة النسخة الاحتياطية. الشرح الكامل موجود في Running a Search and Replace.

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

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

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

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

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

  1. WordPress، ثم Quick Actions، ثم Flush Cache.
  2. WordPress، ثم Caching، ثم Purge cache، إذا كان ذاكرة التخزين المؤقتة للصفحة الكاملة قيد التشغيل.
  3. Performance، ثم Kapsule CDN، ثم Purge، إذا كان CDN قيد التشغيل. انظر Purging the CDN Cache.
  4. أي مكون إضافي للتخزين المؤقتة، من شاشة الإعدادات الخاصة به.
  5. متصفحك الخاص. اختبر في نافذة خاصة حتى لا تنخدع بذاكرة التخزين المؤقتة الخاصة بك.

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

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

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

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

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

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

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

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

التأكد من إصلاحه

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

منع عودتها

  • اترك Force HTTPS مشغلاً. إنها إعدادات سطر واحد تزيل فئة كاملة من المشاكل.
  • لا تكتب أبدًا عنوان URL http:// كاملاً في المحتوى. استخدم مكتبة الوسائط، التي تخزن الآن عناوين HTTPS.
  • تحقق من إعدادات المكونات الإضافية بعد تثبيت أي شيء يطلب عنوان URL.
  • راقب التحذير العائد بعد تحديث المكون الإضافي. بعض المكونات الإضافية تعيد تعيين عناوين URL المخزنة الخاصة بها.
  • أعد تشغيل البحث والاستبدال بعد أي ترحيل، لأن قاعدة البيانات المستوردة تجلب معها عناوين المضيف القديم: Migrating a Website From cPanel.

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

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

انقسم الموقع بالكامل بعد الاستبدال. استعد النسخة الاحتياطية التلقائية قبل التشغيل: Restoring From a Backup.

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

كل شيء HTTPS لكن الموقع لن يتحمل على الإطلاق. هذا ليس محتوى مختلط. ابدأ بـ Website Not Loading وتحقق من الشهادة على SSL Certificates.

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

هل تحتاج إلى مساعدة إضافية؟

راسلنا على البريد الإلكتروني support@kapsulehost.com أو افتح محادثة في KPanel.

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