حل مشکل فعال نشدن HTTPS (مشکل Mixed Content) پس از نصب SSL

خطای محتوای ترکیبی (Mixed Content) چیست؟

پس از نصب موفقیت‌آمیز گواهینامه SSL، مرورگرها باید آیکون قفل سبز رنگ را نمایش دهند. اگر قفل نمایش داده نمی‌شود یا به رنگ خاکستری/قرمز است، سایت شما احتمالاً با خطای Mixed Content مواجه شده است.

Mixed Content زمانی رخ می‌دهد که صفحه اصلی سایت شما با پروتکل امن HTTPS بارگذاری می‌شود، اما برخی از منابع (مانند تصاویر، فایل‌های CSS یا اسکریپت‌ها) هنوز به صورت ناامن با پروتکل HTTP فراخوانی می‌شوند. مرورگر این منابع را مسدود می‌کند یا با هشدار نمایش می‌دهد.


بخش اول: راه‌حل سریع (ریدایرکت خودکار در cPanel)

اولین قدم برای اطمینان از اینکه همه بازدیدکنندگان به نسخه HTTPS هدایت می‌شوند، بررسی ریدایرکت سراسری در cPanel است.

۱. فعال‌سازی ریدایرکت HTTPS در cPanel

  1. وارد پنل کاربری و سپس cPanel شوید.

  2. در بخش Security (امنیت)، ابزار Domains (یا Redirects) را پیدا کنید.

  3. اگر ابزاری با عنوان Force HTTPS Redirect وجود دارد، آن را برای دامنه‌های مورد نظر فعال (On) کنید. این کار به صورت خودکار قوانین ریدایرکت لازم را اعمال می‌کند.

    • (اگر این ابزار در cPanel شما وجود ندارد، می‌توانید از روش دستی (.htaccess) که در مقاله ۵ توضیح داده شد، استفاده کنید.)

۲. بررسی تنظیمات وردپرس

اگر سایت وردپرسی است، اطمینان حاصل کنید که آدرس‌های اصلی سایت در دیتابیس صحیح باشند:

  1. وارد پیشخوان وردپرس شوید.

  2. به Settings (تنظیمات) » General (عمومی) بروید.

  3. مطمئن شوید که هر دو فیلد WordPress Address (URL) و Site Address (URL) با https:// شروع شده باشند (مثلاً https://yourdomain.com).


بخش دوم: شناسایی و رفع منابع HTTP در کد

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

۱. شناسایی منابع مشکل‌ساز در مرورگر

  • در مرورگر خود (مانند Chrome)، روی صفحه سایت راست کلیک کرده و Inspect (بازرسی) را انتخاب کنید.

  • به تب Console (کنسول) بروید.

  • در این قسمت، اخطارهای مربوط به Mixed Content با پیامی شبیه به این نمایش داده می‌شوند: Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure image 'http://...'

  • آدرس HTTP نمایش داده شده در پیام خطا، منبع مشکل‌ساز است.

۲. استفاده از افزونه‌های وردپرس (توصیه شده)

ساده‌ترین راه برای رفع سریع مشکل Mixed Content در وردپرس، استفاده از افزونه است:

  • وارد پیشخوان وردپرس شوید.

  • افزونه Really Simple SSL را نصب و فعال کنید. این افزونه به صورت خودکار با بازنویسی آدرس‌های HTTP در زمان بارگذاری صفحه، مشکل Mixed Content را حل می‌کند.

۳. اصلاح دستی آدرس‌ها در دیتابیس

اگر نمی‌خواهید از افزونه استفاده کنید، باید آدرس‌های HTTP موجود در دیتابیس را به HTTPS تغییر دهید.

  1. وارد cPanel و سپس phpMyAdmin شوید.

  2. دیتابیس سایت خود را انتخاب کنید.

  3. از طریق تب SQL، دستور زیر را برای جایگزینی سراسری آدرس‌ها اجرا کنید. (حتماً yourdomain.com را با دامنه خود جایگزین کنید):

SQL
 
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');

بخش سوم: بررسی فایل‌های پیکربندی و کش

گاهی اوقات خطای Mixed Content به دلیل کش شدن محتوای قدیمی و ناامن یا تنظیمات نادرست در فایل‌های موقت است.

۱. پاکسازی کش در وردپرس و سرور

  • وردپرس: اگر از افزونه‌های کش (مانند LiteSpeed Cache یا WP Rocket) استفاده می‌کنید، حتماً تمام سطوح کش (Object Cache, Browser Cache, Server Cache) را پاکسازی (Purge All Cache) کنید.

  • مرورگر: کش مرورگر خود را پاک کنید یا از حالت Incognito/Private Browsing برای بررسی سایت استفاده کنید.

۲. بررسی فایل‌های .htaccess و wp-config.php

  • وارد File Manager در cPanel شوید.

  • فایل .htaccess را بررسی کنید. مطمئن شوید هیچ دستور ریدایرکتی (Redirect) که به زور آدرس‌ها را به HTTP هدایت کند، وجود نداشته باشد.

  • فایل wp-config.php را بررسی کنید تا مطمئن شوید تنظیمات آدرس سایت به صورت دستی به HTTP تنظیم نشده باشند.

  • 0 کاربر این را مفید یافتند
آیا این پاسخ به شما کمک کرد؟

مقالات مربوطه

تفاوت DNS، Nameserver و IP و چگونگی تنظیم Nameserver دامنه

آدرس‌دهی در اینترنت چگونه کار می‌کند؟ اینترنت بر پایه آدرس‌های عددی (IP) کار می‌کند، اما ما برای...

راهنمای جامع رفع مشکل عدم ارسال یا دریافت ایمیل (بررسی SPF, DKIM, DMARC)

چرا ایمیل‌های من به Inbox نمی‌روند یا اصلاً ارسال/دریافت نمی‌شوند؟ برای اطمینان از اعتبار دامنه...

آموزش کامل آپلود فایل‌ها روی هاست با File Manager یا نرم‌افزار FTP

چطور فایل‌های وب‌سایت خود را به سرور منتقل کنیم؟ برای نمایش وب‌سایت شما، فایل‌های آن باید به...

نحوه ورود به cPanel و معرفی بخش‌های اصلی

cPanel چیست و چرا به آن نیاز دارم؟ cPanel (سی‌پنل) محبوب‌ترین کنترل پنل مدیریتی برای سرویس‌های...

آموزش ساخت اکانت ایمیل در cPanel و تنظیم آن روی Outlook/Gmail/Mobile

چرا به ایمیل‌های حرفه‌ای نیاز داریم؟ ایجاد ایمیل با دامنه شخصی (مانند info@yourdomain.com) نه...