Sprawdź na żywo wyniki naszego SEO i widoczności w AI dla Analizafirm.plZobacz →

Mixed content na WordPressie: jak naprawić błąd SSL?

Kamil Rybicki · Opublikowano: · Zaktualizowano:

Mixed content na WordPressie znika, gdy każdy zasób ładowany przez stronę: obrazek, skrypt, arkusz stylów czy element osadzony w treści wpisu, wskazuje na adres https zamiast http. Na małej witrynie taką podmianę da się przeprowadzić jedną operacją w bazie danych w kilkanaście minut, w rozbudowanym sklepie bywa to praca na kilka godzin, bo trzeba przejrzeć też ustawienia motywu, wtyczek i osadzonych widgetów. Sam certyfikat SSL rzadko bywa tu winny, błąd pojawia się wtedy, gdy część zasobów uparcie ładuje się starym protokołem mimo poprawnie wystawionego certyfikatu.

Co to jest ostrzeżenie o mixed content?

Ostrzeżenie o mixed content pojawia się, gdy strona z ważnym certyfikatem SSL i tak ładuje część swoich zasobów przez niezaszyfrowane połączenie http. Przeglądarka sygnalizuje to inaczej niż brak certyfikatu: zamiast czerwonego ostrzeżenia "niezabezpieczona" pokazuje ikonę informacji przy adresie albo komunikat w konsoli, bo połączenie z serwerem jako całość wciąż jest szyfrowane, tylko pojedyncze elementy nie są.

Dziś większość przeglądarek, w tym Chrome i Firefox, automatycznie próbuje podmienić protokół takich zasobów na https przy ładowaniu strony. Jeśli zasób jest dostępny również pod https, użytkownik w ogóle nie zobaczy ostrzeżenia. Jeśli nie jest, przeglądarka po prostu go nie wyświetli, więc problem zamiast ikony w pasku adresu objawia się jako brakujący obrazek, niedziałający skrypt albo pusty formularz. To gorsza wiadomość dla właściciela strony niż jeszcze kilka lat temu: zamiast czytelnego ostrzeżenia dostaje po prostu zepsutą stronę, bez wskazówki, co się zepsuło.

Jakie są rodzaje certyfikatów SSL i który wybrać dla firmowej strony?

Certyfikaty SSL różnią się poziomem weryfikacji, nie siłą szyfrowania, więc dla większości firmowych witryn wystarcza najprostszy wariant. Dziś darmowy certyfikat Domain Validation instaluje niemal każdy hosting automatycznie, więc dla bloga, wizytówki czy strony usługowej nie ma powodu za niego dopłacać.

Trzy typy różni zakres weryfikacji:

  • Domain Validation (DV): potwierdza tylko, że wnioskujący ma kontrolę nad domeną. Szyfruje połączenie identycznie jak droższe warianty, wystawiany jest automatycznie i najczęściej bezpłatnie.
  • Organization Validation (OV): dodaje weryfikację firmy stojącej za domeną, wymaga dokumentów rejestrowych i trwa dłużej.
  • Extended Validation (EV): najpełniejsza weryfikacja, obejmuje status prawny i fizyczną obecność firmy.

Certyfikat EV kiedyś wyróżniał się w pasku adresu nazwą firmy obok kłódki. Dziś przeglądarki eksponują to znacznie rzadziej niż jeszcze kilka lat temu. Dla sklepu internetowego czy instytucji finansowej OV lub EV bywa nadal uzasadnione ze względów formalnych i wizerunkowych, ale dopłata do wyższego wariantu wyłącznie po to, by "wyglądać bezpieczniej" w oczach klienta, dziś zwraca się rzadziej niż w momencie premiery tej technologii.

Co najczęściej powoduje mixed content na WordPressie?

Najczęstszą przyczyną jest migracja z http na https, po której w bazie danych albo w kodzie motywu zostają stare, zakodowane na stałe adresy. Problem pojawia się też bez żadnej migracji, gdy motyw lub wtyczka od początku odwołują się do zasobów przez http.

Najczęstsze konkretne źródła to:

  • linki do plików CSS lub JavaScript wpisane w kodzie motywu z protokołem http zamiast https,
  • obrazki i osadzone materiały (mapy, filmy, widżety społecznościowe) z adresem http zapisanym na stałe w treści wpisu lub w ustawieniach wtyczki,
  • odwołania do zewnętrznych czcionek, ikon albo skryptów analitycznych osadzonych ręcznie w kodzie strony,
  • nieaktualizowane od dawna wtyczki i motywy, w których nikt nigdy nie zaktualizował adresów na https.

