آموزش ریدایرکت http به https در وردپرس

انتقال سایت از http به https

یکی از مهم‌ترین مسائلی که وب‌سایت‌ها را در معرض خطر قرار می‌دهد، نداشتن امنیت است. آمارها نشان می‌دهند روزانه وب‌سایت‌های زیادی مورد حمله هکرها قرار می‌گیرند. برای جلوگیری از حمله هکرها و سرقت اطلاعات کاربران، روش‌های امنیتی زیادی وجود دارد. یکی از این روش‌ها ریدایرکت سایت از http به https و نصب SSL است. به عنوان مثال، زمانی که اطلاعات خود را در سایتی وارد می‌کنیم، اطلاعاتی بین کامپیوتر ما و سایت موردنظر رد و بدل می‌شود، که باید امنیت این ارتباط را فراهم کنیم. انجام این کار هم فقط توسط گواهینامه SSL و پروتکل https امکان پذیر است، زیرا اطلاعات را رمزگذاری می‌کند.

از سال ۲۰۱۸ به بعد گوگل اعلام کرد که مرورگر chrome، تمام وب‌سایت‌های بدون SSL را علامت‌گذاری و آن‌ها را به عنوان وب‌سایت ناامن معرفی می‌کند. در این مقاله قصد داریم به نحوه تبدیل http به https در وردپرس بپردازیم.

اگر اطلاعات کافی در مورد https ندارید نگران نباشید، به طور کامل و قدم به قدم این مباحث را توضیح خواهیم داد.

بیشتر بدانید: بهترین افزونه‌های امنیتی وردپرس

SSL چیست؟

SSL مخفف عبارت “Secure Socket Layer”، به معنی لایه‌های سوکت ایمن است. در واقع یک پروتکل امنیتی استاندارد است، که داده‌های انتقالی بین سرور و کاربر را رمزگذاری می‌کند. این نوع ارتباط اطمینان می‌دهد که تمام داده‌های رد و بدل شده، بین سرور و کاربر کاملا امن است.

اجازه دهید با یک مثال به صورت دقیق‌تر توضیح دهیم:

فرض کنید به یک سایت برای خرید جنس مراجعه کرده‌اید. هنگام خرید، باید اطلاعات شخصی خود مانند کارت بانکی را وارد کنید. در این میان اگر سایت مورد نظراز گواهینامه SSL و پروتکل https استفاده نکرده‌باشد هکرها می‌توانند اطلاعات وارد شده را مشاهده، و به آن دسترسی پیدا کنند.

حتما از خود می‌پرسید که مشکل http چیست که برای ارتباط‌های امن نباید از آن استفاده کرد؟ در اینجا به صورت مختصر توضیح خواهیم داد.

چیست؟

HTTPS مخفف عبارت “Hypertext Transfer Protocol Secure” به معنای پروتکل امن انتقال اَبَرمتن است. در واقع این پروتکل، اطلاعات رد و بدل شده بین مرورگر کاربران و سایت مورد نظر را رمزنگاری می‌کند. به عنوان مثال، زمانی که شما از یک سایت خرید می‌کنید، تمام اطلاعات شخصی‌ مانند اطلاعات بانکی، آدرس ایمیل و … به صورت کد شده ارسال می‌شود. سایت مورد نظر هم اطلاعات را به صورت رمزنگاری شده دریافت و دوباره ارسال می‌کند. این باعث می‌شود هکرهایی که در میانه راه قراردارند، نتوانند اطلاعات مورد نظر را خوانده و شناسایی کنند. پس https می‌تواند امنیت سایت را تا حد زیادی بالا ببرد و اعتماد کاربران را به خود جلب کند.

انتقال سایت از http به https

پس با توجه به اینکه، هر روز در حال تبادل اطلاعات بین سایت‌های مختلف هستیم، لازم است از یک ارتباط امن استفاده کنیم تا اطلاعات مورد نظر به صورت محرمانه بماند و هکرها نتوانند به راحتی به آن دسترسی پیدا کنند.

مشکل پروتکل http

پروتکل http برخلاف پروتکل https، اطلاعات رد و بدل شده بین مرورگر کاربران و سایت مورد نظر را رمزگذاری نمی‌کند. به عنوان مثال، زمانی که در یک سایت، در حال انتقال و دریافت اطلاعاتی محرمانه مانند: امور بانکداری اینترنتی، خواندن ایمیل و … هستید، هکرها می‌توانند با استفاده از ابزار Sniffer اطلاعات رد و بدل شده‌ را شناسایی کنند و از آن سوء‌استفاده نمایند.

