Give your WordPress site its first task.
Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.
Connect your siteStart with 500 free credits. No credit card needed.
To add an internal link in WordPress, select the words, press Ctrl+K and pick the page. Most links fail for other reasons: a URL copied from the admin screen, a slug that changed later, an anchor that doesn’t match. Get the destination right and test the link on the live page. That is most of the job.
Adding an internal link in WordPress takes about ten seconds: select the words, press Ctrl+K, pick the page. The link itself rarely goes wrong. The things around it do: a URL copied from the edit screen, a slug renamed last spring, an anchor with a capital letter in the wrong place, or a plugin warning that says the links you can see aren’t there.
This guide covers the editor steps, then the cases the editor doesn’t handle: section links, menus, WooCommerce products, and what to do when a link breaks. Internal links are one part of the wider job of doing SEO on WordPress. They are also the part that slowly goes stale on any site that keeps publishing.
You need an account that can edit the post or page, and the destination has to be published. A link to a draft takes logged-out visitors to a 404. If the destination doesn’t exist yet, create and publish the page first, and settle its slug before anything links to it.
These steps are for the block editor. In the Classic Editor, the link button in the toolbar does the same job.
/about, or an anchor on the same page like #contact.Step six is the one people skip, and it is the one that catches mistakes. WordPress’s Link control documentation says the editor checks whether a URL is formatted acceptably. It does not check whether the page exists or loads. A typo in a slug looks fine in the editor and returns a 404 on the live site.
If you paste a bare URL on its own line, the editor may turn it into an embed or a preview card instead of a text link. WordPress’s documentation warns about this. Select the words first, then add the link to them.
A URL copied from the address bar while you are editing looks like /wp-admin/post.php?post=123&action=edit. It works for you because you are logged in. For everyone else it goes to a login screen. A thread on WordPress.org’s support forums turns on exactly this mistake. Open the page itself in a private window and copy that address.
Match the exact version your site serves. If your site uses https://www.example.com/pricing/, a link to http://example.com/pricing still arrives, but only after one or two redirects. Visitors and crawlers both pay for each hop.
In the page source, a correct internal link is a plain anchor element with an href, descriptive text and no extra attributes:
<a href="https://www.example.com/services/business-audit/">business audit service</a>
Google’s link best practices page says Google uses links to find new pages to crawl and as a signal of relevance, and asks for crawlable links with descriptive anchor text. Accessibility asks for the same thing. WCAG 2.2 success criterion 2.4.4, Level A, requires that a link’s purpose be clear from its text or the text around it. “Click here” fails, and so does an empty link around an icon.
Don’t add nofollow to internal links. WordPress describes nofollow as telling search engines not to associate with or crawl the linked page from your site. That is almost never what you want for your own pages. It also doesn’t fix a broken link or remove a page from search.
You give the section an HTML anchor, then link to it with a hash.
pricing-faq.#pricing-faq from the same page, or to https://www.example.com/pricing/#pricing-faq from another page.WordPress’s Page Jumps documentation sets the rules: anchors are case-sensitive, contain no spaces, start with a letter and must be unique on the page. If clicking a jump link takes the reader to the top of the page instead of the section, the anchor and the link don’t match exactly. #Pricing-FAQ and #pricing-faq are different anchors.
A link inside a post never becomes a menu item, and a menu item doesn’t count as a link in your article. In a block theme, edit menus in the Navigation block (Appearance, then Editor, then Navigation) and add a page link or a Custom Link. Classic themes use Appearance, then Menus. Both kinds of link matter, but only contextual links in the body tell readers and search engines which specific pages relate to this one.
To link to a product inside a post, use an ordinary link to the product’s public URL. Recommendations work differently. WooCommerce’s documentation explains that you choose up-sells and cross-sells by hand in the product’s Product data panel, under Linked Products. WooCommerce generates related products automatically from shared categories and tags, so you can’t pick them one by one. Whether these lists appear, and where, depends on your theme.
Product URLs follow the product permalink setting under Settings, then Permalinks. If you change it on an established store, every product link typed into posts points at the old structure. Add redirects and update those links in the same session.

