How to Prevent Duplicate Votes in WordPress Polls (3 Free Methods)

To stop people voting twice in a WordPress poll, switch on a duplicate check in the poll’s settings. In Pollify there are three, and all three are in the free version: one vote per IP address, one vote per logged-in user, or a โ€œvotedโ€ flag stored in the visitor’s browser for anonymous polls.

Each one stops a different kind of repeat voting, and each has a gap. Here is how they compare and how to set each one up.

How a Poll Recognises a Returning Voter

Every duplicate check relies on one of three signals:

  • IP address: the network address the vote came from.
  • User account: the WordPress login of the person voting.
  • Browser storage: a small flag saved in the visitor’s browser after they vote.

No signal is perfect. The right choice depends on who your voters are and how much a few extra votes would matter.

Method 1: One Vote per IP Address

This is the general-purpose option for public polls. Pollify records the voter’s IP address and refuses a second vote from the same one.

How to turn it on

  1. Open the post or page with your poll and click the poll block.
  2. In the right-hand sidebar, open Response settings.
  3. Tick Allowed one response per computer.
  4. Click Update.

What it stops: clearing cookies, private windows and switching browsers on the same connection.

Where it falls short: a voter on a VPN or mobile data can still vote again. On shared networks, such as an office or a school, everyone may share one IP address, so the first vote can block their colleagues.

Privacy note: under EU data protection rules, IP addresses can count as personal data. If you have EU visitors, mention poll IP logging in your privacy policy.

You can review where votes came from at any time. Open the poll from Pollify > All Polls to see vote counts by IP and location.

Pollify IP details page listing voter IP addresses, vote counts and locations

Method 2: One Vote per Logged-In User

If your voters have accounts, such as members, customers or students, this is the most reliable option. Each account gets exactly one vote, and nobody has to rely on IP addresses.

How to turn it on

  1. Select the poll block and open Response settings.
  2. Tick Require login to vote.
  3. Tick One vote per user.
  4. Edit the Login required message if you like, and add a Custom login URL if your site uses its own login page.
  5. Under When not logged in, show, choose the login message on its own, or the poll with results plus a login popup when someone tries to vote.
  6. Click Update.
Pollify Response settings with Require login to vote enabled, showing the login message, custom login URL and display options

The tradeoff: visitors without an account cannot vote. That is ideal for a members-only decision and a poor fit for a public blog poll.

Method 3: Browser Storage for Anonymous Polls

When you tick Enable Anonymous Voting, Pollify stops collecting IP addresses, location and browser details. To still prevent repeat votes, it saves a small flag in the voter’s browser. You choose where under Storage method for duplicate prevention:

  • Local Storage: the default. The flag stays even after the browser restarts.
  • Session Storage: the flag is cleared when the browser closes, so people can vote again next session.
  • Cookie: the flag lasts 30 days.

The tradeoff: anyone who clears their browser data or switches device can vote again. For honest feedback on sensitive topics, that is usually worth it. Our guide to anonymous polls in WordPress covers the full setup.

Which Method Should You Use?

Your pollSetting to useWhy
Public blog or content pollAllowed one response per computerStops casual repeat votes without asking anyone to log in
Audience mostly at work or schoolRequire login, or anonymous votingShared networks make IP checks block real voters
Members, customers or studentsRequire login to vote + One vote per userOne account, one vote, with no guesswork
Sensitive or personal questionsEnable Anonymous Voting (Local Storage)People answer honestly when nothing identifies them
Contest or vote with a prizeRequire login to vote + One vote per userThe hardest method to game

Clean Up Votes That Slipped Through

Spotted a burst of suspicious votes? Go to Pollify > All Polls, hover over the poll and click Vote/Responses. Each vote has a delete icon, so you can remove test votes or obvious spam one by one. Deleting is permanent.

Deleting an individual vote response in the Pollify dashboard

If one address keeps causing trouble, IP blocking in Pollify Pro lets you block it from every poll on your site.

Frequently Asked Questions

Are these duplicate checks free?

Yes. One vote per IP, login-only voting with one vote per user, and anonymous voting with browser storage are all in the free version. Blocking specific IP addresses is a Pro feature.

Can I let people vote more than once on purpose?

Yes. Leave the duplicate checks off. That suits fun polls where repeat voting does no harm.

What happens to duplicate checks when login is required?

Pollify tracks the user account instead of the IP address, so people on a shared network can each vote once from their own account.

Can someone still cheat?

A determined person can get around any public poll, for example with a VPN and a new browser. Login-only voting makes it far harder, because every extra vote needs another account.

Next Steps

For most public polls, tick Allowed one response per computer and move on. For anything that drives a real decision, require login. If the poll should also stop on a set date, see how to schedule a WordPress poll to close automatically.

Try Pollify free on WordPress.org