> Markdown version of https://jode.io/docs/article-generation/ · Português: https://jode.io/pt/docs/geracao-do-artigo/index.md · Summary: https://jode.io/llms.txt

Features
# Article generation

Generating an article in APC Editorial is a sequence of steps that always runs in the same order: research first, then writing, and finally the image and the LinkedIn summary. This page explains each step, what you see on the theme card, how to generate and regenerate, and what happens when something goes wrong.

PRO Updated for version 3.82 16 min read

## The steps and when each one runs

The table sums up the order. A step marked "if turned on" depends on a choice in the plan; the others always run. Each step uses the AI key of the provider shown, and the cost is billed straight to your account with that provider.

| Step | When it runs | Key |
| --- | --- | --- |

| 1. Competitor research | Always, in WP and LinkedIn plans. | DataForSEO (optional) and Anthropic |

| 2. Case research | If turned on in the plan. | Perplexity |

| 3. Anti-cannibalization | Always, in WP plans. | Anthropic |

| 4. Article and SEO fields | Always. | Anthropic |

| 5. Keyword in the right place | When the theme has a keyword. | Anthropic |

| 6. Featured image and alt text | If turned on in the plan. | OpenAI and Anthropic |

| 7. LinkedIn summary | If turned on in the plan and the author has LinkedIn connected. | Anthropic and OpenAI |

**Changing a setting never breaks what is already generating.** The article in progress uses what was valid at the moment of the click (or of the scheduled time). The new value applies from the next generation.

## Competitor research

Before writing, APC reads the pages that show up on Google for the theme's keyword and works out what they all cover, what they leave out and which questions people ask. This becomes the research brief the writer uses. It always runs, with no switch.

### With DataForSEO

With the DataForSEO key saved, APC reads pages from 3 Google sources. In the plan, the field Sites to read from each Google source has a quota for each one: Organic, AI Overview and AI Mode. The default is 3 for each.

- **0 turns a source off.** With AI Mode at 0, its search is not even made. All 3 at 0: DataForSEO is not used.

- **Each site is read only once.** A site that shows up in 2 sources counts in the first one, in the order Organic, AI Overview, AI Mode.

- **A page that won't open is swapped** for the next one from the same source.

- **A source with no results changes nothing:** APC reads what the others brought and says so on the card.

The field Where Google searches from picks where the search happens. Empty means the whole country. A state, city or neighbourhood brings the results a person there sees on Google, which suits content for a local audience. The place must be in the country of the output language; if it isn't, the search uses the whole country and the plan tells you.

Sites that must never count as competitors (your own, partners, directories) go in the Never treated as competitors list, on the DataForSEO card in Global Settings. Your own site is already left out on its own.

### Without DataForSEO, or when it fails

If DataForSEO is not set up, fails completely or every site it brought was filtered out, APC searches with Anthropic's web search and reads the number of sites in the field Sites to read when DataForSEO fails (minimum 1, default 5). This search has no location.

If no search finds a competitor, the article is written with the Google data alone and a note, and the generation goes on. It only stops if no page can be read after every swap; in that case, the card names the sites that would not open.

### The strategic differential and E-E-A-T

In WP plans, the research ends with the strategic differential: the scope, the angle, the gaps competitors leave that the article will cover, the differentials applied, the E-E-A-T signals and the cases. E-E-A-T lists the concrete signals the article has and what only the author can add. **APC never invents experience, credentials or registration numbers.** Open it with the View strategic differential link on the theme card.

### The badges on the card

After each generation, the theme card shows coloured badges about the research:

