There are several modules like this for D7, but AFAIK this is the first for D8.
With this module you can indicate several links in order to they appear linked in every word you need to highlight.
This module provides a configuration page you need to edit in order to facilitate the keywords and their correspondient links.
Also, you can select which node types you want the module works with into the body of the node.
After enabling the module, you can configure it at admin/config/seo_keyword_links/seosettings
Project link
https://www.drupal.org/sandbox/leandro713/2709361
Git instructions
git clone --branch 8.x-1.x https://git.drupal.org/sandbox/leandro713/2709361.git
--
First, you need to indicate which are the keywords and the links they point to, and which content types should be affected
Then, the keywords are automagically linked to their URLs

| Comment | File | Size | Author |
|---|---|---|---|
| #11 | Selección_477.png | 48.75 KB | leandro713 |
| #3 | Selección_485.png | 36.62 KB | leandro713 |
| #3 | Selección_484.png | 6.98 KB | leandro713 |
Comments
Comment #2
leandro713 commentedComment #3
leandro713 commentedComment #4
PA robot commentedFixed the git clone URL in the issue summary for non-maintainer users.
We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #5
dmitry.kazberovichAutomated Review
http://pareview.sh/pareview/httpsgitdrupalorgsandboxleandro7132709361git...
Manual Review
<a href="http://google.com">Ono</a>, but after saving I got<a href="http://google.com"></a><a href="http://ono.es">Ono</a>Don't think this is correct behaviour.name: seo_keyword_links. Please replace the name with more readable without underscores since this will be displayed in the list of modules.This review uses the Project Application Review Template.
Comment #6
dmitry.kazberovichComment #7
leandro713 commented* added README
* fixed code styles
* regarding «code complexity»: there are 2 methods and one closure. Apart from the closure, i think everybody should write code in the way he/she is happy. Programming paradigm (OOP, declarative, functional, data-driven, etc ...) should not be a barrier for creativity ^^
* fixed the warning in line 51
* i don't consider convenient a GUI for configuration. i like CLI's interfaces and hand text (the config is YAML, in this case) editing.
* to test it, one should write in the body any of [Ono, Telefonica, Vodafone] and the same word should appear when viewing the node, but linked to their websites. Don't put directly a linked word, that is the opposite to the intended behaviour.
* changed «name» key in seo_keyword_links.yml
EXTRA BALL:
* i'm currently struggling with SimpleTest. i have weird errors, but i upload a initial test.
Comment #8
PA robot commentedClosing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #9
leandro713 commentedComment #10
dtraft commentedAutomated Review
http://pareview.sh/pareview/httpsgitdrupalorgsandboxleandro7132709361git-8x-1x
Looks like there are some minor formatting issues in the SimpleTest output, probably worth looking into.
Manual Review
This review uses the Project Application Review Template.
Comment #11
leandro713 commented@dtraft
all code is now formatted with phpcbf
regarding your issues:
1. formconfig now exists at
admin/config/seo_keyword_links/seosettings2. the module now replaces only words, replacement doesn't occur in segments of words
thank you very much to @dtraft and @dmitry.kazberovich for your time reviewing
Comment #12
leandro713 commentedComment #13
leandro713 commentedComment #14
leandro713 commentedComment #15
teeyo commentedHello leandro713,
I checked your module, great idea, however there are some styling issues and recommendations that you may be interested in :
And some coding style :
I also think it would be easier for users to select node types from a select or - even better - from a checkbox list, this way the margin of wrong typing the node type is zero.
Good job mate,
Comment #16
leandro713 commentedmr teeyo, i've followed your suggestion of selecting the content types using checkboxes
also formatted the code a bit
Comment #17
teeyo commentedGreat leandro! did you ship another version ? update the issue settings so we can test the right code ;)
Comment #18
leandro713 commentedComment #19
leandro713 commentedyes, teeyo, there is new code.
i think this version is better, also
i'm foreseeing to enhance the config interface for providing the SEO words and their links during next weekend.
Comment #20
avpadernoComment #21
sleitner commentedAutomated Review
Pareview details: https://pareview.sh/pareview/https-git.drupal.org-sandbox-leandro713-270...
Git errors:
Review of the 8.x-1.x branch (commit cf935ba):
This automated report was generated with PAReview.sh, your friendly project application review script.
Manual Review
The starred items (*) are fairly big issues and warrant going back to Needs Work. Items marked with a plus sign (+) are important and should be addressed before a stable project release. The rest of the comments in the code walkthrough are recommendations.
If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.
This review uses the Project Application Review Template.
Comment #22
avpadernoIf you are still working on this application, you should fix all known problems and set the status to Needs review. (See also the project application workflow.)
Please don't change status of this application if you aren't sure you have time to dedicate to this application, or it will be closed again as won't fix.
I am closing this application due to lack of activity.