There is no correct number. Guides recommend anything from two links per post to one every 50 words, and none of those figures comes from a controlled test. Two rules hold up better: link where the reader would want to go next, and make sure every page you care about has at least one link to it from the body of another page.
Many sites miss the second rule. In Ahrefs’ study of over a million domains, 66.2% of sites had at least one page with only one dofollow internal link pointing to it. Note that the figure is for sites, not pages. Still, under-linked pages are common.
A habit that scales well with a small archive:
Plugins that suggest or auto-insert links save search time on large archives. Practitioners regularly report irrelevant suggestions and repetitive anchors, and AI tools that make up URLs or break HTML. Treat every suggestion as a draft and read the sentence it lands in before you accept it.
Yoast’s content analysis shows “Internal links: No internal links appear in this page, make sure to add some!” even on pages with several links. One WordPress.org support thread opens with exactly that complaint about a post with at least three links. The usual reason is where the links sit. Yoast reads the post content, so links in menus, footers, sidebars, some page builder modules and custom fields often aren’t counted. Yoast’s support has said search engines can still crawl those links.
So trust the page, not the counter. If you want the warning gone:
Yoast’s link suggestions in the editor are a Premium feature, and Yoast’s help page says to run the data optimization first. If you don’t see suggestions on the free version, nothing is broken.
Find out what the destination returns, then match the fix to the cause.
If you’d rather not do this cleanup page by page, SiteSelf takes it as a chat request: it updates the links, adds redirects and other SEO fixes on your site, and reports what changed and what it checked.
Stop and get help when links break across the whole site after a migration or host move, or when the editor fails the same way with every plugin off and a default theme on. At that point the cause is in the server, the database or WordPress itself, and it needs someone with hosting access.
Usually not. The reader is staying on your site, and a new tab breaks the back button they expect to use. If you do open a link in a new tab, W3C lists telling users in advance as an advisory technique, for example by adding “(opens in a new tab)” to the link text.
Both work in a browser, and the link control accepts paths like /about. Full URLs are easier to search and replace after a domain change and behave the same in feeds and emails. Whichever you use, use it consistently.
Click the linked text in the editor. A small popover shows the destination with buttons to edit it or remove the link. Removing the link keeps the words. Then update the post.
They help search engines find pages and understand which pages relate to each other, and Google says it uses them as a relevance signal. No public controlled study shows that adding a set number of links lifts a given page. Reports of traffic gains after linking work usually come with other changes made at the same time.
No. Store owners disagree about product-to-product linking, and linking every product to every other one looks spammy to shoppers. Relevant links from guides and category pages, plus up-sells and cross-sells chosen with care, do the job.
Core WordPress has no bulk link editor. On a small site, search your posts for the old URL and edit each result. On a large one, a database search-and-replace is faster, but take a backup and test a single post first.
How-to Tutorials
WordPress has no feature called a redirect page. What most people need is a rule that sends an old URL to a new one with the right status code, set in the right place on the site. Most redirect problems come from two of those places disagreeing, and adding another rule rarely fixes them.
Read article ›How-to Tutorials
You can install a WordPress plugin in under a minute from Plugins, then Add New Plugin, then Install Now and Activate. When it goes wrong, the cause is usually the setup around the plugin: the wrong ZIP, file ownership, an upload limit, a leftover folder, or an account that is not allowed to install. Check the plugin before you install it, and check the site after you activate it.
Read article ›How-to Tutorials
In WordPress the favicon is called the Site Icon. On WordPress 6.5 and later you set it under Settings → General, and you don’t need a plugin or any code. Setting it is the easy part. Most of the time goes into getting browsers, caches and Google to show the new icon, and that goes faster when you find the cause before you start clearing things.
Read article ›Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.
Connect your siteStart with 500 free credits. No credit card needed.