Skip to content

Excerpt Generation #11

@jeffpaul

Description

@jeffpaul

Feature Overview & Value

Summary:

This feature generates a concise, AI-powered summary of a post or page, designed to populate the native WordPress excerpt field. It provides a clear, editable preview of the content that can be used in archive views, RSS feeds, search results, and SEO contexts. The generation is triggered automatically and outputs a single, neutral-toned summary that the user can accept or revise.

Why it matters:

Many WordPress users don’t create custom excerpts, leading to empty archive previews and poor search visibility. At the same time, writing a good summary takes time and effort—especially when the purpose of the excerpt isn’t always clear to users. This feature solves that by giving users a high-quality default they can use as-is or refine, supporting both usability and discoverability without disrupting content workflows.

Use Cases:

  • A first-time user isn’t sure what the excerpt field does and benefits from a default that "just works."
  • A user wants to quickly create a summary that works across feeds and search.
  • An editor wants a structured, readable preview they can tweak for SEO or clarity.

User Interaction Flow

Overview:

The excerpt is generated automatically when there is sufficient post or page content, reducing friction for the user and ensuring a functional summary is available even if the excerpt field is never manually touched. Users retain full control to edit, replace, or delete the AI-generated excerpt.

Behavior Details

  1. Automatic Generation
  • When post or page content reaches a minimum threshold (e.g., ~100 words), and no excerpt exists, the system automatically generates one using AI.
  • Do we regenerate this excerpt as the content changes? If we want to auto-generate this, we should do that at publish time so we're only having to process once.
  • Each request costs money so we need to determine if having this automatically run is desired. Someone may want more control over when (or if) this is triggered.
  • Its also worth considering adding this to the PrePublish Panel (if we don't auto-generate an excerpt), prompting a user to generate an excerpt if none exists yet
  • The excerpt is placed into the standard excerpt field.
  1. Visibility & Editability
  • The excerpt appears wherever the field is normally surfaced (e.g., in the sidebar under "Excerpt").
  • The user can edit the AI-generated excerpt directly, like any manually written summary.
  1. Optional Regeneration (non-blocking)
  • A small "Regenerate excerpt" or "Replace with new suggestion" link may be included below the field for users who want a new draft.
  • Open to discussion as to whether this is required for MVP or should be a potential enhancement post-MVP?
  1. Persistence and Overrides
  • If the user edits or deletes the excerpt, their version is preserved and not overwritten.
  • Regeneration is only triggered again if the user explicitly clears and requests it.
  1. Error Handling
  • If the AI call fails, the excerpt field remains empty with no user disruption.
  • Optionally display fallback message: "Couldn’t generate excerpt. You can write your own or try again later."
  1. Length and Format:
  • Target 1–2 sentences or approximately 30–60 words.
  • Clean plain-text output optimized for readability in archive feeds and search previews.
  • No list formatting, markdown, or structured HTML.

Editability and Control:

  • The excerpt is always editable in the standard excerpt field.
  • The AI-generated version serves as a starting point, not a lock-in.
  • No tone or style customization is offered in the MVP to keep the experience simple and focused.

Technical Requirements (High-Level)

AI Input Requirements:

  • Title (as ensuring there’s no duplication as excerpts are often shown on the frontend right after a title)
  • Full post or page content
  • Truncated to ~500–1000 words if necessary to stay within token limits
  • No user input or configuration required

AI Output Requirements:

  • One suggested excerpt string
  • Must be plain text
  • Should target 30–60 words or 1–2 sentences

Trigger Conditions:

  • Automatically triggered once post/page content reaches a minimum threshold (~100 words) and no excerpt exists
  • Only triggered once per post unless the field is cleared and regeneration is requested manually

Fail States & UX Expectations:

  • If the AI response fails, nothing is written to the excerpt field
  • Optional fallback message appears to inform the user without blocking them

Model Agnosticism:

  • Should work with any model integrated via the AI Services plugin (OpenAI, Claude, self-hosted, etc.)

Privacy & Config:

  • API keys handled via AI Services
  • Content is sent only during generation; no persistence or telemetry is stored without user consent

Extensibility Notes:

  • Regeneration capability can be added later
  • Future versions may support excerpt style presets or goal-oriented summarization

Design mockups

Version 1

Image

Version 2

Image

Props to Lina Wiezkowiak for the product definition, Rachael Cortellessa for the designs, and Darin Kotter for technical review of both.

Metadata

Metadata

Assignees

Labels

Projects

Status

Needs review

Relationships

None yet

Development

No branches or pull requests

Issue actions