https و ssl – نحوه رفع خطای محتوای ترکیبی در وردپرس
در بعضی از مواقع ، با اینکه برای وب سایت خود پروتکل امن SSL را تهیه و راه اندازی نموده ایم ، اما با هشدار وخطای مرورگرها (مانند کروم و فایرفاکس و مانند آن) روبرو میشویم که اتصال وب سایت شما را ایمن نمیداند و ظاهراً پروتکل استاندار و ایمن HTTPS نیز فعال نمیباشد.
این خطا با نام خطای محتوی ترکیبی (mixed content error) شناخته میشود که بدلیل تعاریف و تنظیمات نادرست HTTPS – SSL ایجاد میشود.
خطای محتوی توسط مرورگرها به صورت هشدار (Warning) اعلام میشود و ظاهرا بر عملکرد وب سایت شما تاثیری ندارد اما میتواند باعث کاهش بازدید کنندگان وب سایت گردد و از سوی دیگر اگر سایت شما دارای دروازه های پرداخت باشد نیز باعث دردسر خواهد شد. اما مهمتر از اینها میتواند تاثیرات منفی بر سئوی وب سایت بگذارد.
در ادامه نگاهی به گواهی امن SSL و پروتکل HTTPS می اندازیم و در باره رفع خطای محتوی ترکیبی صحبت میکنیم.
پروتکل امن SSL و HTTPS
حتما دیدهاید و میدانید که در ابتدای آدرس هر وب سایتی کلمات کوتاه شدهای مانند HTTP و یا HTTPS قرار دارد، که آنرا یا شما مینویسید و یا توسط مرورگرها اضافه میگردد. http که خلاصه Hypertext Transfer Protocol میباشد ، قرارداد و مجموعه قوانینی است که برای انتقال اطلاعات بین سرویس دهنده و سرویس گیرنده در وب برقرار میشود.
اما با افزایش نفوذگران و دزدان اطلاعات، که در سر راه انتقال، به این اطلاعات دستبرد زده و آنها را برداشت میکنند، لازم آمد که اطلاعات و داده های انتقالی بین سرویس دهنده و سرویس گیرنده ابتدا رمز گذاری و آنگاه منتقل گردد که منجر به تعریف پروتکل HTTPS یاHypertext Transfer Protocol Secure گردید.
جهت پیاده سازی این اتصال امن باید از تکنولوژی SSL یا همان Secure Sockets Layerاستفاده کرد. SSL با استفاده از یک لایه امنیتی، هنگام ارسال اطلاعات، آنها را توسط یک کلید، رمزگذاری، و هنگام دریافت اطلاعات در طرف دیگر ، توسط همان کلید رمزگشایی میشوند و بدین ترتیب از دزدی و سوء استفاده از این اطلاعات به شدت جلوگیری میشود.
اگر ssl به درستی نصب شده باشد و اتصال یک وب سایت، ایمن باشد، میتوان ابتدای آدرس آنرا با https:// شروع نمود و ضمناً علامت یک کلید سبز رنگ نیز در نوار آدرس مرورگر مشاهد خواهد شد.
خطای محتوی ترکیبی – Mixed Content Error
اگر یک وب سایت فاقد گواهی SSL باشد، پیغام نبودن امنیت و یا Not Secure توسط مرورگر و به شکل نمایش “Not Secure” و یا نمایش قفلی که روی آن خطی قرمز و یا ضربدر قرمز کشیده شده، اعلام میگردد.
در بعضی از مواقع با اینکه ما SSL را نصب کردهایم، با اینحال مرورگر پیام خطایی مانند زیر ارسال میکند:
پیام خطای محتوی ترکیبی یا Mixed Content Warning وقتی صادر میشود که در وردپرس به طور همزمان، محتویی با HTTP و محتوی با HTTPS بارگذاری شده است.
هنگام حرکت وب سایت به سوی استفاده از HTTPS ، یکی از مهمترین چالش هایی که ما با آن روبرو هستیم ، آماده سازی و انتقال کلیه محتوی از طریق اتصالات ایمن است ، به عبارت دیگر اگر صفحه ای روی HTTPS بارگیری (Load) شده است ، باید کلیه اجزای (Assests) آن از قبیل عکس ها و فایلها و اسکریپتها و غیره نیز روی HTTPS بارگیری شوند.
وقتی به HTTPS مهاجرت میکنید، باید همه چیز از طریق HTTPS در حال اجرا باشد.
حل مشکل محتوی ترکیبی
برای دیدن قسمتهایی که موجب خطا شده اند باید پنجره DevTools را باز کنیم (web developer tools).
برای این کار :
- در ویندوز کلیدهای F12 و یا CTRL + Shift + I
- در اپل کلیدهای Cmd + Opt + I
را فشار میدهیم . بعد از باز شدن پنجه DevTools به منوی Console میرویم تا خطاهای محتوی ترکیبی را مشاهده کنیم.
از منوی Security هم میتوانیم مبنای اصلی خطا را مشاهده کنیم.
در بسیاری از موارد ، عکس ها هستند که در داخل صفحات وب پروتکل http را به همراه دارند، به همین دلیل میتوان به راحتی و با پیدا کردن آنها، https را جایگزین http نمود.
اگر از مرورگر کروم استفاده نمیکنید و یا تمایل دارید خلاصه سریعی از خطا داشته باشید میتوانید از ابزار رایگان واقع در وب سایت Why No Padlock استفاده نمایید.
این وب سایت ، صفحه های تکی را اسکن کرده و منابع غیر امن را نمایش میدهد.
اگر بخواهید به شکل انبوه و تعداد زیادی از صفحات وب سایت را اسکن کنید میتوانید از SSL Check استفاده کنید که صفحات یک وب سایت وردپرسی https را اسکن کرده و عکس ها و اسکریپتهایی را که موجب خطا میگردند را گزارش میکند. این برنامه تا 400 برگه را به شکل رایگان اسکن میکند.
تغییر در مشخصات عمومی وردپرس
این روش بسیار موثر و مناسب است. در منوی تنظیمات وردپرس وارد زیرمنوی عمومی شوید و آدرس های (url) وردپرس و سایت را از http به https تغییر دهید. البته بهتر است در ابتدا تغغیر را در آدرس سایت انجام داده و ذخیره نمایید و بعد از رفرش دوباره صفحه اقدام به بررسی نتیجه نمایید. و در مرحله بعد اگر مشکل خطا محتوی رفع نشد اقدام به تغییر آدرس وردپرس نمایید.
تذکر: در تمام مواردی که برای بررسی و تست نتیجه اقدام به بارگزاری (رفرش) مجدد وب سایت میکنید ، دقت نمایید که کش مرورگر خالی باشد و یا hard refresh نمایید.
برای آشنایی بیشتر با پاک کردن کش مرورگر میتوانید مقاله ” پاک کردن حافظه پنهان مرورگرها – Hard Refresh” را مطالعه فرمایید.
استفاده از افزونه Better Search Replace
این افزونه قابلیت جستجو و جایگزینی را در تمام وردپرس و دیتابیس های آن در اختیار ما میگذارد.
آنرا باید از مخزن وردپرس دانلود و سپس نصب نمایید. بعد از نصب آن وارد پیشخوان وردپرس شده و از طریق پنل این افزونه آدرس http://yourwebsite.com را جستجو و به جای آن آدرس https://yourwebsite.com را جایگزین نمایید.
نهایتا بعد از انتقال به https و کارکرد درست و ایمن آن ما میتوانیم پیغام های مناسب را به شکل زیر در مرورگرهای خود مشاهد نماییم.
با تشکر از شما . راهنمایی ها و توصیه های شما برای هر چه بهتر شدن این مقاله و مقالات دیگر برای ما ضروری و قابل توجه است. پس ما را از انتقادات وکمک های فکری خود بی نصیب نکنید.
با قدردانی از شما – کیانوش کلانتری
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.