Links
Link discovery fixtures covering standard anchors, nofollow variants, JavaScript-built links, hidden links, iframes, malformed markup, and a 10,000-anchor page.
Fixtures for link extraction and discovery. Every deliberate anchor points at
one of three real 200 target pages under /tests/links/targets/, so a crawler
that follows a discovered link always lands on a verifiable page.
Families:
- Standard anchors: plain internal links, a single controlled external
link, relative/root-relative/protocol-relative URL forms, a
base hrefoverride, and an image-wrapped anchor. - Empty and broken: anchors with empty, missing, whitespace-only, and scheme-only hrefs that must not become crawl links.
- Nofollow family:
rel="nofollow",rel="ugc sponsored", and a follow/nofollow conflict on the same target. - JavaScript links: onclick-only navigation, string-concatenated hrefs, AJAX-injected anchors, pushState URL mutation, and an anchor inside an open shadow root — all browser fixtures with raw and rendered markers.
- Hidden and non-standard:
data-hrefspans, noscript anchors, and anchor markup inside comments and template elements. - Iframes: a same-domain iframe with a linking document, and a cross-domain iframe served from the controlled cross-origin subdomain.
- Edge cases: whitespace-padded and percent/entity-encoded hrefs, invalid nested anchors, and a streamed page of exactly 10,000 unique anchors capped to four concurrent generations.
The high-volume and cross-origin fixtures are risky-manifest, direct-entry only; the rest are safe for broad crawling within the fixture domain.
Fixtures in this category
- Standard internal anchors —
links-standard-internal(safe) - Relative, root-relative, and protocol-relative anchors —
links-relative-root-protocol(safe) - Base href changes link resolution —
links-base-href(safe) - Image-wrapped anchor —
links-image-link(safe) - Empty and broken anchors —
links-empty-and-broken(safe) - rel=nofollow anchor —
links-nofollow(safe) - rel=ugc sponsored anchor —
links-ugc-sponsored(safe) - Follow and nofollow anchors to the same target —
links-follow-and-nofollow-same-target(safe) - Anchor href built by string concatenation —
links-js-string-concat(safe) - Anchor injected from an AJAX response —
links-ajax-loaded(safe) - pushState navigation —
links-pushstate(safe) - Anchor inside an open shadow root —
links-shadow-dom-open(safe) - data-href span —
links-data-href(safe) - Anchor inside noscript —
links-noscript(safe) - Anchors inside a comment and a template —
links-comment-template(safe) - Same-domain iframe —
links-iframe-same-domain(safe) - Whitespace and percent-encoded hrefs —
links-whitespace-encoded(safe) - Nested anchors —
links-nested-anchors(safe) - Link target A —
links-target-a(safe) - Link target B —
links-target-b(safe) - Link target C —
links-target-c(safe)