{"id":396503,"date":"2026-11-08T18:15:32","date_gmt":"2026-11-08T18:15:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/quilio-internal-links-internal-linking-orphan-pages\/"},"modified":"2026-11-08T18:15:22","modified_gmt":"2026-11-08T18:15:22","slug":"quilio-internal-links","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/quilio-internal-links\/","author":23592626,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.1","stable_tag":"0.1.1","tested":"7.1.4","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Quilio Internal Links \u2013 Internal Linking & Orphan Pages","header_author":"Quilio","header_description":"Find orphan pages and add internal links in one click. Runs on your own server: no cloud, no account.","assets_banners_color":"d1d5db","last_updated":"2026-11-08 18:15:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/quilio-internal-links\/","header_author_uri":"https:\/\/profiles.wordpress.org\/fixora\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":73,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.1":{"tag":"0.1.1","author":"fixora","date":"2026-11-08 18:15:22","revision":3791332}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3791316,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3791316,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3791316,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3791316,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3791316,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3791316,"resolution":"2","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3791316,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3791316,"resolution":"4","location":"assets","locale":"","width":1280,"height":860},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3791316,"resolution":"5","location":"assets","locale":"","width":1280,"height":860}},"screenshots":{"1":"Overview: orphan pages, dead ends, pages too deep and link problems.","2":"Sentences in other posts that can link to an orphan page. Add the link in one click.","3":"Link problems: drafts, old addresses, nofollow and \u201cclick here\u201d texts.","4":"Suggestions in the block editor while you write.","5":"Settings: content to analyze, menus, pages to leave out and access."}},"plugin_section":[],"plugin_tags":[19933,6681,175,252136,186],"plugin_category":[55],"plugin_contributors":[289148],"plugin_business_model":[],"class_list":["post-396503","plugin","type-plugin","status-publish","hentry","plugin_tags-internal-linking","plugin_tags-internal-links","plugin_tags-links","plugin_tags-orphan-pages","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-fixora","plugin_committers-fixora"],"banners":{"banner":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/banner-772x250.png?rev=3791316","banner_2x":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/banner-1544x500.png?rev=3791316","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/icon-128x128.png?rev=3791316","icon_2x":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/icon-256x256.png?rev=3791316","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/screenshot-1.png?rev=3791316","caption":"Overview: orphan pages, dead ends, pages too deep and link problems."},{"src":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/screenshot-2.png?rev=3791316","caption":"Sentences in other posts that can link to an orphan page. Add the link in one click."},{"src":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/screenshot-3.png?rev=3791316","caption":"Link problems: drafts, old addresses, nofollow and \u201cclick here\u201d texts."},{"src":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/screenshot-4.png?rev=3791316","caption":"Suggestions in the block editor while you write."},{"src":"https:\/\/ps.w.org\/quilio-internal-links\/assets\/screenshot-5.png?rev=3791316","caption":"Settings: content to analyze, menus, pages to leave out and access."}],"raw_content":"<!--section=description-->\n<p><strong>Find the pages nobody links to, and link to them in one click.<\/strong><\/p>\n\n<p>Search engines and visitors find your pages by following links. A post that no other page links to (an orphan page) is easy to miss, however good it is. Quilio Internal Links maps the links between your posts and pages, shows which ones are orphans, dead ends or buried too deep, and finds sentences in your other posts that can link to them.<\/p>\n\n<h4>Why Quilio Internal Links<\/h4>\n\n<ul>\n<li><strong>The free version does the job.<\/strong> Orphan pages, link suggestions and one-click linking are free, with no limits on pages or links.<\/li>\n<li><strong>Runs locally.<\/strong> Suggestions are computed on your own server from your content. No sign-up, no external service, no AI tokens to pay for.<\/li>\n<li><strong>Links are real.<\/strong> A link is written into the post, exactly where you choose, and WordPress keeps a revision. Nothing is added to your pages on the fly, so the site stays as fast as before and the links stay if you remove the plugin.<\/li>\n<li><strong>Careful with your content.<\/strong> Links are never put into headings, existing links, code, buttons or page-builder layouts, and only the words you approve change.<\/li>\n<li><strong>Quiet.<\/strong> No dashboard ads, no nagging banners.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Link map of all posts, pages and public custom post types: links in, links out, external links, words.<\/li>\n<li><strong>Orphan pages<\/strong> (no other page links to them), pages with <strong>a single link<\/strong>, <strong>dead ends<\/strong> (they link nowhere) and pages <strong>more than 3 clicks<\/strong> from the home page or <strong>not reachable<\/strong> at all.<\/li>\n<li><strong>Link suggestions<\/strong> both ways: \u201cLink to this page\u201d finds sentences in related posts; \u201cLinks from this page\u201d finds words that can link to related pages.<\/li>\n<li><strong>Add link<\/strong> in one click, with <strong>Undo<\/strong>. Every change is saved as a revision.<\/li>\n<li><strong>Link phrases<\/strong> for each page. The focus keyphrases of Yoast SEO, Rank Math and SEOPress, and Internal Link Juicer keywords, are used automatically.<\/li>\n<li><strong>Link problems:<\/strong> links to drafts and deleted pages, links to an old address of a moved page, pages linking to themselves, <code>nofollow<\/code> on your own links, \u201cclick here\u201d texts and links without text. Fix most of them in one click.<\/li>\n<li><strong>Link texts<\/strong> used for several different pages.<\/li>\n<li><strong>Internal links panel<\/strong> in the block editor: suggestions for the text you are writing, added to the paragraph in one click, and a warning before you publish a post nobody links to.<\/li>\n<li>Counts links in content only, or in menus too (classic menus and block theme navigation).<\/li>\n<li>Leave pages out (thank-you, legal pages) and ignore words used everywhere on your site.<\/li>\n<li>Editors can be allowed to use it; settings stay with administrators.<\/li>\n<li>Site Health test and WP-CLI commands: <code>wp quilio-il scan<\/code>, <code>status<\/code>, <code>pages<\/code> and <code>suggest<\/code>.<\/li>\n<li>Works in English, Russian, Ukrainian, German, Spanish, Portuguese, French, Italian, Polish and Turkish content.<\/li>\n<li>Multisite: each site has its own data.<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>Quilio Internal Links does not send your content anywhere and makes no requests to other sites. It stores the links and main words of your published posts in its own database tables.<\/p>\n\n<h4>Quilio Internal Links Pro<\/h4>\n\n<p>Everything above is free and stays free. The optional Pro version adds:<\/p>\n\n<ul>\n<li>Auto-link rules: \u201cphrase \u2192 page\u201d, applied to all posts (with a preview) or to new posts when they are published. Written into the posts with revisions, a few links per post at most.<\/li>\n<li>Link to an orphan page from its 3 best matching posts in one click, and add all suggested links at once.<\/li>\n<li>Scheduled scans (daily or weekly) and an e-mail when new orphan pages appear.<\/li>\n<li>Link score of every page (how much internal link weight it receives) and CSV export.<\/li>\n<\/ul>\n\n<p>Pro comes with a 7-day money-back guarantee.<\/p>\n\n<h3>External services<\/h3>\n\n<p>The free version makes no requests to other sites.<\/p>\n\n<p><strong>Freemius<\/strong> (https:\/\/freemius.com) handles purchases and licenses of Quilio Internal Links Pro. The free version does not contact Freemius on its own: there is no opt-in screen and no usage tracking. Freemius is contacted only when you open the Pro pricing page, buy Pro or activate a license key. Then the data needed for the license is sent: site address, WordPress and plugin versions, the license key and the email address you enter. Terms: https:\/\/freemius.com\/terms\/ \u00b7 Privacy policy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The admin interface is built from the React sources included in the plugin (<code>assets\/src<\/code>) with <code>@wordpress\/scripts<\/code>. To rebuild the scripts in <code>build<\/code>, run <code>npm ci<\/code> and <code>npm run build<\/code> in the plugin folder (<code>package.json<\/code> and <code>babel.config.js<\/code> are included).<\/p>\n\n<h3>Third-party libraries<\/h3>\n\n<ul>\n<li>Action Scheduler by Automattic (GPLv3), https:\/\/actionscheduler.org\/ \u2014 background processing.<\/li>\n<li>Freemius WordPress SDK (GPLv3), https:\/\/github.com\/Freemius\/wordpress-sdk \u2014 licensing of the Pro version.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin from Plugins \u2192 Add New.<\/li>\n<li>Open Tools \u2192 Internal Links.<\/li>\n<li>Click <strong>Start first scan<\/strong>. Keep the page open or leave it; the scan continues in the background.<\/li>\n<li>Open <strong>Orphan pages<\/strong> and choose <strong>Find links<\/strong> next to a page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20or%20an%20ai%20key%3F\"><h3>Do I need an account or an AI key?<\/h3><\/dt>\n<dd><p>No. Everything runs inside your WordPress site. Suggestions come from the titles, headings, phrases and words of your own posts.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. Nothing runs when visitors open your pages: links are saved in the posts, not added on the fly. The scan works in small background batches with the Action Scheduler library (also used by WooCommerce). Saving a post only queues an update of that post.<\/p><\/dd>\n<dt id=\"does%20it%20change%20my%20posts%20by%20itself%3F\"><h3>Does it change my posts by itself?<\/h3><\/dt>\n<dd><p>No. The free version changes a post only when you click <strong>Add link<\/strong> or fix a link problem. Pro auto-link rules change posts only after you apply them.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20link%3F\"><h3>Can I undo a link?<\/h3><\/dt>\n<dd><p>Yes: click <strong>Undo<\/strong> in the message after adding a link, or restore the previous revision of the post.<\/p><\/dd>\n<dt id=\"why%20is%20a%20page%20linked%20from%20my%20menu%20still%20an%20orphan%3F\"><h3>Why is a page linked from my menu still an orphan?<\/h3><\/dt>\n<dd><p>Menus link to a page from every page of the site, so search engines value links in content more. By default only links in content count. Turn on <strong>Count links in menus<\/strong> in the settings to count menus too.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Pages of the block editor and the classic editor are edited directly. Elementor, Beaver Builder, Bricks, Oxygen, Breakdance, SiteOrigin, Thrive Architect and Brizy keep their own copy of the page, so for those pages the plugin sends you to the builder instead of making a change the builder would undo.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data when I delete the plugin?<\/h3><\/dt>\n<dd><p>The link index, settings and link phrases are removed, unless you enable <strong>Keep data when the plugin is deleted<\/strong> in the settings. Links you added stay in your posts.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Requires WordPress 6.9 (Action Scheduler 4.2).<\/li>\n<li>Page details and link actions check access to each post.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Find orphan pages and add internal links in one click. Runs on your own server: no cloud, no account, no AI bill, nothing loaded for visitors.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/396503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=396503"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/fixora"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=396503"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=396503"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=396503"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=396503"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=396503"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=396503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}