حال ممکن است برایتان سوال باشد که آیا یک سایت وبلاگی یا سایتی با تجارت کوچک، باز هم لازم است به https تبدیل شود؟ در ادامه مطلب به جواب این سوال می پردازیم.

ضرورت استفاده از https

در سال 2018، گوگل اعلام کرد که وب‌سایت‌های بدون https راعلامت‌گذاری می‌کند و آن‌ها را در لیست وب‌سایت‌های ناامن قرارمی‌دهد. این یک کمک بزرگ به بازدیدکنندگان و کاربران سایت است. زیرا زمانی که می‌خواهند به عنوان مثال درسایتی خرید، و اطلاعات شخصی خود را وارد کنند، با نگاه کردن به پروتکل سایت موردنظرِ، از امن بودن اطلاعات شخصی خود مطمئن می‌شوند و با خیال راحت خرید خود را انجام می‌دهند.

همچنین گوگل اعلام کرد سایت‌هایی که دارای https هستند در رتبه بالاتری نسبت به سایت‌های http قرار دارند. به همین خاطر اکثر وب‌سایت‌ها پروتکل خود را از http به https انتقال دادند.

گوگل برای نشان دادن سایت‌های ناامن، هشدار “Not Secure” یا همان “ناامن” را در Chrome منتشر کرد. به عنوان مثال، زمانی که شما آدرس یک سایت را در مرورگر خود وارد می‌کنید، اگر عبارت “Not Secure” را در کنار آدرس سایت مشاهده کنید، این به معنای ناامن بودن سایت مورد نظر است. پس اگر کاربران و مشتریان این عبارت را ببیند نسبت به سایت شما دید بدی پیدا می‌کنند و از خرید منصرف می‌شوند.

اقدامات لازم قبل از انتقال سایت به https

قبل تغییر سایت خود به https، باید گواهینامه SSL را خریداری کنید. البته این مشکل هم حل شده‌است. اکثر میزبان‌های وب در هاست خود یک SSL رایگان قرارمی‌دهند که می‌توانید از آن استفاده کنید. ولی در صورتی که شرکت میزبانی هاست شما SSL رایگان عرضه نمی‌کند، لازم است که یک SSL خریداری کنید.

آموزش نصب SSL در وردپرس

ریدایرکت http به https در وردپرس

بعد از اینکه گواهینامه SSL را روی دامنه خود فعال کردید، لازم است که تنظیمات وردپرس را برای SSL و https در سایت خود انجام دهید.

ما ۳ روش را خدمت شما عزیزان توضیح می‌دهیم .شما می‌توانید از هر روشی که آسان‌تر بود برای تبدیل http به https استفاده کنید.

۱- ریدایرکت http به https در وردپرس با استفاده از افزونه

ریدایرکت http به https در وردپرس با استفاده از افزونه، یکی از آسان‌ترین روش‌ها برای تغییر سایت از http به https است. پس برای این کار لازم است که افزونه “Really Simple SSL” را بر روی وردپرس خود نصب کرده وآن را فعال کنید. اگر با نصب افزونه آشنایی ندارید پیشنهاد می‌کنم مقاله نصب افزونه در وردپرس را مطالعه کنید.

بعد از فعال‌سازی افزونه مجددا به پیشخوان وردپرس بازگردید و از بین منوهای موجود به مسیرSetting => SSL مراجعه کنید. این افزونه به صورت خودکار گواهی‌نامه SSL را تشخیص داده و سایت وردپرسی را برای استفاده از https تنظیم می‌کند.

در اینجا می‌خواهیم به کار‌های که افزونه انجام می‌دهد اشاره کنیم:

  • بررسی گواهینامه SSL
  • تنظیم وردپرس برای استفاده از https در URL
  • ریدایرکت کردن آدرس‌ها از http به https
  • جستجوی URLها در داخل محتواهای انتشار داده نشده و تغییر دادن http به https.

هر چند خود افزونه می‌گوید که، می‌توانید افزونه را غیرفعال کنید و از SSL استفاده کنید. اما این گفنه درست نیست. این افزونه همیشه باید فعال باشد، زیرا غیرفعال بودن آن باعث برگشتن خطای محتوای مخطوط می‌شود.

از طرفی دیگر، اگر محتوایی از سایت‌های دیگر در سایت شما وجود دارد که آدرس آن سایت بدون https است، این آدرس‌ها هم به https تغییر پیدا می‌کنند دلیل آن هم، فعال کردن قابلیت Auto replace mixed content در تنظیمات این افزونه است. برای رفع این مشکل می‌توانید کد زیر را در فایل functions.php قرار دهید.

