انتقال یک سایت وردپرس به SSL ممکن است گاهی منجر به مشکلات غیرمنتظره شود. اگر SSL را به یک سایت وردپرس موجود اضافه می کنید و با خطا مواجه می شوید، خوش شانس هستید.
در این مقاله از ایوسی، به شما نشان می دهیم که چگونه رایج ترین مشکلات SSL در وردپرس را برطرف کنید.
SSL/HTTPS چیست و چرا باید فوراً از آن استفاده کنید؟
SSL مخفف مورد استفاده برای Secure Sockets Layers است، یک فناوری رمزگذاری که اتصال بین مرورگر کاربر و سرور میزبان وردپرس شما را ایمن می کند.
هنگامی که SSL را فعال کردید، وب سایت شما به جای HTTP از HTTPS استفاده می کند و همچنین یک علامت قفل را در کنار آدرس وب سایت خود در مرورگر مشاهده خواهید کرد که نشان می دهد ایمن است.
SSL/HTTPS استراق سمع اتصال را برای هکرها دشوارتر می کند. هر سایت دارای SSL/HTTPS دارای یک گواهینامه SSL منحصر به فرد برای اهداف شناسایی است.
اگر سروری فقط وانمود میکند که بر روی HTTPS است و گواهی آن مطابقت ندارد، اکثر مرورگرهای مدرن به کاربر از اتصال به وبسایت هشدار میدهند.
گوگل همه صاحبان وب سایت را تشویق می کند تا از SSL/HTTPS برای بهبود امنیت کلی وب استفاده کنند. به همین دلیل است که Chrome همه وبسایتهای بدون گواهی SSL را بهعنوان «ناامن» علامتگذاری میکند.
برچسب “ناامن” در نوار آدرس مرورگر، تصور بدی را در مورد کسب و کار شما به مشتریان شما می دهد. جدای از آن، اگر می خواهید یک فروشگاه آنلاین ایجاد کنید یا از خدمات پرداخت مانند PayPal، Stripe، Authorize.net استفاده کنید، باید SSL/HTTPS را نیز فعال کنید.
با توجه به مزایا و معایب، همه وب سایت ها باید به SSL/HTTPS سوئیچ کنند.
اگر قبلاً این کار را انجام نداده اید، برای دستورالعمل های گام به گام به راهنمای ما در مورد نحوه صحیح انتقال وردپرس از HTTP به HTTPS بروید.
توصیه می شود: راهنمای ما را در مورد نحوه دریافت گواهینامه SSL رایگان بررسی کنید.
با توجه به آنچه گفته شد، اجازه دهید نگاهی به برخی از مشکلات رایج SSL/HTTPS در وردپرس و نحوه رفع آنها بیندازیم:
۱. رفع خطای NET::ERR_CERT_INVALID
این پیغام خطا در گوگل کروم ظاهر می شود. مرورگرهای دیگر پیامی کمی متفاوت نشان می دهند، اما اساساً به کاربران هشدار می دهد که اتصال آنها به وب سایت شما ناامن است.
این پیام خطا نشان می دهد که مرورگر کاربر گواهی ارائه شده توسط وب سایت را نپذیرفته است. این ممکن است به دلایل مختلفی رخ دهد:
- گواهی SSL برای یک نام دامنه یا زیر دامنه متفاوت صادر می شود
- گواهی منقضی شده است
- مرورگر شما مرجع صدور گواهی را نمی شناسد
اگر یک گواهی SSL خریداری کرده اید و از ارائه دهنده هاست وردپرس خود خواسته اید که آن را برای شما نصب کند، می توانید با آنها تماس بگیرید تا آن را برای شما تعمیر کنند.
اگر گواهی SSL را به صورت دستی نصب کرده اید، آن را دوباره نصب کنید یا برای پشتیبانی با ارائه دهنده گواهی SSL خود تماس بگیرید.
۲. رفع خطاهای محتوای مختلط پس از انتقال به SSL/HTTPS
خطاهای محتوای مختلط توسط منابعی ایجاد می شود که هنوز با استفاده از پروتکل HTTP ناامن در URL ها در حال بارگیری هستند. این می تواند شامل منابعی مانند تصاویر، اسکریپت ها یا شیوه نامه ها باشد.
اگر اینطور باشد، نمی توانید نماد قفل امن را در نوار آدرس وب سایت خود مشاهده کنید.
دو راه برای رفع خطاهای محتوای مختلط SSL/HTTPS در وردپرس وجود دارد. ما هر دوی آنها را به شما نشان خواهیم داد و سپس می توانید یکی از آنها را انتخاب کنید که برای شما مناسب تر است.
۱. رفع خطاهای محتوای مختلط در وردپرس با استفاده از یک افزونه
این روش ساده تر است و برای مبتدیان توصیه می شود. اما می تواند تأثیر منفی بر عملکرد وردپرس شما داشته باشد زیرا این افزونه سعی می کند با استفاده از تکنیک بافر خروجی خطاهای محتوای مختلط را برطرف کند.
با این حال، اگر از یک پلاگین کش استفاده میکنید، تنها بر بارگذاری صفحه اول تأثیر میگذارد. بازدیدکنندگان بعدی هیچ تفاوتی در عملکرد متوجه نخواهند شد.
ابتدا باید مطمئن شوید که گواهی SSL دارید. اگر مطمئن نیستید که دارید، به راهنمای ما در مورد نحوه دریافت گواهی SSL رایگان برای وب سایت وردپرس خود مراجعه کنید.
سپس، به سادگی افزونه Really Simple SSL را نصب و فعال کنید. برای جزئیات بیشتر، راهنمای گام به گام ما در مورد نحوه نصب افزونه وردپرس را ببینید.
پس از فعال سازی، برای بررسی تنظیمات افزونه باید به صفحه تنظیمات » SSL مراجعه کنید. Really Simple SSL خارج از جعبه کار می کند و به طور خودکار از تنظیمات SSL/HTTPS شما مراقبت می کند و خطاهای محتوای مختلط را برطرف می کند.
۲. رفع خطاهای محتوای مختلط در وردپرس به صورت دستی
این روش برای عملکرد وب سایت شما موثرتر و بهتر است. با این حال، نیاز به عیب یابی دستی دارد.
ابتدا باید به Settings » General بروید و مطمئن شوید که گزینه های «WordPress Address» و «Site Address» دارای URL HTTPS هستند.
اگر نشانیهای اینترنتی را میبینید که با «http» شروع میشوند، باید ادامه دهید و آنها را به «https» تغییر دهید. فراموش نکنید که برای ذخیره تنظیمات خود بر روی دکمه ذخیره تغییرات کلیک کنید.
در مرحله بعد، باید URL های قدیمی HTTP را در پایگاه داده وردپرس خود پیدا کنید و آنها را با URL های جدید HTTPS جایگزین کنید.
با نصب و فعال سازی افزونه Better Search Replace می توانید به راحتی این کار را انجام دهید. برای جزئیات بیشتر، راهنمای گام به گام ما در مورد نحوه نصب افزونه وردپرس را ببینید.
پس از فعال سازی، باید به صفحه ابزارها » جایگزینی جستجوی بهتر مراجعه کنید. در قسمت «جستجو»، باید URL وب سایت خود را با HTTP اضافه کنید. پس از آن، URL وب سایت خود را با ‘https’ در قسمت ‘Replace’ اضافه کنید.
این افزونه اکنون URL ها را در پایگاه داده وردپرس شما به روز می کند.
اگر همچنان خطاهای محتوای مختلط را مشاهده می کنید، مرحله بعدی عیب یابی آدرس های اینترنتی در قالب وردپرس و فایل های افزونه است.
با استفاده از ابزار Inspect مرورگر خود، باید منابعی را که باعث ایجاد خطا میشوند، پیدا کنید و توجه داشته باشید که فایلهای وبسایتی از کدام فایل بارگیری میشوند.
اگر در ویرایش فایلهای وردپرس تجربه دارید، میتوانید با استفاده از FTP یا مدیر فایل میزبانی وب خود به آن فایلهای تم دسترسی داشته باشید . شما باید هر فایل را ویرایش کنید و “http” را با “https” جایگزین کنید.
یک جایگزین سادهتر این است که با توسعهدهنده تم تماس بگیرید و از آنها بخواهید که تم خود را بهروزرسانی کنند. آنها باید از بهترین شیوه های وردپرس برای بارگذاری فایل ها استفاده کنند، که مشکل HTTP/HTTPS را برطرف می کند.
همین امر در مورد محتوای ترکیبی بارگذاری شده توسط یک افزونه وردپرس نیز صدق می کند. توصیه نمیکنیم خودتان فایلهای افزونه را ویرایش کنید، بنابراین باید به توسعهدهنده افزونه اطلاع دهید و درخواست بهروزرسانی کنید. در همین حال، می توانید افزونه را در سایت خود غیرفعال کنید یا یک افزونه جایگزین پیدا کنید.
۳. رفع بسیاری از خطاهای تغییر مسیر پس از انتقال به SSL/HTTPS
وردپرس به شما امکان می دهد با وارد کردن خط زیر در فایل wp-config.php، گواهی SSL/HTTPS را برای ناحیه مدیریت اعمال کنید.
define('FORCE_SSL_ADMIN', true);
با این حال، در برخی از سناریوها، این تنظیم به تنهایی باعث خطای ” Redirects بیش از حد ” می شود.
برای رفع این مشکل، باید کد زیر را به فایل wp-config.php خود درست قبل از خطی که می گوید «همین است، ویرایش را متوقف کنید» اضافه کنید. وبلاگ نویسی مبارک.’.
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';
۴. رفع تغییر مسیر HTTP وردپرس به HTTPS
وردپرس درخواستهای HTTP را بهطور خودکار به HTTPS هدایت نمیکند، مگر اینکه به او بگویید این کار را انجام دهد. اگر از افزونهای مانند Really Simple SSL استفاده میکنید، از تغییر مسیرها مراقبت میکند. در غیر این صورت، باید به صورت دستی تغییر مسیرها را تنظیم کنید.
برای تنظیم تغییر مسیر HTTP به HTTPS، باید کد زیر را به فایل htaccess. خود اضافه کنید.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
امیدواریم این مقاله به شما در رفع برخی از مشکلات رایج SSL/HTTPS در وردپرس کمک کرده باشد. همچنین ممکن است بخواهید راهنمای امنیتی نهایی وردپرس ما را ببینید یا فهرست راه های اثبات شده ما را برای کسب درآمد از وبلاگ نویسی با وردپرس بررسی کنید.