Title: Creator Assistant Planner
Author: Alessandro Lioce
Published: <strong>October 11, 2026</strong>
Last modified: October 11, 2026

---

Search plugins

![](https://ps.w.org/creator-assistant-planner/assets/banner-772x250.png?rev=3739392)

![](https://ps.w.org/creator-assistant-planner/assets/icon-256x256.png?rev=3739392)

# Creator Assistant Planner

 By [Alessandro Lioce](https://profiles.wordpress.org/alessandrolioce/)

[Download](https://downloads.wordpress.org/plugin/creator-assistant-planner.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/creator-assistant-planner/#description)
 * [Reviews](https://wordpress.org/plugins/creator-assistant-planner/#reviews)
 *  [Installation](https://wordpress.org/plugins/creator-assistant-planner/#installation)
 * [Development](https://wordpress.org/plugins/creator-assistant-planner/#developers)

 [Support](https://wordpress.org/support/plugin/creator-assistant-planner/)

## Description

Creator Assistant Planner connects to your site’s Google Search Console and Google
Analytics data (via Creator Assistant Hub’s shared Google connection) to find search
queries with real demand but no dedicated content on your site, groups them into
topic clusters, and ranks them by priority so you always know what to write next.

Requires Creator Assistant Hub, active and connected to Google.

### External services

This plugin connects to the following third-party services. Data is sent only after
the site owner has connected Creator Assistant Hub to Google and accepted the Creator
Assistant terms in the Hub settings, and only when the weekly content-gap run (or“
Generate now”) runs, or when a plan item is saved. Nothing is sent on activation.

 * **Google Search Console API and Google Analytics (GA4) Data and Admin APIs** (`
   searchconsole.googleapis.com`, `analyticsdata.googleapis.com`, `analyticsadmin.
   googleapis.com`): read the site’s search queries (query text, impressions, clicks)
   and page views of its own posts, and list the properties of the connected Google
   account so the site owner can choose one. The requests are authenticated with
   the access token of the Google connection managed by Creator Assistant Hub (read-
   only scopes `webmasters.readonly` and `analytics.readonly`). What is sent to 
   Google is the property identifier, the date range and the page paths of the site
   itself. No visitor data is sent.
    - Service: [https://developers.google.com/webmaster-tools](https://developers.google.com/webmaster-tools)
    - Google Privacy Policy: [https://policies.google.com/privacy](https://policies.google.com/privacy)
    - Google Terms of Service: [https://policies.google.com/terms](https://policies.google.com/terms)
 * **Clustering service (AWS Lambda and AWS Fargate), operated by the plugin author**:
   groups the unclaimed search queries into topic clusters. When a run reaches that
   step, the plugin sends the service the URLs of two REST endpoints of your own
   site (to read the query vectors and to post the result back), the name of the
   vector collection and the clustering parameters. The service then reads the search
   queries and their vectors from your site and posts the clusters back. It processes
   them only while the job runs and does not store them.
    - Service: [https://www.creator-assistant.it](https://www.creator-assistant.it)
    - Privacy Policy: [https://www.creator-assistant.it/privacy-policy.php](https://www.creator-assistant.it/privacy-policy.php)
    - Terms of Service: [https://www.creator-assistant.it/terms-of-service.php](https://www.creator-assistant.it/terms-of-service.php)
 * **OpenAI and Qdrant Cloud, through Creator Assistant Hub**: to check that a suggestion
   does not duplicate existing content, the text of the suggested titles and summaries
   and of the editorial plan items is sent to OpenAI to generate embeddings and 
   short summaries, and the resulting vectors are stored in the site owner’s own
   Qdrant Cloud cluster. The API credentials are the ones configured in Creator 
   Assistant Hub; see its readme for details.
    - OpenAI Privacy Policy: [https://openai.com/policies/privacy-policy](https://openai.com/policies/privacy-policy)
    - OpenAI Terms of Use: [https://openai.com/policies/terms-of-use](https://openai.com/policies/terms-of-use)
    - Qdrant Privacy Policy: [https://qdrant.tech/legal/privacy-policy/](https://qdrant.tech/legal/privacy-policy/)
    - Qdrant Terms of Service: [https://qdrant.tech/legal/terms_and_conditions/](https://qdrant.tech/legal/terms_and_conditions/)

## Screenshots

[⌊The "Google" tab of Creator Assistant Hub, where you connect your Google account:
Planner is listed among the services that use the connection.⌉⌊The "Google" tab 
of Creator Assistant Hub, where you connect your Google account: Planner is listed
among the services that use the connection.⌉[

The “Google” tab of Creator Assistant Hub, where you connect your Google account:
Planner is listed among the services that use the connection.

[⌊The "Content suggestions" tab: the result of the last run and the Search Console
suggestions, each with the searches that led to it and the articles of your site
it is similar to, with their Google Analytics pageviews.⌉⌊The "Content suggestions"
tab: the result of the last run and the Search Console suggestions, each with the
searches that led to it and the articles of your site it is similar to, with their
Google Analytics pageviews.⌉[

The “Content suggestions” tab: the result of the last run and the Search Console
suggestions, each with the searches that led to it and the articles of your site
it is similar to, with their Google Analytics pageviews.

[⌊The end of the "Content suggestions" tab: the rejected candidates, the topics 
the run dropped because an existing article already covers them, with the article
that blocked each one and the similarity.⌉⌊The end of the "Content suggestions" 
tab: the rejected candidates, the topics the run dropped because an existing article
already covers them, with the article that blocked each one and the similarity.⌉[

The end of the “Content suggestions” tab: the rejected candidates, the topics the
run dropped because an existing article already covers them, with the article that
blocked each one and the similarity.

[⌊The "Editorial plan" tab before you have created any item: it fills with the items
you create with your AI assistant through Creator Assistant Planner Pro.⌉⌊The "Editorial
plan" tab before you have created any item: it fills with the items you create with
your AI assistant through Creator Assistant Planner Pro.⌉[

The “Editorial plan” tab before you have created any item: it fills with the items
you create with your AI assistant through Creator Assistant Planner Pro.

[⌊The "Settings" tab, first part: the minimum unclaimed impressions, the number 
of queries to check per run and the similarity band.⌉⌊The "Settings" tab, first 
part: the minimum unclaimed impressions, the number of queries to check per run 
and the similarity band.⌉[

The “Settings” tab, first part: the minimum unclaimed impressions, the number of
queries to check per run and the similarity band.

[⌊The "Settings" tab, second part: the analysis window, the Search Console and Google
Analytics 4 properties, and the optional weekly automatic run.⌉⌊The "Settings" tab,
second part: the analysis window, the Search Console and Google Analytics 4 properties,
and the optional weekly automatic run.⌉[

The “Settings” tab, second part: the analysis window, the Search Console and Google
Analytics 4 properties, and the optional weekly automatic run.

[⌊The "Pageviews (last N days)" column in the Posts list, filled daily from Google
Analytics over the analysis window and sortable, to find the articles worth improving.⌉⌊
The "Pageviews (last N days)" column in the Posts list, filled daily from Google
Analytics over the analysis window and sortable, to find the articles worth improving
.⌉[

The “Pageviews (last N days)” column in the Posts list, filled daily from Google
Analytics over the analysis window and sortable, to find the articles worth improving.

## Installation

 1. Install and activate Creator Assistant Hub first, and connect it to Google (Search
    Console + Analytics) from its settings page.
 2. Install and activate Creator Assistant Planner.
 3. Open Creator Assistant Planner’s admin screen and click “Generate now”, or wait
    for the weekly scheduled run.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Creator Assistant Planner” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Alessandro Lioce ](https://profiles.wordpress.org/alessandrolioce/)

[Translate “Creator Assistant Planner” into your language.](https://translate.wordpress.org/projects/wp-plugins/creator-assistant-planner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/creator-assistant-planner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/creator-assistant-planner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/creator-assistant-planner/)
by [RSS](https://plugins.trac.wordpress.org/log/creator-assistant-planner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * New: the Planner page comes right after the Hub page in the Creator Assistant
   menu, through Creator Assistant Hub’s `creator_assistant_hub_menu_positions` 
   filter.
 * New: Weekly content-gap detection pipeline — reads Search Console queries, filters
   semantic gaps against existing content, clusters them via the shared clustering
   infrastructure, validates candidate title+summary pairs for novelty, and scores
   them by search demand and nearby-content performance.
 * New: Own “Planner” admin page under Creator Assistant, with a “Search Console”
   section (minimum impressions, analysis window) and a separate “Google properties”
   section with two selects for the Search Console/GA4 properties to use, populated
   from the connected Google account with a manual refresh link.
 * New: “Similarity matching” section on the Settings tab — minimum/maximum similarity
   thresholds the pipeline uses to accept a candidate and to match supporting articles,
   configurable instead of fixed, with a live cross-check that keeps the two values
   from forming an invalid range.
 * New: “Generate now” button and last-run status on the Planner admin page.
 * New: Each suggestion in the Content suggestions tab shows the generated summary
   of what the article would cover, alongside its title and a narrative explaining
   why it was suggested, built from the underlying search-demand metrics.
 * New: Planner now describes itself in the list of services shown on Hub’s “Google
   Connection” settings screen, so site owners see why connecting is useful before
   they do it.
 * Fix: the Search Console/GA4 property selects stayed disabled after connecting(
   or reconnecting) a Google account until the 12-hour property-list cache expired
   on its own. Planner now clears that cache as soon as Hub’s Google connection 
   changes, via the new `creator_assistant_hub_google_connected`/`creator_assistant_hub_google_disconnected`
   hooks.
 * Fix: the GA4 property list only ever read the first page of `accountSummaries.
   list`, silently dropping any properties past it for a Google account with enough
   GA4 accounts to need a second page. It now follows `nextPageToken` across as 
   many requests as the account needs.
 * Fix: the “Last run” timestamp on the Planner admin page ignored the site’s configured
   timezone, showing the raw UTC time instead.
 * New: the “Content suggestions” tab now shows, after a run, how many Search Console
   queries were read and how many turned out to be a content gap; once the asynchronous
   clustering step replies, also how many clusters it produced, how many became 
   a new suggestion, how many existing posts were checked for page views, and when
   the reply arrived — with an explicit “clustering in progress” message shown in
   between, so a run that is still waiting is never mistaken for a stuck one.
 * Fix: a run could stay “clustering in progress” for good, and refuse every new“
   Generate now”, when the clustering job died (for example out of memory) after
   being accepted. The plugin now keeps the id of the job, asks the clustering service
   whether it is still alive while it waits (every few minutes, and while the page
   is open), and ends the wait with an explanation when the job is gone and no result
   arrived; a result that turns up later is still used. A wait never lasts more 
   than 24 hours, and clusters that were delivered but not processed (the processing
   died halfway) are processed again.
 * Change: suggestions are now items of an editorial plan, with a source (Search
   Console, or created with Agent through Planner Pro), a type (new article or update
   of an existing one) and a status (incomplete, proposed, approved, published).“
   Dismiss” and “Mark as done” are replaced by Approve, Back to proposed, Mark as
   published and Delete; Delete and “Mark as published” ask for confirmation in 
   the browser.
 * Change: every pipeline run replaces only the Search Console suggestions still
   awaiting approval; approved items and items created with Agent are kept. “Generate
   now” says so, and asks for confirmation when there are suggestions it would replace.
   The debug-only “Clear report data” tool follows the same rule and also keeps 
   approved items and items created with Agent.
 * New: plan items are indexed in their own Qdrant collection (`creator_assistant_
   <id>_planner_plan_item`, with the per-site identifier Creator Assistant Hub generates),
   and a Search Console candidate is discarded when it duplicates an item already
   in the plan, not only an existing article. The “Rejected candidates” section 
   shows which of the two blocked it. Items left unindexed by an OpenAI or Qdrant
   failure are retried by an hourly background job, and the collection is rebuilt
   when Hub’s embedding model changes.
 * New: candidate summaries follow the same 3-5 sentence format as Hub’s post summaries,
   so the similarity check compares texts of the same kind.
 * New: the items created with Agent have their own “Editorial plan” tab on the 
   Planner page, with its own status filter and paging. The “Content suggestions”
   tab lists only the Search Console suggestions: the items created with Agent have
   no score, so in a single list they came after every scored suggestion, many pages
   away.
 * New: a search box in the “Content suggestions” and “Editorial plan” tabs, to 
   find a plan item by a word in its title, description or summary. It is a plain
   text search, so it works without OpenAI or Qdrant and also finds the items not
   indexed yet.
 * New: `creator_assistant_planner_plan_item_status_changed` action ($id, $old_status,
   $new_status), fired after every successful status change of a plan item.
 * New: `creator_assistant_planner_plan_item_deleted` action ($id, $item), fired
   after a plan item is deleted, with the item as it was before deletion.
 * New: `Similarity_Search::search_checked()` for add-ons: like `search()`, but 
   it returns a `WP_Error` (status 503) when the embedding or the vector database
   does not answer, so an empty list is not mistaken for “nothing similar” when 
   no comparison was made. Limit: a failure of only one of the two collections while
   the Qdrant cluster answers is not detected, and that collection’s results are
   simply missing.
 * New: `Similarity_Search::summarize_for_search()` for add-ons: summarizes a free
   text the way posts are (one OpenAI call, cached for an identical text), so it
   can be passed to `search_checked()` and compared with summaries of the same kind;
   it returns a `WP_Error` (status 503) when the summary cannot be generated.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[content strategy](https://wordpress.org/plugins/tags/content-strategy/)
   [google analytics](https://wordpress.org/plugins/tags/google-analytics/)[Search Console](https://wordpress.org/plugins/tags/search-console/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/creator-assistant-planner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/creator-assistant-planner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/creator-assistant-planner/reviews/)

## Contributors

 *   [ Alessandro Lioce ](https://profiles.wordpress.org/alessandrolioce/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/creator-assistant-planner/)