آموزش فعالسازی گواهی SSL رایگان (HTTPS) در وردپرس

SSL و HTTPS دقیقاً چه هستند؟
قبل از شروع آموزش، اجازه دهید به سرعت مفاهیم پایه را مرور کنیم.
به گفته Moz (یکی از مراجع پیشرو در سئو): «SSL (Secure Sockets Layer) یک فناوری امنیتی استاندارد برای ایجاد یک پیوند رمزگذاری شده بین یک سرور (وبسایت) و یک کلاینت (مرورگر) است.»
به زبان سادهتر، وقتی کاربری اطلاعاتی را در سایت شما وارد میکند (مانند فرم تماس، نام کاربری و رمز عبور، یا اطلاعات کارت بانکی)، SSL آن اطلاعات را رمزگذاری میکند. این کار باعث میشود که اگر شخصی (مانند یک هکر) در میانه راه، این اطلاعات را شنود کند، نتواند چیزی جز دادههای درهمریخته و غیرقابل خواندن ببیند. HTTPS صرفاً همان پروتکل HTTP است که توسط SSL امن شده است.
چرا باید از SSL رایگان Let’s Encrypt استفاده کنیم؟
شاید بپرسید چرا یک گواهی امنیتی باید رایگان باشد؟
بر اساس وبسایت رسمی Let’s Encrypt: «Let’s Encrypt یک مرجع صدور گواهی (CA) رایگان، خودکار و باز است که برای منافع عمومی اجرا میشود. این سرویس توسط گروه تحقیقاتی امنیت اینترنت (ISRG) ارائه شده است.»
هدف این پروژه، فراگیر کردن اینترنت امن برای همگان است. این گواهیها از نظر فنی تفاوتی با گواهیهای پولی ندارند و توسط تمام مرورگرهای اصلی پشتیبانی میشوند.
راهنمای گامبهگام فعالسازی SSL در وردپرس
فرآیند انتقال سایت از HTTP به HTTPS شامل دو مرحله اصلی است: ابتدا دریافت و نصب گواهی بر روی هاست، و سپس پیکربندی وردپرس برای استفاده از آن.
گام اول: دریافت و نصب گواهی SSL (از طریق هاست)
سادهترین راه برای دریافت SSL رایگان، استفاده از پنل مدیریت هاست شما (مانند cPanel یا DirectAdmin) میباشد.
- وارد پنل مدیریت هاست خود شوید.
- به دنبال بخشی به نام “SSL/TLS Status” یا “Let’s Encrypt SSL” بگردید.
- در این بخش، لیستی از دامنههای خود را خواهید دید. دامنه (یا دامنههایی) که میخواهید برای آنها SSL فعال شود را انتخاب کنید.
- بر روی دکمه “Run AutoSSL” یا “Issue” (صدور) کلیک کنید.
- هاست شما به صورت خودکار با سرورهای Let’s Encrypt ارتباط برقرار کرده، دامنه شما را تأیید میکند و گواهی را نصب مینماید. این فرآیند ممکن است از چند ثانیه تا چند دقیقه طول بکشد.
پس از اتمام، باید پیامی مبنی بر موفقیتآمیز بودن نصب گواهی مشاهده کنید.
نکته مهم: امروزه تقریباً تمامی شرکتهای هاستینگ معتبر، گواهی SSL رایگان Let’s Encrypt را به صورت پیشفرض و خودکار بر روی سرویسهای خود ارائه میدهند و شاید حتی نیازی به انجام این مرحله نیز نداشته باشید.
گام دوم: پیکربندی تنظیمات وردپرس
حالا که گواهی بر روی سرور شما نصب شده است، باید به وردپرس بگویید که از این پس از آدرس امن (https://) استفاده کند.
- وارد پیشخوان وردپرس خود شوید.
- به بخش تنظیمات > عمومی بروید.
- در این صفحه، دو فیلد کلیدی وجود دارد:
- نشانی وردپرس (URL)
- نشانی سایت (URL)
- شما باید پیشوند هر دو آدرس را از http:// به https:// تغییر دهید. (مثلاً: http://yourdomain.com به https://yourdomain.com). [اسکرینشات دقیق از بخش تنظیمات عمومی وردپرس، که دو فیلد نشانی وردپرس و نشانی سایت با پیشوند https:// هایلایت شدهاند.]
- تغییرات را ذخیره کنید. پس از ذخیره، وردپرس به صورت خودکار شما را از پیشخوان خارج میکند و شما باید دوباره با آدرس https:// وارد شوید.
گام سوم (حیاتی): رفع خطای محتوای ترکیبی (Mixed Content)
این مرحلهای است که بسیاری از افراد آن را نادیده میگیرند و دچار مشکل میشوند.
خطای محتوای ترکیبی چیست؟ این خطا زمانی رخ میدهد که صفحه شما با https:// بارگذاری میشود، اما برخی از منابع آن (مانند تصاویر، فایلهای CSS یا جاوا اسکریپت) همچنان با آدرس قدیمی http:// فراخوانی میشوند. در این حالت، مرورگر هشدار میدهد که صفحه “کاملاً امن نیست” و ممکن است نماد قفل را نمایش ندهد.
سادهترین راه برای رفع این مشکل در وردپرس، استفاده از یک افزونه کمکی است.
- از پیشخوان وردپرس به بخش افزونهها > افزودن بروید.
- افزونه “Really Simple SSL” را جستجو، نصب و فعال کنید.
- [اسکرینشات از مخزن افزونههای وردپرس که افزونه Really Simple SSL را با دکمه “نصب” و “فعالسازی” نشان میدهد.]
- پس از فعالسازی، این افزونه معمولاً با یک کلیک، تمام تنظیمات لازم را انجام میدهد. این افزونه به صورت خودکار آدرسهای داخلی سایت شما را به نسخه https:// هدایت میکند و اکثر مشکلات محتوای ترکیبی را برطرف میسازد.
گام چهارم: اجباری کردن HTTPS (ریدایرکت ۳۰۱)
آخرین مرحله این است که مطمئن شوید تمام بازدیدکنندگان (و رباتهای گوگل)، حتی اگر آدرس http:// را تایپ کردند، به صورت خودکار به نسخه امن https:// هدایت شوند.
شما میتوانید با استفاده از کد زیر در فایل .htaccess سایت وردپرسی خود (که در ریشه اصلی هاست قرار دارد)، این کار را انجام دهید.
<IfModule mod_rewrite.c>
RewriteEngine On
# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
توجه: قبل از ویرایش فایل .htaccess، حتماً یک نسخه پشتیبان از آن تهیه کنید. افزونه “Really Simple SSL” که در گام قبل معرفی شد نیز معمولاً این ریدایرکت را به صورت خودکار انجام میدهد.
پس از انجام این چهار گام، سایت وردپرسی شما اکنون باید به طور کامل بر روی HTTPS فعال باشد و نماد قفل امن را در مرورگر نمایش دهد.
جمع بندی
انتقال به HTTPS دیگر یک گزینه انتخابی نیست، بلکه یک ضرورت امنیتی و تجاری است. با استفاده از گواهیهای رایگان Let’s Encrypt و ابزارهای موجود در وردپرس، شما میتوانید در عرض چند دقیقه امنیت، اعتماد کاربران و حتی رتبه سئوی سایت خود را بهبود بخشید. این فرآیند شامل نصب گواهی از طریق هاست، تنظیم آدرسهای وردپرس، و مهمتر از همه، رفع خطاهای محتوای ترکیبی بود.
سوالات متداول
چرا پس از نصب SSL، نماد قفل را نمیبینم یا خطای “Not Secure” میگیرم؟
این مشکل ۹۹٪ مواقع به دلیل “محتوای ترکیبی” (Mixed Content) است که در گام سوم توضیح داده شد. یعنی صفحه شما https:// است اما یک عکس یا فایل اسکریپت با آدرس http:// در آن بارگذاری شده است. استفاده از افزونه Really Simple SSL یا بررسی دستی کدهای قالب میتواند این مشکل را حل کند.
تفاوت گواهی SSL رایگان (Let’s Encrypt) و پولی چیست؟
از نظر سطح رمزگذاری، هیچ تفاوتی وجود ندارد. هر دو به یک اندازه امن هستند. تفاوت اصلی در میزان اعتبار (Validation) و خدمات پشتیبانی است. گواهیهای پولی (مانند EV یا OV) هویت کسبوکار شما را نیز تأیید میکنند (که باعث سبز شدن نام شرکت در نوار آدرس برخی مرورگرها میشد) و معمولاً شامل پشتیبانی فنی و گارانتی مالی هستند. برای اکثر وبسایتها، وبلاگها و فروشگاههای کوچک، SSL رایگان کاملاً کافی است.
آیا SSL بر سرعت سایت من تأثیر منفی میگذارد؟
در گذشته، فرآیند رمزگذاری و رمزگشایی (Handshake) SSL میتوانست باعث تأخیر بسیار جزئی (چند میلیثانیه) شود. اما امروزه با وجود پروتکلهای مدرنتری مانند HTTP/2 (که برای اجرا به SSL نیاز دارد)، انتقال به HTTPS در عمل میتواند منجر به افزایش سرعت بارگذاری سایت شما شود.


