Linkit
A popular Drupal module that makes it easier to add internal and external links through a user-friendly interface.

Even small frustrations can inspire big solutions. Back in 2009, I was working as a developer at a web agency specializing in open source and Drupal projects when I noticed a recurring frustration among our clients: adding links in the WYSIWYG editor was clunky and error-prone. Editors struggled to link to internal content in a maintainable way. They often had to stop editing, open a new browser tab or window, navigate to the target page, copy its URL, and then return to the editor to paste it. On large sites with hundreds of pages, mistakes were inevitable. It seemed like a small issue at first, but for content authors, it was a daily headache.
So, I decided to build a small solution. I wanted something intuitive, fast, and reliable. That’s how Linkit was born.
The Early Days
I remember sitting at my desk experimenting with different ways to let editors search for internal content directly from the editor. The first prototype was rough, just a simple search box and a selection list, but it worked. Editors could finally find the right page without leaving the editor or worrying about broken links.
On , I released the first version of Linkit. It was tiny in scope, but it immediately made a difference for anyone who tried it.
Challenges
Building Linkit was not just about writing code, it was about understanding people. Some of the challenges included:
- Content discovery: Editors needed a way to find the right content quickly, without getting lost in menus.
- Ease of use: The solution had to feel natural, even for non-technical users.
- Scalability: Drupal was evolving, and the module needed to work across versions and site complexities.
Each challenge forced me to think carefully about architecture and usability. Over time, this led to more advanced features, including:
- Text filters that read
data-attributes at runtime and automatically generate the correct URL for an entity. URLs could be constructed from either IDs or friendly names (slugs) that might change, without requiring updates to all links pointing to them. The originalhrefwas preserved as a fallback. - Dynamic source parsing that handle different content types.
- A pluggable API that allows developers to extend Linkit in creative ways.
Community and Growth
What really made Linkit successful was the Drupal community. Feedback from users shaped the module in ways I hadn’t anticipated. Developers contributed patches, suggested features, and reported bugs. This collaboration turned a small usability tweak into a robust, widely-used tool.
The moment I realized Linkit was truly widely adopted was unforgettable. I was searching online for the module one day and found tutorials, blog posts, and articles describing Linkit as a “go-to module”. People were explaining how to install and configure it, and showing how it worked. It was incredible to see something I built being recognized and used so widely across the Drupal ecosystem. That moment made me genuinely proud.
Today, Linkit has around 150,000 active installations, making it one of the most popular modules in the Drupal ecosystem. It was also carefully selected to be part of the Drupal CMS baseline of pre-installed modules. It’s amazing to think that a small idea born out of frustration became something so widely adopted.
The reported number of active installations is a minimum. Drupal’s statistics only include sites running the Update Status module, so the actual number of installations is likely higher.
See current usage at https://www.drupal.org/project/usage
Reflections
Although I’m no longer deeply involved in Linkit, I still watch the project and occasionally contribute. The module remains a reminder of the value of solving real-world problems, the importance of listening to users, and the power of open source collaboration.
If you’re building a Drupal site and want a smoother linking experience, give Linkit a try, you might be surprised at how much easier it makes content editing.
Linkit is completely free and released under the GPLv2 license. You can explore the project here: https://drupal.org/project/linkit.