How to Add Internal Links in Elementor (and Keep Them Working)

Adding a link in Elementor takes about five seconds. Keeping track of those links a year later is the hard part. Elementor stores your page in its own format, and a lot of the tools you’d normally lean on can’t see inside it. So this guide covers both: how to add internal links in Elementor by hand, and how to stop them going quietly stale.
How do you add an internal link in Elementor?
There are two places links live in Elementor. One is inside running text. The other is a widget’s own Link field.
Links inside text (Text Editor widget)
- Open the page with Edit with Elementor and click the Text Editor widget you want to change.
- In the left panel, select the words that should become the link.
- Click the link icon (the chain) in the toolbar above the text box.
- Paste the address of the page you’re linking to, or type a few letters and pick it from the search list if one appears.
- Press Enter, then click Update (or Publish) to save.
Links on buttons, headings and images
Button, Heading, Image and Icon Box widgets have a Link field in their Content tab. Paste the address there. The small gear next to the field opens options like opening in a new tab and adding nofollow. For internal links, leave both off. Sending your own readers to a new tab is mildly annoying, and nofollow on your own pages just throws away a signal you control.
One thing worth knowing: a linked heading or a button is fine, but the label is usually short and generic (“Learn more”, “Shop now”). Links in sentences tend to carry better anchor text, so don’t rely only on buttons.
Why do Elementor links get lost?
Here’s the part most guides skip. A normal WordPress post keeps its text in one database field, post_content. An Elementor page doesn’t. Elementor saves the whole layout as JSON in a separate field, _elementor_data, and builds the page from that when someone visits.
Elementor does write a plain copy of the page into post_content when you save in its editor. But that copy can be empty or out of date, for example after importing a template kit or moving pages between sites. Anything that only reads post_content then sees a different page from the one visitors get.
That causes three real problems:
- Link counts are wrong. An SEO plugin that counts links from
post_contentcan call a page an orphan when it’s actually well linked, or the other way round. - Search and replace misses links. In the JSON, slashes are stored escaped, so
/old-page/is saved as\/old-page\/. Search for the plain version and some tools find nothing. - Edits get overwritten. If a tool changes
post_contentbut not the JSON, the next save in Elementor writes the old link straight back.
Google sees the rendered HTML, so this isn’t an SEO penalty. It’s your own tools that get confused.
Do links in tabs and accordions count?
Mostly, yes. Elementor’s Tabs, Accordion and Toggle widgets put all their content in the page HTML and hide the closed panels with CSS. Search engines can crawl those links like any other. Google has said for years that content hidden behind tabs on mobile-friendly pages gets full weight.
The thing to check is whether the content is really in the HTML. Right-click the page, choose View page source, and search for the link. If it’s there, you’re fine. If a panel only loads its content with JavaScript after a click (some third-party addons do this), crawlers may never see it.
Practically, though: put your most important links in text people will actually read. A link buried in the fifth accordion item of an FAQ is crawlable, but almost nobody clicks it.
What anchor text should you use?
The anchor is the clickable words. It tells readers and search engines what’s on the other side. A few rules that hold up:
- Describe the target page. “our guide to cleaning a burr grinder” beats “click here”.
- Keep it short. Three to six words is usually plenty.
- Vary it. Twenty links that all say exactly the same phrase looks forced.
- Don’t link the same words to two different pages. That muddles which page is about what.
We go into more detail in our post on anchor text best practices in WordPress.
How many internal links should an Elementor page have?
There’s no magic number. A 600-word landing page might need three good links. A long guide could reasonably carry fifteen. Aim for links a reader would actually want at that point in the page, and stop there.
Watch out for Elementor’s global parts, though. Your header, footer and any site-wide sections add the same links to every page. They count, but they don’t help a reader find related content. The links inside the page body do that job.
How do you find Elementor pages with no internal links?
A page nothing links to is called an orphan. Visitors can’t reach it by clicking around, and search engines treat it as unimportant. Elementor itself has no report for this.
The reliable manual method is a crawl. Run a crawler such as Screaming Frog (free up to 500 URLs) over your site, export the list of pages it found, and compare it against your XML sitemap. Anything in the sitemap that the crawl never reached is an orphan. Because a crawler reads the rendered HTML, Elementor’s storage format doesn’t trip it up.
If you’d rather use a plugin, check that it reads Elementor’s data and not just post_content. Otherwise you’ll get the wrong list. Our walkthrough on finding orphaned pages in WordPress covers the rest of the process.
What happens to your links when a URL changes?
Say you rename a page’s slug from /coffee-grinders/ to /best-coffee-grinders/. Every Elementor page that linked to the old address still does. Here’s the order we’d do it in:
- Add a 301 redirect from the old address to the new one first, with a redirect plugin or your SEO plugin. That catches visitors and anything you miss.
- Update the links themselves. Redirects work, but a chain of them is slower and messier than linking straight to the right page.
- Clear Elementor’s cache from Elementor > Tools if the old link still shows up after editing.
For step 2, Elementor has Elementor > Tools > Replace URL. It changes addresses inside Elementor’s data, but it’s built for moving a whole site to a new domain and wants full URLs. Back up the database before using it. For a handful of pages, opening each one and fixing the link by hand is honestly fine.
We wrote up the full process in changing a WordPress permalink without losing traffic.
Using JnK Linkweave with Elementor
Full disclosure: this is our plugin. JnK Linkweave is an internal link plugin, and the free version works with Elementor in a few specific ways.
It reads Elementor pages from Elementor’s own data, not from post_content. So its link ideas, link counts and orphan report follow what visitors see, even on a page whose plain copy went empty after an import. When you save in Elementor, the page is read again in the background.
Inside the Elementor editor, open Page Settings and you’ll find a section called Linkweave link ideas. It lists up to ten pages worth linking to from the page you’re editing. Each idea has two buttons:
- Insert link looks for words from the suggested page’s title in your text and links the first match. It works in Text Editor widgets, Elementor 4 Paragraph widgets, and the items of tabs, accordions and toggles. It never touches headings, tab titles or text that’s already a link. The change goes through Elementor itself, so Elementor’s undo takes it out again, and nothing is saved until you click Publish or Update.
- Copy link copies the address, for a button’s Link field or anywhere else you want to add it by hand.
If none of the title’s words appear in your text, Insert link doesn’t guess. It tells you the page text has no words from that title outside headings and links, and suggests Copy link instead. If the page already links to that address in its text, the idea says so and the Insert link button isn’t shown.
Auto-link rules (a keyword mapped to a URL) also reach Elementor pages. They run on the page HTML as it’s served, so they skip headings and existing links, and they never change Elementor’s stored data. Beaver Builder pages are read the same way, from their published layout.
Pro adds a URL changer that finds Elementor pages linking to an old address inside their own data and changes it there too, with an undo for each change.
Frequently asked questions
How do I link to another page in Elementor?
In a Text Editor widget, select the words, click the link icon in the toolbar, paste the page address and press Enter. For buttons, headings and images, paste the address into the widget’s Link field in the Content tab. Then click Update to save.
Why doesn’t my SEO plugin see links on my Elementor pages?
Elementor saves the page as JSON in its own database field and only keeps a plain copy in the normal post content. If that copy is empty or out of date, for example after a template import, tools that read only the post content will miss links or count the wrong ones.
Are links inside Elementor tabs and accordions crawled by Google?
Yes, as long as the content is in the page HTML. Elementor’s own Tabs, Accordion and Toggle widgets include it and hide closed panels with CSS. Check with View page source; if the link is in the source, search engines can follow it.
Should internal links in Elementor open in a new tab?
Usually not. Internal links should open in the same tab so readers can use the back button normally. Save new tabs for things like downloads or external tools where losing the current page would be a real problem.