Home RSS feed info
Why I no longer use - rel=nofollow - for external links.

Hugo external links - nofollow or not nofollow - equal to dofollow?

Hugo external links - nofollow or not nofollow - equal to dofollow?

Until recently, I walled off my external links with rel="nofollow noreferrer" out of a misunderstood sense of security. Since I call external links via a Hugo shortcode, the change was not very complex. In this post, I describe my “why change?” reasons and the Hugo shortcode source code.

Why I have used rel="nofollow noreferrer" so far

I link a lot in my blog posts. By the nature of the posts, I link to documentation that fits the topic of my posts. I link to online tools that I use in this context. Or I link to blog posts by other authors whose texts have helped me to see the topic from a different angle or are simply technically good and have thus also helped me.

When you publish a homepage in Germany, there is an immense pressure to do so in a legally compliant manner. An imprint/legal notice must be easily accessible. The address of the person responsible for the homepage must be made public. A telephone number or an e-mail address must be given. If no telephone number is given, a contact form for people who do not have an e-mail address must be available on the homepage.

A GDPR-compliant privacy policy must also be easily accessible. Even if only lawyers understand all the paragraphs.

Then there are the so-called warning lawyers who, allegedly on behalf of data subjects, issue a warning to a website operator for things that do not comply with the law. Of course, this warning costs a three-digit euro amount. You then have to sign a cease-and-desist declaration. This means that if you do the allegedly evil thing again, you are threatened with completely different bills. And the perfidious thing is that you have signed it and agreed to pay the fine. Horrible. To make sure it doesn’t come to that, you get to pay another lawyer to defend your rights. That also costs a three-digit euro amount or more.

If I link to a post that uses copyrighted material or point to software with a link that can be used to do illegal things, then that is an opportunity for a warning lawyer. Formal errors such as an imprint that does not comply with the law or a data protection statement anyway.

I hope that a niche website like this one will not be treated as harshly as a profit-oriented website. But I should probably tell myself to “dream on”.

Now that I’ve whined enough, I have to say that yes, I know all this. So as a blogger, I have to inform myself comprehensively so that I don’t get warned off by such fine lawyers. But how am I supposed to determine whether the target page of my links is illegally using copyrighted material? I can’t. There is no way to avoid a residual risk. Or it could - I could no longer blog.

But, for this reason I have so far bricked up my external links with rel="nofollow noreferrer". In the hope that I can’t be prosecuted for it. But that’s nonsense. No user looks at the source code of the link. That’s the only place he sees the nofollow. I also can no longer imagine that a court would dismiss a lawsuit because of nofollow.

So nofollow does not protect. And with noreferer, I only prevent the other side from knowing who the link comes from.

So that no false impression is created here, I think the General Data Protection Regulation and data protection in general are good and right. This is the only way to keep the global and local data octopuses in check to some extent. The warning lawyers also have an educational function. Otherwise, I wouldn’t worry so much here.

Why I don’t use rel="nofollow noreferrer" anymore

The reason for this is the blog post - drweb.de - How you profit from link setting - and which 3 reasons prevent it - by Sven Lennartz, the founder of Dr. Web. I’ve been following the website on and off for over 20 years. INSIDER - the yellow booklets were good - INSIDER.

I quote here the statements of the article that are decisive for me:

The blogger's fear of Google is widespread. It arose in the course of the discussions about nofollow links. That was years ago, but uncertainty and misconception have taken hold. Numerous bloggers nowadays believe that outbound links can harm their blogs.

They think they can mitigate or possibly even prevent the problem with the ominous nofollow. They think of it like insurance. If you have that, nothing can happen. The link is protected. Or even better, blog completely link-free. Then really nothing can happen. Or what?

In fact, this problem does not exist at all. You use Nofollow when someone has paid for the link or the link leads to questionable corners of the web. The attribute corresponds to the devaluation of train or bus tickets. The link marked in this way then no longer passes on link juice, but otherwise functions as usual.

Nofollow links are second-class links that should only be used in the cases mentioned above. Never in normal blog texts. Never and under no circumstances in blogrolls or link lists. This also applies to internal links within the blog. Nofollow has no place there.

The blog post is not available in English. Therefore, I am translating the above text passages. I will ask Sven Lennartz if I may use the text passages. This is also a legal safeguard.

Sometimes you need blog posts like the one above to question and change your own entrenched beliefs.

The HTML code for this looks like this:

<a href="target-url" target="_blank" rel="nofollow">Linktext</a>

The following external links explain rel="nofollow" and the environment:

The HTML code for such a link looks like this:

<a href="target-url" target="_blank" rel="noreferrer">Linktext</a>

You can find a more detailed explanation here:

<a href="target-url" target="_blank" rel="noopener">Linktext</a>

Without noopener, the linked website can take control of the tab of the linked page. By now, most browsers use rel="noopener" automatically when the external link is opened in a new tab with target="_blank". For security reasons, however, I continue to use noopener.

You can find more information on this website:

The shortcode is called in the Markdown file as follows:

{{< extLink list="false" url="-url-" urltext="-urltext-" >}}

The source code of extLink.html:

{{- $extLinkList := .Get "list" -}}
{{- $extLinkURL := .Get "url" -}}
{{- $extLinkText := .Get "urltext" -}}
{{- $extLinkNoFollow := .Get "nofollow"}}
{{- if eq $extLinkList "true" -}}<li>{{- end -}}
{{- if eq $extLinkNoFollow "true"}}
<a href="{{- $extLinkURL -}}" class="extlink" target="_blank" rel="nofollow noopener">
{{- else -}}
<a href="{{- $extLinkURL -}}" class="extlink" target="_blank" rel="noopener">
{{- end -}}
{{- $extLinkText -}}
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-up-right" viewBox="0 0 16 16">
    <path fill-rule="evenodd" d="M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z"/>
    <path fill-rule="evenodd" d="M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z"/>
{{- if eq $extLinkList "true" -}}</li>{{- end -}}

The list parameter is used to embed the link in a li HTML tag. If the nofollow parameter is assigned the string true, an rel=nofollow is inserted. Otherwise, the parameter is optional. As in the example above, it is simply not specified. I will not use this parameter.

Where to get free SVG icons and how to use them I have described in my article - Use free Bootstrap SVG Icons in Hugo .


In hindsight, my own assumption to protect my external links with nofollow feels silly. And it’s also hard for me to admit that so publicly here. But I think others feel the same way and that it is important to clear up such misconceptions. This somewhat emotional blog post should also be understood in this sense.

Link list for this article

This might also interest you

8 minutes to read
This post was created with Hugo version 0.115.2.

With the German language setting, comments are not displayed in the English version of the website and vice versa.

© 2023 - Frank Kunert  -  About me