pushword/link-improver

Automatic internal linking for Pushword CMS: page names become in-content links at render time.

Maintainers

Package info

github.com/Pushword/link-improver

Homepage

Issues

Documentation

Type:symfony-bundle

pkg:composer/pushword/link-improver

Transparency log

Fund package maintenance!

Liberapay

Statistics

Installs: 2

Dependents: 0

Suggesters: 19

Stars: 0

1.0.0-rc851 2026-08-06 08:53 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.

Latest Version Software License GitHub Tests Action Status

Features

  • The keyword map is your content: each line of a page's name field 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-link attribute on every inserted link, pw:link-improver (with --simulate to 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.