آموزش رفع مشکلات رایج SSL در وردپرس

15 آبان 1397
ssl-wordpress

انتقال سایت وردپرسی به SSL (گواهینامه اس اس ال) ممکن است مشکلات رایجی را بوجود آورد. مشکلاتی مانند ایجاد خطاهایی مانند "Your Connection is not private" و...! در ادامه این مطلب قصد داریم به شما آموزش دهیم تا بتوانید مشکلات رایج گواهینامه SSL را در سایت خود رفع کنید.

گواهینامه SSL چیست و چرا باید از آن استفاده کرد؟

گواهینامه اس اس ال (SSL) یا پروتکل HTTPS یک روش رمزگذاری شده که امنیت اتصال بین مرورگر و سرور های سایت را بالا می برد. SSL به طوری کار می کند که اطلاعات رد و بدل شده بین کاربر و سرور های سایت را به صورت کد جا به جا می کنید و این امر باعث شده تا هکر ها نتوانند به اطلاعات کاربران دسترسی پیدا کنند.

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

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

اگر وب سایتی ادعا کند که پروتوکل HTTPS دارد اما HTTPS آن با گواهینامه SSL آن مطابقت نداشته باشد، صفحه ای مانند تصویر زیر نمایان می شود.

آموزش رفع مشکلات رایج SSL در سایت وردپرس

سال گذشته، گوگل اعلام کرد که برای سایت هایی که از گواهینامه SSL استفاده می کنند، مزیت هایی را در نظر می گیرد. به همین سبب، برای تشویق صاحبان سایت ها برای دریافت گواهینامه SSL سایت هایی که گواهینامه ندارند را "غیر امن" نشان می دهد و همین دلیل باعث می شود که کاربران گوگل بیشتر به سایت هایی بروند که اس اس ال دارند و به عنوان یک سایت امن در گوگل وجود دارند.

آموزش رفع مشکلات رایج SSL در سایت وردپرسی

عنوان "غیر امن" یا "Not Secure" در مرورگر ها که برای وب سایت هایی که اس اس ال ندارند، باعث می شود کسب و کارشان بدتر شود و مشتریان و کاربران خود را از دست بدهند زیرا همانطور که گفتیم، بیشتر کاربران و مشتریان به دنبال سایت ها و فروشگاه های اینترنتی می روند که دارای گواهینامه SSL باشند.

خطا NET::ERR_CERT_INVALID

این پیام خطا را معمولا مرورگر گوگل کروم نشان می دهد و سایر مرورگر ها این خطار را کمی متفاوت تر نشان می دهند و به شما هشدار می دهند که اتصال میان شما و سایت مورد نظر امن نیست.

امن نبودن ارتباط بین کاربر و سایت با خطای NET::ERR_CERT_INVALID

این پیام خطا توسط مرورگر ها نمایان می شود زیرا مرورگر ها گواهینامه اس اس ال وب سایت ها را قبول نمی کنند. این خطا ممکن است به دلایل زیر رخ بدهد:

1. ممکن است گواهینامه SSL برای یک دامنه متفاوت دیگر و یا یک ساب دامین ثبت شده باشد.

2. ممکن است گواهینامه SSL منقضی شده باشد.

3. ممکن است مرورگر شما گواهینامه SSL سایت را به رسمیت نشناسد.

اگر شما گواهینامه SSL خریداری کرده اید و از شرکت میزبانی هاست سایت خود درخواست کرده اید تا گواهینامه را برای شما نصب کند، با آنها تماس بگیرید و درخواست کنید تا این مشکل را حل کنند.

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

رفع خطای محتوا های مخلوط شده با پروتکل HTTP و HTTPS

گاهی ممکن است برخی از محتوای وب سایت شما (اعم از تصاویر، اسکریپت، ویدیو و...) هنوز با پروتکل HTTP در سایت وجود داشته باشند. این امر باعث می شود تا وب سایت شما در مرورگر ها به صورت "Not Secure" نمایان شود.

نمایش خطای SSL در مرورگر کروم

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

راه اول

راه اولی که ما به شما پیشنهاد می کنیم و بسیار ساده و تضمینی می باشد، استفاده از پلاگین Really Simple SSL می باشد. این افزونه، محتوا های مخلوط و با پروتکل نا امن را شناسایی می کند و پروتکل آنها را به HTTPS تغییر می دهد.

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

آموزش رفع خطای SSL با افزونه Really Simple SSL وردپرس

