Jak dodać formularz kontaktowy w WordPress

Aby dodać formularz kontaktowy w WordPressie, w pierwszej kolejności zainstaluj darmową wtyczkę — sam WordPress nie ma wbudowanego kreatora formularzy. Dwie najpopularniejsze darmowe opcje z katalogu wordpress.org to Contact Form 7 (prosty, lekki, sterowany shortcode’ami) i WPForms Lite (wygodny kreator „przeciągnij i upuść”). Poniżej znajdziesz pełną ścieżkę na przykładzie Contact Form 7, a dalej — jak zabezpieczyć formularz przed spamem i co zrobić, gdy wiadomości nie dochodzą.

Instalacja i konfiguracja Contact Form 7

1. W panelu administracyjnym przejdź do Wtyczki → Dodaj wtyczkę.
2. Wyszukaj „Contact Form 7”, kliknij Zainstaluj, a po chwili Włącz.
3. W menu bocznym pojawi się nowa pozycja Kontakt — kliknij ją. Wtyczka utworzyła już domyślny formularz z polami: imię i nazwisko, e-mail, temat i treść wiadomości.
4. Otwórz formularz i przejdź do zakładki Adres e-mail. W polu Odbiorca wpisz adres, na który mają przychodzić wiadomości.
5. Zapisz zmiany i skopiuj shortcode widoczny nad zakładkami edytora.

Shortcode wygląda mniej więcej tak:

[contact-form-7 id="a1b2c3d" title="Formularz kontaktowy"]

Osadzenie formularza na stronie

1. Utwórz nową stronę (Strony → Dodaj stronę) i nazwij ją np. „Kontakt”.
2. W edytorze dodaj blok Shortcode i wklej skopiowany shortcode. Możesz go też wkleić w zwykłym akapicie — WordPress i tak zamieni go na formularz.
3. Opublikuj stronę i dodaj ją do menu w Wygląd → Menu lub — jeśli używasz motywu blokowego — w edytorze witryny (Wygląd → Edytor).

Jeśli korzystasz z motywu blokowego — na przykład naszego darmowego motywu Skład — wystarczy, że wstawisz shortcode do gotowej sekcji „Kontakt” w edytorze witryny i masz całą podstronę złożoną w minutę.

W WPForms Lite jest jeszcze prościej: wtyczka ma własny blok WPForms, więc na stronie wybierasz formularz z listy rozwijanej, bez kopiowania shortcode’ów.

Ochrona przed spamem: honeypot i reCAPTCHA

Niezabezpieczony formularz zaczyna zbierać spam zwykle już po kilku dniach. Zacznij od metody niewidocznej dla odwiedzających:

1. Honeypot — ukryte pole-pułapka, które wypełniają tylko boty. Dla Contact Form 7 zainstaluj wtyczkę Honeypot for Contact Form 7, a następnie w edytorze formularza dodaj znacznik [honeypot honeypot-1]. W WPForms Lite podstawowa ochrona antyspamowa (token) jest włączona domyślnie w ustawieniach formularza.
2. reCAPTCHA v3 — jeśli spam nadal się przebija. W Contact Form 7 przejdź do Kontakt → Integracja, wygeneruj darmowe klucze reCAPTCHA v3 w konsoli Google i wklej je we wskazane pola. Ochrona działa w tle, bez zaznaczania obrazków.
3. Alternatywnie użyj Cloudflare Turnstile — lżejszej i bardziej przyjaznej prywatności alternatywy dla reCAPTCHA. Contact Form 7 ma wbudowaną integrację (Kontakt → Integracja), a w WPForms Lite włączysz go w WPForms → Ustawienia → CAPTCHA.

Warto też doinstalować wtyczkę Flamingo (od autora Contact Form 7) — zapisuje wszystkie wysłane wiadomości w bazie danych, więc żadna nie zginie, nawet gdy e-mail nie dotrze.

Maile nie dochodzą? Skonfiguruj SMTP

To najczęstszy problem z formularzami: formularz pokazuje „wiadomość wysłana”, a skrzynka jest pusta. WordPress domyślnie wysyła pocztę przez funkcję PHP mail(), którą serwery pocztowe często odrzucają albo oznaczają jako spam. Rozwiązaniem jest wysyłka przez pełnoprawne konto SMTP:

1. Załóż na swoim hostingu skrzynkę w domenie strony, np. kontakt@twojadomena.pl.
2. Zainstaluj i włącz darmową wtyczkę WP Mail SMTP.
3. W kreatorze konfiguracji wybierz Inne SMTP i wpisz dane z panelu hostingu: adres serwera (np. smtp.twojadomena.pl), port 465 z szyfrowaniem SSL lub 587 z TLS, a także login i hasło skrzynki.
4. Jako adres i nazwę nadawcy ustaw założoną skrzynkę i zaznacz opcję Wymuś adres e-mail nadawcy (Force From Email), żeby inne wtyczki nie nadpisały tych ustawień.
5. Wyślij wiadomość testową w WP Mail SMTP → Narzędzia → Test e-maili i sprawdź, czy dotarła.

Na koniec dwie zasady, które oszczędzą Ci kłopotów. Po pierwsze: adres nadawcy zawsze musi być w domenie Twojej strony — adres wpisany przez gościa w formularzu umieszczaj tylko w nagłówku odpowiedzi (w Contact Form 7, w zakładce Adres e-mail, dodaj w polu Dodatkowe nagłówki wpis Reply-To: [your-email]). Po drugie: jeśli wiadomości wciąż trafiają do spamu, dopilnuj poprawnych rekordów SPF i DKIM dla swojej domeny — skonfigurujesz je w panelu hostingu lub u rejestratora. Po tych krokach masz działający, odporny na spam formularz, a każda wiadomość z niego realnie trafi do Twojej skrzynki.