The work of a content manager requires intensive linking of various content together. Proper linking of subpages is one of the foundations of SEO. It also makes it easier to navigate your website, which may have a great impact on marketing effectiveness.
Drupal by default allows you to create links in text. You just select the appropriate button in the editor and enter the URL of the new link. However, when you need a more convenient autocomplete solution, I recommend trying the Linkit module. In this article, I’ll show you its abilities.
The module debuted at the beginning of 2010. The first stable version 1.0 for Drupal 6 was released back then. Since that time LinkIt has been updated regularly. The latest beta release, 6.0.0, saw the light of day in December 2020.
The LinkIt module is extremely popular in the Drupal world. Official statistics show over 110 thousand installations. This number also includes the websites based on our Drupal distribution – Droopler. 41% of the above websites are based on Drupal 7.
The module has been maintained by Emil Stjerneman for ten years, and he’s created over 900 commits in the project so far. In total, almost 80 users made contributions to it.
Purpose of the module
The LinkIt module adds to WYSIWYG editors the ability to conveniently link internal and external content. It offers built-in support for content types, taxonomies, users, files, and comments. Thanks to this, you don’t have to remember or copy the URLs you link to when you’re editing a webpage. All you have to do is enter a title fragment and the target page will be suggested by autocomplete. This is a very useful functionality, especially since errors in URLs are one of the most frequently detected problems in Drupal SEO audits.
The module is available on the Drupal.org website. Like other Drupal add-ons, you can install it from a .zip file or via Composer (using composer require drupal/linkit command).
The administration panel can be found in the menu by selecting Configuration → Config Authoring → Linkit.
When you start editing any text format, pay attention to the "Drupal link" section.
After clicking the "Linkit enabled" checkbox, the standard link widget in CKEditor will be replaced with a new one, with built-in autocomplete.
At this stage, you can finish the module configuration.
If you want to customise autocomplete, create your own Linkit profile in the Configuration → Config Authoring → Linkit panel. Each profile has its name, description and a list of matchers.
You have the following types of matchers to choose from:
- Content – basic matcher, searches for content by title among all or selected types of content,
- Contact form – searches for contact forms,
- Email – detects e-mail addresses and creates a mailto: link automatically,
- File – searches for files from the sites/*/files directory managed by Drupal,
- Front page – suggests a home page when you start typing "Front page",
- Media – searches for media of selected types,
- Taxonomy term – searches for taxonomy terms,
- User – searches for website users.
Example of use
The easiest way to explain the operation of matchers is by using an example. I’m adding a new "Example profile" containing the following elements:
Notice that the “Metadata” fields are filled in, showing additional information about the link match found. Now, let’s set the “Example profile” as active in the text format configuration.
When you go to webpage editing, the effect of the above actions will be as follows:
You can see three matchers here, one below the other. The first one shows the article, the second one shows the Media object with a thumbnail, and the third one - the taxonomy term.
When you save the content with a link inserted via Linkit, you will notice that instead of a URL alias (of the /example-article type), the link contains its abbreviated form (e.g. /link/20). You can change this behaviour by activating the following filter in the text format settings:
Hooks and integrations
The Linkit module is object-oriented and highly flexible. You can extend it with:
- "matcher"-type plugins, allowing you to easily add your own sources of link hints,
- "substitution"-type plugins that return links to content.
There are currently no additional Linkit modules on Drupal.org. This is probably due to the fact that the basic version covers most cases of use.
Linkit is a simple and reliable solution that will improve the UX of your website at a low cost. It’ll also allow you to better control the structure of links and help you avoid linking errors. We’ve been using this module for many years – also as part of our own Drupal distribution – Droopler.