Retry

شما هم خطای Mixed content رو در وردپرس می بینید؟ خب خوشبختانه برطرف کردن این خطا فقط چند دقیقه زمان میبره. پس توی این آموزش کنار ما باشید تا نحوه رفع خطای محتوای مخلوط در وردپرس رو با هم مرور کنیم.

یکی از رایج ترین خطاهای وردپرس، خطای Mixed content در وردپرس است. مسبب اصلی این خطا هم تنظیمات اشتباه گواهی SSL (یا همان پروتکل HTTPs) هستند. بنابراین برای برطرف کردن این خطا هم باید به سراغ همین تنظیمات برویم. در این آموزش تصویری از ژاکت، این خطا را با هم قدم به قدم حل می کنیم.

 خطای Mixed content در وردپرس، معمولاً عملکرد وب سایت رو تحت تأثیر قرار نمیده! اما متأسفانه باعث میشه که سئو و تجربه کاری به خوبی قبل نباشن. پس بهتره چند دقیقه وقت صرف کنید و با مراحلی که در ادامه می‌ بینیم، این خطا رو برطرف کنید.

چرا خطای خطای Mixed content در وردپرس را دارم؟

همانطور که اشاره کردیم، ریشه این خطا (که به آن خطای Mixed content هم می گویند) در تنظیمات غلط HTTPS / SSL است. پس به یک نتیجه مهم می رسیم: ” خطای Mixed content در وردپرس وقتی اتفاق می افتد که گواهی SSL فعال باشد”. در واقع این خطا در سایت هایی که هنوز HTTP هستند، رخ نمی دهند.

اما چه می شود که این خطا رخ می دهد؟ گاهی اوقات حتی وقتی گواهی SSL را فعال می کنیم، باز هم بعضی از محتواهای سایت با همان پروتکل HTTP انتقال داده می شوند! این محتواها می توانند یک تصویر، ویدئو، فایل های CSS یا Javascript و … باشند. وقتی چنین اتفاق می افتد، می گوییم خطای Mixed content یا خطای Mixed content رخ داده است.

حالا شاید بپرسید که خب اصلاً چرا باید گواهی SSL را فعال کنیم؟ در جواب این سؤال، گریزی به گواهی SSL می زنیم و به زبانی ساده با پروتکل HTTPs آشنا می شویم.

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

اگر سایتی دارید که هنوز گواهی SSL را برای آن فعال نکرده اید، همین حالا آب دستتان است زمین بگذارید و این گواهی را در عرض چند دقیقه برای سایت تان فعال کنید. چرا؟

وقتی گواهی SSL را برای سایت فعال می کنید، از این به بعد ابتدای دامنه سایت، به جای HTTP، کلمه HTTPs را می بینید. HTTPs یک پروتکل امنیتی است که نوع انتقال داده ها را تعیین می کند. وقتی پروتکل سایت تان HTTP است، اطلاعاتی که با این سایت رد و بدل می شوند، امنیت زیادی ندارند؛ بنابراین حتی هکرهای نه چندان حرفه ای هم می توانند این اطلاعات را در راه انتقال سرقت کنند! اما وقتی پروتکل سایت را به HTPPs تغییر می دهید، ورق بر می گردد؛ چون پروتکل HTPPs با یک روش سطح بالاتر و قوی تر داده ها را کدگذاری می کند. بنابراین کار دزدیدن اطلاعات هم برای هکرها به مراتب سخت تر می شود.

دقیقاً به خاطر همین قدرتی که پروتکل HTTPs دارد، مرورگر کروم (و حتی موتور جست و جوی گوگل) به همه سایت هایی که فقط HTTP هستند، یک عنوان را اطلاق می کنند: “ناامن”! پس به خصوص اگر قرار است در سایت تان اطلاعات کاربران را دریافت کنید و نقل و انقالات مالی هم داشته باشید، گواهی SSL از ضروریات کارتان به حساب می آید.

خوب است این را هم بدانید که وقتی گواهی SSL را فعال می کنید، در سمت چپ URL سایت تان، یک آیکون قفل ظاهر می شود:

گواهی امنیت سایت ژاکت

چگونه گواهی SSL را فعال کنم؟

البته موضوع بحث ما در این آموزش فعال کردن گواهی SSL نیست. اما به طور کلی باید اشاره کنیم که برای فعال کردن این گواهی دو راه دارید:

  1. از هاستی استفاده کنید که این قابلیت را به طور خودکار برایتان فعال می کند (بعضی شرکت ها این خدمات را ارائه می دهند).
  2. یک افزونه مثل Really Simple SSL استفاده کنید.

اگر نیاز به راهنمایی بیشتری دارید، می توانید از آموزش فعالسازی SSL (به صورت رایگان) در وبلاگ ژاکت استفاده کنید تا همین امروز پروتکل HTTPs را برای سایت تان فعال کنید.

