Nie działa formularz kontaktowy w WordPress – szybkie rozwiązania

Spis treści

Dlaczego formularz kontaktowy nie działa

Formularz kontaktowy to bezpośredni kanał komunikacji z odwiedzającymi. Kiedy przestaje działać, można stracić potencjalnych klientów. Najczęstsze przyczyny problemów dotyczą wysyłania e-maili, konfliktów wtyczek, błędów JavaScript oraz ustawień serwera.

Omówimy najczęstsze przyczyny problemów i pokażemy, jak je rozwiązać. Zacznij od podstawowych ustawień i przejdź do bardziej zaawansowanych rozwiązań, jeśli problem nie ustąpi.

Sprawdzenie konfiguracji wtyczki

Pierwszym krokiem w diagnostyce problemów jest sprawdzenie konfiguracji wtyczki. Najpopularniejszą wtyczką jest Contact Form 7, ale istnieją też WPForms, Fluent Forms czy Gravity Forms.

Krok 1: Sprawdź ustawienia podstawowe

Przejdź do panelu WordPress, znajdź wtyczkę formularza kontaktowego w menu i sprawdź jej ustawienia. Upewnij się, że:

  • Formularz jest aktywny i włączony
  • Adresy email odbiorcy są poprawnie wpisane
  • Temat wiadomości jest ustawiony
  • Pola formularza są poprawnie skonfigurowane
  • Wszystkie wymagane pola są oznaczone jako obowiązkowe

Krok 2: Sprawdź shortcode formularza

Jeśli używasz Contact Form 7, upewnij się, że shortcode jest poprawnie wklejony na stronie. Shortcode powinien wyglądać podobnie do tego przykładu:

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

Krok 3: Sprawdź uprawnienia plików

Upewnij się, że pliki wtyczki mają odpowiednie uprawnienia. W katalogu z wtyczkami formularza kontaktowego uprawnienia folderów powinny wynosić 755, a plików 644.

Problemy z wysyłaniem emaili

Najczęstszym powodem niedziałających formularzy są problemy z wysyłaniem emaili. WordPress domyślnie używa funkcji PHP mail(), która może nie działać poprawnie na niektórych serwerach.

Krok 1: Sprawdź adresy email administratora

Przejdź do "Ustawienia → Ogólne" w panelu WordPress i sprawdź adresy email administratora. Upewnij się, że są poprawne.

Krok 2: Sprawdź logi błędów

Włącz tryb debugowania w WordPress, dodając do pliku wp-config.php:

define('WP_DEBUG', true);

Następnie sprawdź logi błędów w katalogu wp-content/debug.log.

Krok 3: Użyj wtyczki do monitorowania wysyłania emaili

Zainstaluj wtyczkę taką jak WP Mail SMTP lub Postman SMTP – pokaże szczegółowe informacje o wysyłaniu emaili i pomoże zidentyfikować problemy.

Weryfikacja ustawień SMTP

Użycie serwera SMTP zamiast domyślnej funkcji PHP mail() to zalecana praktyka dla profesjonalnych stron WordPress. SMTP zapewnia lepszą wydajność i mniejsze ryzyko blokowania emaili przez filtry spamu.

Krok 1: Wybierz odpowiednią wtyczkę SMTP

Popularne wtyczki SMTP dla WordPress to: WP Mail SMTP, Postman SMTP, Easy WP SMTP i SMTP Mailer.

Krok 2: Skonfiguruj ustawienia SMTP

Po instalacji wtyczki przejdź do jej ustawień i wypełnij formularz z danymi dostępowymi do serwera SMTP:

  • Adres serwera SMTP
  • Port (zazwyczaj 587 dla TLS lub 465 dla SSL)
  • Użytkownik SMTP
  • Hasło SMTP
  • Metoda szyfrowania (TLS lub SSL)

Krok 3: Przetestuj wysyłanie

Po skonfigurowaniu SMTP przetestuj wysyłanie wiadomości z formularza kontaktowego. Sprawdź folder spam i foldery promowane.

Sprawdzenie folderu spam

Wiadomości z formularza kontaktowego mogą trafiać do spamu, szczególnie przy darmowych serwerach SMTP lub niepoprawnie skonfigurowanych rekordach DNS.

Krok 1: Sprawdź folder spam

Regularnie sprawdzaj folder spam. Jeśli wiadomości z formularza tam trafiają, rozważ użycie profesjonalnego serwera SMTP lub poprawienie rekordów DNS.

Krok 2: Zadbaj o dostarczalność

W Gmailu wiadomości mogą trafiać do zakładki Promocje. Nie da się tego wymusić po stronie formularza, ale możesz zwiększyć szansę na trafienie do skrzynki głównej, konfigurując autoryzowany SMTP, SPF, DKIM i DMARC oraz unikając zbyt promocyjnej treści wiadomości.

Krok 3: Zainstaluj wtyczkę antyspam

Wtyczki takie jak Anti-Spam Bee lub Bad Behavior pomagają blokować spamujące formularze, co może zmniejszyć liczbę wiadomości trafiających do spamu.

