انتقال سایت وردپرسی به SSL (گواهینامه اس اس ال) ممکن است مشکلات رایجی را بوجود آورد. مشکلاتی مانند ایجاد خطاهایی مانند "Your Connection is not private" و...! در ادامه این مطلب قصد داریم به شما آموزش دهیم تا بتوانید مشکلات رایج گواهینامه SSL را در سایت خود رفع کنید.
گواهینامه اس اس ال (SSL) یا پروتکل HTTPS یک روش رمزگذاری شده که امنیت اتصال بین مرورگر و سرور های سایت را بالا می برد. SSL به طوری کار می کند که اطلاعات رد و بدل شده بین کاربر و سرور های سایت را به صورت کد جا به جا می کنید و این امر باعث شده تا هکر ها نتوانند به اطلاعات کاربران دسترسی پیدا کنند.
پس در نتیجه می توان گفت در کل استفاده از گواهینامه اس اس ال برای سایت ها مخصوصا سایت هایی که در آنها پرداخت هایی انجام می شود، نیاز است.
گواهینامه اس اس ال یک مزیت دیگری هم برای رتبه بندی سایت در گوگل و سایر موتور های جستجوگر دارد. معمولا گوگل به وب سایت هایی که دارای گواهینامه اس اس ال هستند رتبه بالاتری می دهد و آنها را در صفحات اول نتایج نشان می دهد.
اگر وب سایتی ادعا کند که پروتوکل HTTPS دارد اما HTTPS آن با گواهینامه SSL آن مطابقت نداشته باشد، صفحه ای مانند تصویر زیر نمایان می شود.
سال گذشته، گوگل اعلام کرد که برای سایت هایی که از گواهینامه SSL استفاده می کنند، مزیت هایی را در نظر می گیرد. به همین سبب، برای تشویق صاحبان سایت ها برای دریافت گواهینامه SSL سایت هایی که گواهینامه ندارند را "غیر امن" نشان می دهد و همین دلیل باعث می شود که کاربران گوگل بیشتر به سایت هایی بروند که اس اس ال دارند و به عنوان یک سایت امن در گوگل وجود دارند.
عنوان "غیر امن" یا "Not Secure" در مرورگر ها که برای وب سایت هایی که اس اس ال ندارند، باعث می شود کسب و کارشان بدتر شود و مشتریان و کاربران خود را از دست بدهند زیرا همانطور که گفتیم، بیشتر کاربران و مشتریان به دنبال سایت ها و فروشگاه های اینترنتی می روند که دارای گواهینامه SSL باشند.
این پیام خطا را معمولا مرورگر گوگل کروم نشان می دهد و سایر مرورگر ها این خطار را کمی متفاوت تر نشان می دهند و به شما هشدار می دهند که اتصال میان شما و سایت مورد نظر امن نیست.
این پیام خطا توسط مرورگر ها نمایان می شود زیرا مرورگر ها گواهینامه اس اس ال وب سایت ها را قبول نمی کنند. این خطا ممکن است به دلایل زیر رخ بدهد:
1. ممکن است گواهینامه SSL برای یک دامنه متفاوت دیگر و یا یک ساب دامین ثبت شده باشد.
2. ممکن است گواهینامه SSL منقضی شده باشد.
3. ممکن است مرورگر شما گواهینامه SSL سایت را به رسمیت نشناسد.
اگر شما گواهینامه SSL خریداری کرده اید و از شرکت میزبانی هاست سایت خود درخواست کرده اید تا گواهینامه را برای شما نصب کند، با آنها تماس بگیرید و درخواست کنید تا این مشکل را حل کنند.
اگر شما گواهینامه SSL را خریداری کرده اید و به صورت دستی آن را برای سایت خود فعال کرده اید، با پشتیبان شرکت ارائه دهنده SSL خود تماس بگیرید و از آنها درخواست کنید تا مشکل را حل کنند.
گاهی ممکن است برخی از محتوای وب سایت شما (اعم از تصاویر، اسکریپت، ویدیو و...) هنوز با پروتکل HTTP در سایت وجود داشته باشند. این امر باعث می شود تا وب سایت شما در مرورگر ها به صورت "Not Secure" نمایان شود.
برای رفع این خطا، دو راه وجود دارد که به دلخواه می توانید یکی از آنها را برای رفع خطا استفاده کنید.
راه اولی که ما به شما پیشنهاد می کنیم و بسیار ساده و تضمینی می باشد، استفاده از پلاگین Really Simple SSL می باشد. این افزونه، محتوا های مخلوط و با پروتکل نا امن را شناسایی می کند و پروتکل آنها را به HTTPS تغییر می دهد.
برای انجام این کار، ابتدا افزونه را دانلود کرده و آن را بر روی وب سایت وردپرسی خود نصب کنید. پس از نصب و فعال کردن افزونه در سایت، می توانید تنظیمات مربوط به آن را در بخش SSL < تنظیمات در منوی وردپرس خود مشاهده کنید.
هنگامی که افزونه را فعال می کنید، در نوار بالایی وردپرس خود، پیغام فعال کردن و رفع خطاهای SSL را توسط این افزونه مشاهده می کنید. تنها کاری که لازم است انجام بدهید این است که بر روی دکمه Active SSL کلیک کنید تا به صورت اتوماتیک افزونه کار خود را انجام دهد.
راه دوم به صورت دستی می باشد و ما این راه را موثر تر و بهتر می دانیم.
اول از همه باید مطمئن شوید که پروتکل آدرس سایت شما در تنظیمات وردپرس HTTPS می باشد. برای انجام این فرآیند، به بخش عمومی < تنظیمات در منوی وردپرس خود بروید و آدرس وردپرس و آدرس سایت را بررسی کنید که هر دو با پروتکل HTTPS شروع بشوند.
اگر یکی از این دو آدرس با پروتکل 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).
سپس بر روی دکمه Run Search/Replace کلیک کنید تا فرآیند انجام شود و تمامی آدرس های قدیمی با پروتکل HTTP با آدرس HTTPS تغییر کنند.
وردپرس به شما این امکان را می دهد تا بتوانید با قرار دادن کد، گواهینامه اس اس ال را در وب سایت خود تعمیر کنید. برای این کار، فایل 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 استفاده می کنند، تصاویر، فایل های تصویری و گالری ها هستند. برخی از آن ها هم می توانند اسکریپت ها و استایل شیت ها باشند.
اکثر آدرس فایل های موجود در سایتتان، در دیتابیس وردپرس وجود دارد. تنها کاری که در اینجا نیاز است انجام دهید این است که تمامی URL های قدیمی که از http استفاده می کردند را حذف کرده و بجای آن ها از URL های جدید که از HTTPS استفاده می کنند قرار دهیم.
برای انجام این فرایند، ابتدا افزونه Better Search Replace را در وردپرس خود نصب و فعال کنید.
پس از آن، نیاز دارید که به بخش تنظیمات اصلی افزونه بروید. به بخش "Better Search Replace < ابزارها" در منو وردپرس خود رفته و مانند تصویر زیر، در بخش "Search for" آدرس سایت خود را با http وارد کنید و در بخش "replace with" آدرس سایت خود را با Https وارد کنید.
سپس در باکس زیر، تمامی URL هایی که از http استفاده می کنند نمایش داده می شود. حال شما نیاز دارید که تیک "Run as dry run" را برداشته و پس از آن بر روی دکمه "Run Search/Replace" کلیک کنید.
یکی دیگر از دلایل رایج بوجود آمدن خطا Mixed Content، وجود آدرس های http در کد گذاری قالب سایت وردپرس است. شما برای رفع این مشکل، نیاز دارید تا ابزار بررسی مرورگر خود یعنی Inspect Tool را فعال کرده و در قالب سایت خود به جستجو URL هایی که از HTTP استفاده می کنند بپردازید.
پس از پیدا کردن آدرس های http شما نیاز دارید تا آن ها را در قالب خود ویرایش کرده و بجای http از https در آدرس ها استفاده کنید. این روش شاید کمی سخت باشد اما می تواند ارور Mixed content را رفع کند.
برخی از ارور های Mixed Content ممکن است بر اثر کدگذاری اشتباه افزونه های وردپرس صورت می گیرد. ما پیشنهاد نمی کنیم که فایل های افزونه ها را ویرایش کنید.
تنها کاری که در اینجا می توان انجام داد، اطلاع دادن این مشکل به سازندگان افزونه می باشد. اگر آن ها پاسخگو نبودند یا نتوانستند مشکل را حل کنند، بهتر است به دنبال یک جایگزین بهتر برای آن ها بگردید.
ابزار وبمستر گوگل (Google Search Console) وب سایت های http و https را دو وب سایت متفاوت می داند. پس بهتر است پس از تغییر دادن سایت خود به https، آدرس جدید سایت خود را در گوگل وبمستر تولز وارد کنید.
خیلی راحت برای انجام این فرایند، در ابتدا می توانید وارد اکانت Google Search Console خود شده و بر روی گزینه ADD A PROPERTY کلیک کنید (مانند تصویر بالا).
پس از آن، یک پاپ آپ برای شما باز خواهد شد که در آن باید آدرس سایت خود را به همراه پروتکل https وارد کنید (همانند تصویر زیر).
پس از آن، کار های مربوط به تاییدیه و احراز هویت در گوگل را باید انجام دهید.
پس از آن، شما موفق شده اید که وب سایت خود را با پروتکل https در Google Search Console ثبت کنید!
خب دوستان امیدوارم که تونسته باشید استفاده های لازم رو از این مطلب کرده باشید. اگر هر گونه سوال یا مشکلی در رابطه با این مطلب داشتید، خیلی راحت می توانید آن را در بخش دیدگاه ها مطرح کنید :)
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.