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.
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.