Dlaczego Contact Form 7 przestaje działać na statycznych stronach
Eksportujesz swoją stronę WordPress do statycznego HTML-a. Twój formularz kontaktowy przestaje działać. W konsoli widzisz błąd 404.
Contact Form 7 wymaga PHP. Wykorzystuje on REST API do przetwarzania danych. Strony statyczne nie posiadają PHP. Brak PHP oznacza brak REST API.
Niektórzy obwiniają CORS. Nagłówek CORS nie naprawi braku serwera. Potrzebujesz backendu, aby obsłużyć wysyłkę e-maila.
Jeśli używasz Simply Static Pro, sprawdź uprawnienia do plików. Brakujący plik JS powoduje ten błąd. Uruchom tę komendę:
chmod 644 /var/www/html/wp-content/plugins/simply-static-pro/assets/ssp-form-webhook-public.js
Uruchom eksport ponownie.
Dwa sposoby na rozwiązanie tego problemu:
- Pozostaw WordPress na subdomenie. Używaj go jako swojego API. Dodaj nagłówki CORS do pliku .htaccess.
- Skorzystaj z usługi formularzy statycznych. Wypróbuj Formspree lub Netlify Forms.
Jak debugować:
- Wejdź pod adres URL swojej strony WordPress z końcówką /wp-json/. Jeśli zobaczysz błąd 404, Twój backend jest offline.
- Otwórz DevTools. Wyślij formularz. Szukaj błędów 404 lub CORS.
- Sprawdź plik
forms.json. Upewnij się, że endpoint wskazuje na domenę Twojego WordPressa.
Przestań leczyć objawy. Napraw swoją architekturę.