هنگامی که افزونه را فعال می کنید، در نوار بالایی وردپرس خود، پیغام فعال کردن و رفع خطاهای SSL را توسط این افزونه مشاهده می کنید. تنها کاری که لازم است انجام بدهید این است که بر روی دکمه Active SSL کلیک کنید تا به صورت اتوماتیک افزونه کار خود را انجام دهد.

راه دوم

راه دوم به صورت دستی می باشد و ما این راه را موثر تر و بهتر می دانیم.

اول از همه باید مطمئن شوید که پروتکل آدرس سایت شما در تنظیمات وردپرس HTTPS می باشد. برای انجام این فرآیند، به بخش عمومی < تنظیمات در منوی وردپرس خود بروید و آدرس وردپرس و آدرس سایت را بررسی کنید که هر دو با پروتکل HTTPS شروع بشوند.

آموزش رفع مشکلات رایج SSL در سایت وردپرسی

اگر یکی از این دو آدرس با پروتکل HTTP شروع شده باشند، پس نیاز است که شما آنها را به HTTPS تغییر بدهید. فراموش نکنید پس از تغییر دادن پروتکل، بر روی ذکمه ذخیره تغییرات کلیک کنید.

بعد از آن، باید تمامی URL های قدیمی که با HTTP شروع می شوند را در دیتابیس وردپرس پیدا کرده و پروتکل HTTPS را جاییگزین پروتکل قدیمی آنها بکنید.

برای انجام این فرآیند، نیاز است که افزونه Better Search Replace را برای وردپرس نصب و فعال کنید.

پس از نصب و فعال سازی افزونه، نیاز است که به صفحه تنظیمات افزونه بروید. برای دسترسی به صفحه تنظیمات افزونه به بخش Better Search Replace < ابزارها در منوی وردپرس خود بروید.

