I have a website that allows users to display their email address and contact number on their public profile page. These would be in link format, example:

<a href="mailto:user%40email.com" title="email user">[email protected]</a>
<a href="tel:+123456789" title="call user">+123456789</a>

I was wondering if it is necessary at all to add a rel="nofollow" tag to these. Do search engines follow and index these?

  • 2
    Are you intentionally percent-encoding the @ in the email address?
    – unor
    Nov 2, 2013 at 15:27
  • @unor, yes. That is done on purpose. Is there any problem with the markup? Nov 2, 2013 at 16:44
  • 1
    I guess it’s not a valid mailto URI. Between the local-part and the domain-part there needs to be a @ character. If the local-part contains a @, it needs to be percent-encoded (%40) and the local-part needs to be enclosed in quotation marks (%22) (there may also be other ways, e.g. backslash escaping, but I didn’t check that).
    – unor
    Nov 2, 2013 at 18:04

3 Answers 3


Most commonly mistaken thing about the 'nofollow' tag is that has nothing to do with not indexing content. I recommend you read the true meaning of nofollow.

Also technically email addresses and tel links are internal links so there should be no reason to use a nofollow tag on it. Furthermore, mailto and tel are not pages or links to content in any way.

If you don't want email addresses being indexed then you should add that content dynamic and after the page has loaded, or alternatively use some form of JavaScript that Google and other search engines don't understand.

  • Can I confirm based on what you wrote in the 2nd paragraph that you are suggesting that these internal links would still be indexed by the search engines regardless of the nofollow tag? Nov 2, 2013 at 14:33
  • 1
    Yes, no follow is not to be used for the prevention of not indexing content. You're limited to noindex and robots.txt. This has the limitation of deindexing or preventing pages from indexing, there is no way of preventing content being indexed on a page that you want indexed, other than using black techniques which should be avoided if you care about your rankings. The best method would be to use JavaScript, through Google will understand most JS as John has mentioned but most non-advance scrapper bots will not see it lowering the spam. Nov 2, 2013 at 15:07
  • 2
    Also just to add mailto, and tel are not pages or links to content in any way... they simply are protocols for assoicated software such as Outlook, they won't pysically be indexed as a page but if you was to do site:domain.com + "[email protected]" it is likely to be indexed in a content manner. Nov 2, 2013 at 15:10
  • Thanks for the clarification. It becomes clearer to me now. Actually my main concern is more on SEO of the page. As long as my page rank is not affected by not having nofollow on these internal links, I am fine. From what you wrote, I should be able to conclude that tags on these are indeed redundant. Thanks. Nov 2, 2013 at 16:42
  • 1
    Nitpick: in this case the telephone and mailto links are "internal" because they are the poster's own contact information. You could link to anybody's email or telephone and I don't see how that would be considered "internal". Nov 2, 2013 at 17:25

Now search engine are able to index mostly everything, even some JavaScript code, except if encrypted. If you don't want to disturb your clients and lose your PageRank you can read these excellent answers: https://stackoverflow.com/a/12566551/2491683 - or search in Google for the query: encrypt a link.

  • Yes, I am already doing some form of obfuscation as you can see in the href of mailto. But this is not what I am asking. Nov 2, 2013 at 14:38

You can tell Google in your HTML markup to ignore a section of HTML.

<!-- googleoff: all-->
<a href="mailto:user%40email.com" title="email user">[email protected]</a>
<a href="tel:+123456789" title="call user">+123456789</a>
<!-- googleon: all-->

That will prevent that piece of HTML from appearing in the cache or being indexed. It offers no security and is only supported by Google.

You can perform Javascript based obfuscation of the email. Here is a jQuery plugin that does that.


Alternately, you can do the opposite and share contact information in a way they can index more effectively. Using the hCard microdata format.


The only way to prevent webcrawlers from accessing this information is to only show it to authorized user sessions that have been verified as humam. Even that is a challenge.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.