<?php function rsssl_exclude_http_ulr($html){
    $html=str_replace("https://example.com", "http://example.com",$html);
    return $html;} add_filter("rsssl_fixer_output","rssssl_exclude_http_url");?>
}

در این کد فوق، به جای example.com آدرس سایت مورد نظر را قراردهید.

تبدیل http به https با استفاده از افزونه Really Simple SSL

۲- انتقال سایت به https به صورت دستی

در این روش، شما باید تمام فایل‌ها و پوشه‌های وردپرس را به صورت دستی ویرایش وعیب‌یابی کنید. این روش، یک روش دائمی و کارآمد برای بهینه‌سازی وب‌سایت است. اکثر سایت‌های حرفه‌ای از این روش استفاده می‌کنند.

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

به عنوان بخشی از این روش، احتمالا نیاز باشد که پوسته خود را ویرایش کنید. در ابتدا لازم است که وارد پنل مدیریت وردپرس شوید و از قسمت منوها به بخش تنظیمات => عمومی مراجعه کنید در این صفحه باید URLهای سایت خود را از http به https تغییر دهید.

تنظیمات دستی انتقال سایت از http به https

و در نهایت روی دکمه Save کلیک کنید تا تنظیمات مورد نظر، اعمال شود. سپس از وردپرس خارج و دوباره وارد شوید.

در مرحله بعد، شما باید کد زیر را به فایل htaccess. اضافه کنید. تا پرتکل http را به https ریدایرکت کند.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

نحوه پیدا کردن فایل htaccess.

برای پیدا کردن فایل htaccess. در هاست cpanel، به بخش file maneger => public html بروید حال در این مسیر به دنبال فایل htaccess. بگردید. اگر فایل مورد نظر را پیدا نکردید، به بخش تنظیمات که در بالای همان صفحه سمت راست قرار دارد، مراجعه کنید و تیک گزینه show hidden files را فعال کنید. سپس تنظیمات را ذخیره کنید. دوباره به صفحه مورد نظر بازگردید و صفحه را رفرش کنید. حال می‌توانید فایل htaccess. پیدا کرده و ویرایش کنید.

اگر بر روی سرور nginx هستید، برای تغییر آدرس از http به https لازم است که، کد زیر را به فایل پیکربندی اضافه کنید.