- **Blue:** the sources used and how many sites were read. Click to see those competitors and their backlinks (see [SEO and performance](https://jode.io/docs/seo-and-performance/)).

- **Yellow:** a source returned nothing (for example, "Organic: 0").

- **Amber:** DataForSEO failed and Anthropic's search took its place.

- **Orange:** DataForSEO worked, but every site was filtered out (yours, the exclusion list or sites that won't open).

- **Pink:** Generated without a strategic differential. The article was written anyway.

In the plan settings window, a notice shows the estimated cost of the research, which changes with the quotas and the model you pick.

## Anti-cannibalization

In every WP plan, before writing, APC compares the theme with the past, the present and the future of your content. This way, the new article doesn't compete for the same Google search with another article of yours. There is no switch and it needs no key besides Anthropic.

The comparison reads:

- **The past:** every theme that already has its article, in this plan and in the considered seasons, with its whole briefing and the title, address and subheadings the article really has. Drafts count. An index article that belongs to no theme (imported or from before the plugin) comes in with what the index holds.

- **The present:** the theme's own briefing.

- **The future:** the themes that have no article yet, in this plan and in the considered seasons.

There is no limit on how many. The items closest to the subject come first: in the plan, by the cluster order (the block's pillar, the block's other themes, the other pillars); in the considered seasons, by the words they share with the theme. In a very large plan, what doesn't fit in one reading is counted for the AI, never silently forgotten.

The result is a guide for the writer: what belongs to this article and what belongs to its neighbours, named by their exact title. In the final text, what belongs to a neighbour shows up in short, with a link when the neighbour is in this plan. The index and the seasons are explained in [Themes and briefings](https://jode.io/docs/themes-and-briefings/).

### A theme of another plan that is not written yet

A theme of a considered season that has no article yet may never be written. So the new article never leaves anything to it and never names it: it covers the whole subject, as if that theme did not exist. When the 2 overlap, the other theme gives way, on its own turn: the generation leaves the notice Already covered in other plans on it, which shows on its card.

When that theme's turn comes, its anti-cannibalization check reads the article that left the notice, if it is already published, with its whole published text, and the theme only mentions what that article already covers. The details are in [Themes and briefings](https://jode.io/docs/themes-and-briefings/).

When there is nothing to compare yet (no other theme or article, in this plan or in the considered seasons), the card shows a grey note saying so. That's normal for the first theme of a new plan.

**If the card says anti-cannibalization didn't finish,** try again first. Lower that step's reasoning effort only if the notice comes back.

## Case research

When turned on in the plan, case research looks for real cases or decisions in official sources and adds them to the article as proof, with a link. It runs on Perplexity: its key must be saved in Global Settings. There are 2 modes:

- Fast search: answers in seconds.

- Deep search (reads the sources): also reads the sources, for richer cases. It takes up to 1 minute per article and costs a little more.

Before going into the article, up to 8 links are opened and checked. A case whose link won't open never goes into the text. When no case is found, the article uses hypothetical cases, clearly labelled as such.

If the research finds cases but no link can be checked, the article is written without those cases, the generation finishes normally and the card shows a red line saying so. An unreadable answer or an error from Perplexity, on the other hand, stops the generation before the writing.

### Brazilian law

In plans whose Main profile is Jurídico (legal) and whose output language is Brazilian, the search follows a sequence and stops at the first step that brings a checked case:

- 1
**The courts' own sites**
Official sites of the courts, the government, the public prosecutors, the legislature and the public defenders.

- 2
**Jurisprudências.ai**If chosen in the plan
Only when the plan's Case law source radio is set to Jurisprudências.ai (paid, via API). It needs its key, tested in Global Settings.

- 3
**Jusbrasil**
Case-law pages on Jusbrasil.

- 4
**Hypothetical cases**
When no step brought a checked case, labelled as hypothetical in the text.

In this sequence, no source error stops the generation: the search just moves on to the next step. If the Jurisprudências.ai key is refused, missing or hits its daily limit, the card shows an amber strip with the reason.

## The article

With the research ready, the writer produces the full text in the plan's model, following the editorial prompt (Target audience, Main profile and Publishing entity, see [Projects and plans](https://jode.io/docs/projects-and-plans/)). Everything comes out in the output language.

**The whole text, always.** The text is never shortened to save money. If the model stops halfway, APC carries on from where it stopped and joins the parts.

**3 layers.** The theme's scope in depth, the neighbours in a few lines with a link, and no reader question left unanswered (see [What APC Editorial is](https://jode.io/docs/)).

**FAQ with real questions.** The FAQ answers what people ask in "People also ask". A question that belongs to a neighbouring theme gets a short answer and a link; a question outside the profile's field is left out.

**Official sources only.** The article cites primary sources the reader can check.

**Regulated sectors, handled strictly.** With the Jurídico (legal), Saúde (health) and Finanças (finance) profiles, the text stays within the profile's field and promises no results.

## Keyword in the right place

Every article comes out with the keyword in the excerpt and in the first paragraph. The keyword is the briefing's Main keyword; if it is empty, the canonical keyword is used. Without either, there is no rule.

- **What counts as the first paragraph:** the first paragraph of the text or, if the plan sends the first paragraph to a custom field, that field.

- **How it is checked:** word by word, in the same order and form. Capital letters, accents, punctuation and up to 2 linking words in between don't get in the way.

- **If it's missing:** APC rewrites only the part that is missing, in a natural sentence, in up to 3 tries. A paragraph with a list or a box is left alone.

- **Checked again before going live,** on the exact text that will be published.

The keyword used is the one in the briefing at the moment of the click. Changing the keyword afterwards applies to the next generation.

## SEO fields, category and tags

Along with the text, APC fills in the fields the article needs in WordPress:

- **SEO plugin:** SEO title and meta description in whichever plugin is active (Yoast SEO first; Rank Math, All in One SEO and SEOPress too). In Yoast and Rank Math, the focus keyword is the briefing's keyword.

- **Excerpt**, already with the keyword.

- **Tags:** existing or new, with a limit.

- **Category, author and Schema Rank author:** they come from the plan, unless the theme picks another one. On the card, the selector shows (Inherited from the editorial plan) while it follows the plan. **The plugin never creates a category.**

Custom fields and body shortcodes are set up in the plan, in Field mapping (see [Projects and plans](https://jode.io/docs/projects-and-plans/)).

## Featured image and alt text

With the Generate the featured image with AI switch on in the plan, APC creates each article's featured image with OpenAI. Off, the article comes out without a featured image.

- **A single model** for the WordPress image and the LinkedIn image.

- **Size and format:** you set the size of each one. The WordPress image can be converted to WebP or AVIF; the LinkedIn image comes out in a format LinkedIn accepts (JPG by default).

- **Your brand:** optional logo and colour palette; the image includes the logo and uses the colours.

- **Text in the image** may appear, always in the output language.

- **Alt text:** it is a step of its own, written by AI for the image created. If it fails, the alt stays empty with a notice, never a copy of the title.

These settings belong to the plan and don't depend on the site's image converter.

## LinkedIn summary

When the plan asks for it and the article's author has LinkedIn connected, the last step writes the LinkedIn post with the image and the article link. Without those 2 conditions, nothing of the summary is generated or charged, and the article comes out as usual. The details are in [LinkedIn](https://jode.io/docs/linkedin/).

## Generate and regenerate

On the theme card, the Generate button opens the Generate this article window. There you choose, on every generation, Publish or Draft. Draft is the default; Publish only comes ticked when the article is already live.

On a theme that already has an article, the window is Regenerate this article. Two switches decide whether the images are redone too: Regenerate the featured image and Regenerate the LinkedIn image. Both come off: without them, the current images stay.

**Regenerating never overwrites the live article.** The new version waits beside it and only replaces the old one when it is published. See [Publishing](https://jode.io/docs/publishing/).

You can also select several themes in the list and generate them all, one after another, choosing to publish or save as draft. To generate at set times, use scheduling (see [Publishing](https://jode.io/docs/publishing/)).

### Limits

- **1 generation at a time in each plan.**

- **Up to 5 generations at the same time per site**, across all plans.

### When the Generate button is locked

The plan only generates when it has the minimum for a well-made article. While something is missing, the button and scheduling are locked and the plan shows This plan cannot generate yet — schedule and on-demand generation both need:, followed by what is missing:

- Your PRO account.

- Target audience, Main profile and Publishing entity filled in on the editorial prompt.

- The plan's default category and the default WordPress author (and the default Schema Rank author, if Schema Rank is active).

- The key for each step that is on: Perplexity for case research, OpenAI for the AI image. A key that is saved but not tested yet is accepted; a refused key is not.

A choice deleted after it was made doesn't count. If the chosen category or author is removed from WordPress, the plan says so, for example The default category of this plan no longer exists. Choose another. The same goes for the category and authors chosen on the card of a theme that has no article yet: its generation is refused until you pick another one.

## Generation history and cost

Each theme has its Generation history: one row per generation, with what was generated, when, the result (Finished, Incomplete, Cancelled or Error, in red when it failed or was cancelled), the error reason and the cost of each step. A generation that failed after being charged shows its cost too.

[![The theme card after generation: status, cost of the last run and in total, Search Console and Google position.](https://jode.io/static/docs/img/theme-card-en.webp?v=49eb23891d)](https://jode.io/static/docs/img/theme-card-en.webp?v=49eb23891d)
The theme card after generation: status, cost of the last run and in total, Search Console and Google position.

[![The plan's numbers, with the total cost and the cost per AI provider.](https://jode.io/static/docs/img/plan-numbers-en.webp?v=60c3cf8cf4)](https://jode.io/static/docs/img/plan-numbers-en.webp?v=60c3cf8cf4)
The plan's numbers, with the total cost and the cost per AI provider.

While it generates, the Cancel generation button stops everything. Cancelling does not refund what the AI already charged. The card also shows how many times the article was generated and whether it was born outside APC (First generated outside APC Editorial).

The cost added up per plan and project, and the spending cap, are in [AI keys and costs](https://jode.io/docs/ai-keys-and-costs/).

## When a step fails

A step that is on is never skipped silently. Either it finishes, or the card says which step failed, the reason and the provider's answer. What happens depends on when the failure comes:

| When | What happens |
| --- | --- |

| Before the article | A passing error is retried, within a limit. A definite error stops the generation before writing, and the card shows the cost already spent. |

| After the article | Image, LinkedIn image, summary and alt text get 3 tries. If it still fails, what was paid for is kept, but nothing goes live on its own. |

When the failure comes after the article, the generation closes as Incomplete:

- On the first generation, the article stays as a draft.

- On a regeneration, the new version stays pending, and the live article stays as it was.

- The LinkedIn post is kept, not posted.

- The card shows a red strip with the step, the reason and the fix button, such as Retry saving, Edit via APC Editorial or Publish now.

You can publish by hand what was left incomplete. The publishing deadline, the approval queue and scheduling refuse an incomplete piece. Saving without changing the text does not clear the failure.

## Models for each step

In the plan's editorial prompt, the AI models & reasoning effort block picks the model for each step: Article model, LinkedIn summary, Anti-cannibalization and Case research. The 2 competitor research models (Competitor research - DataForSEO and Competitor research - Anthropic) sit next to the quotas.

- **Effort and thinking:** each step has Reasoning effort and Extended thinking. The thinking box disappears on models that always reason, because it changes nothing there.

- **Anti-cannibalization without Haiku:** this step only uses the larger models. A plan saved with Haiku runs on the newest Sonnet, with an amber notice, until you save it again.

- **Lists that update themselves:** the selectors show the newest model of each line. A model that was retired is replaced by the newest one of the same line, with a notice. See [AI keys and costs](https://jode.io/docs/ai-keys-and-costs/).

Found something wrong or missing? Write to [support@jode.io](mailto:support@jode.io). Updated on October 30, 2026

[jode**.io**](https://jode.io/)
APC Editorial is a WordPress plugin made by jode.io.

`support@jode.io`
[+55 35 98815-2040](tel:+5535988152040) 
Rua Idalina Marcondes Mota, 55 - Nova Guará 
Guaratinguetá - SP, 12515-390, Brazil

#### Product

- [How it works](https://jode.io/#como-funciona)

- [Features](https://jode.io/#recursos)

- [Pricing](https://jode.io/#preco)

- [Docs](https://jode.io/docs/)

#### Company

- [Contact](mailto:support@jode.io)

- [Privacy Policy](https://jode.io/privacy-policy/)

- [FAQ](https://jode.io/#faq)

© 2026 jode.io Made for WordPress
