Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🚫 Cloudflare email-decode.min.js: miksi sähköpostin hämärrys kannattaa poistaa käytöstä ja miten skriptin poistaa minuutissa

🚫 Cloudflare email-decode.min.js: miksi sähköpostin hämärrys kannattaa poistaa käytöstä ja miten skriptin poistaa minuutissa

Avaat PageSpeed Insightsin ja näet hahmontamisen estävän resurssin. Katsot tarkemmin: email-decode.min.js, Cloudflare. "Tämä skripti hidastaa sivustoa taas", ajattelet ja suuntaat Googleen etsimään ratkaisua.

Huhtikuussa 2026 Cloudflare korjasi ongelman vihdoin: he lisäsivät defer-attribuutin, ja skripti lakkasi estämästä hahmontamista. Tapaus vaikutti loppuun käsitellyltä. Mutta ei. email-decode.min.js jättää yhä haamusivuja, pehmeitä 404-virheitä, Google Search Consoleen, ja XOR-salauksen, jota Cloudflare käyttää osoitteiden "suojaamiseen", voi purkaa sekunneissa. Ei todellista tietoturvaa, ei puhtaita raportteja.

Käytännössä olemme törmänneet tähän skriptiin monta kertaa sivustoauditoinneissa: otat sen pois käytöstä minuutissa ja saat puhtaan Search Consolen kaupan päälle. Puretaanpa, miten hämärrys toimii, miksi skripti aiheuttaa yhä ongelmia ja miten sen poistat, sekä esitellään vaihtoehto, joka oikeasti piilottaa sähköpostit boteilta.

💡 Pikakatsaus:

  • Ymmärrä, miten sähköpostiosoitteiden hämärrys toimii Cloudflaressa ja miksi email-decode.min.js on alun perin olemassa.
  • Tutustu kolmeen syyhyn poistaa hämärrys käytöstä huhtikuun 2026 korjauksen jälkeen.
  • Ota skripti pois käytöstä vaihe vaiheelta: hallintapaneeli, API, konfiguraatiosäännöt.
  • Toteuta vaihtoehto käyttäen IntersectionObserveria ja base64:ää, ilman ulkoisia skriptejä tai pehmeitä 404-virheitä.

Miten Cloudflare piilottaa sähköpostit

Kun sivusto kulkee Cloudflaren kautta, palvelu ottaa sähköpostiosoitteiden hämärryksen oletuksena käyttöön. Cloudflare skannaa sivujen HTML:n, etsii kaiken sähköpostilta näyttävän ja korvaa jokaisen osoitteen XOR-koodatulla heksadesimaalimerkkijonolla. Sen purkamiseksi kävijän selaimeen syötetään email-decode.min.js.

PageSpeed Insights -varoitus email-decode.min.js-skriptistä

Idea on järkevä: botit eivät näe osoitteita, ihmiset näkevät. Käytännössä asia on monimutkaisempi. Huhtikuuhun 2026 asti skripti heikensi avoimesti suorituskykyä, ja itse suojaus osoittautui heikommaksi kuin Cloudflare lupaa.

Kolme syytä poistaa email-decode.min.js käytöstä

Huhtikuun korjaus poisti hahmontamisen eston. Mutta kolme ongelmaa on jäljellä. Ja ne ovat vakavampia kuin menetetyt millisekunnit.

Pehmeä 404 Search Consolessa

Cloudflare korvaa sähköpostiosoitteet linkeillä, kuten /cdn-cgi/l/email-protection#[hex]. Googlebotille ja muille hakukoneiden indeksointiroboteille nämä URL-osoitteet palauttavat 404-virheen. Lopputulos: "Pehmeä 404" -virheitä Google Search Consolessa. Ahrefs ja Screaming Frog merkitsevät ne rikkinäisiksi sisäisiksi linkeiksi.

Tämä ei ole kosmeettinen haitta. Kymmenet Cloudflaren haamuvirheet peittävät alleen todellisia indeksointiongelmia. Teknisen auditoinnin aikana tuhlaat aikaa kohinan suodattamiseen sen sijaan, että löytäisit oikeasti rikkinäisiä sivuja.

XOR-salaus ei suojaa

