SSL وردپرس

دریافت SSL وردپرس؛ انتقال دستی وردپرس به HTTPS

زمان انتشار: در تاریخ ۱۴۰۲/۰۶/۳۰ ساعت ۲۱:۰۰ | آموزش وب . بلاگ

استفاده از اتصال امن HTTPS برای وب سایت ضروری است. در این مطلب درباره دریافت SSL وردپرس و انتقال کامل سایت صحبت می کنیم.

امروزه استفاده از پروتکل HTTPS برای تمام وب سایت ها الزامی است. پیش تر در مطلب «گواهینامه SSL چیست» با این گواهینامه آشنا شدیم. به صورت خلاصه با دریافت یک گواهینامه و اعمال آن بر روی سایت، اتصال از حالت HTTP به HTTPS تغییر می کند. با این کار اتصال بین مرورگر کاربر و سرور امن می شود. غیر از امنیت، گوگل از سال ۲۰۱۸ وب سایت های بدون HTTPS را غیر امن می داند. در نتیجه می توان گفت که در نتایج جستجو نیز نمایش داده نمی شوند. اما دریافت یک گواهینامه برای وب سایت شاید سخت به نظر برسد. از طرفی انتقال کامل سایت و رفع خطا های SSL نیاز به دانش دارد. در این مطلب به صورت کامل درباره دریافت SSL وردپرس و انتقال دستی سایت به آدرس امن صحبت می کنیم.

دریافت SSL وردپرس

به صورت کلی دریافت گواهینامه SSL نیاز به هزینه، دانش برنامه نویسی و کار با سرور دارد. اما ابزار های مختلفی برای انجام این کار به صورت رایگان در اختیار کاربران قرار گرفته است. یکی از ساده ترین روش ها استفاده از قابلیت دریافت SSL ارائه دهنده خدمات هاستینگ است. در پنل بیشتر هاستینگ ها گزینه «دریافت SSL رایگان» قرار دارد. اغلب نیز از شرکتی با نام Let’s Encrypt استفاده می کنند. این شرکت گواهینامه های معتبر و رایگان را در اختیار کاربر قرار می دهد.

پس از ورود به بخش SSL هاستینگ باید درخواست خود را ثبت کنیم. برای این کار باید نام دامنه و زیر دامنه های مورد نظر خود را مشخص کنیم. با انتخاب هر زیر دامنه، آن نیز شامل گواهینامه و اتصال امن می شود. معمولا فرایند دریافت گواهینامه زمان بر است. اما پس از گذشت زمان کوتاه پیام موفقیت نمایش داده می شود. گواهینامه های Let’s Encrypt به صورت ۹۰ روزه صادر می شوند. یکی از مزیت های استفاده از هاستینگ برای دریافت گواهینامه، تمدید خودکار آن ها است.

انتقال وردپرس به HTTPS

پس از دریافت SSL اقداماتی را باید برای انتقال صحیح و کامل وردپرس انجام دهیم. در پنل دایرکت ادمین گزینه ای تحت عنوان «Force SSL with https redirect» وجود دارد. با فعال کردن این گزینه ریدایرکت های لازم برای انتقال HTTP به HTTPS به صورت خودکار در فایل htaccess ایجاد می شود. اما در صورت عدم وجود این گزینه از کد زیر استفاده کنید:

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

این کد تمام اتصالات HTTP را با یک ریدایرکت دائمی ۳۰۱، به اتصال امن HTTPS منتقل می کند. پیش از استفاده از این کد بهتر است از فایل htaccess خود پشتیبان تهیه کنید.

دومین نکته، تغییر آدرس در بخش تنظیمات وردپرس است. پس از ورود به حساب کاربری مدیر وردپرس، وارد «تنظیمات عمومی» شوید. در اینجا دو فیلد نشانی وردپرس و نشانی سایت وجود دارد. در هر دو گزینه باید از HTTPS در ابتدای آدرس سایت استفاده کنیم. با این کار وردپرس نیز آدرس اصلی وب سایت ما را بروز می کند.

رفع ارور Mixed Content وردپرس

یکی از ارور های مرسوم پس از انتقال سایت به HTTPS، ارور Mixed Content است. معنی این خطا وجود لینک های HTTP و HTTPS در کنار هم است. در واقع گوگل با این خطا ما را از وجود لینک های قدیمی مطلع می کند. برای مثال تصاویر قدیمی درج شده در صفحات با لینک HTTP هستند. برای رفع این خطا باید لینک های قدیمی را در صفحات بروز کنیم. طبیعتا بروزرسانی دستی تمام لینک ها غیر ممکن است. برای این کار از یک افزونه برای تغییر عبارت HTTP به HTTPS در تمام دیتابیس وردپرس استفاده می کنیم. بهترین افزونه برای انجام این کار، افزونه «Better Search Replace» است. این افزونه با محیط ساده امکان تغییر و جابجایی رشته ها را در دیتابیس وردپرس می دهد.

روش کار این افزونه بسیار ساده است. تنها کافیست عبارت http://example.com را با  https://example.com جابجا کنیم. در قسمت پایینی امکان انتخاب جدول های مختلف در دیتابیس وردپرس نیز وجود دارد. پیشنهاد ما انتخاب تمام جدول ها و غیر فعال کردن ۳ چک باکس است. به همین سادگی تمام لینک های قدیمی ثبت شده بروز می شوند.

  1. نیلوفر گفت:

    خدا خیرتون بده چند ساعت کل اینترنت رو زیر و رو کردم تا اینجا رو پیدا کردم مشکلم حل شد مخصوصا قسمت دومش

  2. هادی گفت:

    سلام و عرض ادب
    تشکر میکنم بابت این مقاله کاملتون.
    دو تا سوال داشتم خدمتتون
    ۱- آیا فقط زدن گزینه Force SSL with https redirect کفایت میکنه یا باید در htaccess ریدایرکت درست کنیم باز؟
    ۲- بعد از تبدیل تمام لینک های سایت به https با افزونه Better Search Replace آیا میتونیم این افزونه رو حذف کنیم یا با حذفش سایت به مشکل میخوره؟

    • سلام. ممنون. نه دیگه اگر این گزینه رو فعال کنید دیگه نیاز به ریدایرکت نیست چون خودش ایجاد میکنه کد های لازم رو. در مورد سوال دوم هم بله بعد از اصلاح آدرس ها میتونید حذف کنید مشکلی پیش نمیاد.

ثبت دیدگاه جدید:

جهت رسیدگی به دیدگاه خود از زبان فارسی استفاده کنید!