اکثر سایت ها در حال رفتن به سمت SSL هستند و ممکن است در آینده نزدیک کمتر سایتی پیدا شود که دارای SSL نباشد . امروز میخواهیم درباره رفع مشکلات عمومی SSL در وردپرس به شما توضیحاتی را ارائه دهیم . مشکلاتی که شما نیز ممکن است با آنها در سایت خود برخورد داشته اید .
رفع مشکلات عمومی SSL در وردپرس
احتمالا همگی شما یکبار با خطای موجود در تصویر زیر روبه رو شده باشید . خطایی که نشان از نا امن بودن وبسایت مورد نظر شما میدهد .
در سال اخیر گوگل اطلاع داد که امنیت را در مرورگر های خود ارتقا خواهد داد . به صورتی که اگر سایتی دارای SSL نباشد به شما خطای Not Secure بودن میدهد . تفاوت را میتوانید در تصویر زیر مشاهده کنید .
در بحث دریافت SSL زیاد وارد نمیشویم و میخواهیم بعد از دریافت SSL و خطاهایی که ممکن است با آن برخورد داشته باشید صحبت کنیم . پس سریعتر به سمت اصل ماجرا خواهیم رفت .
1– حل خطای NET::ERR_CERT_INVALID
این خطا در مرورگر گوگل کروم نمایش داده میشود . سایر مرورگر ها ممکن است خطای متفاوت تری نمایش دهند . اما به صورت کلی این خطا نشان دهنده آن است که وب سایتی که میخواهید به آن وصل شوید ایمن نیست .
این خطا به صورت دقیق تر نشان میدهد که مرورگر SSL موجود در سایت مورد نظر را نپذیرفته است . حال ممکن است این خطا به چند دلیل اتفاق بیافتد :
- گواهینامه SSL مورد نظر برای دامنه یا سابدامنه دیگر باشد .
- گواهینامه SSL ممکن است منقضی شده باشد .
- مرورگر نمیتواند اعتبار گواهینامه را شناسایی کند .
اگر شما یک گواهینامه SSL دریافت کرده اید از پشتیبان هاست خود بخواهید تا این کار را برایتان انجام دهد .
2- خطای Mixed Content پس از انتقال سایت از http به https
این خطا ممکن است به دلیل فراخوانی فایلی (تصویر ، سی اس اس ، جاوا اسکریپت ) از لینکی بدون ssl به وجود آید . در اینگونه موارد باید تمامی لینک های درون سایت و محتواها را به یک آدرس با https متصل کنید :
برای حل این مشکل میتوان از دو طریق عمل کرد :
- حل مشکل با استفاده از افزونه
اگر شما با این مشکل مواجه شدید میتوانید از افزونه های SSL استفاده کنید . یکی از این افزونه ها Really Simple SSL نام دارد . پس از فعال سازی از منوی تنظیمات به گزینه SSL رفته تا تنظیمات افزونه را مشاهده کنید .
افزونه به صورت خودکار و هوشمند مشکل شما را رفع خواهد کرد و خطاهای سایتتان در زمینه Mixed Content برطرف خواهد شد .
- حل مشکل به صورت دستی در وردپرس
برای حل مشکل به صورت دستی شما میتوانید از منو تنظیمات به بخش عمومی رفته و لینک آدرس وردپرس و سایت را به https تغییر دهید .
بعد از اون نیاز هست که لینک های با http را به https تغییر دهید . این کار را میتوانید از طریق دیتابیس انجام دهید . اگر این کار برای شما سخت است میتوانید از طریق افزونه Better Search Replace این کار را انجام دهید .
پس از فعال سازی از قسمت ابزار ها ، گزینه Better Search Replace را انتخاب کنید . حال شما باید لینک های با http را پیدا کرده و آنها را به https تغییر دهید .
با اینکار لینک های موجود در دیتابیس شما اصلاح خواهد شد . حال اگر مجددا در سایت شما خطای Mixed content هنوز مشاهده میشود ممکن است فایلی به http لینک داده شده باشد که باید از طریق ویرایش فایل های قالب این کار را انجام دهید . برای فهمیدن اینکه کدام فایل با http در سایت شما موجود است میتوانید در ابزار Inspect مرورگر خود به دنبال فایل های با آدرس http در ابتدای آنها بگردید . سپس آنها را رفع کنید .
3- خطای Too Many Redirects
وردپرس به شما این امکان را میدهد که لینک ها را به صورت سریع به https ریدایرکت کنید که این کار از طریق تغییر در فایل wp-config.php و افزودن کد زیر به آن امکان پذیر میباشد :
define('FORCE_SSL_ADMIN', true);
اما بعضی اوقات ممکن است خطای Too Many Redirect را مشاهده کنید . برای اینکار کد بالا را با کد زیر جایگزین کنید :
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';
4- انتقال وردپرس از HTTP به HTTPS :
وردپرس ریدایرکت را انجام نمیدهد مگر اینکه شما آن را به وردپرس اعلام کنید . اگر SSL را گرفته اید و راه اندازی کرده اید میتوانید با قراردادن کد زیر در فایل .htaccess این کار را انجام دهید :
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
امیدواریم که از مطلب رفع مشکلات عمومی SSL در وردپرس استفاده کامل برده باشید . خوشحال میشویم نظرات خود را با ما در میان بگذارید .