server {listen 80;server_name example.com www.example.com;return 301 https://example.com$request_uri;}

در این قسمت به جای آدرس example.com نام دامنه خود را وارد کرده و قرار دهید.

اگر می‌خواهید SSL و HTTPS را برای بخش admin و صفحه ورود هم ایجاد کنید، باید تنظیمات SSL را در فایل wp-config انجام دهید. پس کد زیر را در بالای خط “That’s all, stop editing!” در فایل wp-config قرار دهید.

define('FORCE_SSL_ADMIN', true);

این کد، خط SSL / HTTPS را به بخش مدیریت وردپرس اضافه می‌کند.

زمانی که این کارها را انجام دادید، سایت شما به طور کامل از SSL / HTTPS استفاده می‌کند. اما هنوز هم احتمال دارد که با خطای محتوای مخلوط روبه رو شوید.

این خطاها توسط منابع (تصاویر، اسکریپت‌ها یا شیوه‌نامه‌ها) که هنوز در حال بارگذاری هستند، ایجاد می‌شود و از پرتکل http در تمام URLها استفاده می‌کنند. در این صورت شما نمی‌توانید آن فقل سبزرنگ را در کنار آدرس سایت خود در مرورگر مشاهده نمایید.

بسیاری از مرورگرهای پیشرفته به طور خودکار، اسکریپت‌ها و منابع ناامن را مسدود می‌کنند. ممکن است نماد قفل را مشاهده کنید، اما در نوار مرورگر به شما اطلاع‌رسانی کند که وبسایت به طور کامل امن نشده‌است. پس باید مشکل ایجاد شده را حل کنید.

می‌توانید به راحتی با استفاده از ابزار inspect tools مرورگر کروم بفهمید که کدام محتوا از پروتکل ناامن استفاده می‌کند. پس برای این کار روی صفحه، کلیک راست کنید و کلید ترکیبی ctrl+shift+i را بزنید. سپس به تب کنسول مراجعه کنید. مشاهده می‌کنید که خطای محتوای مخلوط به عنوان یک هشدار، با جزئیات برای هر بخش، نشان داده شده‌است.

رفع خطای محتوای مخلوط در پایگاه داده

اکثر URLهای نادرست تصاویر، فایل‌ها و سایر داده‌های ذخیره شده، در پایگاه داده وردپرس می‌باشند. پس لازم است که این URLها را تغییر دهید. برای تغییر لازم است که تمام URLهای قدیمی را در پایگاه‌داده خود پیدا کنید و به https تغییر دهید. تغییر این کار از طریق پایگاه‌داده، ممکن است کاری زمانبر و وقت‌گیر باشد. برای همین توصیه می‌کنیم از افزونه search and replace استفاده کنید.

با نصب پلاگین search and replace به آسانی می‌توانید تمام URL‌‌های http را در عرض چند ثانیه تغییر دهید. اگر با نصب افزونه در وردپرس آشنایی ندارید می‌توانید مقاله نصب افزونه در وردپرس را مطالعه نمایید.

بعد از نصب و فعال‌سازی افزونه، به بخش ابزارها => search and replace مراجعه کنید. در این صفحه روی تب search and replace کنید و مراحل زیر را به ترتیب انجام دهید.

رفع خطای محتوای مخلوط در پایگاه داده (انتقال سایت از http به https )
  • Search for: در این بخش آدرس قدیمی سایت را وارد کنید
  • Replace with: دراین بخش آدرس سایت خود را با https وارد کنید
  • Select all tools: این قسمت را فعال کنید
  • Dry Run: تیک این گزینه را بردارید و بخش Save changes to Database را فعال کنید.

در نهایت تنظیمات موردنظر را ذخیره کنید.

همان‌طور که گفتیم این افزونه به راحتی تمام URLهای http جستجو کرده و با https جایگزین می‌کند. ولی ممکن است کمی طول بکشد پس صبور باشید.

رفع خطای محتوای مخلوط در قالب وردپرس

برای رفع این مشکل می‌توانید از ابزار inspect tools مرورگر خود، استفاده کنید. URLهای http را پیدا کنید و به فایل قالب خود مراجعه کرده و آن را با https جایگزین نمایید. انجام این کار ممکن است برای مبتدیان کمی دشوار باشد چون نمی‌توانند در فایل‌ قالب URLهای شامل http را به راحتی پیدا کنند.

رفع خطای محتوای مخلوط در قالب وردپرس انتقال سایت از http به https

3- انتقال سایت به https با گوگل سرچ کنسول

موتور جستجوی گوگل پروتکل https و http را به صورت دو وب‌سایت مختلف در نظر می‌گیرد.این بدان معناست باید به Google اطلاع دهید، که وب سایت شما برای جلوگیری از هرگونه مشکلی در SEO تغییر مکان داده‌است.

برای همین منظور، شما باید وارد اکانت گوگل سرچ کنسول خود شوید و سپس روی دکمه “Add a Property” کلیک کنید.

انتقال سایت از http به https با گوگل سرچ کنسول

بعد از آن پنجره‌ایی به شما نمایش داده می‌شود که می‌توانید آدرس سایت خود را با https وارد کنید.

نحوه ثبت آدرس سایت

بعد از انجام مرحله فوق، گوگل از شما می‌خواهد که مالکیت وب‌سایت خود را تائید کنید. چندین راه‌ برای انجام اینکار وجود دارد می‌توانید به دلخواه یک روش را انتخاب کنید تا دستورالعمل‌ها در سایت شما تایید شوند.

و در نهایت می‌توانید روی دکمه verify کلیک کنید تا تنظیمات مورد نظر اعمال شود.

انتقال سایت از http به https

این به گوگل می‌گوید که می‌خواهید سایت خود را از http به https تغییر دهید. پس گوگل بنابر خواسته شما پروتکل را تغییر می‌دهد و می‌تواند در بهبود رتبه‌بندی سایت بسیار موثر باشد.

امیدوارم که این مقاله مفید بوده‌باشد و بتوانید به راحتی اقدام به انتقال سایت از http به https کنید. برای اطلاعات بیشتر در مورد امنیت در وردپرس می‌توانید مقاله افزایش امنیت در وردپرس را مطالعه نمایید.

درباره shahin rabani

مهندس نرم افزار کامپیوتر هستم. در زمینه طراحی وب سایت، وردپرس، سئو و فارسی سازی قالب های وردپرسی فعالیت می کنم.

مطالب زیر را حتما بخوانید

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *