Silotree – Internal Links, Orphan Pages & Broken Links Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Silotree finds posts no other post links to, and helps you link them in words you already wrote.
It reads published posts on your server. A minute later it shows which have no links from your other posts. Every link can be undone. Menus and archives may still reach them.
Free, with no limits
No cap, no trial, nothing locked. You get unlinked posts (date, length, CSV), dead ends, broken links, and click depth from home (menus, categories, links in posts), apart from the inbound count. The editor and publish prompt suggest links both ways, up to three each way on publish. Also a never-link list, WPML and Polylang (one language, never a translation), a Links report, the Classic Editor, undo, and Elementor text widgets. Off by default: click counts (no cookies) and arrows on external or new-tab links. Category and tag pages show link counts. Only links you wrote are counted. They are ordinary links and stay if you deactivate.
Silotree Pro
A separate add-on from silotree.io, in paid plans and the 14-day trial. None of its code is in this plugin. It adds keyword rules (previewed, once a post, Yoast SEO and Rank Math), bulk linking, a URL changer, bulk edits, broken-link batches, and links that follow a moved or trashed post. Editor fixes stay free. Batches keep a revision and undo here. Links stay if a plan ends. Rules from before 0.6.0 are kept.
Optional: your free link list
No account required. A free one at silotree.io suggests sentences for unlinked posts. You apply the first 3 you approve in WordPress, or from the app if you turn on one-click apply with your own Application Password, with a score from 0 to 100 (the free checker too). Meaning matches cover up to 500 pages, with Search Console ranking and a weekly email. The app suggests fixes for broken and redirected links on every plan; you apply them in WordPress, or from the app with that same password. Batches in wp-admin are Pro. Connecting starts 14 days of Solo (Pro, no card), then Free. Solo, Studio and Agency have a 30-day money-back guarantee. Links added in WordPress are never limited, and nothing is sent until an administrator presses Connect.
Safety
A revision is saved first. Posts are skipped if revisions are off or open in an editor, then read back. Undo removes only that batch, at most six Silotree links a post. Changed text, a repeated anchor, or words in a link, heading, button, code, shortcode or card are refused, with a reason. Only paragraphs, lists, quotes and Elementor text widgets are written. Elementor is put back if anything else changed. Category and tag text is kept for undo.
External services
This plugin connects to the Silotree service at https://silotree.io (or the address in the silotree_app_url option on a self-hosted install). Silotree is operated by Thomas Kanze, a self-employed individual based in Costa Rica. It is used only after an administrator connects the site, from the setup screen or Silotree Settings. Until then the plugin sends nothing anywhere: the scan, the reports, the editor sidebar, the publish prompt, the never-link list and the CSV export all run on your own server. Links in the plugin that open silotree.io (help articles, “Connect free account”, “See plans”) are ordinary links you choose to follow; they carry a label saying which screen they came from (from and utm_* in the address) and nothing about your site’s content. The “Run the full audit” link shown to people who cannot connect the site also carries the site’s domain, so the free checker can start on it.
Once connected:
- What the service reads: Silotree reads the full text, titles, addresses and publication dates of your site’s published posts, so it can match them by meaning and suggest links. It reads only what your site already publishes; drafts and private posts are never sent.
- Connecting: the site address, the address of the settings screen, a one-time code and a verifier are exchanged with silotree.io. Silotree answers with the site key, once, over HTTPS, and then calls this site’s REST API once to confirm the site holds it.
- Admin screens (Silotree Reports and the posts-list columns): the site’s domain is sent to fetch counts, suggestions and the plan. Answers are cached for a few minutes; the posts list and the editor only read the cache and refresh it in the background through WP-Cron, so they never wait on Silotree. When Silotree cannot be reached the plugin waits ten minutes before asking again.
- Post editor: the editor sidebar’s own suggestions are worked out on this server and the draft is never sent to Silotree. When the site is connected, the Silotree panel asks for that post’s suggestions, sending the site’s domain and the post’s ID (
post_id). - Matching posts to your scan: post IDs, their public URLs and a hash of each post’s content are sent so suggestions can be matched to posts.
- Publishing a post: the post ID, its public URL and its title are sent so Silotree can suggest links to it. The publish prompt also asks, by post ID, for any links Silotree has already found for that post.
- Related posts block: the list of related posts is fetched from silotree.io at most every six hours (fifteen minutes after a failed try), in the background through WP-Cron, after somebody has been in wp-admin.
- Suggestions: silotree.io calls this site’s REST API (
/wp-json/silotree/v1/) to read published data and store suggestions. By default it cannot change posts. You apply and undo suggestions in wp-admin. - Optional one-click apply: if an administrator turns on “Let Silotree apply changes from the app” under Silotree Settings, and pastes an Application Password for their own WordPress account into the Silotree app, silotree.io calls this site’s REST API to apply links, undo a batch, and save or bin a guide draft. Those calls sign in as that account with the Application Password (HTTP Basic authentication). WordPress only accepts an Application Password over HTTPS. The calls are refused while the setting is off, and they can only do what that account can already do. You create the password under Users Profile Application Passwords. Silotree stores it encrypted. Revoke it in WordPress at any time, or turn the setting off, and remote changes stop.
- Link click counts, only if you turned them on: once a day, the last 8 days of daily totals (post ID, the linked post’s ID and address, the day and the total). Nothing about readers. Delete click counts in Settings asks Silotree to delete its copy.
This plugin does not check for, download or install Silotree Pro. If you install Silotree Pro yourself, it is a separate plugin with its own description of what it sends (whether the site’s plan includes Pro, and its own updates from silotree.io).
After it is issued at connection, the site key is not sent again in either direction: every request between this site and Silotree is signed with it (HMAC-SHA256, with a timestamp and a one-time nonce). Pressing Regenerate key in Settings replaces it and disconnects the site until it is connected again. Nothing is loaded from silotree.io on the pages your readers see.
Terms of service: https://silotree.io/terms, Privacy policy: https://silotree.io/privacy
Privacy
Out of the box, this plugin adds nothing to the pages your readers see and collects nothing about them.
Link click counts are off until an administrator turns them on in Silotree Settings On your pages. When they are on:
- On single posts and pages, a small script (under 1 KB, loaded with
defer) notices when a reader clicks a link in the post, and sends three things to this site’s own REST API (/wp-json/silotree/v1/click) withnavigator.sendBeacon: the post’s ID, the address of the link, and a short-lived nonce from that page. Links in menus, headers, footers, sidebars and forms are left out. - The plugin adds one to a daily total for that post and that link, and only when the post really contains that link. It stores the day, the post, the post the link goes to and the total. Nothing else is stored or sent.
- No cookies and no browser storage are used, and no IP address, browser details, referrer or visitor ID are stored. Two clicks cannot be tied to one person, so there is no personal data to export or erase.
- People who can edit posts are not counted: the script is not loaded for them.
- Totals are kept for 90 days, then deleted. Delete click counts in Settings deletes them all at once. Deleting the plugin deletes the table.
- If the site is connected to Silotree, the last 8 days of totals (post, link, day, total) are sent to silotree.io once a day, so the weekly email and the Results screen can show which links readers use. Silotree keeps them 90 days, and Delete click counts deletes them there too; if Silotree cannot be reached at that moment, the plugin asks again once a day, and sends no new totals until it has.
- To keep a script from flooding the counts, the plugin also keeps one number for the whole site: how many clicks it counted in the current minute. It says nothing about who clicked.
Link icons are styles only: no script, no request, and nothing is collected.
The plugin suggests wording for your privacy policy under Settings Privacy.
Screenshots
No screenshots provided

