Prime SEO, the WordPress plugin I've been building since January, has 3,590 downloads on WordPress.org as of September 21, 2026.
The same API reports 100+ active installs. WordPress.org rounds that figure down, so the real number sits between 100 and 199, and at most one download in eighteen became a site that kept the plugin.
I don't know yet why people leave. Version 1.1.9 added a deactivation survey yesterday (it sends nothing unless the user presses Submit, and never the site address), and the only two answers in it so far are my own tests. What I can look at today is the first-run path, and the hole in it is easy to see.
Ten menu items and no next step
A new install opened a setup wizard with three questions: homepage title, modules, robots.txt. After that the user landed on a dashboard next to ten menu items. The wizard itself ended on a green tick and three links, and nothing on either screen said which of the ten pages mattered first.
All in One SEO 5.0.1.1 handles this with a setup checklist. In its free build the file is app/Common/SeoChecklist/SeoChecklist.php: every step has a priority and a time estimate, a callback decides whether the step is complete, and the names of completed steps are appended to a stored list. I borrowed that shape.
Two kinds of steps
Version 1.2.0 went out today with a checklist on the dashboard. Nothing in it is ticked by hand.
In the All in One SEO code a completed step is stored by name and reopens only in a few coded cases: indexing gets switched off, Search Console is disconnected, the user unticks it by hand. I wanted every step that depends on a setting to follow that setting, because a bar that says 9 of 9 while the sitemap is off tells the user nothing. My steps come in two kinds:
// live: follows a setting. Switch the sitemap off and the step opens again.
'completed' => $module( 'module_sitemap' ),
// sticky: a one-time event. Once done, stays done.
'completed' => (bool) get_option( 'prime_seo_wizard_complete' ),
Live steps cover settings such as the sitemap and the AI bot policy (the $module() helper treats a missing key as on, because modules are enabled by default). Any of them can reopen. Sticky ones cover events, such as a finished wizard or the day one post reached a score of 80. The wizard's last page now shows the same list, with the steps it has just completed on the left.
The step nobody could complete
That bug was mine alone. My first version of the IndexNow step looked for the API key inside the plugin's settings array. That key lives in a separate option, prime_seo_indexnow_key, and is generated on first use. The step stayed open forever, and I noticed only because my test site sat at 9 of 10 after I had done everything on the list.
Fixing it exposed a second problem. Since 1.1.6 the plugin deliberately sends nothing to IndexNow from local, development and hidden sites, which made the step impossible to finish on exactly those sites. It's now offered to public sites only, so a local install counts nine steps and a live one counts ten (eleven when another SEO plugin left data to import). Both counts are honest now.
If the survey answers come back as "too complicated", the checklist was the right first move. If they say "feature X is missing", I spent a day on the wrong problem, and the next entry will be about X.
I'm the developer of Prime SEO, a free SEO plugin for WordPress. Entry one of a build log; the numbers come from the public WordPress.org API.
Top comments (0)