Repository navigation
New Experiment: Suggest internal links within post content #875
Description
What problem does this address?
Authors and editors often lack full context of everything already published on a site, so valuable opportunities to link new posts to related existing content go unused. Internal links are one of the higher-leverage, lower-effort levers for on-site engagement and SEO (they pass link equity, surface related content to readers, and help establish topical authority), but finding good linking opportunities by hand doesn't scale, especially on larger sites.
What is your proposed solution?
Add a new experiment that suggests up to 5 (filterable) internal links per post, pointing to other existing content on the same site. Links are suggested only, never auto-inserted so that the author/editor reviews and accepts/rejects each one, consistent with how every other experiment in this plugin requires explicit user action.
I considered a "related posts" block/widget at the end of a post as an alternative, but this would have lower engagement than in-content contextual links, and doesn't help with the deeper problem of missing internal links inside the body copy.
Two entry points into the same underlying suggestion ability:
- Pre-publish flow (primary)
Suggestions surface as part of the pre-publish panel: run against the current draft content, return up to 5 candidate links (anchor text >> target post/page), and let the user accept or dismiss each before publishing.
- On-demand flow, ahead of pre-publish (secondary)
A user can manually trigger link suggestions at any point while drafting, using the same pattern already established by the Editorial Notes experiment (which reviews content block-by-block and adds Notes with suggestions for accessibility/readability/grammar/SEO). This experiment would do the same for internal links:
WP 6.9–7.0: attach the note to the relevant paragraph block, since inline/text-range Notes aren't available yet.
WP 7.1+: attach the note to the specific word(s)/phrase once inline Notes ship, anchoring the suggestion to the exact anchor text rather than the whole paragraph.
Since Editorial Notes already solves "review content block-by-block, write a Note" and Editorial Updates already solves "apply a Note's suggestion to content," this experiment could be a new ability (ai/internal-link-suggestions or similar) plus registration as a consumer of those existing patterns, rather than new editor plumbing. The only downside there is it requires those experiments to be enabled to fully function, so not optimal.
Scope for v1
- Up to 5 suggested links per post; count filterable.
- Candidate targets: other posts/pages on the same site (taxonomy archives and cross-network/multisite targets are reasonable future iterations).
- Anchor text pulled from the post's own content, no invented anchors or URLs.
- Suggestions are review-and-accept only; nothing is auto-published or auto-inserted.
- Filterable: link count, eligible post types as suggestion targets, eligible post types for suggestions to appear on.
Open questions
- Should this reuse the Editorial Notes/Editorial Updates code paths directly, or register as its own experiment that happens to write Notes the same way? [I think the later, but open to discussion here.]
- Does the suggestion ability need its own lightweight content/link index or is per-post context sufficient to send to the connector at suggestion time?
- Should the Notes-based flow auto-detect and degrade gracefully between paragraph-level (6.9–7.0) and inline (7.1+) Notes based on the installed core version, or should that just follow whatever core version the site is running with no separate toggle? [I think the former, as that allows us to remove the 6.9-7.0 fallback once 7.1 becomes our min WP version]
- Do we want a short "reason" string noting why the AI thinks this is a good suggestion to help the editor evaluate relevance before accepting?
Why is this important to you?
No response
I have searched existing issues and this is not a duplicate.
- Yes
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsIn progress
Activity
Infinite-Null commentedon Jul 20, 2026
Hi @jeffpaul 👋,
I've started working on this issue and have put together an initial implementation for AI-powered internal link suggestions.
The current approach analyzes the post content and suggests contextual internal links to relevant existing posts or pages on the site, while keeping the author in full control to review and accept or dismiss each suggestion. I've also recorded a short demo of the current state of the implementation for feedback.
Screen.Recording.2026-07-20.at.11.37.09.AM.mov
Feedback on the approach, UX, and overall direction would be appreciated. I'll continue refining the implementation and open a PR once it's ready.
cc: @jeffpaul @dkotter
Infinite-Null commentedon Jul 27, 2026
Hi @jeffpaul 👋,
I've opened PR #887 with the initial implementation of the Internal Link Suggestions experiment.
When you have a chance, could you please take a look and share your feedback on the implementation and overall approach? I'll continue refining it based on the feedback.
cc: @dkotter
jeffpaul commentedon Aug 5, 2026
@Infinite-Null instead of having the recommended links added to the right sidebar panel, perhaps we could use Notes and leave those in-line suggestions within the post content (I believe that Notes functionality landed in WP 7.1 so far)?
jeffpaul commentedon Aug 5, 2026
@adamsilverstein as a heads-up on a use case around Notes suggestions and in-line referencing (e.g. specific word/phrase within a paragraph block).