Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🔒 Konfiguracja HTTPS dla WordPress przez Cloudflare — instrukcja krok po kroku

🔒 Konfiguracja HTTPS dla WordPress przez Cloudflare — instrukcja krok po kroku

Wchodzą Państwo na stronę, a przeglądarka krzyczy „Niebezpiecznie". Klient zamyka kartę szybciej, niż zdążą Państwo wyjaśnić, że po prostu nie mają Państwo certyfikatu SSL. Przykro? Bardzo. Zwłaszcza gdy istnieje darmowe rozwiązanie, które konfiguruje się w 20 minut.

HTTPS od dawna nie jest opcją, to kwestia higieny. Google już w 2014 roku oficjalnie ogłosił HTTPS czynnikiem rankingowym, a dziś bez zielonej kłódki wyszukiwarka po prostu obniża pozycje. Przeglądarki oznaczają strony HTTP jako niebezpieczne, odwiedzający odchodzą, konwersja spada. I jeśli hosting żąda pieniędzy za SSL, proszę nie spieszyć się z płatnością.

Ostrzeżenie przeglądarki o niebezpiecznym połączeniu HTTP

Cloudflare daje darmowy certyfikat SSL, CDN i podstawową ochronę przed atakami w bezterminowym darmowym planie. Poniżej znajduje się instrukcja krok po kroku: od rejestracji do sprawdzenia przekierowania 301. Każdy krok został zweryfikowany na dziesiątkach stron, w tym na projektach na WordPressie.

💡 Szybki przegląd:

  • Rejestrują się Państwo w Cloudflare i dodają stronę, system automatycznie przechwytuje rekordy DNS.
  • Wybierają Państwo tryb SSL Flexible w sekcji SSL/TLS, certyfikat aktywuje się bezpłatnie w ciągu godziny.
  • Instalują Państwo wtyczki Cloudflare i Cloudflare Flexible SSL, WordPress zaczyna poprawnie działać z HTTPS.
  • Zastępują Państwo wszystkie linki http:// w bazie danych za pomocą Better Search Replace, cztery przebiegi według wzorców podanych poniżej.
  • Tworzą Państwo Page Rule „Always Use HTTPS", konfigurują automatyczne przekierowanie z HTTP na HTTPS.
  • Sprawdzają Państwo przekierowanie 301 za pomocą Redirect Detective i aktualizują URL strony w ustawieniach WordPressa.

Krok 1: Rejestracja i dodanie strony w Cloudflare

Proszę zarejestrować się na cloudflare.com, potrzebny jest tylko e-mail i hasło. Po zalogowaniu proszę kliknąć „Add a site", wprowadzić domenę (bez www) i poczekać, aż Cloudflare przeskanuje rekordy DNS. System automatycznie znajdzie rekordy A, CNAME, MX i inne, zwykle trwa to 10-30 sekund.

Na następnym ekranie proszę wybrać darmowy plan (Free plan) i zatwierdzić rekordy DNS. Cloudflare zaproponuje zmianę serwerów nazw domeny na swoje, proszę zalogować się do panelu rejestratora domeny i wskazać dwa serwery NS Cloudflare (zostaną one wyświetlone na ekranie). Zmiana NS trwa zwykle od kilku minut do 24 godzin, ale Cloudflare powiadomi e-mailem, gdy domena zostanie aktywowana.

Krok 2: Wybór trybu SSL w panelu Cloudflare

Po aktywacji domeny proszę przejść do sekcji SSL/TLSOverview. Dostępne są tu cztery tryby: Off, Flexible, Full i Full (Strict). Dla WordPressa bez skonfigurowanego certyfikatu serwerowego proszę wybrać Flexible, Cloudflare szyfruje ruch między odwiedzającym a swoim CDN, a połączenie między Cloudflare a Państwa hostingiem pozostaje HTTP. To wystarczy, aby uzyskać zieloną kłódkę w przeglądarce.

Wybór trybu SSL Flexible w panelu Cloudflare

Certyfikat inicjalizuje się automatycznie. W sekcji SSL/TLSEdge Certificates pojawi się status „Active Certificate", zwykle w ciągu godziny, czasem do doby.

Status aktywnego certyfikatu SSL w panelu Cloudflare

Nie czekają Państwo na pełną aktywację, od razu proszę sprawdzić stronę pod adresem https://ваш_домен. Jeśli strona się otworzyła (nawet z błędami mieszanej zawartości), certyfikat działa, proszę przejść do wtyczek.

Krok 3: Instalacja wtyczek Cloudflare dla WordPressa

Przed jakimikolwiek zmianami, backup. Proszę zainstalować Duplicator i wykonać pełną kopię strony. Mówię poważnie: jedno niepoprawne zapytanie do bazy danych i strona padnie. Backup Państwa uratuje.