Ten ostatni punkt ma znaczenie wykraczające poza sam mixed content. Z raportów bezpieczeństwa WordPressa wynika, że zdecydowana większość znanych podatności pochodzi właśnie z wtyczek i motywów, nie z samego rdzenia systemu, jak pokazuje raport Patchstack o stanie bezpieczeństwa WordPressa. Wtyczka, która od lat nie dostała aktualizacji i przez to ciągnie za sobą stare adresy http, jest zwykle też tą samą wtyczką, która nie dostała łatek bezpieczeństwa.

Gdzie szukać elementów, które powodują błąd mixed content?

Najszybciej znajduje się je w konsoli przeglądarki, która dla każdego zablokowanego lub podmienionego zasobu wypisuje jego dokładny adres. Wystarczy kliknąć prawym przyciskiem myszy na stronie, wybrać "Zbadaj element" (Inspect), przejść do zakładki "Konsola" (Console) albo od razu użyć skrótu Ctrl+Shift+J w Chrome na Windows i Linuksie.

Konsola pokazuje listę adresów http, które strona próbowała załadować, razem z plikiem, w którym są zapisane. Coraz częściej administratorzy stron wklejają taki log wprost do asystenta AI i proszą o wskazanie, w których plikach motywu albo w której tabeli bazy danych szukać konkretnego adresu, co skraca fazę diagnozy zwłaszcza na dużych, rozbudowanych stronach. Model nie zajrzy do bazy danych za nikogo, ale potrafi błyskawicznie rozpoznać wzorzec w wklejonym błędzie i podpowiedzieć, czy problem leży w motywie, wtyczce, czy w treści wpisów.

Jak naprawić mixed content przez podmianę adresów w bazie danych?

Gdy lista problematycznych adresów jest już gotowa, każdy z nich trzeba podmienić z http na dokładnie ten sam adres z https. Najwygodniej zrobić to wtyczką do wyszukiwania i zamiany treści w bazie danych, na przykład Better Search Replace, która obsługuje też dane zserializowane, więc nie psuje ustawień zapisanych w bardziej złożonym formacie.

Po instalacji w polu "Search for" wpisuje się stary adres z http, w polu "Replace with" dokładnie ten sam adres z https, a operację uruchamia przycisk "Run Search/Replace". Krok trzeba powtórzyć dla każdego adresu z listy z konsoli, a po zakończeniu warto usunąć wtyczkę, żeby niepotrzebnie nie obciążała witryny. WordPress w panelu administracyjnym potrafi dziś samodzielnie zasugerować taką aktualizację adresów po przełączeniu strony na https, co jeszcze kilka lat temu trzeba było robić wyłącznie ręcznie.

Czy da się naprawić mixed content bez grzebania w bazie danych?

Tak, wtyczka naprawiająca mixed content na bieżąco jest szybszym rozwiązaniem niż ręczna podmiana adresów, choć działa dopóki jest aktywna i aktualizowana. Really Simple SSL pozostaje tu najpopularniejszym wyborem: po instalacji przechwytuje wyjście strony i podmienia protokół w locie, bez zmian w bazie danych.

Ta sama wtyczka dziś oferuje też dodatkowe funkcje bezpieczeństwa poza samą naprawą mixed content, na przykład wymuszanie nagłówka HSTS, który każe przeglądarce zapamiętać, że dana domena ma się łączyć wyłącznie przez https. Zanim zainstaluje się dowolną wtyczkę tego typu, warto sprawdzić datę jej ostatniej aktualizacji w repozytorium WordPressa. Rozwiązanie porzucone przez autora prędzej czy później przestaje działać z nowszą wersją WordPressa albo PHP, a wtedy problem wraca w gorszym momencie niż teraz.

Ile kosztuje zignorowanie ostrzeżenia o mixed content?

Zignorowany mixed content kosztuje realnie stracone transakcje, nie tylko gorszy wygląd w pasku adresu. Gdy przeglądarka nie może podmienić protokołu automatycznie, po prostu nie wyświetla zasobu, więc na stronie produktu w sklepie internetowym zdjęcie może po prostu zniknąć, a klient rzadko dopytuje, dlaczego karta produktu wygląda na uszkodzoną, tylko zamyka kartę przeglądarki.

