Nofollow is a meta tag that can be added to a site’s robots.txt file or to individual links to stop search engine webcrawlers from following links on the page.
Normally, webcrawlers follow links to index web pages and tally the links as votes for a site’s quality. The scores of links tag directs the crawler not to do that. As a result, those links are not included in the tally and have no effect on the page’s rank in search engine results pages (SERP).
Webmasters use nofollow to keep crawlers from following links on their pages to locations where spammers are likely to strike. (However, because very cost-effective scripts post many of these links, this does not prevent link spam.) The nofollow tag also helps assure that the search engine does not assume any association between the page where the link appears and the page that the link leads to. A webmaster might use the tag on a paid link to prevent a search engine considering it spam and designating their site and any linked sites a bad neighborhood. Alternatively, a webmaster might use nofollow when they purposely link to a page to demonstrate something negative, such as a terrible design or spammy content, without the link being considered an endorsement.
Initially, link spam resulted from the way that search engines used to assess page rank. As blogs rose in popularity, they also became a frequent location for spammers to drop unrelated promotional links in comments. Spammers added large numbers of links, often with spamming scripts known as spambots. The volume of links could improve the page rank for unscrupulous sites, allowing them to rise in visibility and popularity. To combat this problem, blog software makers collaborated with Microsoft, Google and Yahoo to create the nofollow tag.
Webcrawlers such as Googlebot create an index of a site within the limitations set forth by webmasters in their robots.txt files. Should a webmaster wish to keep pages from being tallied by search engines, they can block webcrawlers in a robots.txt file at the top-level folder of the site. To prevent crawlers from following any links on a given page of a site, they can include the nofollow meta tag for the page in this file; to prevent the bot from following individual links, the webmaster can add rel="nofollow" to individual links.