Test 1 · The ordinal recurrence test

Create an event repeating on “the second Tuesday of the month” and check three months of dates against the expander above. Then try “the last Friday”.

This eliminates more candidates than any other single test, because a great many plugins ignore the ordinal and produce “the same date each month” without an error. Two minutes.

Test 2 · The posts table test

Create a weekly event running two years. Then run SELECT post_type, COUNT(*) FROM wp_posts GROUP BY post_type.

If there are around a hundred rows, the plugin materialises occurrences, and you have inherited every consequence of that: database growth, sitemap noise, permalinks that can change, and a scheduled job that has to keep running. If there is one row, it stores rules.

Test 3 · The clean-page test

With Query Monitor running, load a page with no calendar on it. Note the query count and the autoloaded option size. Deactivate the plugin, reload, compare.

The right answer is no difference. A calendar has no business costing anything on a page it does not appear on, and whatever it costs there, it costs on every page view for the life of the site.

Test 4 · The clock change test

Create a two-hour event starting at 01:30 on the morning your country's clocks go back. Check the end time. It should be 02:30 on the wall clock, having run a genuine two hours.

Then create a recurring weekly evening event spanning that date and check the times either side of it. If they shift, the plugin stores instants rather than wall-clock times, and your calendar will be wrong twice a year permanently.

Test 5 · The support test

Open the plugin's WordPress.org support forum. Count threads opened in the last two months and how many are resolved. Read three unresolved ones.

This is the best available predictor of what happens when you need help, and it is public for every plugin in the directory. A resolution rate under a half on a plugin with a paid tier is a warning; under a third is an answer.

What none of this tells you

Whether the design suits your site, whether your client can use the editor, and whether the author will still be maintaining it in three years. The first two you find out by building a page. The third nobody knows — but a plugin that passes tests 1 to 4 has made structurally sound decisions, and those are the ones that age well whoever is maintaining them.