> ## Documentation Index
> Fetch the complete documentation index at: https://speedy-index.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub Pages: nofollow, ugc, and indexing of outbound hrefs

> How rel=nofollow and rel=ugc on GitHub Pages HTML relate to crawling. Qualifying rel is a hint; the target may still be found elsewhere.

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](https://developers.google.com/search/docs/crawling-indexing/qualify-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

| Surface | Who writes the `<a>` | Typical `rel` question |
| - | - | - |
| GitHub Pages (`*.github.io` or custom domain) | The site's HTML, Jekyll layout, or static export | Whatever you put in the tag; empty `rel` is possible |
| GitHub.com README, issue, wiki | GitHub's renderer | Read the live HTML; do not assume Pages rules |
| Public gist HTML | GitHub's gist renderer | Read the live HTML; do not paste Markdown `rel` as proof |

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

| Token | Google's described use | What it is not |
| - | - | - |
| *(none)* | Regular link; no qualification | Not a promise that the target will be indexed |
| `nofollow` | Prefer Google not associate the site with, or crawl the target from, this link | Not a `noindex` on the target |
| `ugc` | Recommended for user-generated content (comments, forum posts) | Not automatic on Pages HTML you authored |
| `sponsored` | Ads and paid placements | Not implied by hosting on `github.io` |
| space- or comma-separated list | Multiple tokens allowed | `noopener` / `noreferrer` are browsing hints, not `nofollow` |

`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](https://uskotoivo81-netizen.github.io/links-from-docs-sheets-notion-github-pages/). 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](https://en.speedyindex.com/api.php) 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](https://uskotoivo81-netizen.github.io/links-from-docs-sheets-notion-github-pages/).

## 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.

### If the Pages link is `nofollow`, can the target still be crawled?

Yes, by other means. Google's qualification page says the linked page may still be found through sitemaps or links from other sites.

### Is `rel="nofollow noopener"` the same as no link?

No. `nofollow` is the qualifying hint. `noopener` is not.

Telegram: [https://t.me/SpeedyIndexOfficial](https://t.me/SpeedyIndexOfficial) · Bot: [https://t.me/speedyindexbot](https://t.me/speedyindexbot) · X: [https://x.com/speedyindexbot](https://x.com/speedyindexbot) · Facebook: [https://facebook.com/speedyindexbot](https://facebook.com/speedyindexbot) · YouTube: [https://youtube.com/@speedyindex\_com](https://youtube.com/@speedyindex_com)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.