Konflikty z wtyczkami cache

Wtyczki cache buforują zawartość strony i mogą blokować ładowanie skryptów JavaScript niezbędnych do działania formularza.

Krok 1: Wyłącz wtyczki cache

Wyłącz tymczasowo wszystkie wtyczki cache i sprawdź, czy formularz kontaktowy zaczyna działać. Jeśli tak, problem leży w konflikcie z wtyczką cache.

Krok 2: Konfiguruj wtyczkę cache

Jeśli wtyczka cache jest niezbędna, skonfiguruj ją tak, aby nie buforować stron z formularzami kontaktowymi. Wiele wtyczek oferuje opcje wykluczenia określonych stron lub URL.

Krok 3: Użyj wtyczki do czyszczenia cache

Regularnie czyść cache po zmianach w formularzu kontaktowym, aby zmiany były natychmiast widoczne.

Problemy z JavaScript

Formularze kontaktowe wymagają JavaScript do prawidłowego działania. Gdy JavaScript nie działa poprawnie, formularz może się nie wyświetlić lub nie wysyłać wiadomości.

Krok 1: Sprawdź konsolę przeglądarki

Otwórz narzędzia deweloperskie w przeglądarce, przejdź do zakładki Console i sprawdź błędy JavaScript. Mogą wskazywać na problemy z ładowaniem skryptów.

Krok 2: Wyłącz wtyczki JavaScript

Wyłącz tymczasowo wtyczki minifikujące CSS i JS, wtyczki do optymalizacji wydajności lub wtyczki bezpieczeństwa, które mogą wpływać na ładowanie JavaScript.

Krok 3: Sprawdź motyw i wtyczki

Upewnij się, że motyw i wtyczki są aktualne i kompatybilne z Twoją wersją WordPress. Starsze wtyczki mogą powodować konflikty z nowszymi wersjami JavaScript.

Błędy w walidacji formularza

Formularze kontaktowe zawierają walidację sprawdzającą poprawność danych wprowadzanych przez użytkowników. Problemy z walidacją mogą powodować, że formularz nie wysyła wiadomości.

Krok 1: Sprawdź ustawienia walidacji

Przejdź do ustawień wtyczki formularza kontaktowego i sprawdź, czy walidacja jest skonfigurowana poprawnie. Upewnij się, że wymagane pola są oznaczone jako obowiązkowe.

Krok 2: Dodaj reCAPTCHA

Wtyczki reCAPTCHA pomagają identyfikować boty i spamujące formularze. Zainstaluj wtyczkę reCAPTCHA i skonfiguruj ją zgodnie z instrukcjami Google.

Krok 3: Sprawdź komunikaty błędów

Komunikaty błędów powinny być jasne, żeby użytkownik wiedział, co poprawić przed ponownym wysłaniem formularza.

Testowanie formularza

Regularne testowanie formularza kontaktowego jest kluczowe dla zapewnienia jego prawidłowego działania.

Krok 1: Testuj z różnych urządzeń

Przetestuj formularz na komputerach, tabletach i telefonach. Upewnij się, że działa poprawnie na wszystkich platformach.

Krok 2: Testuj z różnych przeglądarek

Sprawdź formularz w Chrome, Firefox, Safari i Edge. Upewnij się, że działa poprawnie w każdej z nich.

Krok 3: Testuj po wyłączeniu wtyczek

Przetestuj formularz po wyłączeniu wszystkich wtyczek (poza formularzem kontaktowym), aby sprawdzić, czy nie ma konfliktów z innymi wtyczkami.

Krok 4: Sprawdź logi i spam

Po wysłaniu testowej wiadomości sprawdź logi błędów WordPress, folder spam i foldery promowane.

Alternatywne rozwiązania

Jeśli formularz kontaktowy nadal nie działa, rozważ użycie alternatywnych wtyczek lub usług.

Krok 1: Wybierz inną wtyczkę formularza

Jeśli Contact Form 7 nie działa, wypróbuj WPForms, Fluent Forms, Gravity Forms lub Ninja Forms. Każda wtyczka ma inne mocne strony.

Krok 2: Użyj usługi zewnętrznej

Rozważ usługi takie jak Formspree, Getform lub Formsubmit – pozwalają na wysyłanie formularzy bez konfiguracji wtyczek WordPress.

Krok 3: Skontaktuj się z profesjonalistą

Jeśli nie jesteś pewien, jak rozwiązać problem, skontaktuj się z deweloperem WordPress.

Jeśli interesuje Cię rozwiązywanie problemów z wysyłaniem emaili w WordPress, polecam przeczytać artykuł: WordPress nie wysyła resetu hasła – co zrobić?, gdzie znajdziesz szczegółowe instrukcje dotyczące diagnostyki i naprawy problemów z funkcją resetowania hasła.

Masz problemy z formularzem kontaktowym w WordPress? Chętnie pomożemy wdrożyć skuteczny formularz kontaktowy. Skontaktuj się z nami, aby uzyskać wsparcie w konfiguracji i optymalizacji formularza.