GuidesFor destinations

How to run a public events calendar without spam.

Let the public submit events without the spam: a simple form, a bot check, an approval step, clear rules, and events that stay correct after they change.

GuideUpdated October 20264 sourcesAbout 3 minutes

In plain English

A community events calendar is one of the most useful pages a tourism office runs, and a public submission form keeps it full. It also attracts spam. The fix is a few layers: a short form with a bot check, a human approval step, clear rules about what counts as an event, and care for events that get cancelled or moved. None of it is hard, and it keeps the calendar trustworthy for visitors and for search.

Start with a good form

  • Ask only for what a visitor needs: event name, date and time, place, price, a short description, a link and a photo.
  • Make the date, time and place required, and use date pickers so the format is always right.
  • Ask for alt text with the photo (a short description of the picture). It helps people who can't see it.
  • Ask for the submitter's name and email, for follow-up only. Don't publish them.

Stop the bots

  • Add a bot check. Google recommends a CAPTCHA or a similar check on public forms. Some, like Cloudflare Turnstile, work without making people solve puzzles.
  • Add a hidden field that people never see. Bots fill it in; you reject those.
  • Limit repeat submissions from the same address in a short time.

Approve before anything goes live

Google's advice for sites that take public content is plain: manual approval cuts spam a lot. Nothing should publish until a person says yes.

  • Check the date, place and link before approving.
  • Fix small errors yourself instead of rejecting.
  • Let trusted partners (venues you know) skip the queue once they've earned it.
  • Mark links from submitters with rel="ugc" or "nofollow," as Google suggests for untrusted content, so spammers get nothing out of a link that slips through.

Write down what counts as an event

A clear rule makes approval quick and fair. Google's own event guidelines are a good model. It says not to mark coupons or vouchers as events, and not to promote products, services or short-term sales as events.

  • Yes: a concert, a festival, a farmers market, a class open to the public, a ribbon cutting visitors can attend.
  • No: a sale, a coupon, a happy hour that runs every day, a business's regular hours.
  • Post the rule next to the form, so submitters know before they start.

Keep events correct after they change

  • Cancelled: don't delete the page. Mark it cancelled. Google's guidance for event structured data is to change only the status (EventCancelled) and leave the rest.
  • Postponed with no new date: mark it postponed and keep the original date until you know.
  • Rescheduled: update the dates and mark it rescheduled.
  • Past events: keep them, clearly marked as past, or point them to your events page. Don't let them sit at the top of the calendar.

Questions, answered plainly.

How do we stop spam on our event submission form?

Layer it: a bot check (like a CAPTCHA or Turnstile), a hidden field bots fill in, a limit on repeat submissions, and a person approving every event before it goes live.

Should public event submissions publish automatically?

No. Google notes that manual approval cuts spam considerably. Approve each one, and let trusted venues skip the queue once they've earned it.

What should we do when an event is cancelled?

Keep the page and mark it cancelled. Deleting it leaves visitors with a broken link and no answer. Google's event guidance says to change only the status.

Is a sale or a coupon an event?

Not for a visitor calendar. Google's event guidelines say not to mark coupons or short-term sales as events. Write a simple rule and post it next to the form.

Get your whole town found.

Tell us about your town, your partners and what your visitor site needs to do. One of us reads every application and writes back by email.