Skip to content
GPLWP Guides

How to collect ratings on WordPress posts and pages

Content Time About 25 minutes with a plugin; several hours for a custom build 7 steps Updated 24 Oct 2026

CONTENT
The short answer

WordPress does not include a built-in rating system for posts and pages. You can build one with a custom plugin using stored vote data and an AJAX form, but a rating plugin is faster and safer for anonymous voting, duplicate-vote controls, analytics, and display placement.

The route
  1. 01Choose the rating format
  2. 02Use the manual route carefully
  3. 03Install a rating plugin
  4. 04Configure where voting appears
  5. 05Set vote and privacy rules
  6. 06Test the result and cache
  7. 07Review the ratings regularly

What you need

  • Administrator access to WordPress
  • A clear rating format, such as stars, thumbs up or down, or a percentage scale
  • A backup before changing the site
  • A privacy policy that covers any cookies or visitor data used for vote protection

Choose the rating format

Decide whether visitors should choose a star score, press thumbs up or down, or select a percentage. Use one format consistently across your posts and pages so the results are easy to compare.

Also decide whether visitors can vote anonymously, whether results appear before voting, and whether one browser, account, or IP address may vote more than once. Anonymous browser-based protection limits repeat votes but does not prove a visitor's identity.

Use the manual route carefully

WordPress does not provide a native content-rating feature, so a manual implementation requires a custom plugin or carefully isolated site code. The usual design is a form that identifies the post, sends the selected value to a server-side handler, checks a security token, validates the value, and stores totals and vote records against the post.

Use an asynchronous request if you want the result to update without reloading the page. WordPress's AJAX guidance requires an action value and a nonce for requests that change stored data. Shortcodes are the normal way to place dynamic output inside post content because PHP should not be executed directly in the editor.

This route is reasonable when you need a very specific voting rule or already maintain a custom plugin. It becomes maintenance work quickly: you must handle duplicate votes, logged-out visitors, permissions, validation, accessibility, cache behaviour, data deletion, and styling yourself. Do not put the core logic in a parent theme, because a theme update can remove it.

Install a rating plugin

For most sites, install a plugin that supports post and page ratings, then activate it from Plugins in the WordPress dashboard. Look for support for the rating format you chose, anonymous voting, repeat-vote controls, analytics or logs, shortcodes or blocks, and the post types you want to rate.

Plugins commonly provide automatic placement as well as a shortcode or block. Existing WordPress rating plugins demonstrate the usual pattern: enable the post types in settings, then place the control with a shortcode, block, or theme output.

Configure where voting appears

Enable ratings for posts, pages, or selected custom post types. Choose whether the control appears above or below the content, or insert it manually with the plugin's block or shortcode. Manual placement is useful when only some articles should collect feedback.

Keep the voting control separate from any read-only results display. Showing an average score in an archive or related-post list should not accidentally give visitors a second place to submit another vote.

Set vote and privacy rules

Choose whether logged-out visitors may vote and how repeat votes are limited. Cookies are convenient but can be removed or bypassed, while IP-based checks can affect several people using the same network. Logged-in-only voting gives you stronger identity control but usually reduces participation.

Check what the plugin stores, especially cookies, IP-derived values, user IDs, and vote logs. Update your privacy documentation where required, and provide a way to remove or anonymise stored voting data if your site's obligations require it.

Test the result and cache

Open a published post and a page in a private browser window. Submit each rating option, confirm that the displayed total changes, refresh the page, and verify that a second vote is handled according to your rule. Test on a phone as well as a desktop browser.

Clear page, object, CDN, and browser caches after changing the rating settings. A cached copy can show an old total, duplicate controls, or a control that does not reflect the visitor's vote. Support threads repeatedly identify caching as a cause of stale results and duplicate rating displays.

Review the ratings regularly

Use the plugin's reports or logs to look for useful patterns rather than treating a small number of votes as a final verdict. Compare ratings by article type, publication date, and traffic source where your analytics setup supports it.

If you want anonymous star, thumbs, or percentage ratings with analytics and flexible placement on posts and pages, the Liker WordPress Rating Plugin is a practical shortcut. It is designed for content feedback rather than written reviews and can add rating controls without building the storage, voting interface, and reporting screens yourself.

The fast route

Let Liker WordPress Rating Plugin do it

Anonymous star, thumbs, or percentage ratings with analytics; suited to gathering feedback on articles and pages, not written reviews.

Get Liker WordPress Rating Plugin

Sources

  1. developer.wordpress.org /plugins/shortcodes/?utm_source=openai
  2. wordpress.org /plugins/wp-postratings/?utm_source=openai
  3. wordpress.org /support/topic/duplicate-stars/?bbp-ajax=true&utm_source=ope…

Questions

Can WordPress collect ratings without a plugin?
Not with WordPress core alone. You would need to build a custom plugin or site feature that renders a rating control, accepts and validates votes, stores totals, prevents or limits repeat voting, and displays results. That is suitable for developers with a specific requirement, but a plugin is normally safer and quicker for a production site.
Should ratings be anonymous or limited to logged-in users?
Anonymous ratings usually produce more responses, while logged-in-only ratings give you stronger control over duplicate voting. Browser cookies and IP checks can reduce repeat votes from anonymous visitors, but neither proves identity and IP checks can affect people sharing a network. Choose the rule that matches how important vote integrity is to your results.
Why are rating totals not updating on my WordPress site?
Caching is a common reason rating totals appear not to change. Clear the page cache, object cache, CDN cache, and browser cache, then test again in a private window. Also check that the rating request is not blocked by a security plugin, that the post is published, and that the plugin's scripts and AJAX or REST requests are loading correctly.
Can I add ratings to pages as well as posts?
Yes, provided the rating system supports both post types. Enable pages in the plugin settings or insert the rating block or shortcode into the page content. If you are building the feature yourself, store the vote against the page's post ID rather than assuming every rated item is a blog post.
Are ratings the same as WordPress reviews?
No. A rating records a score such as stars, thumbs, or a percentage, while a review usually includes written text and may involve moderation, author details, and structured review data. Use ratings when you want quick feedback on whether content was useful, clear, or satisfying rather than asking visitors to write a review.