This plugin adds rel
and target
attributes to all external links in your Jekyll site.
The default configuration opens external links in a new tab and conserves domain authority for your site.
- Add the gem to your
Gemfile
:gem 'jekyll-link-attributes'
- Run
bundle install
to install the gem - Add the following to your
_config.yml
:plugins: - jekyll-link-attributes
You can override the default configuration by adding the following section to your Jekyll site's _config.yml
:
external_links:
enabled: true
rel: external nofollow noopener
target: _blank
exclude:
- https://example.com
- https://another.example.com/test.html
- https://regex.example.com/.+
Key | Default Value | Description |
---|---|---|
external_links.enabled |
true |
Enable attribute modifications for external links. |
external_links.rel |
external nofollow noopener |
The rel attribute to add to external links. |
external_links.target |
_blank |
The target attribute to add to external links. |
external_links.exclude |
[] |
A list of URLs to exclude from processing. |
The rel
or target
attributes will not be modified for links that already have those existing attributes.
This allows you to skip individual links without having to modify the plugin's configuration.
<a href"https://example.com" rel="nofollow">Example</a> <!-- `rel` will not be modified, but the configured `target` will be added. -->
<a href"https://example.com" target="_self">Example</a> <!-- `target` will not be modified, but the configured `rel` will be added. -->
<a href"https://example.com" rel="nofollow" target="_self">Example</a> <!-- Neither `rel` nor `target` will be modified. -->
Pull requests are welcome! If you wish to change existing behavior, please open an issue to discuss the change before investing time in a PR. RSpec tests are encouraged for any new features.
This project is maintained by Twin Sun, a custom mobile and web app development agency in Nashville, TN.