---
title: "Contact Form 7 Spam Filtering for Real Estate Websites"
description: "Review Akismet, Turnstile, disallowed keys, spam logs, and recorded legitimate-inquiry checks before changing a real estate website's filters."
canonical: "https://scalewithsearch.com/articles/contact-form-7-agent-website-spam-filtering"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Services
  - Services
    - [AI systems](https://scalewithsearch.com/ai-systems)
    - [Site build](https://scalewithsearch.com/work#site-build)
    - [Whole website fix](https://scalewithsearch.com/work#whole-website-fix)
    - [Content library with SEO](https://scalewithsearch.com/work#content-library)
    - [Working session](https://scalewithsearch.com/audit)
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Example scope](https://scalewithsearch.com/work#review-the-example-scope)
  - [Prices and terms](https://scalewithsearch.com/work#prices-and-terms)
- Industries
  - Real estate
    - [Real estate agents and teams](https://scalewithsearch.com/for/real-estate)
    - [Platforms, ownership, and IDX](https://scalewithsearch.com/for/real-estate/real-estate-website-platforms-ownership-idx)
    - [Search, content, and AI](https://scalewithsearch.com/for/real-estate/real-estate-search-content-ai)
    - [Inquiries, campaigns, and handoffs](https://scalewithsearch.com/for/real-estate/real-estate-website-inquiries-campaigns-handoffs)
    - [Buyer, seller, and local pages](https://scalewithsearch.com/for/real-estate/real-estate-buyer-seller-local-resources)
    - [Rules, privacy, and trust](https://scalewithsearch.com/for/real-estate/real-estate-website-rules-privacy-trust)
  - Browse by business
    - [Trades and home services](https://scalewithsearch.com/for/#group-trades)
    - [Health, wellness, and animal care](https://scalewithsearch.com/for/#group-practices)
    - [Law, finance, and IT](https://scalewithsearch.com/for/#group-professional)
    - [Marketing and SEO agencies](https://scalewithsearch.com/for/#group-agencies)
    - [Shops and manufacturers](https://scalewithsearch.com/for/#group-manufacturing)
    - [Restaurants, shops, studios, and nonprofits](https://scalewithsearch.com/for/#group-local-services)
  - Chiropractic practices
    - [Chiropractic and wellness practices](https://scalewithsearch.com/for/chiropractic-and-wellness-practices)
    - [Chiropractic and physical therapy clinics](https://scalewithsearch.com/for/chiropractic-and-physical-therapy-clinics)
  - [All industries](https://scalewithsearch.com/for/)
- Resources
  - Free tools
    - [AI readiness check](https://scalewithsearch.com/check)
    - [Free tools](https://scalewithsearch.com/tools/)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
  - Guides
    - [AI-native library](https://scalewithsearch.com/ai-native)
    - [Industry intelligence](https://scalewithsearch.com/intelligence)
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles
    - [All articles](https://scalewithsearch.com/articles/)
    - [What changed](https://scalewithsearch.com/changes/)
- About
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Scale With Search
    - [About](https://scalewithsearch.com/about)
    - [How it works](https://scalewithsearch.com/how-it-works)

# Reduce Contact Form 7 spam without losing real estate inquiries

Identify the filtering module responsible before strengthening a Contact Form 7 rule. Require a permitted legitimate buyer or seller inquiry to reach its recipient after the change.

Contact Form 7 documents Akismet, Cloudflare Turnstile, and the WordPress disallowed list as spam controls. Your installed configuration determines which are active. [Akismet](https://contactform7.com/spam-filtering-with-akismet/), [Turnstile](https://contactform7.com/turnstile-integration/), and [disallowed-list documentation](https://contactform7.com/comment-blacklist/), fetched 2026.10.22.

This guide concerns classification and false positives. Use the separate [Contact Form 7 email repair guide](/articles/repair-contact-form-7-agent-inquiry-email) when a submission proceeds to sending but its mail does not arrive.

## Which problem should the repair address first?

Record whether unwanted messages arrive, legitimate submissions are rejected, or accepted messages disappear later. Give each observation its own test label. The same inbox symptom can require different investigations. Preserve the current configuration before asking the maintainer to change a filter.

## Which Contact Form 7 spam controls should you inventory?

List each active integration, disallowed-list rule, and added filtering plugin. Compare the installation with the vendor's documented modules. Ask the maintainer to identify additional controls. [Akismet](https://contactform7.com/spam-filtering-with-akismet/), [Turnstile](https://contactform7.com/turnstile-integration/), and [disallowed-list documentation](https://contactform7.com/comment-blacklist/), fetched 2026.10.22.

## Does activating Akismet protect every form automatically?

Check the form's Akismet field options as well as plugin activation. The vendor documents form-tag configuration for sending submissions to Akismet. Activation alone is an incomplete configuration check. [Akismet integration, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## Which Akismet options belong on name and email fields?

Use the documented `akismet:author` option on the submitter-name field and `akismet:author_email` on the email field. Have the maintainer compare these options with your actual field names. [Vendor form-tag options, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## Should a property address become an Akismet website field?

Keep the fields distinct. The documented `akismet:author_url` option describes the submitter's website URL. A property address answers a different question. Review the form's purpose before adding an optional website field solely to supply another filter input. [URL-field definition, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## What information does the Akismet integration send?

The vendor says it sends all submitted inputs and environment variables, beyond the tagged fields. Include that transfer in the configuration review. Avoid requesting private financial documents in the initial inquiry. [Documented data flow, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## What happens when Akismet returns a spam result?

Contact Form 7 suspends the email and displays an error response. Record the classification evidence before treating the failure as a mail-server problem. [Spam-result behavior, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## How can the maintainer test Akismet rejection?

Use the vendor's reserved test input in an agreed test environment. Its guide supplies a specific name-field test value. Follow that documented test without substituting a real person's details. [Official Akismet test procedure, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## Why must a legitimate inquiry be tested separately?

Require ordinary completion as a separate acceptance condition. A rejection test demonstrates only the selected rejection case. Ask the recipient to confirm a clearly marked buyer or seller inquiry reaches the agreed destination. Keep the entered values and result together without recording private visitor information.

## Where is the WordPress disallowed list configured?

Contact Form 7 uses **Settings → Discussion → Disallowed Comment Keys**. The vendor documents entries for words or IP addresses. Inspect the existing list before adding a rule. [Disallowed-list setup, fetched 2026.10.22](https://contactform7.com/comment-blacklist/).

## What happens when a submission matches a disallowed key?

The vendor says a matching word or sending IP causes spam treatment and prevents delivery. Save the exact rule implicated in the failure. Do not remove the whole list before understanding the match. [Documented rejection behavior, fetched 2026.10.22](https://contactform7.com/comment-blacklist/).

## Why should broad blocked words receive extra review?

Check plausible legitimate messages against the proposed word before approving it. Buyer and seller questions may contain language that also appears in unwanted submissions. Maintain the reason for each local rule and an example of the unwanted pattern, with personal information removed.

## How should you review an IP-address block?

Ask the maintainer to verify the address source and the observed pattern before adding a block. Record who approved it and how a reported false positive will be investigated. Treat each entry as a local configuration decision, rather than proof that all future traffic from that address is unwanted.

## How does Contact Form 7 integrate with Turnstile?

The documented module uses a Cloudflare widget's site and secret keys in **Contact → Integration**. The vendor recommends Managed mode and says Contact Form 7 handles widget embedding. [Turnstile integration instructions, fetched 2026.10.22](https://contactform7.com/turnstile-integration/).

## Does the Turnstile integration affect more than the edited form?

The vendor describes automatic widget protection across the contact forms after integration. Inventory every affected form before accepting the change. Agree on a test for each distinct buyer, seller, or general contact route. [Documented integration scope, fetched 2026.10.22](https://contactform7.com/turnstile-integration/).

## Should the Turnstile secret appear in page content?

Keep the secret in its authorized integration setting. The vendor distinguishes site and secret keys and directs both into the integration controls. Exclude the secret from screenshots and repair tickets shared outside the authorized maintainers. [Key configuration, fetched 2026.10.22](https://contactform7.com/turnstile-integration/).

## How can a maintainer adjust widget placement?

Use the supported `[turnstile]` form-tag when moving the widget within a form. The vendor also documents rendering options. Request a phone and keyboard completion check after changing placement. [Widget placement and options, fetched 2026.10.22](https://contactform7.com/turnstile-integration/).

## Where can the responsible spam module be identified?

Contact Form 7 describes spam logging with Flamingo that records why a submission entered the spam tray. Ask the maintainer to show the relevant reason when this logging is available. [Vendor spam-log explanation, fetched 2026.10.22](https://contactform7.com/2019/05/31/why-is-this-message-marked-spam/).

## Does Contact Form 7 retain submissions by itself?

Its documentation says it does not store submitted messages and provides Flamingo as a storage option. Check the installed setup before promising that a rejected inquiry can be recovered. [Submission-storage documentation, fetched 2026.10.22](https://contactform7.com/save-submitted-messages-with-flamingo/).

## What should be decided before enabling submission storage?

Name who can access stored inquiries, why storage is needed, and how records will be reviewed and removed. Include exports and backups in that decision. Have the responsible privacy reviewer assess the proposed handling before installation. This checklist sets no legal retention period.

## How does the vendor describe reporting Akismet false positives?

Its guide uses Flamingo's message status to report misclassification to Akismet. Have the maintainer follow the current procedure. Then verify the visitor's question reaches its intended recipient. [False-detection reporting, fetched 2026.10.22](https://contactform7.com/spam-filtering-with-akismet/).

## How should you change a filter without losing the diagnosis?

Change the smallest identified cause and repeat the same agreed test. Save the previous setting and observed result. Avoid changing filtering, mail delivery, and form fields together when the evidence points to a specific classification rule. Keep unrelated repairs in their own acceptance rows.

## Which results belong in the acceptance record?

Record the rejection case, legitimate submission, receiving confirmation, and any unresolved false positive separately. Add the active module, page, configuration date, and responsible maintainer. Mark outcomes untested until demonstrated. A quieter inbox alone cannot show that legitimate inquiries remained deliverable.

## What should the real estate website repair brief contain?

Provide the affected page, installed filter inventory, sanitized failure evidence, and intended inquiry recipient through the [real estate website scope](/for/real-estate). Ask for a classification diagnosis and agreed acceptance checks. Keep account credentials and actual buyer or seller records out of the brief.

- [Add Acuity Scheduling to a real estate consultation page](/articles/acuity-agent-consultation-website-integration)
- [Calendly reminders for real estate consultations: configure and verify](/articles/calendly-agent-consultation-reminders)
- [Set Calendly buffers around real estate consultations](/articles/calendly-buffer-time-agent-consultations)


## Related: Real estate

- [Add Acuity Scheduling to a real estate consultation page](/articles/acuity-agent-consultation-website-integration)
- [Calendly reminders for real estate consultations: configure and verify](/articles/calendly-agent-consultation-reminders)
- [Set Calendly buffers around real estate consultations](/articles/calendly-buffer-time-agent-consultations)

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
