Limited time Launch offer — 50% off every plan See plans

Bulk Writing and Scheduling

Docs › The AI writer

Write a table of keywords once and schedule the whole batch across a date range. The plugin writes and publishes one at a time, in the background, so a month of content can go out at a natural pace without you opening the site again.

In one lineType or paste a row per article, pick a schedule window, and the batch writes and publishes itself over that period — even with the browser tab closed.

One row, one article

Each row you add carries what makes that article unique:

Field What it does
Keyword The topic and focus term for the article.
ASIN(s) Pin the specific product or products this article is about — the same reasoning as pinning products in a single shortcode applies here.
Category Assigned on publish. A category that does not exist yet is created automatically, so you can plan a new section of the site without pre-building the taxonomy.

The content type — single, comparison, top-5 or informational — is set once for the whole batch, not per row. Run separate batches for separate types.

The scheduling window

You set a start and end time, and the plugin spreads the batch across it rather than writing everything the moment you click go. That is what keeps a bulk-written month looking like a real editorial pace instead of forty posts appearing in the same hour — the same cadence principle that governs manual publishing applies here automatically.

Why it keeps running with the tab closed

Bulk writing is driven three different ways at once, specifically so a batch cannot stall on flaky hosting:

  • While a tab is open, the browser advances the batch one item at a time and shows live progress.
  • A background request advances it without any tab open.
  • A self-rescheduling WP-Cron event keeps it moving even if both of the above are unavailable.

The three-way redundancy exists because of a real failure mode. A batch driven only by an open browser tab used to stall at “0 done” on hosts that block the loopback requests WordPress normally relies on. Layering cron on top closes that gap without you needing to know which kind of host you are on.

Failed items retry, then stop asking

Any single item that fails — a timeout, a provider error — retries automatically up to three times before it is marked failed with the actual reason shown, rather than silently skipped or retried forever. Two independent queues run at once: create for new bulk articles and update for refreshes, so a bulk-writing run and a batch of refreshes never block each other.

Cancelling

Cancel All stops every item still waiting and switches scheduling off, so you can adjust the list and save a fresh run. Anything already published by the time you cancel stays published — cancelling is forward-only.

One AI provider, applied to the whole batch

The batch uses whichever provider and model are set in AI Settings at the time it runs, same as a single generation — covered here. Make sure your provider account has enough balance for the size of the batch before you schedule it; a batch that runs out of credit partway through behaves exactly like any other AI failure — the remaining items retry, then fail with the reason shown.

Common questions

Can one batch mix content types?

No, type is set once for the whole batch. Run a second batch for a different type — they can be scheduled to overlap without conflicting.

Do I need to keep my browser open?

No. The batch is designed specifically to keep progressing without an open tab, through a background request and a self-scheduling cron event.

What happens to a failed item?

It retries automatically up to three times, then is marked failed with the actual reason shown, so you know whether to fix the keyword, the ASIN, or your AI provider account before re-running it.

Will bulk-written posts publish straight to the live site?

Publishing behaviour follows your general content settings the same way a single generation does — check the exec/publish status setting if you would rather batches land as drafts for review first.