Adding a link to a WordPress post is one of those things that has gotten faster with each editor revision, but the options buried inside the link UI – open in new tab, nofollow, sponsored, the dedicated Link block – are not always obvious, and the classic editor still does it slightly differently. This guide walks through the four ways to insert a link in the block editor, the link settings panel and what each option actually does, the classic editor equivalent, and how to find broken links across your site after the fact.
The short answer#
In the block editor, the fastest way: paste a URL on top of selected text. Highlight the words you want to make into a link, copy a URL from anywhere, paste with Ctrl+V (or Cmd+V on Mac). The selected text becomes a clickable link. No dialog, no menus.
If you do not have a URL ready to paste:
- Highlight the words you want to link.
- Click the Link icon in the floating toolbar (looks like a chain link), or press Ctrl+K / Cmd+K.
- Type or paste the destination URL.
- Press Enter.
To open the link in a new tab, set rel=”nofollow”, or change the URL of an existing link, click the link in the editor and use the link settings panel that appears below the floating toolbar.
In the classic editor, click the Insert/edit link button in the toolbar (or press Ctrl+K). The dialog asks for the URL and link text.
Four ways to insert a link in the block editor#
The block editor has multiple paths to the same outcome. Use whichever fits the moment.
1. Paste-to-link
Highlight existing text, then paste a URL. The text becomes the clickable anchor and the URL becomes the destination. This is the fastest method when you already have a URL on your clipboard.
This works in any block that supports rich text – paragraph, heading, list, button block. It does not work in code blocks or HTML blocks because they treat input literally.
2. The Link button in the floating toolbar
Highlight text, then click the chain-link icon in the floating block toolbar. A small popup appears with a URL field. Type the URL or paste it, press Enter, and the link is applied.
The popup also has a search field that surfaces matches from your own site as you type. If you start typing “WordPress permalinks,” WordPress suggests existing posts with that phrase in the title and you can pick one with a click – no need to copy and paste the URL yourself. This is the fastest way to add internal links.
3. The Ctrl+K / Cmd+K shortcut
Same as the toolbar button but keyboard-driven. Highlight text, press Ctrl+K (Windows/Linux) or Cmd+K (Mac), the link popup opens. Type the URL or search query, press Enter. Faster than mousing to the toolbar when you are already typing.
4. The Link block
The first three methods turn selected text into a link inside a paragraph or heading. The Link block is something else: a standalone block that displays a link as its own visual element, often styled as a button or a card.
To insert one: type
/link
in a new line and press Enter, or use the block inserter. The block has its own settings for how the link displays – this is the one to use when the link itself is the content (a “Read the white paper” button, a callout linking to a related post, a download CTA), not just a phrase inside a paragraph.
The link settings panel#
When you click an existing link in the block editor, a small toolbar appears below it with the URL and a few extra options behind a settings icon (the small downward arrow or three dots, depending on WordPress version). These are:
Open in new tab. Toggles
target="_blank"
on the link. WordPress also automatically adds
rel="noopener noreferrer"
for security when this is enabled. Use it for external links that take readers off your site (so they do not lose your page) and for any link from inside a form or checkout flow. Do not use it for every link – opening internal navigation in a new tab is annoying for readers and confuses screen readers and back-button behavior.
Mark as nofollow. Adds
rel="nofollow"
to the link. The
nofollow
value tells search engines “do not pass ranking signals through this link.” Use it when you do not want to vouch for the link target: paid placements, untrusted user-generated content, a competitor you are linking to as a reference. Most internal links should NOT be nofollow – that drains your own site’s link equity.
Mark as sponsored. Adds
rel="sponsored"
. Introduced by Google in 2019 specifically for paid links – affiliate links, ads, sponsored content. If a link is sponsored, use this instead of nofollow. They serve different purposes for search engines.
The three rel values can stack:
rel="nofollow sponsored noopener noreferrer"
is valid and sometimes correct (a sponsored affiliate link that opens in a new tab).
To open the full link settings panel where all three options live: click the link, then click the small downward arrow in the popup toolbar, or press Ctrl+K again on the existing link.
Editing or removing a link#
Click anywhere on existing link text. The floating link popup appears with the current URL.
To change the URL: click the pencil icon, edit the URL, press Enter.
To remove the link entirely (keep the text, drop the link): click the link, then click the Unlink icon in the floating toolbar (a chain link with a slash through it). The text stays, the link wrapping is removed.
To remove the link and its text together: select the link text including the link wrapping and press Delete. Both go.
Linking to another section of the same page (anchor links)#
To link to a specific heading on the same post (a table of contents, a “skip to” link, an inline cross-reference), you need an anchor on the destination heading.
- Click the heading block you want to link to.
- In the right sidebar, click the Block tab.
- Expand the Advanced panel.
- In the HTML anchor field, type a slug (no spaces, lowercase, hyphens between words – for example,
pricing-table).
Now you can link to that section by typing
#pricing-table
as the URL in any link. WordPress builds the link as the current page URL plus the anchor:
/your-post/#pricing-table
.
Be aware: WordPress only auto-generates anchors for H2 headings on the front-end. If your destination is an H3 or H4, the HTML anchor field still works but you have to set it manually for every sub-heading you want to target.
Inserting a link in the classic editor#
If your site still uses the classic editor (via the Classic Editor plugin or a theme that disables Gutenberg), the link UI is different but the underlying HTML output is the same.
Visual mode:
- Highlight the text you want to link.
- Click the Insert/edit link button in the toolbar (looks like a chain link), or press Ctrl+K.
- The link insertion dialog opens with two paths:
- Paste a URL directly into the inline field and click the arrow.
- Click the gear icon to open the full dialog with the link text field, URL field, “Open link in a new tab” checkbox, and an existing-content search box.
- Click Add Link (or Update) to save.
Text mode (HTML): switch to the Text tab and write the link manually:
<a href="https://www.example.com/" target="_blank" rel="noopener noreferrer">link text</a>
The classic editor does not have built-in toggles for
nofollow
or
sponsored
– to add those, switch to Text mode and add them to the
rel
attribute by hand, or install a plugin like Title and Nofollow For Links that adds the toggles to the visual editor.
Bulk link operations#
For more than a few links, the editor UI is slow. A few patterns:
Find-and-replace inside a single post: copy the post HTML out (switch to the Code editor mode under the three-dot menu), paste into a text editor, find/replace, paste back. The editor preserves your manual link edits as long as the surrounding HTML is valid.
Find-and-replace across the whole site: Better Search Replace plugin, which runs an SQL-level UPDATE on
wp_posts.post_content
. Use the Run as dry run? option first – the plugin shows how many rows would be affected before making changes. Useful for moving from
http://
to
https://
, swapping a domain you migrated from, or fixing a path that changed sitewide.
Anchor text audit: install a plugin like Internal Link Juicer or run a Screaming Frog crawl to see every link’s anchor text and target across all pages. Useful for SEO audits where you want to make sure your anchor text is descriptive and not “click here” or “this article.”
Finding broken links after the fact#
Links rot. External sites go down, internal posts get deleted or moved without redirects, slug changes break old internal links. A few approaches to find them:
Broken Link Checker plugin. The classic option. Crawls every link in your post content and reports on which ones return errors. Two cautions: it runs on your own server which adds load, and it can be aggressive enough to trigger rate limits on the external sites it is checking. Better Link Checker (the same plugin’s newer version) uses an external service to do the crawling, which is gentler on your server.
Google Search Console. The Pages > Not indexed report shows URLs Google tried to crawl but got 404 or other errors. This catches broken inbound paths to your own site (someone links to you with a typo, an old URL, a misspelled slug) that you can fix with a 301 redirect.
External SEO tools. Ahrefs, Semrush, and Sitebulb crawl your site from outside and produce broken link reports without putting load on your server. Free trials are usually long enough to do a one-time audit on a small site.
Console errors during a manual review. When you visit a page and the browser console shows 404s for fetched assets or links, those are visible in the Network tab of dev tools. Useful for one-off checks but not a substitute for systematic crawling.
When you do find broken links, the fix is usually one of three things: edit the post and update the URL, add a 301 redirect from the old URL to a working replacement, or remove the link if there is no good replacement. The right choice depends on whether the link is internal (use 301), external (update or remove), or in a body of evergreen content (update so the article keeps its links current).
Hostney’s WordPress hosting plans ship with the Hostney Cache plugin that handles cache purging for you – when you edit a post to fix broken links, the plugin invalidates the cached HTML for that post and any related archive pages automatically, so the corrected links go live immediately. (See how Hostney handles WordPress cache purging automatically for what the plugin watches and when it purges.) The platform-level page cache then serves the fresh HTML on the next request, without needing a manual “Clear All Caches” click after every link edit.
Common link mistakes#
A short list of patterns to avoid:
- “Click here” or “read more here” as anchor text. Search engines use anchor text as a strong topic signal, and screen readers announce the link text out of context (“link: click here, link: click here”). Use descriptive anchors that say what the destination is – “WordPress permalinks guide” is much better than “click here for the WordPress permalinks guide.”
- Linking to redirected URLs instead of the final destination. If you link to
/old-slug/and the site has a 301 to/new-slug/, every click goes through an unnecessary hop. Update your links to the final URL. - Forgetting the protocol on external links.
<a href="example.com">withouthttps://becomes a relative link to/your-post/example.com. Always include the fullhttps://for external destinations. - Mixing absolute and relative internal links inconsistently. Pick one. Most sites use relative links (
/blog/post-name) for internal because they survive a domain change. Reserve absolute links (https://www.yoursite.com/blog/post-name) for cases where the URL needs to be unambiguous (RSS feeds, social shares). - Not setting
target="_blank"on links inside a form. A reader who clicks a “terms and conditions” link from inside a checkout form should not lose their cart – open the link in a new tab so the form state stays intact.
Summary#
The block editor has four ways to insert a link: paste-to-link, the toolbar button, Ctrl+K, and the standalone Link block. Use the toolbar’s search field for internal links (it surfaces existing posts as you type). The link settings panel offers Open in new tab, Mark as nofollow, and Mark as sponsored – they each serve a different purpose, and they can stack on the same link.
The classic editor uses the same Ctrl+K shortcut but routes through a separate dialog, and does not have built-in nofollow/sponsored toggles – those need a plugin or manual HTML editing. Link rot is real, so audit broken links periodically with a plugin like Broken Link Checker, with Google Search Console, or with an external SEO tool.
For the structure underneath your links – URL slugs that decide what each link points at, WordPress permalinks for the format those URLs take, and how to add and manage menus when the link is a navigation item rather than inline body text – those settings shape every link on your site whether you set them per-post or not. For posts with strong internal linking, the Read More tag and the WordPress excerpt decide how those links render on archive pages and in search snippets.