Semantic Internal Links
AI-powered internal link suggestions using semantic embeddings. Bring your own API key — your content never touches our servers, and indexing 1,000 posts costs cents, not credits.
by Francisco Frascona · github.com/franciscofrask/semantic-internal-links
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/franciscofrask/semantic-internal-links/archive/refs/heads/main.zipWordPress plugin that suggests internal links based on what your posts actually mean, not on keyword matching.
You bring your own API key. Your server talks directly to OpenAI, there is no service in the middle, no credits, no plugin servers. Indexing 1,000 posts costs a few cents on your own OpenAI account.
What it does
- Shows related posts you aren't linking to yet, right in the editor sidebar, ranked by semantic similarity. One click copies the link HTML.
- Finds orphan pages, meaning published posts that nothing else links to.
- Indexes in the background with WP-Cron. Unchanged posts are skipped using a content hash, so re-indexing an unchanged site costs nothing.
Why I built it
The existing internal linking plugins either make you configure keywords by hand, or charge monthly credits while your content passes through their servers. I wanted real semantic matching with my own key and my data staying on my own server, so I built it.
Install
- Upload the plugin folder to
wp-content/plugins/and activate it. - Go to Settings, then Semantic Links. Paste your OpenAI API key and pick which post types to index.
- Click "Index content". Open any post and the suggestions show up in the sidebar.
Status
v0.1, early. Planned next: bulk auto insertion, topic clusters, more embedding providers, WP-CLI commands.
License
GPLv2 or later.