Teraz dwie wtyczki:

  • Cloudflare Flexible SSL, naprawia pętlę przekierowań, która powstaje w trybie Flexible: WordPress myśli, że działa przez HTTP, a Cloudflare wysyła zapytania HTTPS. Wtyczka podmienia $_SERVER['HTTPS'] na on i strona przestaje wpadać w nieskończone przekierowanie.

  • Cloudflare, oficjalna wtyczka Cloudflare. Włącza Automatic Platform Optimization (APO), buforuje strony na serwerach brzegowych i synchronizuje ustawienia z panelem Cloudflare. Po instalacji proszę wpisać email i globalny klucz API z Dashboard → API Tokens.

Proszę zainstalować obie, aktywować i otworzyć stronę w trybie incognito. Jeśli strony ładują się bez pętli przekierowań, świetnie, idziemy dalej.

Krok 4: Zamiana linków HTTP w bazie danych przez Better Search Replace

Baza danych WordPressa przechowuje setki wewnętrznych linków z http://, do obrazków, skryptów, stylów, innych stron. Dopóki nie zostaną zamienione na https://, przeglądarka będzie narzekać na mieszaną zawartość, a zielona kłódka będzie świecić ostrzeżeniem.

Proszę zainstalować Better Search Replace, 1 mln aktywnych instalacji i ocena 4.3 gwiazdki. Narzędzie działa bezpośrednio w panelu administracyjnym i obsługuje suchy przebieg (dry run).

Proszę ponownie zrobić backup. To czwarta wzmianka i nie jest przypadkowa: wyszukiwanie i zamiana w całej bazie jest nieodwracalna.

Interfejs wyszukiwania i zamiany wtyczki Better Search Replace

Proszę przejść do NarzędziaBetter Search Replace. Proszę wykonać cztery przebiegi ściśle w tej kolejności:

Przebieg 1: Wewnętrzne linki do obrazków (src)

W polu „Znajdź":

1src="http://ваш_домен

W polu „Zamień na":

1src="

Dlaczego: usuwamy domenę z atrybutów src wewnętrznych obrazków, zostawiamy ścieżkę względną. Przeglądarka sama podstawi protokół bieżącej strony.

Przebieg 2: Zewnętrzne linki src

Znajdź:

1src="http://

Zamienić na:

1src="//

Dlaczego: zasoby zewnętrzne (iframe, czcionki, skrypty CDN) przełączamy na format niezależny od protokołu //, obsłużą HTTPS, jeśli jest dostępny.

Przebieg 3: Wszystkie wystąpienia domeny z http

Znajdź:

1http://ваш_домен/

Zamień na:

1https://ваш_домен/

Przebieg 4: Główna domena bez ukośnika

Znajdź:

1http://ваш_домен

Zamień na:

1https://ваш_домен

Każdy przebieg: zaznacz wszystkie tabele (Ctrl+A), odznacz „Uruchomienie próbne", kliknij „Uruchom wyszukiwanie/zamienianie". Po czwartym przebiegu wyloguje Pana/Panią na stronę logowania, to normalne: WordPress przełączył się na HTTPS. Proszę zalogować się ponownie.

Proszę otworzyć witrynę, przejść się po stronach, zajrzeć do konsoli deweloperskiej (F12 → Console). Proszę szukać błędów Mixed Content. Jeśli Pan/Pani znajdzie, proszę ręcznie poprawić pozostałe linki http:// w plikach motywu lub własnych wtyczkach (przez edytor kodu albo ten sam Better Search Replace z precyzyjnymi zamianami).

Krok 5: Konfiguracja przekierowania HTTP → HTTPS przez Page Rules

Obecnie Pana/Pani witryna jest dostępna zarówno przez HTTP, jak i HTTPS. Trzeba zmusić wszystkich odwiedzających (i wyszukiwarki), aby korzystali wyłącznie z HTTPS. Służą do tego Page Rules w Cloudflare.

Proszę przejść do RulesPage Rules i kliknąć Create Page Rule:

Przycisk tworzenia Page Rule w panelu Cloudflare

W polu URL proszę wpisać:

1http://ваш_домен/*

Z rozwijanego menu „Then the settings are" proszę wybrać Always Use HTTPS. Proszę kliknąć Save and Deploy.

Konfiguracja reguły Always Use HTTPS do przekierowania

Teraz przy wejściu na http://ваш_домен odwiedzający jest automatycznie przekierowywany na https://ваш_домен. Proszę otworzyć witrynę przez HTTP w trybie incognito, przekierowanie powinno zadziałać.

Krok 6: Aktualizacja adresu URL witryny w ustawieniach WordPress

Po zmianach w bazie danych WordPress może nadal przechowywać stary adres URL. Proszę przejść do UstawieniaOgólne i sprawdzić pola:

  • Adres WordPress (URL): https://ваш_домен
  • Adres witryny (URL): https://ваш_домен

Jeśli widnieje tam http:// lub //ваш_домен, proszę zastąpić je https://ваш_домен i zapisać. Bez tego kroku niektóre wtyczki i kanał RSS mogą nadal korzystać z HTTP.

