pushword / link-improver
Automatic internal linking for Pushword CMS: page names become in-content links at render time.
Package info
github.com/Pushword/link-improver
Type:symfony-bundle
pkg:composer/pushword/link-improver
Fund package maintenance!
Requires
- piedweb/linksimprover: ^0.2.2
- pushword/core: *
Suggests
- pushword/admin: Manage pages, media and users from an EasyAdmin-based back-office.
- pushword/admin-block-editor: Rich block editor (EditorJS) for the admin.
- pushword/advanced-main-image: Choose the main image format per page, from hidden to full hero.
- pushword/api: Token-authenticated REST API mirroring the admin, OpenAPI-described.
- pushword/conversation: Add comments, a contact form or any user input to your website.
- pushword/docs: Pushword documentation, readable offline from vendor/.
- pushword/flat: Turn Pushword into a flat-file CMS: content as Markdown in Git.
- pushword/newsletter: Audiences, segmented campaigns and criteria-driven automations.
- pushword/page-scanner: Find dead links, 404s, redirects and TODO reminders.
- pushword/page-update-notifier: Get an email when a page is created or edited.
- pushword/quiz: Interactive client-side quizzes (QCM) and personality tests.
- pushword/repurpose: Turn a page into ready-to-post social carousels (PNG/PDF).
- pushword/search: SQLite-native full-text search via Loupe, zero infrastructure.
- pushword/snippet: Reusable content fragments and dev-registered Twig components.
- pushword/static-generator: Export the whole site as static files (GitHub Pages, Apache, FrankenPHP).
- pushword/template-editor: Edit Twig view files online from the admin.
- pushword/version: List, diff and restore previous revisions of your pages.
This package is auto-updated.
Last update: 2026-08-06 22:29:01 UTC
README
Automatic internal linking: the first mention of another page's name in your rendered content becomes a link to it. Opt-in per site, capped, reversible (nothing is written into your source content), and auditable — every inserted link carries a data-auto-link attribute and pw:link-improver reports what was linked where.
Features
- The keyword map is your content: each line of a page's
namefield is a linkable keyword — line 1 is the displayed name, further lines are link-only variants (*wildcard supported). No CSV to maintain. - Decorates at render time — the source Markdown stays clean; disable the option and every auto link is gone.
- Safe by construction: never inside a tag, a heading or code, never next to another link, never a second link to an already-linked target, capped by a word-count ratio.
- Auditable:
data-auto-linkattribute on every inserted link,pw:link-improver(with--simulateto preview before opting in) lists them per page.
Installation
composer require pushword/link-improver
Then enable it per app:
pushword: apps: - hosts: [example.tld] link_improver: true # link_improver_max_links: 0.01
Documentation
Visit pushword.piedweb.com/extension/link-improver.
Contributing
If you're interested in contributing to Pushword, please read our contributing docs before submitting a pull request.
Credits
License
The MIT License (MIT). Please see License File for more information.