Skip to main content
github pages nofollow ugc and indexing is a markup problem before it is an index problem. A Pages site serves the HTML you publish. A gist or a README on github.com is rendered by GitHub. Those two hosts do not share one sanitizer. This page is a field reference for the rel values on the live <a> tag, not a ranking table. Google’s qualification of outbound links is the one external source. nofollow, ugc and sponsored are hints. Links marked that way are generally not followed. The linked URL may still be found through sitemaps or through other sites, and therefore may still be crawled. The attributes apply to crawlable <a> elements (nofollow also exists as a robots meta tag).

Two GitHub surfaces

Pages does not run outbound links through the github.com UGC sanitizer. That is why a Pages page can emit a plain <a href> with no qualifying rel. It is also why a gist that “looks like” the same Markdown can emit rel="nofollow" (and other tokens) in the public HTML. Confirm on the URL a crawler would fetch.

rel values that matter here

noopener and noreferrer do not convert a follow-like tag into nofollow. They also do not cancel nofollow when it is present.

Indexing: three objects, not one

  1. The Pages URL itself. Ordinary public HTML. meta robots / X-Robots-Tag / robots.txt on that host behave like any static site you control. A noindex on the Pages URL is about that URL, not about the target.
  2. The outbound href. If the tag is qualified, Google says it is generally not followed from this page. The target can still appear in a crawl from another path.
  3. The target URL. Its own status, canonical, and directives. A nofollow edge does not write noindex onto the target.
The English hub journals Pages URLs older than 14 days next to other document hosts and records outbound rel in a separate table. In our sample of 12 pages read on 9 November 2026, the GitHub Pages pages (2 of 2) carried no rel on the outbound link to the target. Index counts for the 44-URL sample are in the hub write-up. This reference does not invent a follow-through rate for github.io.

How to read a Pages page

  1. Open the published URL (https://<user>.github.io/...), not the repository file view on github.com.
  2. View source or fetch the HTML. Find the <a href> for the target.
  3. Copy the rel attribute exactly. Empty means no qualifying token in this HTML.
  4. Check the Pages document for meta name="robots" and X-Robots-Tag. A noindex on the host is a different failure than rel on the outbound tag.
  5. If the same URL exists as a README on github.com, parse that HTML too. It is a second host.
For lists of published URLs that later need machine-readable tasks, the SpeedyIndex API documents request shapes. Keys stay in the environment, not in this page. The sample method (hosts older than 14 days, bulk index check, rel harvest) is in the document-host sample.

FAQ

Does GitHub Pages add rel="ugc" by default?

Not in the HTML you authored. ugc is a token you would put on the tag, or that a renderer might add on github.com. Read the live Pages markup. Yes, by other means. Google’s qualification page says the linked page may still be found through sitemaps or links from other sites. No. nofollow is the qualifying hint. noopener is not. Telegram: https://t.me/SpeedyIndexOfficial · Bot: https://t.me/speedyindexbot · X: https://x.com/speedyindexbot · Facebook: https://facebook.com/speedyindexbot · YouTube: https://youtube.com/@speedyindex_com