Co robię w wolnym czasie

WordPress: Mixed Content i jak to naprawić

Masz już certyfikat SSL na swojej stronie, ale przy adresie wyświetla Ci się szare kółko zamiast zielonej kłódki? Sprawdź czy to nie problem Mixed Content.

Tak wygląda poprawny adres URL w pasku adresu:

Gdy na stronie jest problem z odnośnikami, wygląda jak poniżej:

Po kliknięciu na szare kółko wyświeta się więcej informacji, m. in to. że masz prawidłowy certyfikat, ale również ostrzeżenie. Połączenie w trybie Mixed Content oznacza, że pewna zawartość strony jest serwowana jeszcze po starych adresach (z samym http). Treść którą oglądasz na stronie nie jest w pełni zabezpieczona. Osoby postronne mogą śledzić to co na niej robisz oraz podmieniać jej zawartość. Przykładem może być np. podmiana wyświetlanych reklam albo wrzucenie obrazka śledzenia.

Oprócz strony głównej warto sprawdzić także starsze posty, szczególnie te sprzed momentu dodania certyfikatu SSL.

Czy mam problem z Mixed Content?

Najlepiej to sprawdzić otwierając na problematycznej stronie konsolę Narzędzi developerskich.

Przejdź do konsoli Narzędzi Developerskich. Na Google Chrome jest to skrót Command+Option+J (Mac) lub Control+Shift+J (Windows/Linux). Jeśli masz Mozilla Firefox, to możesz przejść przejdź do menu i kliknij “Narzędzia” -> “Informacje o stronie” -> zakładka “Media”. Zobaczysz listę odnośników wraz z protokołem (http/https).

W konsoli Google Chrome pojawi się wykaz ostrzeżeń Mixed Content, np takich jak ten:

Kliknij na strzałkę w żółtym obranowaniu przy liczbie błędów, lista się rozwinie. Poniżej wypisane są niepoprawne odnośniki, zwróć uwagę na ich scieżki. Wszystkie zaczynają się na http://justynawojtczak.com/wp-content/uploads, czyli są to pliki, które zostały pobrane do WordPressa, np. podczas tworzenia treści postów.

Jest bardzo prawropodobne, że ścieżki do tych plików zostały zapisane w bazie danych jeszcze pod starym adresem, z samym http. Aby masowo zmienić te ścieżki na poprawne będziesz potrzebować odpowiedniej wtyczki do WordPressa.

Better Search Replace

Aby masowo podmienić rekordy w bazie danych WordPressa używam wtyczki Better Search Replace. Umożliwia ona znalezienie rekordów zawierających dany ciąg znaków i ich zamianę na inny.

Przydatną opcją jest tryb Dry Run, który pozwala przetestować ustawienia bez zapisywania zmian w bazie.

Uwaga: zanim zdecydujesz się na użycie tej wtyczki, upewnij się, że masz aktualną kopię bazy danych, np. wykonaną za pomocą wtyczki BackUpWordPress.

Poniżej zamieściłam przykład użycia Better Search Replace, która wyszukuje w tabeli wp_posts odnośników do wszystkich obrazków zamieszczonych we wpisach.

Po wprowadzonych zmianach i odświeżeniu strony, powinna pojawić się zielona kłódka 🙂