• Oct 10, 2026
  • 3 min read

A Contact Link Instead of an Email in Every Footer

Every site I run now has forms that go to one lead hub (one forms Worker for every site). A message there is recorded, filtered against a spam blocklist, counted in a weekly digest, and I decide whether and how to reply.

So the question came up: why is the email address still in every footer?

A render-blocking script on every page. Cloudflare’s Email Obfuscation rewrites any address in the HTML into an encoded link, and injects a small script, email-decode.min.js, to turn it back into text in the browser. My audit’s Lighthouse run listed it as render-blocking, worth about 0.45–0.8 s on a throttled mobile load. With the address in the footer, that was every article.

The address on every page for scrapers. Obfuscation stops simple scrapers. Headless browsers run the decode script like any visitor.

A path around the system. A direct email skips the hub: no record, no spam filter, no digest.

What it was worth

  • Trust. People like to see that a real person is behind a site, and for business buyers an address is a basic signal.
  • A fallback. If a form fails, people need another way to reach you. My forms’ error message says “Please email contact@…”, which is fine: it lives in a JavaScript bundle and only appears when something has already gone wrong.

Where it stays, and where it went

PageAddress?Why
Privacy noticeYesData protection law expects contact details for data requests
TermsYesSame operator, same contact
Contact pageYesNext to the form, for people who prefer email
Consulting siteYesIt sells a paid service; EU and Polish e-commerce rules generally expect an email address that allows direct contact, and buyers expect one
Footers of this site and the ebooksNo: a “Contact” link to the form—

This is my reading for my own sites, not legal advice. The point is that some pages need the address and most don’t.

The footer change was one line on each site:

<a href="/privacy/" class="ml-2 underline">Privacy</a>
<a href="/terms/" class="ml-2 underline">Terms</a>
<a href="/contact" class="ml-2 underline">Contact</a>

After deploy, the decode script was gone from the homepage and the articles:

curl -s https://www.jalcocertech.com/ | grep -c email-decode   # 0

The audit had to agree

My website audit had a “no contact details” check that only accepted a visible phone number or email address. Strictly applied, this change would have failed my own check.

But the check exists to answer one question: can a visitor reach you? A clear “Contact” link to a form answers it. So the check now accepts a contact link too (in English, Polish, Spanish and Italian), and only fires when there’s no phone, no email and no contact link at all. I changed the check because it was measuring the wrong thing, not to raise my own score.

Takeaways

  • Put the address where it’s required and where people look for it: privacy, terms, contact page, and anywhere you sell.
  • A contact link is a contact path. Forms give you records, filtering and the choice of when to answer.
  • Email obfuscation isn’t free. If you use it, keep addresses off the pages where speed matters most.