Krok 7: Weryfikacja przekierowania 301

Ostateczna weryfikacja: serwis Redirect Detective. Proszę wkleić http://ваш_домен i uruchomić sprawdzenie. Powinni Państwo zobaczyć łańcuch:

1301 Moved Permanently → https://ваш_домен/
2200 OK
Wynik sprawdzenia przekierowania 301 w serwisie Redirect Detective

301 to stałe przekierowanie, właśnie na nie czekają wyszukiwarki. Jeśli widzą Państwo 302 lub łańcuch dłuższy niż dwa kroki, proszę ponownie sprawdzić Page Rules i ustawienia WordPress.

Po pomyślnej weryfikacji proszę dać witrynie kilka dni: wyszukiwarki ponownie zindeksują strony na HTTPS, a w Search Console proszę dodać wersję HTTPS witryny jako nową usługę.

Czytelniej na wideo

Jeśli opisane kroki budzą wątpliwości, oto 10-minutowe wideo z konfiguracją Cloudflare na WordPress, zawierające demonstrację ekranu i głosowe omówienie każdego kliknięcia:

Wideo pokazuje proces na żywo od dodania domeny do sprawdzenia przekierowania, przydatne, jeśli interfejs Pana/Pani panelu różni się od zrzutów ekranu.

⁉️🤔 Często zadawane pytania

Czym Flexible SSL różni się od Full i Full (Strict)?

Flexible szyfruje ruch tylko między odwiedzającym a Cloudflare. Full, między odwiedzającym a Cloudflare oraz między Cloudflare a serwerem (wymaga certyfikatu na hostingu, nawet self-signed). Full (Strict) to to samo co Full, ale certyfikat na serwerze musi być ważny i wystawiony przez zaufane centrum. Dla większości stron WordPress Flexible jest wystarczający, ale Full (Strict) to złoty standard bezpieczeństwa.

Czy za certyfikat SSL Cloudflare trzeba płacić?

Nie. Darmowy plan obejmuje certyfikat SSL, CDN, podstawowy WAF i ochronę przed DDoS. Płatne plany (Pro, 20 USD/mies., Business, 200 USD/mies.) dodają przyspieszanie stron mobilnych, rozszerzony WAF i priorytetowe wsparcie.

Co zrobić, jeśli po przejściu na HTTPS rozjechały się style?

Proszę otworzyć konsolę przeglądarki (F12), najprawdopodobniej są tam błędy Mixed Content. Oznacza to, że w bazie danych pozostały linki http:// do CSS i JS. Proszę powtórzyć krok 4, zwracając uwagę na przebiegi 2 i 3, a następnie wyczyścić cache Cloudflare (Caching → Purge Everything).

Czy trzeba instalować obie wtyczki Cloudflare?

Cloudflare Flexible SSL jest obowiązkowa w trybie Flexible (bez niej WordPress zapętli przekierowanie). Oficjalna wtyczka Cloudflare jest zalecana do APO i wygodnego zarządzania cache’em bezpośrednio z panelu WordPress, ale technicznie nie jest obowiązkowa do działania HTTPS.

Ile czasu zajmuje pełna konfiguracja?

20-30 minut: 5 minut na rejestrację i zmianę NS, 5 na tryb SSL i wtyczki, 10 na wyszukiwanie/zamianę w bazie, 5 na Page Rules i weryfikację. Plus czas oczekiwania na zmianę NS (do 24 godzin, ale zwykle 5-15 minut).

Czy można wrócić na HTTP, jeśli coś poszło nie tak?

Tak. Proszę wyłączyć Page Rule Always Use HTTPS, usunąć wtyczki Cloudflare, wykonać odwrotną zamianę https://ваш_доменhttp://ваш_домен przez Better Search Replace i przywrócić nameservery rejestratora. Cały proces jest odwracalny.

Darmowy HTTPS to rzeczywistość, nie kompromis

Cloudflare zdjął z porządku dziennego pytanie „skąd wziąć pieniądze na SSL". Darmowy plan zapewnia certyfikat, CDN i ochronę przed atakami, wszystko bez ani jednej linii kodu. Siedem kroków od rejestracji do weryfikacji przekierowania zajmuje 20 minut, a rezultat, zielona kłódka, zaufanie odwiedzających i plus w karmie od wyszukiwarek, zostaje na zawsze.

Jeśli hosting oferuje SSL za dopłatą, znają już Państwo alternatywę. A jeśli Cloudflare zostało już dodane, ale HTTPS nadal nie działa, proszę przejść przez kroki jeszcze raz. W 9 na 10 przypadków problemem jest pominięty przebieg Better Search Replace lub nieprawidłowy tryb SSL.

Proszę nie odkładać. Każdy dzień bez HTTPS to utrata odwiedzających i pozycji w wynikach wyszukiwania. Proszę otworzyć cloudflare.com i dodać stronę już teraz.