گواهی SSL امروز دیگر یک گزینه نیست، یک ضرورت است. اگر HTTPS روی سایت وردپرسی شما فعال باشد و مشکل دیده شود، مرورگرها پیغام «این سایت امن نیست» را نشان میدهند و بازدیدکنندگان سریعاً ترکتان میکنند. گوگل هم سایتهای بدون HTTPS امن را در رتبهبندی پایینتر قرار میدهد. در این راهنمای جامع، تمام مشکلات رایج SSL در وردپرس و راهحل دقیق هر کدام را بررسی میکنیم.
SSL و HTTPS — مروری سریع
SSL (یا نسل جدیدتر آن TLS) پروتکلی است که ارتباط بین مرورگر و سرور را رمزنگاری میکند. وقتی گواهی SSL معتبر روی سایت شما نصب است، آدرس سایت با https:// شروع میشود و قفل سبزی کنار آن ظاهر میشود.
مشکلات SSL معمولاً پس از نصب گواهی یا در زمان مهاجرت از HTTP به HTTPS رخ میدهند و میتوانند باعث شوند سایت کار نکند یا خطاهای هشدار نمایش دهد.
۱. خطای Mixed Content — رایجترین مشکل
این خطا زمانی رخ میدهد که صفحه HTTPS حاوی منابع HTTP (تصویر، اسکریپت، CSS) است. مرورگر این را امنیتی میداند و هشدار میدهد.
علائم:
- قفل سبز به علامت تعجب یا هشدار تبدیل میشود
- در Console مرورگر خطای «Mixed Content» نمایش داده میشود
- برخی تصاویر یا اسکریپتها بارگذاری نمیشوند
راهحل:
- افزونه Really Simple SSL یا SSL Insecure Content Fixer را نصب کنید
- این افزونهها تمام لینکهای
http://را بهhttps://تبدیل میکنند - برای حل دائمی، از Better Search Replace استفاده کنید و در دیتابیس
http://yoursite.comرا بهhttps://yoursite.comتغییر دهید - تنظیمات WordPress Address و Site URL را از تنظیمات → عمومی بررسی کنید و هر دو باید با
https://شروع شوند
۲. خطای NET::ERR_CERT_COMMON_NAME_INVALID
این خطا نشان میدهد که گواهی SSL با نام دامنهای که کاربر در حال بازدید است مطابقت ندارد.
علل:
- گواهی برای
www.site.comصادر شده اما کاربرsite.comرا باز میکند - گواهی برای دامنه دیگری صادر شده و اشتباهاً روی این دامنه نصب شده
- سابدامنهای که گواهی Wildcard ندارد
راهحل:
- گواهی را طوری دوباره صادر کنید که هم
site.comو همwww.site.comرا پوشش دهد - برای سابدامنههای متعدد، از گواهی Wildcard استفاده کنید
- Redirect 301 از www به بدونwww یا برعکس تنظیم کنید
۳. خطای گواهی منقضیشده (Certificate Expired)
بسیاری از گواهیهای SSL — بهخصوص Let’s Encrypt — هر ۹۰ روز باید تمدید شوند. اگر تمدید خودکار فعال نباشد، گواهی منقضی میشود.
راهحل:
- وارد کنترلپنل هاست شوید (cPanel، DirectAdmin)
- از بخش SSL/TLS گواهی را بررسی کنید
- اگر منقضی شده، روی «Renew» کلیک کنید یا گواهی جدید صادر کنید
- Auto Renewal را فعال کنید تا در آینده دوباره این اتفاق نیفتد
۴. خطای Too Many Redirects
این خطا زمانی رخ میدهد که سایت در یک حلقه بیپایان ریدایرکت میافتد — معمولاً بین HTTP و HTTPS.
علل رایج:
- تنظیم همزمان ریدایرکت HTTPS در
.htaccessو افزونه SSL - تنظیمات غلط در Cloudflare (حالت Flexible SSL)
- تنظیم WordPress Address و Site URL با پروتکلهای متفاوت
راهحل:
- اگر از Cloudflare استفاده میکنید، حالت SSL را از «Flexible» به «Full» یا «Full (Strict)» تغییر دهید
- یک بار قوانین ریدایرکت را از
.htaccessحذف کنید و از افزونه Really Simple SSL استفاده کنید - یا برعکس، افزونه را غیرفعال کنید و فقط قوانین
.htaccessرا نگه دارید - کش سایت و مرورگر را پاک کنید
۵. خطای SSL_ERROR_RX_RECORD_TOO_LONG
این خطا معمولاً یعنی سرور روی پورت اشتباه (۸۰ به جای ۴۴۳) به HTTPS پاسخ میدهد. اغلب یک مشکل پیکربندی سرور است و از کاربر خارج.
راهحل:
- با پشتیبانی هاست تماس بگیرید تا پیکربندی پورت ۴۴۳ را بررسی کند
- اطمینان حاصل کنید که گواهی روی همان IP درست نصب شده
- در LiteSpeed یا Apache، فایل کانفیگ SSL را بازبینی کنید
۶. خطای NET::ERR_CERT_AUTHORITY_INVALID
مرورگر گواهی را نمیشناسد یا به آن اعتماد ندارد.
علل:
- گواهی خودامضا (Self-Signed) که توسط CA معتبر تایید نشده
- زنجیره گواهی (Certificate Chain) ناقص است
- گواهی از یک CA ناشناخته صادر شده
راهحل:
- همیشه از گواهیهای معتبر مثل Let’s Encrypt، Sectigo یا DigiCert استفاده کنید
- فایل CA Bundle یا Intermediate Certificate را هنگام نصب در کنار گواهی اصلی قرار دهید
- با SSL Checker مثل
ssllabs.com/ssltestزنجیره گواهی را بررسی کنید
۷. سایت در پنل مدیریت بدون قفل سبز
گاهی صفحههای اصلی سایت HTTPS دارند اما /wp-admin/ یا قسمت پنل هنوز روی HTTP است.
راهحل: این خط را به wp-config.php قبل از خط /* That's all */ اضافه کنید:
define('FORCE_SSL_ADMIN', true);
۸. افزونهها و قالب HTTPS را نمیشناسند
گاهی افزونه یا قالب به جای خواندن پروتکل پویا، URL هاردکد شده با http:// دارد.
راهحل:
- در کد افزونه/قالب، URL هاردکد را با
get_site_url()یاhome_url()جایگزین کنید - اگر نمیخواهید کد را تغییر دهید، افزونه Really Simple SSL معمولاً این را هم حل میکند
- مدیاهایی که با URL قدیم در متن پستها هستند را با Better Search Replace تغییر دهید
چکلیست نهایی پس از فعالسازی SSL
- تمام صفحات با HTTPS باز میشوند و قفل سبز دارند
- تنظیمات → عمومی هر دو URL با
https://شروع میشوند - ریدایرکت ۳۰۱ از HTTP به HTTPS تنظیم شده
- Google Search Console نسخه HTTPS را هم ثبت کرده
- تگ Canonical در همه صفحات HTTPS است
- Sitemap لینکهای HTTPS دارد
- Sitemap ارسالشده به گوگل بروز است
- Hreflang و Schema لینکهای HTTPS دارند
- فایل robots.txt لینک HTTPS به Sitemap دارد
- تست در SSL Labs امتیاز A یا بالاتر میگیرد
SSL رایگان یا پولی — کدام بهتر است؟
Let’s Encrypt یک CA رایگان، معتبر و مورد پذیرش تمام مرورگرهاست. برای اکثر سایتهای شخصی و شرکتی کافی است و تفاوت عملی با گواهی پولی ندارد.
گواهی پولی (OV یا EV) برای سایتهای بانکی، فروشگاههای بزرگ و مواردی که به اعتبار تجاری و بیمه نیاز دارند مناسب است. این گواهیها اطلاعات شرکت را تایید میکنند و در بعضی مرورگرها نام شرکت را کنار قفل سبز نشان میدهند.
🔒 SSL رایگان روی هاست وردپرس میهن هاستینگ
تمام پلنهای ما شامل SSL رایگان Let’s Encrypt با تمدید خودکار هستند.
پرسشهای متداول
بعد از فعالسازی SSL، رتبه سئو سایتم افت میکند؟
اگر درست انجام دهید و ریدایرکت ۳۰۱ تنظیم کنید، معمولاً رتبهها حفظ میشوند و حتی بهدلیل امنیت بهتر، گوگل سایت شما را اعتمادیتر میبیند.
آیا میتوانم SSL را بدون افزونه فعال کنم؟
بله. فعالسازی در کنترلپنل هاست + ویرایش wp-config.php و .htaccess + Better Search Replace. اما برای کاربران غیرفنی، افزونه Really Simple SSL سادهتر است.
چرا قفل سبز میبینم اما هنوز میگوید ناامن است؟
به احتمال زیاد Mixed Content دارید. F12 بزنید و در تب Console خطاها را بررسی کنید تا منبع HTTP را شناسایی کنید.
چند بار در سال باید SSL را تمدید کنم؟
Let’s Encrypt هر ۹۰ روز یک بار، اما معمولاً تمدید بهطور خودکار انجام میشود. گواهیهای پولی معمولاً ۱ تا ۲ سالهاند.
مقالات مرتبط
- 📖 آموزش انتقال سایت وردپرس — راهنمای مهاجرت بدون قطعی
- 📖 Core Web Vitals در وردپرس — SSL و سئو و سرعت
- 📖 بهترین افزونههای وردپرس — افزونههای امنیتی و SSL