سپس مانند تصویر زیر، در فیلد Search for باید آدرس سایت خود را با پروتکل HTTP وارد کنید (مانند http://www.sitename.com). سپس در فیلد Replace with باید آدرس سایت خود را بهمراه پروتکل HTTPS وارد کنید (مانند https://www.sitename.com).

رفع خطای SSL در تنظیمات وردپرس

سپس بر روی دکمه Run Search/Replace کلیک کنید تا فرآیند انجام شود و تمامی آدرس های قدیمی با پروتکل HTTP با آدرس HTTPS تغییر کنند.

رفع خطای HTTPS/SLL با کد گذاری در فایل های وردپرس

وردپرس به شما این امکان را می دهد تا بتوانید با قرار دادن کد، گواهینامه اس اس ال را در وب سایت خود تعمیر کنید. برای این کار، فایل wp-config.php را ویرایش کنید و کد زیر را در آن قرار دهید:

با این حال، در برخی از موارد با وارد کردن کد بالا در فایل wp-config.php ممکن است برخی دیگر از مشکلات ریدایرکت بوجود آید. برای رفع مشکلات ناشی پس از وارد کردن کد بالا، کد زیر را در فایل wp-config.php قبل از خط "That’s all, stop editing! Happy blogging" قرار دهید.

define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain 
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
       $_SERVER['HTTPS']='on';

رفع خطاهای SSL با استفاده از قرار دادن کد در فایل htaccess

اگر روش های بالا برای شما جوابگو نبود و شما هنوز مشکلات گواهینامه SSL را در وب سایت خود دارید، می توانید فایل htaccsess. را ویرایش کرده و کد زیر را در فایل قرار دهید:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
شما می توانید محتویاتی که در سایتتان از پروتکل HTTP استفاده می کنند را با استفاده از ابزار Inspect tool مشاهده کنید. هشدار Mixed Content در صفحه کنسول به همراه جزئیات نمایش داده می شوند.

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

حل مشکل Mixed Content در دیتابیس وردپرس

اکثر آدرس فایل های موجود در سایتتان، در دیتابیس وردپرس وجود دارد. تنها کاری که در اینجا نیاز است انجام دهید این است که تمامی URL های قدیمی که از http استفاده می کردند را حذف کرده و بجای آن ها از URL های جدید که از HTTPS استفاده می کنند قرار دهیم.

برای انجام این فرایند، ابتدا افزونه Better Search Replace را در وردپرس خود نصب و فعال کنید.

پس از آن، نیاز دارید که به بخش تنظیمات اصلی افزونه بروید. به بخش "Better Search Replace < ابزارها" در منو وردپرس خود رفته و مانند تصویر زیر، در بخش "Search for" آدرس سایت خود را با http وارد کنید و در بخش "replace with" آدرس سایت خود را با Https وارد کنید.

افزونه Better search replace

سپس در باکس زیر، تمامی URL هایی که از http استفاده می کنند نمایش داده می شود. حال شما نیاز دارید که تیک "Run as dry run" را برداشته و پس از آن بر روی دکمه "Run Search/Replace" کلیک کنید.

حل مشکل Mixed Content در قالب وردپرس

یکی دیگر از دلایل رایج بوجود آمدن خطا Mixed Content، وجود آدرس های http در کد گذاری قالب سایت وردپرس است. شما برای رفع این مشکل، نیاز دارید تا ابزار بررسی مرورگر خود یعنی Inspect Tool را فعال کرده و در قالب سایت خود به جستجو URL هایی که از HTTP استفاده می کنند بپردازید.

ابزار بررسی مرورگر

پس از پیدا کردن آدرس های http شما نیاز دارید تا آن ها را در قالب خود ویرایش کرده و بجای http از https در آدرس ها استفاده کنید. این روش شاید کمی سخت باشد اما می تواند ارور Mixed content را رفع کند.

حل مشکل Mixed Content در افزونه ها

برخی از ارور های Mixed Content ممکن است بر اثر کدگذاری اشتباه افزونه های وردپرس صورت می گیرد. ما پیشنهاد نمی کنیم که فایل های افزونه ها را ویرایش کنید.

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

ثبت سایت HTTPS شما در Google Search Console

ابزار وبمستر گوگل (Google Search Console) وب سایت های http و https را دو وب سایت متفاوت می داند. پس بهتر است پس از تغییر دادن سایت خود به https، آدرس جدید سایت خود را در گوگل وبمستر تولز وارد کنید.

افزودن سایت جدید وردپرس به گوگل وبمستر تولز

خیلی راحت برای انجام این فرایند، در ابتدا می توانید وارد اکانت Google Search Console خود شده و بر روی گزینه ADD A PROPERTY کلیک کنید (مانند تصویر بالا).

پس از آن، یک پاپ آپ برای شما باز خواهد شد که در آن باید آدرس سایت خود را به همراه پروتکل https وارد کنید (همانند تصویر زیر).

افزودن آدرس جدید https به وبمستر تولز

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

تایید هویت گوگل در سایت جدید وردپرسی با https

پس از آن، شما موفق شده اید که وب سایت خود را با پروتکل https در Google Search Console ثبت کنید!

خب دوستان امیدوارم که تونسته باشید استفاده های لازم رو از این مطلب کرده باشید. اگر هر گونه سوال یا مشکلی در رابطه با این مطلب داشتید، خیلی راحت می توانید آن را در بخش دیدگاه ها مطرح کنید :)

نویسنده شوید
دیدگاه‌های شما (5 دیدگاه)

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

سهند
02 فروردین 1400
سلام وقت بخیر من همه کارهارو انجام دادم ولی بازهم وقتی وارد سایت میشم https میاد ولی بغل عکس قفل یه مثلث زرد رنگه و مرورگر پیغام not secure میده ، چیکار باید کنم؟

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

کیارش شماعی
31 خرداد 1399
خیلی خیلی از شما ممنون با این روش کار خیلی ساده شد ممنون

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

بهنام
01 شهریور 1398
سلام مرسی از شما... تنها سایتی که مشکل من رو گفته شما هستید توی بخش رفع خطای HTTPS/SLL با کد گذاری در فایل های وردپرس توی همون اول گفتید "کد زیر را وارد کنید" اما فراموش کردید کد رو بزارید ممنون میشم کد رو بزارید چون من دقیقا مشکلم همونه

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

محمد
25 مرداد 1398
سلام من هرکاری میکنم نمیتونم اوکیش کنم شما میتونید کمک کنید؟ لطفا ایمیل بزنید ممنون

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

محمد علیزاده
12 خرداد 1398
با سلام امروز به یک مشکلی بر خورده بودم به وسیله ی این آموزش ها حلش کردم ممنون ممممممنون بی نهایت ممممممنون به خاطر همین از محصولات سایتتون حتما خرید و استفاده می کنم

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

مهدی امامی
14 خرداد 1398
سلام دوست عزیز. خوشحالیم که مقاله مورد استفاده شما قرار گرفته. موفق و موید باشید.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.