Setting rel attributes in Markdown
Markdown can't do everything, including rel attributes. Use HTML for these links instead.
Markdown is great for a lot of things. Where is starts to fall over is when you need specific HTML attributes for elements covered by Markdown.
rel is an example of this.
If you are trying to add the
rel attribute to a Markdown link, you will need to jump into HTML and write it inline. The vast majority of Markdown parsers will accept this. If you were searching for an answer, there it is! No need to keep reading. But here is some more information if you’re curious.
You should pay attention to where you are linking and why, when you do, you will often want to add
rel to a link, for example linking to a page that you don’t want a bot or spider to follow you could do
<a href="/blah" rel="nofollow">, or if you are marking up a sponsored post you would use
I won’t talk about the specific properties of
rel attributes in this article (but watch this space, because as I type this I’m getting excited about jotting some stuff down!) but having
rel attributes is really important. Stuff you post on the internet is accessed lots of times by lots of different people and machines. Appropriate use of
rel can save machines lots of effort, which is good for the environment, and, as I can argue in another article, good for your website.
update to get it out of my system;
Anyway, back to my point. Markdown doesn’t really care about the outside world, and as such didn’t have a thing built in to add these types of attributes.
In Markdown we would write
[my link](/my-link), which would get translated into
<a href="/my-link">my link</a>. You can’t shoehorn in other attributes, even more common ones like
class aren’t supported.
There are some proposals for a syntax to support it;
From a DatoCMS discussion around rel=”nofollow”
From a Github discussion around rel=”nofollow”
Even if either approach was adopted, unless there was near universal adoption in Markdown parsers, I think it would be safer to drop down to HTML.