Cloudflare käyttää yksitavuista XOR-salausta, jossa avain on upotettu suoraan koodattuun merkkijonoon. Salauksenpurkumekanismi on identtinen kaikilla Cloudflaren alla olevilla sivustoilla. Roskapostittaja tarvitsee yhden purkajan, ja hän voi poimia osoitteita miltä tahansa sivustolta sekunneissa.

Spencer Mortensenin tutkimus (2026) testasi 25 hämärrysmenetelmää yli 300:aa roskapostinkerääjää vastaan käyttäen hunajapurkkiosoitteita. Jopa primitiivinen CSS display:none osoitti 100%:n eston. Cloudflaren hämärrys suojaa vain botteilta, jotka eivät osaa purkaa XOR-salausta, eivätkä sellaiset muutenkaan keräisi osoitteita.

Pääsäikeen kuormitus mobiilissa

1,2 kt JavaScriptiä defer-attribuutilla ei ole kriittinen työpöydällä. Mutta edullisella Android-laitteella, jonka suoritin on kuormitettu, jokainen pieni pääsäikeen tehtävä nakertaa INP-budjettia. Jos taistelet viimeisistä 50 millisekunnista, tämä skripti on tarpeeton.

Hämärryksen poistaminen käytöstä: vaiheittainen opas

Käytöstä poistaminen vie minuutin. Valitse polku hallintapaneeliversiosi mukaan.

Uusi hallintapaneeli (Security Settings)

Vanha hallintapaneeli (Scrape Shield)

Jos tilisi käyttöliittymää ei ole vielä päivitetty:

  • Kirjaudu Cloudflaren hallintapaneeliin.
  • Avaa Scrape Shield -osio.
  • Etsi Email Address Obfuscation ja käännä se Off-asentoon.
Sähköpostin hämärryksen poistaminen käytöstä Cloudflare-hallintapaneelin Scrape Shield -osiossa

Skripti katoaa välittömästi. email-decode.min.js:n syöttäminen lakkaa kaikilla vyöhykkeen sivuilla.

API:n kautta

Automatisointia tai massahallintaa varten lähetä PATCH-pyyntö Cloudflaren API:in:

1curl -X PATCH "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/settings/email_obfuscation" \
2 -H "Authorization: Bearer <API_TOKEN>" \
3 -H "Content-Type: application/json" \
4 --data '{"value":"off"}'

Korvaa Zone ID:si ja API-token, jolla on oikeus muokata vyöhykkeen asetuksia.

Valikoiva poistaminen konfiguraatiosääntöjen avulla

Tarvitsetko hämärrystä yhteystietosivulla, mutta et laskeutumissivuilla? Käytä konfiguraatiosääntöjä:

  • Siirry kohtaan Rules → Configuration Rules.
  • Luo sääntö kriteereillä: isäntänimi, URL-polku tai molemmat.
  • Lisää Email Obfuscation -asetus ja aseta se Off-tilaan.
  • Ota käyttöön.

Voit myös sulkea yksittäisiä osoitteita pois HTML:ssä käärimällä ne kommentteihin:

1<!--email_off-->[email protected]<!--/email_off-->

Vaihtoehto ilman Cloudflarea: IntersectionObserver ja base64

Jos sinun todella täytyy piilottaa sähköposti boteilta, on olemassa parempi tapa. Ei ulkoista skriptiä, ei pehmeitä 404-virheitä eikä vaikutusta INP:hen. Lähestymistapa: base64-koodaa osoite ja pura se IntersectionObserverin avulla, vasta kun kävijä vierittää sähköpostin sisältävän lohkon kohdalle.

Vaihe 1. HTML-merkintä:

1<a class="email-hidden" href="#" data-email="aW5mb0BleGFtcGxlLmNvbQ==">
2 [email hidden]
3</a>

data-email-attribuutti sisältää osoitteen base64-muodossa. Koodaa merkkijono verkkotyökalulla tai komennolla echo -n "[email protected]" | base64.

Vaihe 2. Tarkkailija. Sijoita skripti sivun alatunnisteeseen:

1const emailTag = document.querySelector('.email-hidden');
2let observer = new IntersectionObserver((entries) => {
3 entries.map((entry) => {
4 if (entry.isIntersecting) {
5 let script = document.createElement('script');
6 script.onload = function () {
7 emailDecode(entry.target);
8 };
9 script.src = '/decode-email.js';
10 document.head.appendChild(script);
11 }
12 });
13});
14observer.observe(emailTag);