نکته: افزونه Really Simple SSL را می توانید در مخزن افزونه های وردپرس به صورت رایگان پیدا کنید. با همین نسخه رایگان هم می توانید گواهی SSL را برای سایت تان فعال کنید. اما این افزونه یک نسخه Pro هم دارد که امکانات بیشتری را به شما می دهد؛ مثل:

  • فعال کردن HSTS (یک هدر امنیتی که باعث می شود وب سایت کلاً دیگر با پروتکل HTTP باز نشود)
  • پیکربندی سایت برای فعال کردن HSTS Preload List (اضافه کردن سایت به لیست HSTS Preload مرورگرها)
  • فعالسازی هدرهای امنیتی پیشرفته تر
  • اطلاع رسانی از زمان انقضای گواهی SSL
  • برطرف کردن خطای Mixed content (بله؛ این افزونه هم می تواند به رفع خطای Mixed content در وردپرس کمک کند. ما در ادامه یک افزونه دیگر را هم برای این کار معرفی می کنیم. بنابراین می توانید از هر یک از این دو افزونه برای رفع این خطا استفاده کنید).

لازم است اشاره کنیم که نسخه اورجینال و استاندارد افزونه Really Simple SSL Pro را می توانید از ژاکت تهیه کنید.

از کجا بفهمم خطای Mixed content در سایتم اتفاق افتاده؟

اگر گواهی SSL را فعال کرده باشید، ممکن است به جای آن آیکون قفل (که بالاتر درباره اش صحبت کردیم)، آیکون قفل شکسته یا آیکون Information (اطلاعات) نشان داده شود:

خطای عدم امنیت

این آیکون به ما می گوید که یک جای کار گواهی SSLتان می لنگد. به طور دقیق تر باید بگوییم که این آیکون یعنی بعضی از قسمت های سایت تان هنوز با پروتکل HTTP منتقل می شود! این دقیقاً همان خطای Mixed content در وردپرس است.

چطور بدانم کدام بخش سایت هنوز در بستر HTTP است؟

برای رفع خطای Mixed content در وردپرس نیازی نیست که بدانید دقیقاً کدام بخش سایت مشکل دارد؛ چون ما از یک افزونه استفاده می کنیم و این افزونه خودش کل سایت را اسکن می کند و مشکلات را حل می کند. اما خب اگر مایل باشید، می توانید این مشکل را به صورت دستی هم حل کنید. برای این کار هم باید بدانید که دقیقاً کدام بخش ها دچار این خطا هستند.

برای این که متوجه شوید که دقیقاً کدام بخش های سایت هنوز پروتکل HTTPs را ندارند، می توانید از ابزار “Inspect” استفاده کنید. Inspect یکی از ابزارهای خود مرورگرهاست که کار با آن خیلی راحت است.

برای استفاده از این ابزار، وارد سایت تان شوید، روی صفحه راست کلیک کنید و گزینه “Inspect” را انتخاب کنید. این ابزار تقریباً در همه مرورگرها این ابزار را دارند؛ اما بهتر است از مرورگر کروم برای این کار استفاده کنید.

اینسپکت گرفتن

با این کار یک پنجره باز می شود که کدهای سایت تان را نشان می دهد. حالا اگر دقت کنید، می بینید که در تب “Console” بعضی جاها یک پیام خطا نشان داده می شود:

خطای محتوای مخلوط

این قسمت ها دقیقاً همان بخش هایی هستند که خطای Mixed content را دارند. پس می توانید با اصلاح یک پست، صفحه، یکی از فایل های قالب سایت و … (بسته به این که این خطا کجا نشان داده می شود)، ارور محتوای مخلوط را به صورت دستی برطرف کنید.

چرا بهتر است از این روش دستی برای رفع خطای Mixed content در وردپرس استفاده نکنیم؟

در حالت عادی بهتر است خطای Mixed content را به صورت دستی برطرف نکنیم. چرا؟ به دو دلیل؛ اول این که این کار طبیعتاً کمی سخت است. اما یک دلیل مهم تر هم وجود دارد.

بعضی از محتواهای سایت پویا هستند و دائماً تغییر پیدا می کنند. از طرف دیگر ما دائماً داریم محتواهای جدید به سایت اضافه می کنیم. حالا نکته اینجاست که هر بار که محتواهای سایت عوض می شوند یا هر بار که محتوای جدیدی به سایت اضافه می کنیم، ممکن است محتواها مشکل دار باشند! پس ما به ناچار باید هر چند وقت یک بار با ابزار Inspect کدها را چک کنیم و مشکلات را حل کنیم. این در حالی است که می توانیم مشکل خطای مخلوط را فقط با نصب یک افزونه برای همیشه حل کنیم. چون این افزونه ها دائماً سایت را رصد می کنند و خودشان به طور خودکار محتواهای مخلوط را اصلاح می کنند.

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

رفع خطای Mixed content در وردپرس با یک افزونه

بله؛ اینجا هم پای یک افزونه در میان است! راحت ترین روش رفع خطای Mixed content در وردپرس، نصب افزونه “SSL Insecure Content Fixer” است. پس اول از همه این افزونه را در وردپرس تان نصب و فعال کنید. افزونه SSL Insecure Content Fixer را می توانید در مخزن افزونه های خود وردپرس پیدا کنید.

