اگر SSL فعال است ولی مرورگر قفل را نشان نمیدهد یا «Not Secure» مینویسد، تقریباً همیشه علت «محتوای ترکیبی» است: خود صفحه با https باز شده، اما یک تصویر، فونت یا اسکریپت داخل آن هنوز با آدرس http صدا زده میشود. گواهی سالم است؛ آدرسهای قدیمی داخل سایت باید اصلاح شوند.
اول تشخیص دهید کدام حالت است
| چیزی که میبینید | علت |
|---|---|
| صفحهی قرمز «Your connection is not private» | گواهی نصب یا معتبر نیست |
| سایت با https باز میشود ولی قفل نیست یا علامت هشدار دارد | محتوای ترکیبی |
| سایت هنوز با http باز میشود | ریدایرکت به https تنظیم نشده |
برای حالت اول، وضعیت گواهی را در سیپنل ببینید: فعالسازی SSL.
پیدا کردن محتوای ترکیبی
در مرورگر، F12 را بزنید و زبانهی Console را باز کنید. خطهایی با عبارت Mixed Content آدرس دقیق فایل مشکلدار را نشان میدهند. از روی آدرس میفهمید مقصر کجاست: تصویر داخل نوشته، فایل قالب، یا یک افزونه.
رفع در وردپرس، به ترتیب
۱. آدرس سایت
در «تنظیمات ← عمومی»، هر دو فیلد نشانی وردپرس و نشانی سایت باید با https:// شروع شوند.

۲. آدرسهای قدیمی در دیتابیس
تصاویری که قبل از فعال شدن SSL در نوشتهها گذاشتهاید با http ذخیره شدهاند. با یک افزونهی «جستجو و جایگزینی» همهی http://دامنهشما را به https://دامنهشما تبدیل کنید. قبلش از دیتابیس بکاپ بگیرید و جایگزینی را مستقیم در phpMyAdmin انجام ندهید؛ دادههای سریالشدهی وردپرس خراب میشوند.
۳. آدرسهای ثابت در قالب و ابزارکها
لوگو، تصویر پسزمینه و کدهایی که دستی در تنظیمات قالب یا ابزارکها گذاشتهاید را بررسی کنید.
۴. منابع بیرونی
اگر اسکریپت یا فونتی از سایت دیگری با http بارگذاری میشود، آدرسش را https کنید؛ اگر آن سایت https ندارد، حذفش کنید.
۵. کش را خالی کنید
کش افزونهی کش و مرورگر، نسخهی قدیمی صفحه را نگه میدارند.
ریدایرکت http به https
برای اینکه همهی بازدیدکنندهها به نسخهی امن بروند، ریدایرکت ۳۰۱ بگذارید. در سیپنل، بخش Domains گزینهی Force HTTPS Redirect را دارد؛ یا در htaccess.:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]

یک راه موقت
افزودن این سربرگ به htaccess. به مرورگر میگوید درخواستهای http را خودش https کند. مشکل را پنهان میکند، ولی تا وقتی آدرسها را درست میکنید مفید است:
Header always set Content-Security-Policy "upgrade-insecure-requests"
سوالهای رایج
محتوای ترکیبی به سئو آسیب میزند؟
هشدار مرورگر اعتماد بازدیدکننده را کم میکند و مرورگرها بعضی از این فایلها را اصلاً بارگذاری نمیکنند؛ یعنی بخشی از صفحه خراب دیده میشود.
بعد از https شدن، ریدایرکت بیپایان میگیرم.
دو قانون ریدایرکت با هم تداخل دارند (مثلاً افزونه و htaccess.). یکی را بردارید.
SSL چیست و چرا لازم است؟
بیشتر بخوانید: خطای Too many redirects بعد از فعال کردن SSL.