Vaihe 3. Purkufunktio, tiedosto decode-email.js:

1const emailDecode = (e) => {
2 let email = atob(e.dataset.email);
3 e.href = 'mailto:' + email;
4 e.innerHTML = email;
5};

Lopputulos: sähköposti puretaan vasta, kun siihen vieritetään. Nolla vaikutusta INP:hen, nolla pehmeää 404-virhettä. Ja base64 ei ole sen huonompi kuin Cloudflaren XOR "suojauksessa", molemmat menetelmät ovat triviaalisti käännettävissä, mutta yhdistettynä IntersectionObserveriin osoite ei edes tule DOM:iin sivun latauksessa.

Video-opas

Jos pidät visuaalisesta oppaasta, tässä on esittely hämärryksen poistamisesta käytöstä Cloudflaren hallintapaneelissa:

⁉️🤔 Usein kysytyt kysymykset

Vaikuttaako Cloudflaren hämärrys kaikkiin sivuston sivuihin?

Kyllä, kun lisäät sivuston Cloudflareen, sähköpostiosoitteiden hämärrys on käytössä koko vyöhykkeellä. email-decode.min.js-skripti syötetään jokaiselle sivulle, jolla havaitaan sähköpostia muistuttavaa tekstiä. Voit sulkea yksittäisiä sivuja pois konfiguraatiosääntöjen avulla ja tiettyjä osoitteita HTML-kommenteilla <!--email_off-->.

Mitä tapahtuu, jos vain poistan hämärryksen käytöstä?

email-decode.min.js:n syöttäminen lakkaa välittömästi. Kaikki sivuston sähköpostiosoitteet tulevat näkyviin lähdekoodiin juuri sellaisina kuin laitoit ne. Useimmille sivustoille tämä on normaali toimintatapa: yhteystietojen sähköposti on jo julkinen, ja sen piilottaminen boteilta voidaan tehdä yksinkertaisemmilla menetelmillä.

Suojaako Cloudflaren hämärrys kaikkia roskapostibotteja vastaan?

Ei. XOR-salaus on sama kaikille sivustoille, kuka tahansa voi purkaa osoitteet. Spencer Mortensenin data osoittaa: jopa CSS display:none estää 100% yli 300 testatusta roskapostinkerääjästä. Cloudflaren hämärrys toimii vain primitiivisiä botteja vastaan, jotka eivät yritä purkaa XOR-salausta.

Voinko piilottaa skriptin vain PageSpeed Insightsilta?

Et, PageSpeed Insights tarkistaa sivun kuten tavallinen selain. Jos skripti syötetään, Lighthouse näkee sen. Huhtikuun 2026 korjauksen myötä hahmontamisen esto on poissa, mutta SEO-vaikutukset (pehmeä 404) ja mikrovaikutus INP:hen säilyvät. Ainoa tapa poistaa skripti kokonaan on ottaa sähköpostiosoitteiden hämärrys pois käytöstä hallintapaneelissa.

Miten varmistan, että hämärrys on todella poistettu käytöstä?

Avaa sivun lähdekoodi (Ctrl+U) ja etsi email-decode.min.js. Jos skriptiä ei näy, hämärrys on poistettu käytöstä. Vaihtoehtoisesti tarkista selaimen konsoli: ennen käytöstä poistoa DOM sisältää <script src="/cdn-cgi/scripts/.../email-decode.min.js">, jälkeen se on poissa. Muutokset tulevat voimaan välittömästi.

Poistaa käytöstä vai pitää: tuomio

Huhtikuun korjauksen myötä email-decode.min.js lakkasi estämästä hahmontamista. Mutta SEO-kohina (pehmeä 404 Search Consolessa) ja illuusio tietoturvasta (XOR on käännettävissä sekunneissa) säilyvät. Käytöstä poistaminen hallintapaneelin kautta vie minuutin. Bonus: puhtaat raportit ja muutama säästetty INP-millisekunti mobiilissa.

Jos hämärrystä aidosti tarvitaan, vaihtoehto IntersectionObserverilla ja base64:llä tarjoaa todellista suojaa roskapostinkerääjiltä. Ilman sivuvaikutuksia. Valinta on sinun, mutta email-decode.min.js vuonna 2026 on enemmän tapa kuin välttämättömyys.