Import Screaming Frog All Inlinks or All Outlinks observations
Source:R/screaming_frog_links.R
screaming_frog_links.RdNormalizes a Screaming Frog **All Inlinks** or **All Outlinks** CSV or data frame. Both exports retain their native `Source -> Destination` orientation. Raw observations are kept separately from graph-eligible edges, and URLs are preserved for one downstream canonicalization pass.
Arguments
- x
A path to an All Inlinks/All Outlinks CSV file or an equivalent data frame.
- export_kind
Declared export provenance: `"all_inlinks"` or `"all_outlinks"`. This never changes edge orientation.
- origin_policy
Which DOM observations may become graph edges: `"all"` (default), `"html"`, or `"rendered"`. Combined `"HTML & Rendered HTML"` observations qualify for either selective policy. The raw observation table is never filtered.
- endpoint_action
How graph-eligible rows with a blank source or destination are handled: `"drop"` (default) or `"error"`. Such rows remain in `observations` in either mode.
Value
An object of class `screaming_frog_links` with components:
- observations
Normalized observations in input row order.
- edges
Unaggregated, graph-eligible `from` / `to` rows with nofollow, placement, origin, and link provenance.
- diagnostics
Input, eligibility, endpoint, type, origin, Follow/Rel, and schema counts plus row-level issues.
- provenance
Export kind, source, policy, retained input-row IDs, and detected columns.
Details
Only `Type = "Hyperlink"` observations are graph-eligible. `Follow` is the authoritative field used to derive `nofollow`; `Rel` is parsed independently for disagreement diagnostics. Duplicate observations are not aggregated.
Examples
links <- data.frame(
Type = c("Hyperlink", "Image"),
Source = c("https://example.com/", "https://example.com/"),
Destination = c("https://example.com/a", "https://example.com/logo.png"),
Follow = c("TRUE", "TRUE"),
check.names = FALSE
)
imported <- screaming_frog_links(links, "all_outlinks")
imported$edges
#> input_row from to nofollow follow rel
#> 1 1 https://example.com/ https://example.com/a FALSE TRUE <NA>
#> rel_nofollow anchor alt_text target path_type link_path link_position
#> 1 NA <NA> <NA> <NA> <NA> <NA> <NA>
#> placement link_origin destination_status_code destination_status
#> 1 <NA> <NA> NA <NA>
#> destination_crawlability
#> 1 <NA>