pagerank_screaming_frog: Score a Screaming Frog bundle with PageRank

View source: R/pagerank_screaming_frog.R

pagerank_screaming_frogR Documentation

Score a Screaming Frog bundle with PageRank

Description

Thin convenience wrapper around [pagerank()] for the stable [screaming_frog_bundle()] handoff object. Only 'bundle$edges' enter the graph. Raw observations and dedicated redirect, canonical, indexability, and resource rows stay out of the edge list and are mapped to the existing [pagerank()] arguments.

Usage

pagerank_screaming_frog(
  bundle,
  accepted_placements = NULL,
  link_origins = NULL,
  placement_weights = NULL,
  weight_col = NULL,
  apply_canonicals = TRUE,
  apply_redirects = TRUE,
  preset = NULL,
  ...
)

Arguments

bundle

A 'screaming_frog_bundle' object.

accepted_placements, placement_weights

Placement controls forwarded to [pagerank()], which owns them: placement is a crawler-neutral concept, and this wrapper only supplies the bundle's normalized 'placement' column as [pagerank()]'s 'placement_col'. See [pagerank()] for the vocabulary ('"content"', '"nav"', '"header"', '"footer"', '"aside"') and semantics.

link_origins

Optional character vector of normalized link origins to retain. Values must be among '"html"', '"rendered"', and '"html_rendered"'. 'NULL' keeps all origins present in 'bundle$edges'. Unlike placement, link origin *is* a Screaming Frog concept and stays wrapper-owned.

weight_col

Optional existing edge weight column, forwarded to [pagerank()]. Cannot be combined with 'placement_weights'.

apply_canonicals

Logical flag (default 'TRUE'). When 'TRUE' the bundle's 'rel=canonical' signals are folded into the graph via [pagerank()]'s 'canonicals_df'. Set 'FALSE' for an as-crawled run that preserves the crawled node identities (no canonical folding) — useful when canonicals point off the crawled domain (e.g. a mirror/staging host) and would otherwise relabel crawled pages onto uncrawled targets.

apply_redirects

Logical flag (default 'TRUE'). When 'TRUE' the bundle's redirect signals are folded into the graph via [pagerank()]'s 'redirects_df'. Set 'FALSE' to skip redirect folding and keep the as-crawled node identities.

preset

Optional named view forwarded to [pagerank()]'s 'preset', one of '"raw"', '"declared"', '"reversed"', '"content"', or a [pr_preset()] result. The ‘"raw"' view additionally switches off the bundle’s declared canonical, redirect and indexability tables, since "the graph exactly as crawled" cannot honor declarations the wrapper would otherwise feed in. An explicit 'apply_canonicals' or 'apply_redirects' still overrides the '"raw"' default for that table. See 'vignette("presets")'.

...

Additional scoring controls passed to [pagerank()], such as 'self_loops', 'drop_isolates_flag', 'nofollow_action', 'robots_blocked_action', 'rurl_params', prior settings, and 'damping'. Positional decay is opt-in here too: the bundle's 'edges' carry a ‘position_index' column (each link’s reading-order rank among its source page's content links, materialized only from an **All Outlinks** export), so pass 'position_col = "position_index"' – optionally with 'position_transform' / 'position_alpha' / 'position_floor' – to switch the axis on. It stays off by default, per the faithful-default rule, because reading-order decay reshuffles ranking as hard as placement weighting does.

Value

The [pagerank()] result data frame. It retains the '"transition_audit"' attribute from [pagerank()] and adds a '"screaming_frog_import"' attribute containing bundle diagnostics, provenance, and wrapper filtering/weighting choices.

Examples

internal <- data.frame(
  Address = c("https://example.com/", "https://example.com/a"),
  `Status Code` = c("200", "200"),
  check.names = FALSE
)
links <- data.frame(
  Type = "Hyperlink",
  Source = "https://example.com/",
  Destination = "https://example.com/a",
  Follow = "TRUE",
  check.names = FALSE
)
bundle <- screaming_frog_bundle(internal, links, "all_outlinks")
pagerank_screaming_frog(bundle)

pagerankr documentation built on Oct. 1, 2026, 5:09 p.m.