Drugi koszt dotyczy formularzy. Przeglądarki oznaczają pola formularza wysyłane przez http wyraźnym ostrzeżeniem tuż przy polu, a to akurat miejsce, w którym klient wpisuje dane kontaktowe albo adres do wysyłki. Trzeci koszt jest pośredni i dotyczy adresu strony jako całości. Jeśli wersje http i https tej samej podstrony są dostępne równolegle, wyszukiwarka może potraktować je jako duplikaty tej samej treści zamiast skupić całą wartość adresu w jednym miejscu, jak opisuje Google Search Central. Dla strony z niewielkim ruchem to niewielka strata, dla sklepu z setkami podstron produktowych to potencjalnie rozproszona widoczność na frazach, które akurat sprzedają.

Jest jeszcze czwarty koszt, rzadziej łączony z mixed content. Zaniedbane strony, na których od dawna nikt nie aktualizuje wtyczek i motywów, trafiają też częściej na listy zainfekowanych witryn, jak pokazuje raport Sucuri o zagrożeniach dla stron internetowych. Mixed content bywa pierwszym widocznym objawem takiego zaniedbania, zanim ujawni się ono w poważniejszy sposób.

Koszt samej naprawy jest w tym zestawieniu niewielki. Poniższa tabela pokazuje, czym różnią się dwie główne metody:

MetodaCzas wdrożeniaTrwałośćDla kogo
Podmiana adresów w bazie danychzwykle do godziny na małej witrynie, więcej przy rozbudowanym sklepietrwała, nie wymaga dodatkowej wtyczki po zakończeniustrony ze stałą listą podstron i rzadkimi zmianami treści
Wtyczka naprawiająca dynamicznie (np. Really Simple SSL)kilka minutdziała, dopóki wtyczka jest aktywna i aktualizowanastrony z często zmienianą treścią, brak wygodnego dostępu do bazy
Poprawka w kodzie motywu lub wtyczkiod godziny do kilku dni, zależnie od deweloperatrwała u źródła problemubłąd powracający po każdej aktualizacji motywu lub wtyczki

Najczęściej zadawane pytania

Czy błąd mixed content oznacza, że certyfikat SSL jest nieważny?

Nie, certyfikat może być poprawnie zainstalowany i ważny, a mixed content i tak wystąpi. Błąd bierze się z pojedynczych zasobów wskazanych na stałe pod adresem http, nie z samego certyfikatu.

Czy przeglądarka zawsze blokuje treść mixed content, czy tylko ostrzega?

Zależy od typu zasobu. Skrypty i style, które mogłyby zmienić działanie strony, są dziś zwykle blokowane od razu, a obrazy i wideo przeglądarka najpierw próbuje podmienić na https i blokuje dopiero, gdy się to nie uda.

Jak długo trwa naprawa mixed content na WordPressie?

Na małej stronie z kilkunastoma podstronami zwykle kilkanaście minut do godziny, jeśli lista problematycznych adresów jest już znana z konsoli przeglądarki. Rozbudowany sklep z wieloma wtyczkami i szablonami produktowymi bywa pracochłonniejszy, bo trzeba sprawdzić też kod motywu, nie tylko treść wpisów.

Czy wtyczka naprawiająca mixed content wystarczy na stałe, czy trzeba też poprawić kod?

Wtyczka rozwiązuje objaw natychmiast, ale problem wraca, jeśli źródło pozostaje niezmienione, na przykład zakodowany na stałe adres http w motywie. Docelowo trwalsze jest poprawienie adresu u źródła, a wtyczkę zostawia się jako zabezpieczenie na wypadek kolejnych, jeszcze niewykrytych przypadków.

Czy mixed content wpływa na pozycje strony w Google?

Wpływa pośrednio, głównie przez ryzyko duplikacji adresów http i https tej samej strony oraz przez gorsze doświadczenie użytkownika, gdy elementy strony się nie ładują. Nie jest to samodzielny czynnik rankingowy o dużej wadze, ale strona z niedziałającymi zdjęciami czy formularzami traci więcej na konwersji niż na samej widoczności.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze wpisy

Jak technologia wspiera nasz dział Google ADS?

Czytaj więcej 

Marka premium: co to znaczy i jak ją zbudować?

Czytaj więcej 

Błąd 404 not found: co to znaczy i jak naprawić w 5 krokach

Czytaj więcej