This project is not covered by Drupal’s security advisory policy.
Link Magician scans for faulty/hardcoded links or improperly linked/referenced files and images (found in 'rich text'). Hardcoded links are converted to LinkIt-compatible entity links and files which are referenced directly (unmanaged files) are converted to media entities and linked properly. Just as important, Link Magician also provides extensive logging showing every change it makes and keeping track of faulty things it can't fix so that those may be processed manually.
Features
- Batching. (a necessity for lots of content, but you'll appreciate the ability to specify batch sizes and limits if you need to 'babysit' the process.)
- Extensive logging ("Tracking")
- Includes optional sub-modules that add support for:
- Layout Builder
- Paragraphs
Installation
Install as you would normally install a contributed Drupal module. For further information, see Installing Drupal Modules.
Post-Installation
(Optional) Install sub modules.
To enable Paragraphs support
drush pm:e link_magician_paragraphs
To enable Layout Builder support
drush pm:e link_magician_layout_builder
Configuration
At a minimum, update the Base URI and Additional Host settings on the configuration page (/admin/config/system/link_magician).
note the configuration and settings for Link Magician need some work (issue #3584762)
Base URI
This main URL the site; this is used in the logic that checks for redirects that may be redirected by something other than Drupal.
On a production site, this should be the same as the url that users access the site with (ie, https://www.example.com/).
On a development sandbox/server, it would be the address you access the development server at (ie, http://example.ddev.site/)
Additional Hosts
Add any hosts to treat as being on this site. (ie. 'www.example.com'/'example.com')
Additional Requirements
Recommended modules/libraries
Usage
Out of the box, you'll have a few Drush commands available
backstop
Useful for comparing before/after (see testing.md)
drush link_magician:backstop {batchid} > backstoplinks.json
purge
Truncate the Link Magician tables in the database.
drush link_magician:purge
tidy
This is where the magic happens, run the tidy process. The help option is your friend.
drush link_magician:tidy --help
Project information
Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed.- Project categories: Administration tools, Content editing experience, Search engine optimization (SEO)
1 site reports using this module
- Created by jasongose on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
Development version: 1.0.x-dev updated 23 Jun 2026 at 15:54 UTC

