
در این آموزش، به شما نشان خواهیم داد که چگونه SSL وردپرس خود را فعال کنید تا بتوانید با استفاده از گواهی SSL به طور ایمن به وبسایت خود متصل شوید. گواهی SSL تنها یکی از راههای محافظت از وبسایت وردپرس شماست. معمولا میزبان هاست شما چنین خدماتی را ارائه میدهد و روی هاست شما نصب میکند. در واقع گواهینامه SSL امنیت خوبی را برای حساب کاربران فراهم میکند. اگر هنوز این گواهینامه را فعال نکردید، به دنبال فعال سازی SSL در وردپرس در همین مقاله باشید.
تبدیل HTTP به HTTPS در وردپرس
در حال حاضر، اکثر سایتهای وب از HTTPS استفاده میکنند. طبق گزارش شفافیت گوگل، حدود ۹۵٪ سایتها از HTTPS استفاده میکنند. با این حال، هنوز نیاز به انتقال سایتها از HTTP به HTTPS وجود دارد. حداقل سه مورد استفاده وجود دارد:
- انتقال از محلی: ممکن است از HTTP برای ساخت یک سایت جدید محلی استفاده کنید و هنگام راهاندازی آن نیاز به تغییر به HTTPS داشته باشید.
- بدون SSL: اگر ارائهدهنده هاست شما سایتهای مرحلهبندی را ارائه میدهد اما گواهی SSL ارائه نمیدهد، هنگام انتقال سایت به مرحله تولید، باید به HTTPS تبدیل شوید.
- سایتهای دارای HTTP: این اتفاق این روزها بسیار نادر است، اما گاهی اوقات رخ میدهد. ما فرآیند انجام این کار را در زیر ارائه خواهیم داد، اما شما همچنین باید Google Analytics، کنسول جستجوی گوگل، URL CDN خود و هر لینکی را که کنترل میکنید، مانند رسانههای اجتماعی، بهروزرسانی کنید.
دریافت گواهی SSL تنها بخشی از نبرد است. چند ترفند دیگر وجود دارد که برای اجرای صحیح سایت وردپرس خود بر روی HTTPS پس از نصب گواهی نیاز دارید:
- آزمایش سایت بر روی HTTPS برای اطمینان از نصب صحیح گواهی
- بهروزرسانی URLها در پایگاه داده
- رفع هرگونه هشدار محتوای ترکیبی
- افزودن ریدایرکت از URLهای HTTP به نسخههای HTTPS URLها
چرا به گواهینامههای SSL نیاز دارید؟
گواهینامههای SSL معتبر، رمزگذاری دادههای منتقل شده بین دو سیستم را تضمین میکنند. در اینجا نحوهی انجام این فرآیند آمده است:
- یک مرورگر یا سرور سعی میکند به یک وب سرور متصل شود و از سرور درخواست میکند که خود را معرفی کند.
- وب سرور یک کپی از گواهینامه SSL خود را ارسال میکند.
- مرورگر (یا سرور) تعیین میکند که آیا گواهینامه توسط یک مرجع صدور گواهینامهی شناخته شده امضا شده است یا خیر.
به طور خلاصه، گواهینامههای SSL هویت سایت شما را تأیید میکنند و اتصال امن را امکانپذیر میسازند. در برخی موارد، مانند زمانی که برای توسعه محلی به SSL نیاز دارید، میتوان گواهینامهها را خود امضا کرد. اغلب، از SSL ارائه شده توسط میزبان خود استفاده خواهید کرد.
SSL مخفف Secure Sockets Layer است. به طرز عجیبی، آنچه ما امروزه SSL مینامیم در واقع یک پروتکل اصلاح شده است: امنیت لایهی انتقال (TLS).
حتما بخوانید: فرق بين http و https چیست؟
نصب SSL روی سایت
حال نوبت به آن رسیده تا نحوه نصب SSL روی وبسایت و فعال سازی SSL در وردپرس را بیاموزیم. این مسئله را به روشهای زیر مورد بررسی قرار میدهیم تا شما به هر راهی که راحتتر هستید و دسترسی دارید، انجامش دهید.
فعال کردن ssl وردپرس با ویرایش فایل htaccess.
بهترین شیوهها موضوع مهمی در فایل htaccess برای توسعه وب است. HTTPS برای ایمنسازی ارتباط بین وبسایت و کاربران ضروری است. فایل htaccess میتواند برای اعمال HTTPS در یک سایت وردپرس استفاده شود. برای انجام این کار، باید کد زیر را به فایل htaccess خود اضافه کنید:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
این کد تمام ترافیک را از http به https هدایت میکند. علاوه بر این، میتوانید HSTS (HTTP Strict Transport Security) را نیز برای اعمال HTTPS در تمام زیر دامنهها تنظیم کنید. کد زیر را مشاهده میکنید:
Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains”
برای اجرای بهترین شیوهها برای ایمنسازی سایت وردپرس خود با HTTPS با استفاده از فایل htaccess، باید مرتباً گواهی SSL خود را بهروزرسانی کنید، از رمزگذاری قوی استفاده کنید و ممیزیهای امنیتی منظمی انجام دهید.
استفاده از htaccess در وردپرس برای ریدایرکت HTTP را به HTTPS
برای ریدایرکت HTTP به HTTPS در وردپرس با استفاده از htaccess، باید خطوط کد زیر را در فایل htaccess خود اضافه کنید:
“` RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] “`
این خطوط کد، موتور mod_rewrite را روشن میکنند و بررسی میکنند که آیا HTTPS خاموش است یا خیر. اگر خاموش باشد، کاربر را با استفاده از ریدایرکت 301 به نسخه امن HTTPS سایت هدایت میکند. پس از افزودن این خطوط کد، فایل htaccess را ذخیره کرده و آن را در سرور خود آپلود کنید. این کار تضمین میکند که تمام ترافیک سایت وردپرس شما به نسخه امن HTTPS سایت شما هدایت میشود. توجه به این نکته مهم است که قبل از ایجاد هرگونه تغییر در فایل htaccess، همیشه باید یک نسخه پشتیبان از آن تهیه کنید تا در صورت بروز هرگونه مشکل، بتوانید از آن استفاده کنید.
نصب SSL در وردپرس با افزونه
از یک افزونه SSL اختصاصی مانند Really Simple SSL برای نصب گواهینامههای شخص ثالث رایگان از Let’s Encrypt در سایت وردپرس خود استفاده کنید. این امر به ویژه در صورتی مفید است که میزبان وب شما گواهینامه SSL ارائه نمیدهد.
مرحله 1: افزونه Really Simple SSL را از بخش افزونههای وردپرس نصب و فعال کنید.
مرحله 2: داشبورد Really Simple SSL را با رفتن به تنظیمات و سپس SSL باز کنید.
مرحله ۳: روی نصب گواهی SSL کلیک کنید.
این کار پنجره وضعیت سیستم را نمایش میدهد که بررسی میکند آیا وبسایت شما حداقل شرایط لازم برای نصب گواهی را دارد یا خیر. در صورت عدم وجود مشکل، روی ذخیره کلیک کنید و ادامه دهید.
مرحله ۴: جزئیات سایت را در ویزارد دامنه وارد کنید.
بیشتر اطلاعات این بخش بر اساس بررسی وضعیت سیستم از مرحله قبل، از قبل پر شدهاند. پس از انجام، روی ذخیره و ادامه کلیک کنید.
مرحله ۵: آدرس اینترنتی میزبان وب و اطلاعات کاربری ادمین خود را در بخش هاستینگ وارد کنید.
برای ادامه روی ذخیره کلیک کنید.
مرحله ۶: نتایج را در پنجره پاپآپ Directories تأیید کنید.
در اینجا، Really Simple SSL اعتبارنامههای شما را برای تأیید بررسی میکند. در صورت عدم وجود مشکل، روی ذخیره کلیک کنید و ادامه دهید.
مرحله ۷: با کلیک روی ذخیره و ادامه در پنجره بازشو Generation، یک گواهی SSL نصب کنید.
اکنون Really Simple SSL باید یک گواهی SSL را از Let’s Encrypt روی سایت وردپرس شما تنظیم کند. ممکن است از سایت خود خارج شده باشید، بنابراین اطلاعات کاربری خود را در دسترس داشته باشید.
حتما بخوانید: تفاوت ssl رایگان با ssl پولی چیست؟
فعال سازی SSL در وردپرس بدون افزونه
برای فعال سازی SSL در وردپرس بدون افزونه، باید پیکربندی وردپرس خود را برای استفاده از HTTPS بهروزرسانی کنید و احتمالاً ترافیک HTTP را به HTTPS هدایت کنید. در اینجا یک راهنمای گام به گام آورده شده است:
۱. مطمئن شوید که ارائهدهندهی هاست شما گواهی SSL دارد:
بسیاری از ارائهدهندگان هاست، گواهی SSL رایگان را از طریق سرویسهایی مانند Let’s Encrypt ارائه میدهند. برای بررسی اینکه آیا این گواهی را ارائه میدهند یا خیر، با ارائهدهندهی هاست خود مشورت کنید. در غیر این صورت، ممکن است لازم باشد گواهی SSL را جداگانه خریداری کنید.
وارد پنل کنترل هاست خود شوید و به بخش امنیت بروید. به دنبال SSL یا Let’s Encrypt بگردید و گواهی را برای وبسایت خود فعال کنید.
۲. بهروزرسانی تنظیمات وردپرس:
وارد داشبورد وردپرس خود شوید. به تنظیمات > عمومی بروید.
در فیلدهای آدرس وردپرس (URL) و آدرس سایت (URL)، آدرسها را از http:// به https:// تغییر دهید.
روی ذخیره تغییرات کلیک کنید.
۳. ریدایرکت HTTP به HTTPS:
کد زیر را به فایل htaccess خود اضافه کنید (این ممکن است بسته به تنظیمات هاست شما متفاوت باشد):
RewriteEngine OnRewriteBase /RewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
همچنین میتوانید از ابزارهای کنترل پنل هاست خود برای فعال کردن ریدایرکت از HTTP به HTTPS استفاده کنید.
۴. بهروزرسانی لینکها در محتوا:
اگر قبلاً محتوایی با لینکهای HTTP داشتید، ممکن است لازم باشد آنها را در محتوای خود به HTTPS بهروزرسانی کنید. میتوانید این کار را با استفاده از یک کوئری SQL در phpMyAdmin انجام دهید.
تست فعال بودن صحیح SSL روی سایت
برای بررسی اینکه آیا SSL به درستی در یک وبسایت فعال شده است، URL را در نوار آدرس مرورگر خود بررسی کنید و به جای “http://” به دنبال “https://” باشید. همچنین، یک نماد قفل در کنار URL نشان دهنده اتصال امن است که نشاندهنده فعال بودن https است. در اینجا توضیح دقیقتری ارائه شده است:
- URL را بررسی کنید: وبسایتی که از SSL استفاده میکند، URL آن با “https://” شروع میشود. “s” مخفف secure است و نشان میدهد که وبسایت از یک گواهی SSL معتبر استفاده میکند.
- به دنبال نماد قفل باشید: اکثر مرورگرهای وب وقتی وبسایتی از SSL استفاده میکند، یک نماد قفل را در نزدیکی نوار آدرس نمایش میدهند. این نماد همچنین تأیید میکند که اتصال امن و رمزگذاری شده است.
- HTTPS استاندارد است: استفاده از HTTPS تضمین میکند که تمام دادههای منتقل شده بین مرورگر شما و وبسایت رمزگذاری شده و از اطلاعات حساس مانند رمزهای عبور و جزئیات کارت اعتباری محافظت میشود.
- گواهینامههای SSL/TLS: وبسایتها از گواهیهای SSL (یا جانشین آن، TLS) برای ایجاد ارتباط ایمن با کاربران استفاده میکنند. این گواهیها توسط مراجع صدور گواهی معتبر (CA) صادر میشوند و هویت وبسایت را تأیید میکنند.
راهاندازی SSL و HTTPS وردپرس در صفحات اختصاصی
برای تنظیم SSL و HTTPS در صفحات اختصاصی وردپرس، باید مطمئن شوید که کل سایت شما از HTTPS استفاده میکند، سپس صفحات را طوری پیکربندی کنید که در صورت دسترسی از طریق HTTP، به نسخه امن هدایت شوند. این شامل دریافت و نصب گواهی SSL، بهروزرسانی تنظیمات وردپرس و احتمالاً استفاده از افزونهای برای اجرای HTTPS میشود. در ادامه جزئیات بیشتری ارائه شده است:
1. دریافت و نصب گواهی SSL
گزینههای رایگان: بسیاری از میزبانهای وب، گواهیهای SSL رایگان، مانند گواهیهای Let’s Encrypt، ارائه میدهند، یا میتوانید گواهیهای Let’s Encrypt را از طریق کنترل پنل میزبانی خود نصب کنید.
گواهیهای ویژه: شما میتوانید گواهیهای SSL را از مراجع صدور گواهی (CA) معتبر مانند DigiCert، RapidSSL یا GeoTrust خریداری کنید.
نصب: دستورالعملهای میزبان خود را برای نصب گواهی دنبال کنید. این اغلب شامل آپلود گواهی و کلید خصوصی در کنترل پنل میزبانی شما میشود.
2. پیکربندی وردپرس برای استفاده از HTTPS
بهروزرسانی آدرس وردپرس (URL): در داشبورد وردپرس، به تنظیمات > عمومی بروید. هر دو “آدرس وردپرس (URL)” و “آدرس سایت (URL)” را برای استفاده از HTTPS تغییر دهید (مثلاً https://yourdomain.com).
افزونه برای تغییر مسیر HTTPS: استفاده از افزونهای مانند Really Simple SSL یا WP Encryption را برای مدیریت خودکار تغییر مسیرها از HTTP به HTTPS در نظر بگیرید.
۳. اعمال HTTPS در سایت شما
افزونهها: افزونههایی مانند Really Simple SSL به طور خودکار ریدایرکتها را مدیریت میکنند و تضمین میکنند که همه صفحات از طریق HTTPS ارائه میشوند.
پیکربندی دستی .htaccess: همچنین میتوانید فایل .htaccess خود را به صورت دستی پیکربندی کنید تا ترافیک HTTP را به HTTPS هدایت کند. با این حال، این کار نیاز به درک فنی بیشتری از پیکربندیهای وب سرور دارد.
رفع مشکل عدم نمایش آیکون SSL در وردپرس
اگر نماد قفل SSL پس از نصب گواهی SSL در نوار آدرس وبسایت وردپرس شما نمایش داده نمیشود، احتمالاً به دلیل مشکلات محتوای ترکیبی (mixed content) یا پیکربندی نادرست است. در اینجا به تفصیل دلایل و راهحلهای احتمالی آمده است:
۱. خطاهای محتوای ترکیبی
مشکل چیست؟ وقتی وبسایت شما از منابع امن (HTTPS) و ناامن (HTTP) استفاده میکند، مشکل محتوای ترکیبی ایجاد میشود. این مسئله میتواند مانع از نمایش نماد قفل توسط مرورگر شود و حتی میتواند باعث ایجاد هشدار شود.
به عنوان مثال اگر آدرسهای اصلی سایت شما روی HTTPS تنظیم شده باشند اما تصاویر، اسکریپتها یا صفحات سبک هنوز با استفاده از آدرسهای HTTP پیوند داده شدهاند، محتوای ترکیبی خواهید داشت.
برای این مشکل چه راهحلی ارائه میشود؟
- بهروزرسانی آدرس سایت: مطمئن شوید که هر دو “آدرس سایت (آدرس وردپرس)” و “آدرس وردپرس (URL)” در تنظیمات عمومی روی HTTPS تنظیم شدهاند.
- بهروزرسانی پایگاه داده: از افزونهای مانند Better Search Replace یا WP-CLI برای جایگزینی تمام نمونههای HTTP با HTTPS در پایگاه داده خود استفاده کنید.
- از افزونههای SSL استفاده کنید: افزونههایی مانند Really Simple SSL میتوانند بهطور خودکار مشکلات محتوای ترکیبی را شناسایی و برطرف کنند.
- اجبار HTTPS: همچنین میتوانید از افزونهای مانند WP Encryption برای اجبار به تغییر مسیرهای HTTPS استفاده کنید.
۲. پیکربندی نادرست SSL
- پیکربندی سرور: ممکن است گواهی SSL به درستی روی سرور وب شما (مثلاً آپاچی یا Nginx) نصب یا پیکربندی نشده باشد.
- ارائه دهنده خدمات میزبانی وب: ممکن است ارائه دهنده خدمات میزبانی وب شما نیاز داشته باشد گواهی را روی سرور شما نصب و آن را به درستی پیکربندی کند.
- اعتبار گواهی: ممکن است گواهی SSL منقضی شده باشد یا به درستی به دامنه شما اختصاص داده نشده باشد.
چگونه میتوان این مشکل را رفع کرد؟
- با ارائه دهنده خدمات میزبانی وب تماس بگیرید: اگر در مورد پیکربندی سرور مطمئن نیستید، با ارائه دهنده خدمات میزبانی وب خود تماس بگیرید.
- جزئیات گواهی را بررسی کنید: با کلیک بر روی نماد قفل در نوار آدرس مرورگر، تأیید کنید که گواهی شما معتبر است و به دامنه صحیح اختصاص داده شده است.
- نصب مجدد یا تمدید: اگر گواهی نامعتبر است، ممکن است لازم باشد آن را از ارائه دهنده صادرکننده دوباره نصب یا تمدید کنید.
جمع بندی
زمانی که شما سایتی دارید و کاربرانتان برای ورود به سایت اطلاعات کاربری ثبت میکنند، شما مسئول حفظ ایمنی اطلاعات کاربران هستید. یکی از مهمترین کارهایی که میتوان برای حفاظت از اطلاعات کاربران درنظر گرفت فعال سازی SSL در وردپرس است که امری ضروری و مهم بوده و به سایت شما اعتبار میبخشد. در این مقاله تمامی روشهای مختلف برای فعال کردن آن را ارائه کردیم.






