Linkagent

How to Add Internal Links in WordPress (3 Ways)

Add internal links in WordPress three ways: manually in Gutenberg or Classic, with Yoast or Rank Math suggestions, or with automation plugins.

Nedim Mehić

Nedim Mehić

August 9, 2026 · 6 min read

How to Add Internal Links in WordPress (3 Ways)

There are three ways to add internal links in WordPress: manually in the editor (fast once you know the shortcuts), semi-automatically via the link suggestions in Yoast SEO Premium or Rank Math, or fully automatically with a linking plugin or external tool. Manual gives you total control but doesn't scale; suggestion plugins help while you write but do nothing for the hundreds of posts you've already published; automation covers the back catalog but varies enormously in how safely it modifies your site. Most WordPress sites past ~50 posts need the third layer in some form.

Way 1: Manual linking in Gutenberg and Classic

For linking as you write, WordPress's built-in tools are genuinely good; most people just don't know the shortcuts.

In Gutenberg (block editor):

  1. Select the text you want to link: the phrase in the sentence that describes the target page.
  2. Press Ctrl+K (Windows) or Cmd+K (Mac).
  3. Start typing the title of the post you want to link to. WordPress searches your own content inline and suggests matching posts and pages; you rarely need to paste a URL for internal links.
  4. Press Enter to apply.

The inline search is the underrated part: type "pricing" and your pricing page appears; no tab-switching to copy URLs. Press Ctrl+K again on linked text to edit or remove the link.

In the Classic editor: same Ctrl+K / Cmd+K shortcut, or the chain-link toolbar button; click the gear icon in the link popover for the full search dialog with a list of recent posts.

The discipline that matters more than the mechanics: link the phrase the sentence already contains ("our guide to image compression"), not bolted-on text ("click here to learn more"); aim for roughly one contextual link per 250 words; and give every new post links from older posts, not just links out. That last habit is where manual workflows quietly fail: editing five old posts every time you publish requires memory and willpower, and the moment either lapses, your new content sits orphaned. The fundamentals are covered in our guide to internal linking; the WordPress-specific problem is simply that manual effort scales linearly with your archive while the number of possible page pairs grows much faster.

Way 2: Editor suggestions (Yoast SEO Premium and Rank Math)

Both major SEO plugins offer internal link suggestions inside the editor, and both are fair-to-good at what they attempt. Described accurately:

Yoast SEO Premium shows an "Internal linking suggestions" panel in the editor sidebar. It analyzes the words in your draft (its analysis emphasizes prominent words in your text) and lists your existing posts and pages that appear most related, with cornerstone content (posts you've flagged as your most important) marked and prioritized in the list. You drag or copy a suggested link into your text where it fits. Yoast also ships related tools: a text-link counter column in the post list showing internal links in and out of each post, and orphaned-content filters that surface posts with no incoming internal links. Link suggestions are a Premium feature; the free version counts links but doesn't suggest.

Rank Math (in its PRO tiers) offers Link Suggestions in the editor sidebar, based on matching your draft's content against your other posts, with an option to base suggestions on the focus keywords you've assigned to posts, which can make suggestions more deliberate than pure text matching. It can display suggestions as a simple list to copy from, and Rank Math also tracks internal link counts and flags posts with too few links in its SEO analysis.

What suggestion plugins do well: they catch linking opportunities at the cheapest possible moment: while you're already in the editor with context loaded. They're a real upgrade over memory.

What they structurally can't do: they only fire for the post you're currently editing. Publishing a new post about "email deliverability" won't prompt you to edit the twelve older posts that mention deliverability and should now link to it. The suggestion model improves your forward flow and leaves your back catalog (usually 90%+ of your site) exactly as linked as it was. They also suggest pages, not placements: choosing the sentence and anchor, and keeping density and anchor variety sane across the site, stays manual. Finding those retroactive opportunities is its own workflow; we cover four methods in how to find internal link opportunities.

Way 3: Automation, and the tradeoffs that actually matter

Automated internal linking tools for WordPress split into two architectures, and the difference matters more than any feature list.

Architecture A: database rewriting. The plugin writes <a> tags directly into your wp_posts content, either when you approve a suggestion or in bulk. Links live in your content like hand-placed ones.

  • Upside: links are in the HTML your server renders: no runtime dependency; they persist if you deactivate the plugin.
  • Downside: your content is being programmatically edited. Bulk operations that rewrite hundreds of posts are hard to review and harder to undo cleanly; auto-linking rules ("link every occurrence of keyword to this URL") are the classic footgun, producing over-linked pages, repeated identical anchors, and links inside headings or buttons. Revisions and page-builder content (shortcodes, ACF fields) add edge cases. If you go this route, insist on per-link review and a real rollback story.

Architecture B: injection at render time. Links are added when the page is served or viewed, via a filter on the_content, or via a small script that wraps existing text in the browser. Your stored content is never modified.

  • Upside: fully reversible (turn it off, links vanish); safe to review and iterate because the source of truth is a decision list, not scattered edits; works even for content the editor can't easily touch.
  • Downside: links depend on the integration staying active, and a client-side script must be built carefully to avoid layout shift or flicker.

LinkAgent sits in the second camp and is honest about the tradeoffs: it crawls your site externally (so it works with any theme or page builder; it reads your rendered pages, not your database), scores page pairs on topical similarity and link need, and proposes links where the anchor is an exact phrase already present in your sentence; anchors are never invented. Every suggestion goes through an approve/reject queue, and your decisions survive re-crawls. Approved links ship via a 2 KB script that wraps existing text with no layout shift, via a JSON API if you want server-side rendering, or through its WordPress internal linking plugin. Scheduled re-crawls (monthly, weekly, or daily) solve the back-catalog problem the suggestion plugins can't: when you publish a new post, the next crawl finds the older posts that should link to it and queues those placements for review.

The question to ask any linking plugin

"Show me exactly what you will change, let me approve each link individually, and show me how to undo all of it." If a tool can't answer all three, it doesn't belong on a production site, regardless of architecture.

Which way for which site

SituationRecommended approach
< 30 posts, one writerManual (Ctrl+K) plus a publish-week checklist
Growing blog, links added while draftingManual + Yoast/Rank Math suggestions
100+ posts, back catalog underlinkedAutomation with human review, layered on the above
Agency managing many client sitesAutomation with per-site review queues and scheduled re-crawls

The layers stack rather than replace each other: keep linking naturally as you write, let editor suggestions catch what you'd forget, and let scheduled automation work the archive. Whichever mix you choose, hold every link (human or machine) to the same standard: descriptive anchor already present in the sentence, body placement, reasonable density, and variety across each target's anchor profile. The full checklist lives in our internal linking best practices, and every one of those practices applies with extra force when software is placing links at scale.

Related reading

Put this on autopilot

Linkagent finds and ships internal links for you. Scan your site free, no account needed.

Free scan, no account needed. Takes about 20 seconds.