نصب افزونه SSL Insecure Content Fixer

وقتی این افزونه را نصب و فعال می کنید، در گزینه “تنظیمات” منوی اصلی وردپرس، یک گزینه تحت عنوان “SSL Insecure Content Fixer” اضافه می شود.

تنظیمات افزونه SSL Insecure Content Fixer

روی این گزینه کلیک کنید تا به صفحه تنظیمات افزونه بروید. اولین چیزی که در این صفحه می بینید، چند گزینه زیر هستند:

  1. Simple
  2. Content
  3. Widgets
  4. Capture
  5. Capture all

تنظیمات اولیه SSL Insecure Content Fixer

اما این گزینه ها چه هستند؟ هر یک از این گزینه ها، تعیین می کنند که خطای Mixed content، در چه سطحی برطرف شود. کدام گزینه را باید انتخاب کنیم؟ بیایید با این گزینه ها بیشتر آشنا شویم.

نکته مهم: وقتی گزینه جدیدی را در این قسمت انتخاب می کنید، حتماً باید گزینه “ذخیره تغییرات” را در انتهای صفحه انتخاب کنید تا این روش جدید روی سایت اعمال شود. در واقع با انتخاب هر یک از این گزینه ها و ذخیره تغییرات، مراحل رفع خطای Mixed content در وردپرس به طور خودکار شروع می شوند.

Simple.1:

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

Content.2:

اگر گزینه Simple نتوانست مشکل را حل کند، گزینه Content را انتخاب کنید. این گزینه همه کارهای simple را انجام می دهد، به علاوه این که مشکلات درون محتوایی و ابزارک های متنی را هم اسکن می کند.

Widgets.3:

یک سطح بالاتر، Widgets را داریم. این گزینه تمام کارهای Content را می کند، به علاوه این که منابع تمام ابزارک های بارگذاری را هم اصلاح می کند.

4. Capture:

این گزینه، همه چیز سایت را (از هدر تا فوتر) اسکن می کند و همه URLهای سایت را اصلاح می کند. اما دقت کنید که این گزینه کُندتر از گزینه های قبلی است و به احتمال زیاد بر عملکرد سایت تان هم تأثیر منفی می گذارد. پس فقط اگر گزینه های قبلی جواب ندادند، این گزینه را انتخاب کنید.

5. Capture All:

اگر هیچ کدام از گزینه های قبلی جوابگو نبودند، به سراغ Capture All بروید. این گزینه همه چیز را بدون استثناء رصد می کند تا مشکل را حل کند. اما مشکل اینجاست که بیشترین تأثیر منفی را بر عملکرد سایت دارد. پس تا زمانی که مجبور نیستید، از این گزینه استفاده نکنید.

حالا که با کاربرد این گزینه ها آشنایید، دیگر می دانید که باید از همان گزینه اول شروع کنید. بعد اگر با آن روش مشکل حل نشده بود، گزینه بعد را فعال کنید. چون هر یک از این گزینه ها، در واقع یک Level قوی تر از گزینه قبلی خود هستند (و طبیعتاً با انتخاب گزینه های قوی تر، اصلاح سایت هم زمان بیشتری طول می کشد و تأثیرات منفی آنها هم روی سایت بیشتر است).

نکته: وقتی یکی از این گزینه ها را انتخاب می کنید و قبل از این که چک کنید که آیا مشکل برطرف شده یا نه، بهتر است یک بار کش وردپرس را پاک کنید. برای این کار می توانید از افزونه های پاکسازی کش وردپرس، مثل افزونه Fastest Cache استفاده کنید.

گزینه های پیشرفته تر برای رفع خطای Mixed content در وردپرس

همانطور که در همین صفحه تنظیمات افزونه SSL Insecure Content Fixer می بینید، بعد از گزینه های بالا، یک سری تابع دیگر هم برای رفع خطای Mixed content در وردپرس وجود دارند.

لیست تنظیمات افزونه SSL Insecure Content Fixer

این روش ها معمولاً وقتی انتخاب مناسبی هستند که از Cloudflare CDN، وب سرور nginx یا خدمات این چنینی استفاده می کنید. اما در حالت عادی، اگر روش های قبلی مشکل را حل نکردند، این گزینه ها را هم انتخاب کنید.

در آخر

در این آموزش با هم یک روش بسیار ساده و همیشگی را برای رفع خطای Mixed content در وردپرس با هم دیدیم. اما این خطا، فقط یکی از ارورهای وردپرس است.

وردپرس جزو سیستم هایی است که معمولاً خطاهای زیادی می دهد؛ اما خبر خوب این که اکثر این خطاها به راحتی قابل حل شدن هستند. اگر شما هم با وردپرس سر و کار دارید، پیشنهاد می دهیم که سری به راهنمای خطاهای وردپرس در وبلاگ ژاکت بزنید. به کمک این راهنما همیشه به لیستی از رایج ترین خطاهای وردپرس دسترسی خواهید داشت.

دیدگاه‌ها

Comments
امتیاز فراموش نشه

نشانی ایمیل شما منتشر نخواهد شد.