// blogi · Verkkosivut
Yhteydenottolomake ei toimi: näin korjaat vian WordPressissä ja muilla alustoilla
Kun yhteydenottolomake ei toimi, vika on useimmiten jommassakummassa päässä: lomake ei lähetä viestiä lainkaan, tai viesti lähtee mutta ei koskaan päädy kenenkään sähköpostiin. Jälkimmäinen on salakavalampi, koska kävijä näkee kiitosviestin ja olettaa, että asia on hoidossa. Sinä taas ihmettelet, miksi sivuilta ei tule yhteydenottoja.
Alla on vianetsintä oireiden mukaan. Aloita kahden minuutin testistä, katso taulukosta todennäköisin syy ja korjaa se. Suurin osa ohjeista koskee WordPressiä, koska se on yleisin alusta, mutta samat periaatteet pätevät muihinkin.
Tee ensin kahden minuutin testi
Ennen kuin muutat mitään, selvitä, mikä kohta ketjussa katkeaa. Tee testi puhelimella ja tietokoneella, mieluiten selaimessa, jossa et ole kirjautunut sivuston hallintaan, koska osa vioista näkyy vain tavalliselle kävijälle.
- Täytä lomake kuin asiakas. Käytä oikeaa sähköpostiosoitetta, joka ei ole yrityksen oma, esimerkiksi Gmail-osoitetta.
- Katso, mitä sivulla tapahtuu. Tuleeko kiitosviesti, virheilmoitus vai jääkö nappi pyörimään?
- Tarkista vastaanottava postilaatikko ja sen roskapostikansio. Odota pari minuuttia.
- Tarkista, kenelle viesti on asetettu menemään. Lomakkeen asetuksissa voi yhä olla entisen työntekijän tai sivuston tekijän osoite.
Kirjaa tulos ylös. Se kertoo, kummasta päästä vikaa kannattaa etsiä.
Miksi yhteydenottolomake ei toimi? Oire, syy ja korjaus
| Mitä tapahtuu | Todennäköinen syy | Mistä aloittaa |
|---|---|---|
| Kiitosviesti tulee, mutta sähköpostia ei | Palvelin ei saa lähetettyä viestiä, tai vastaanottaja hylkää sen | Lähetä viestit SMTP:n kautta ja tarkista lähettäjäosoite |
| Viesti tulee roskapostiin | Lähettäjää ei ole todennettu (SPF, DKIM) | Lähettäjäksi oman verkkotunnuksen osoite, SPF- ja DKIM-tietueet kuntoon |
| Nappi pyörii eikä mitään tapahdu | Tietoturvalisäosa, välimuisti tai JavaScript-virhe estää lähetyksen | Kokeile ilman välimuistia, tarkista tietoturvalisäosan REST API -asetus |
| Virheilmoitus lähetyksessä | Roskapostisuojan avaimet, kiintiö tai lisäosien ristiriita | Tarkista reCAPTCHAn tai muun suojauksen tila ja viimeisimmät päivitykset |
| Toimii vain kirjautuneena | Sivuston REST-rajapinta on suljettu kirjautumattomilta | Salli lomakkeen rajapinta tietoturvalisäosassa |
| Tulee vain roskapostia, ei oikeita viestejä | Roskapostisuoja puuttuu tai oikeat viestit hukkuvat sekaan | Lisää näkymätön suojaus ja tallenna viestit myös sivustolle |
| Lomake ei tee mitään tekoälyllä tai kotisivukoneella tehdyllä sivulla | Lomaketta ei ole kytketty mihinkään vastaanottajaan | Tarkista palvelun lomake- tai ilmoitusasetukset |
Viesti lähtee, mutta ei tule perille
Tämä on yleisin ja kallein vika, koska kukaan ei huomaa sitä. Kävijä saa kiitoksen, mutta sinä et saa mitään.
Palvelin ei saa viestiä lähtemään
WordPress lähettää lomakkeiden viestit oletuksena palvelimen PHP-postitoiminnolla. Moni palveluntarjoaja rajoittaa sitä tai on sulkenut sen kokonaan roskapostin estämiseksi, eikä lähetys silloin onnistu, vaikka lomake kertoo muuta.
Varmin korjaus on lähettää viestit SMTP:n kautta eli oikean sähköpostipalvelun, kuten Google Workspacen, Microsoft 365:n tai webhotellin sähköpostin, kautta. WordPressissä se onnistuu esimerkiksi WP Mail SMTP -lisäosalla. Lisäosassa on testilähetys, josta näet heti, onnistuuko yhteys.
SMTP-lähetys WordPressiin vaihe vaiheelta
Korjaus vie yleensä alle puoli tuntia, jos sinulla on sähköpostipalvelun tunnukset käsillä.
- Selvitä sähköpostipalvelusi SMTP-tiedot. Tarvitset palvelimen osoitteen, portin ja tunnukset. Google Workspacessa ja Microsoft 365:ssä yhteys tehdään yleensä palvelun omalla kirjautumisella, webhotellin sähköpostissa tiedot löytyvät hallintapaneelista.
- Asenna SMTP-lisäosa ja valitse siitä oma sähköpostipalvelusi.
- Aseta lähettäjäksi oman verkkotunnuksesi osoite, esimerkiksi lomake@yrityksesi.fi, ja pakota lisäosa käyttämään sitä kaikissa viesteissä.
- Lähetä testiviesti lisäosan omalla testityökalulla johonkin ulkopuoliseen osoitteeseen, esimerkiksi Gmailiin.
- Testaa itse lomake uudelleen kirjautumattomana ja varmista, että viesti tulee perille eikä roskapostiin.
Sama korjaus koskee muitakin WordPressin lomakelisäosia, kuten WPFormsia, Gravity Formsia ja Elementorin lomakkeita, koska nekin lähettävät viestinsä WordPressin oman postitoiminnon kautta.
Lähettäjäosoite on väärä
Moni lomake on asetettu lähettämään viestin kävijän omasta osoitteesta: kun Matti kirjoittaa lomakkeeseen matti@gmail.com, viesti näyttää tulevan Gmailista, vaikka se lähtee sinun palvelimeltasi. Vastaanottava palvelu tulkitsee tämän helposti väärennökseksi.
Oikea tapa on käyttää lähettäjänä oman verkkotunnuksesi osoitetta, esimerkiksi lomake@yrityksesi.fi, ja laittaa kävijän osoite Vastaa-kenttään (Reply-To). Näin voit vastata suoraan kävijälle, ja viesti menee perille. Contact Form 7 suosittelee juuri tätä omissa ohjeissaan ja varoittaa asetuksissa, jos lähettäjäosoite ei kuulu sivuston verkkotunnukseen.
Viestit menevät roskapostiin
Googlen lähettäjäohjeiden mukaan jokaisen Gmailiin postia lähettävän pitää ottaa käyttöön SPF- tai DKIM-todennus verkkotunnukselleen. Ilman sitä viesti voi jäädä kokonaan toimittamatta tai päätyä roskapostiin.
Käytännössä tämä tarkoittaa kahta asiaa verkkotunnuksen DNS-asetuksissa:
- SPF kertoo, mitkä palvelimet saavat lähettää postia verkkotunnuksesi nimissä. Jos lähetät lomakkeen viestit SMTP:n kautta samalla palvelulla kuin muun sähköpostisi, SPF on yleensä jo kunnossa.
- DKIM lisää viestiin allekirjoituksen, jonka vastaanottaja voi tarkistaa. Sen saat käyttöön sähköpostipalvelusi asetuksista.
SPF-tietue on verkkotunnuksen DNS-asetuksissa oleva tekstirivi. Google Workspacea käyttävällä se näyttää tyypillisesti tältä: v=spf1 include:_spf.google.com ~all. Microsoft 365:ssä include-osa on include:spf.protection.outlook.com. Verkkotunnuksella saa olla vain yksi SPF-tietue, joten jos postia lähtee useammasta palvelusta, kaikki lisätään samalle riville. Kaksi erillistä SPF-tietuetta on yleinen virhe, joka rikkoo molemmat.
Jos lomake lähettää suoraan webhotellin palvelimelta eikä palvelin ole mukana SPF-tietueessa, viestit näyttävät vastaanottajalle epäilyttäviltä. Tämä korjaantuu yleensä samalla, kun siirryt SMTP-lähetykseen.
Vastaanottaja on väärä tai postilaatikko täynnä
Arkisin syy on usein yksinkertaisin: viestit ohjautuvat entisen työntekijän osoitteeseen, sivuston tekijän testiosoitteeseen tai info-osoitteeseen, jota kukaan ei lue. Tarkista myös, ettei sähköpostissa ole suodatussääntöä, joka siirtää lomakeviestit kansioon tai poistaa ne. Paras vastaanottaja on yhteinen osoite, jota vähintään kaksi ihmistä seuraa.
Lomake ei lähetä lainkaan
Jos nappi jää pyörimään tai sivulle tulee virheilmoitus, vika on sivustolla eikä sähköpostissa. Nämä syyt ovat yleisimpiä.
Tietoturvalisäosa estää lähetyksen
Contact Form 7 ja moni muu lomakelisäosa lähettää viestin WordPressin REST-rajapinnan kautta. Osa tietoturvalisäosista sallii rajapinnan vain kirjautuneille käyttäjille. Silloin lomake toimii, kun sivuston ylläpitäjä testaa sitä, mutta ei tavalliselle kävijälle. Jos lomake toimii vain kirjautuneena, tarkista tietoturvalisäosan REST API -asetus ja salli lomakkeen rajapinta.
Välimuisti tai päivitys rikkoi lomakkeen
Välimuistilisäosa voi tallentaa sivusta version, jossa lomakkeen turvatunniste on vanhentunut. Tyhjennä välimuisti ja kokeile uudelleen. Jos vika alkoi päivityksen jälkeen, kyse on usein lisäosien ristiriidasta. Kokeile testiympäristössä, palaako toiminta, kun poistat viimeksi päivitetyn lisäosan käytöstä. Selaimen kehittäjätyökalujen Console-välilehti näyttää JavaScript-virheet, jotka kertovat usein suoraan syyllisen.
Roskapostisuoja estää oikeatkin viestit
Googlen reCAPTCHA siirtyi Google Cloudiin, ja sen maksuton kiintiö on 10 000 tarkistusta kuukaudessa. Kiintiö ylittyy harvoin yhdellä pienellä sivustolla, mutta vanhentuneet avaimet tai puuttuva laskutustieto voivat pysäyttää suojauksen. Tarkista Google Cloud -konsolista, että avaimet ovat voimassa ja oikealle verkkotunnukselle.
Toinen yleinen syy on evästebanneri. Jos banneri estää reCAPTCHAn skriptin ennen suostumusta, lomake ei voi läpäistä tarkistusta, ja lähetys epäonnistuu niiltä, jotka kieltäytyvät evästeistä. Kokeile lomaketta myös niin, että hylkäät kaikki evästeet.
Lomakkeesta tulee vain roskapostia
Roskapostin tulva on oma ongelmansa, koska oikeat yhteydenotot hukkuvat sekaan tai niitä ei enää jaksa lukea. Suojausta on kolmea tasoa, ja ne voi yhdistää:
- Piilokenttä (honeypot) on kenttä, jota ihminen ei näe mutta robotti täyttää. Viesti hylätään, jos kenttä on täytetty. Kävijä ei huomaa mitään.
- Näkymätön tarkistus, kuten Cloudflare Turnstile tai reCAPTCHA. Turnstilella on maksuton versio, ja se toimii myös sivustoilla, joiden liikenne ei kulje Cloudflaren kautta.
- Sisältösuodatus, esimerkiksi linkkien tai tiettyjen sanojen estäminen viestikentässä.
Kun suojaus on tiukka, tallenna viestit myös sivustolle. Contact Form 7 ei itse tallenna viestejä, mutta saman tekijän maksuton Flamingo-lisäosa säilyttää jokaisen lähetyksen hallintapaneelissa. Silloin mikään yhteydenotto ei katoa, vaikka sähköposti pettäisi.
Kuvat ja liitteet eivät tule perille
Jos lomakkeessa voi lähettää kuvia, vika voi olla vain niissä: teksti tulee, mutta liite puuttuu, tai lähetys epäonnistuu, kun kävijä lisää kuvan. Syitä on kolme.
- Palvelimen tiedostokokoraja. Webhotellin asetus rajoittaa, kuinka suuren tiedoston voi ladata. Puhelimella otettu kuva voi olla useita megatavuja, ja muutama kuva ylittää rajan helposti.
- Lomakkeen oma raja. Lomakelisäosassa on usein erillinen kokoraja ja lista sallituista tiedostotyypeistä. iPhonen HEIC-kuvat eivät välttämättä ole listalla.
- Sähköpostin kokoraja. Liitteet kulkevat viestin mukana, ja sähköpostipalveluilla on enimmäiskoko viesteille. Esimerkiksi Gmailissa liitteiden yhteiskoko voi olla enintään 25 megatavua.
Toimiva ratkaisu on tallentaa kuvat sivustolle ja lähettää sähköpostiin vain linkki niihin. Kerro lomakkeessa myös suurin sallittu koko ja määrä, ettei kävijä yritä turhaan.
Lomake toimii, mutta yhteydenottoja ei silti tule
Jos testit menevät läpi eikä yhteydenottoja silti tule, vika ei ole tekniikassa vaan siinä, kuinka moni kävijä päättää täyttää lomakkeen. Tavallisia syitä ovat liian pitkä lomake, epäselvä napin teksti, piilossa oleva lomake ja puuttuva hinta-arvio. Näistä kerrotaan tarkemmin oppaissa konversio-optimointi ja tarjouspyyntölomake kotisivuille.
Tekoälyllä tai kotisivukoneella tehdyt sivut
Tekoälytyökaluilla tehdyissä sivuissa lomake voi näyttää valmiilta, vaikka sitä ei ole kytketty mihinkään. Nappi voi näyttää kiitosviestin, vaikka tietoja ei lähetetä minnekään. Jos sivut on tehty esimerkiksi Lovablella tai vastaavalla palvelulla, tarkista, että lomake tallentaa tiedot tietokantaan tai lähettää ne sähköpostiin, ja testaa se julkaistulla sivulla, ei pelkässä esikatselussa.
Kotisivukoneissa, kuten Wixissä ja Squarespacessa, lomakkeet toimivat yleensä luotettavasti, mutta ilmoitukset voi ohjata väärään osoitteeseen tai kytkeä pois päältä. Tarkista palvelun lomakeasetuksista, kenelle ilmoitus lähtee.
Miten huomaat vian ajoissa?
Rikkinäinen lomake huomataan yleensä vasta, kun joku asiakas soittaa ja kysyy, miksi hänen viestiinsä ei vastattu. Silloin hiljaisia viikkoja voi olla takana useampia. Kolme tapaa estää tämä:
- Testaa lomake kerran kuussa ja aina päivitysten jälkeen. Laita testi kalenteriin toistuvaksi tapahtumaksi.
- Mittaa lähetykset. Kun lomakkeen lähetys on merkitty Google Analyticsissa tärkeäksi tapahtumaksi, näet, jos lähetykset loppuvat yhtäkkiä kokonaan. Nollaan pudonnut luku on lähes aina tekninen vika eikä kysynnän loppuminen. Mittauksesta kerrotaan tarkemmin oppaassa konversio-optimointi.
- Tallenna lähetykset kahteen paikkaan: sähköpostiin ja sivustolle tai asiakasrekisteriin. Jos toinen pettää, toinen pelastaa.
Kuukausittainen tarkistuslista
Kun lomake on kunnossa, pidä se kunnossa. Tämän listan käy läpi kymmenessä minuutissa.
| Tarkista | Miten |
|---|---|
| Lomake lähettää | Täytä lomake kirjautumattomana puhelimella |
| Viesti tulee perille | Tarkista saapuneet ja roskaposti vastaanottajan laatikosta |
| Vastaanottaja on oikea | Katso lomakkeen asetuksista, kenelle viestit menevät |
| Vastaa-kenttä toimii | Paina testiviestissä "Vastaa" ja katso, meneekö vastaus kävijän osoitteeseen |
| Lähetykset näkyvät mittauksessa | Vertaa analytiikan lähetysmäärää sähköpostiin tulleisiin |
| Kiitossivu ja automaattinen vastaus | Tarkista, että kävijä saa vahvistuksen ja tietää, mitä seuraavaksi tapahtuu |
| Roskapostisuoja on voimassa | Tarkista avainten tila ja se, ettei oikeita viestejä ole jäänyt suodatukseen |
Jos sivustoa ylläpitää joku muu, pyydä häntä kertomaan jokaisen päivityksen jälkeen, että lomake on testattu. Se on pieni pyyntö, joka säästää pahimmillaan viikkojen yhteydenotot.
Milloin korjailu ei enää kannata?
Yksittäinen vika korjataan yleensä tunnissa. Jos lomake kuitenkin hajoaa joka päivityksen jälkeen, sivustolla on kymmeniä lisäosia, joita kukaan ei hallitse, tai kukaan ei enää tiedä, kenelle viestit menevät, ongelma ei ole lomake vaan sivusto. Silloin jatkuva paikkailu maksaa enemmän kuin kunnollinen ratkaisu. Lue, milloin kotisivujen uudistus kannattaa ja miten WordPress ja kevyempi toteutus eroavat ylläpidossa.
Lomakkeen rakenne vaikuttaa myös siihen, kuinka moni sen ylipäätään täyttää. Jos lomake on teknisesti kunnossa mutta yhteydenottoja tulee silti vähän, katso tarjouspyyntölomakkeen kenttämalli.
Usein kysyttyä
Miksi yhteydenottolomake ei lähetä sähköpostia?
Yleisimmät syyt ovat palvelimen rajoittama sähköpostin lähetys, väärä lähettäjäosoite ja puuttuva SPF- tai DKIM-todennus. Varmin korjaus on lähettää viestit SMTP:n kautta oikealla sähköpostipalvelulla ja käyttää lähettäjänä oman verkkotunnuksen osoitetta.
Miksi lomakkeen viestit menevät roskapostiin?
Yleensä siksi, että viesti lähetetään kävijän osoitteesta tai palvelimelta, jota ei ole todennettu verkkotunnuksen SPF- ja DKIM-tietueissa. Käytä lähettäjänä omaa verkkotunnustasi ja laita kävijän osoite Vastaa-kenttään.
Miksi lomake toimii vain, kun olen kirjautunut sivustolle?
Todennäköisesti tietoturvalisäosa sallii WordPressin REST-rajapinnan vain kirjautuneille. Salli lomakkeen rajapinta lisäosan asetuksista ja testaa uudelleen selaimessa, jossa et ole kirjautunut.
Miten estän lomakkeen roskapostin?
Yhdistä piilokenttä ja näkymätön tarkistus, kuten Cloudflare Turnstile tai reCAPTCHA. Tallenna viestit myös sivustolle, jotta oikeat yhteydenotot eivät katoa, vaikka suodatus olisi tiukka.
Kuinka usein yhteydenottolomake pitää testata?
Kerran kuussa ja aina sivuston tai lisäosien päivitysten jälkeen. Seuraa lisäksi lomakkeen lähetyksiä analytiikassa, niin huomaat heti, jos ne loppuvat kokonaan.
Miksi vastaukseni lomakkeen viestiin menee itselleni?
Lomakkeen Vastaa-kenttää (Reply-To) ei ole asetettu kävijän osoitteeseen. Lisää lomakkeen sähköpostiasetuksiin Reply-To-otsake, jonka arvo on kävijän antama sähköpostiosoite.
Voiko lomakkeen viestit ohjata useammalle vastaanottajalle?
Voi. Useimmissa lomakkeissa vastaanottajia voi lisätä useita, mutta varmempi tapa on käyttää yhteistä sähköpostiosoitetta, jota vähintään kaksi ihmistä seuraa. Silloin viestit eivät jää lukematta lomien tai henkilövaihdosten aikana.
Haluatko sivut, joiden lomake vain toimii?
Jos lomakkeen kanssa on painittu useammin kuin kerran, katso, miltä sivusi näyttäisivät ilman lisäosien päivitysrumbaa. Priimolta saat maksuttoman luonnoksen uusista sivuista vuorokaudessa, tai voit varata esittelyn, niin käydään nykyisen sivustosi tilanne läpi.
// maksuton luonnos
Näe sivustosi ennen päätöstä.
Teemme uudesta sivustostasi yksilöllisen luonnoksen 24 tunnissa, maksutta ja ilman sitoumuksia.
// blogi