Scanned sites / f45training.com

SEO report for f45training.com DR 75

The latest Site Spider scan of f45training.com, with 1 scan on record. Each scan is at its own address, for example /domain/f45training-com/2026-09-14-0928.

DR is Ahrefs Domain Rating (0-100, backlink strength), used under its Domain Rating License.

Latest scan

Scanned 2026-09-14 09:28:51 UTC, finished 2026-09-14 11:39:01 UTC. Found with openstreetmap overpass

Site: https://f45training.com/

Download SQLite databaseEvery page and asset from this scan, with the crawl events, in one file.

79/ 100Good

On September 14, 2026 the Site Spider crawled 4308 pages and 152 assets of f45training.com, starting from https://f45training.com/. It scored 79 out of 100, a good result. 12 of 27 checks found something to fix, led by meta descriptions (3,603), title tags (1,818), heavy assets (7); 7 checks passed. Most of the points went to meta descriptions (−6.8), title tags (−4.3), heavy assets (−4.2). 8 checks found something the score does not count, listed as noted. 10 checks were not run because the crawl fetched nothing for them. The list below shows each check's result, the fix plan, when present, explains what to do first, and the security review at the end of the page covers headers, transport, libraries and exposed files.

Security review: Medium2 medium, 1 low and 1 info findings. See the security findings ↓

Pages crawled
4308
Assets fetched
152
Status
Completed
Checks with issues
12 of 27
CoverageJob finished, partial coverage

4,460 of 5,152 discovered URLs were fetched, 692 blocked by robots.txt, 4,372 left out by the 5,000-page and 1,000-asset budget. The job finished, but the crawl did not reach everything it found. HTML only: nothing here ran JavaScript. 300 link destinations on other sites were checked, 3081 left unchecked.

  • Title tags1,818 issues
    1818 of 4094 pages have title issues. 176 noindex or canonicalized pages excluded.
    −4.3 points
  • Meta descriptions3,603 issues
    3603 of 4094 pages have meta description issues. 176 noindex or canonicalized pages excluded.
    −6.8 points
  • Headings1,096 issues
    1096 of 4094 pages have heading issues. 176 noindex or canonicalized pages excluded.
    −1.5 points
  • Broken links5 issues
    4338 internal links point at 5 broken URLs.
  • Links to other sites4 issues
    4 destinations answered with an error, 188 could not be determined (timeouts, rate limits or refusals), 3081 were left unchecked by the per-scan cap, of 300 destinations checked.
  • Redirects33 issues
    36 redirecting URLs, 0 of them chained.
  • Non-200 responses5 issues
    43 URLs did not return a 2xx response. 38 of them are pages, 5 with an error status; the rest are assets or redirects.
  • Rate limitedOK
    The site did not rate limit the crawler.
  • Indexability175 issues
    175 of 4270 indexable pages have indexability warnings.
    −0.4 points
  • Image alt text19,059 issues
    19059 of 164670 image references have no alt attribute. 79994 use an empty alt (decorative), which is fine.
    −0.7 points
  • Heavy assets7 issues
    7 assets larger than 500 KB among 152 fetched assets.
    −4.2 points
  • Orphan pages7 issues
    7 pages have no internal links pointing at them.
  • Sitemap coverage2,562 issues
    4 sitemaps listing 2067 URLs: 2556 crawled pages missing, 6 listed URLs broken or redirecting, 0 reachable only via the sitemap. 523 listed URLs not crawled within the 5000-page budget.
    −3.6 points
  • Internal link counts489 noted
    Internal link counts for 500 pages; 489 worth a look.
  • Thin contentOK
    0 of 4094 pages have fewer than 200 words. 176 noindex or canonicalized pages excluded.
  • Duplicate contentOK
    0 groups of pages with identical HTML.
  • URL format32 noted
    32 of 4308 page URLs are harder to read, share or cache than they need to be.
  • Canonicals176 noted
    176 of 4270 pages have a canonical worth checking.
  • Robots directives4,270 noted
    4270 pages carry a robots directive; 0 carry none.
  • Anchor text434 noted
    434 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure2,015 noted
    2015 of 4094 pages could use the title, heading and snippet space better. 176 noindex or canonicalized pages excluded.
  • Image weight and alt length9 noted
    8 images over 100 KB; 1 with alt text over 100 characters.
  • Response anomaliesOK
    No redirect loops, header redirects or pages served as something other than HTML.
  • HTML and head validationNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • hreflangNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Structured dataNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Near duplicatesNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Soft 404sOK
    None of 4270 pages answering 200 reads like an error page.
  • AccessibilityNot checked
    Not checked: the accessibility audit runs in the browser. Tick "Include JavaScript rendering checks" when you request a scan to run it.
  • Link positionsNot checked
    Not checked: this scan was crawled before link positions were recorded. Scan the site again to run it.
  • PaginationNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Headers and cookiesOK
    0 cookies set by the site; 16 response headers recorded across 4460 URLs.
  • Orphans in searchNot checked
    Not checked: import a Search Console Pages export on the scan page to find pages Google shows that the site does not link to.
  • Link ScoreOK
    Link Score (internal PageRank, 0-100) for 4270 pages; 4162 hold almost none (10 or less).
  • JavaScript renderingNot checked
    Not checked: this scan did not render pages. Tick "Include JavaScript rendering checks" when you request a scan to compare the served HTML with what a browser builds.
  • PageSpeed Insights5 noted
    Mobile performance 25 on average across 5 pages; 5 below Google's good thresholds.
  • SpellingNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.

Where this site sits among all scanned sites

2873 sites, median 80%, average 79%

f45training.com scores 79%, higher than 44% of the 2873 scanned sites. See the full ranking.

0751500%: 0 sites1%: 0 sites2%: 0 sites3%: 0 sites4%: 0 sites5%: 0 sites6%: 0 sites7%: 0 sites8%: 0 sites9%: 1 site10%: 0 sites11%: 0 sites12%: 0 sites13%: 0 sites14%: 1 site15%: 0 sites16%: 0 sites17%: 0 sites18%: 0 sites19%: 0 sites20%: 0 sites21%: 1 site22%: 0 sites23%: 0 sites24%: 0 sites25%: 0 sites26%: 0 sites27%: 0 sites28%: 1 site29%: 0 sites30%: 0 sites31%: 0 sites32%: 0 sites33%: 0 sites34%: 0 sites35%: 2 sites36%: 1 site37%: 1 site38%: 3 sites39%: 2 sites40%: 3 sites41%: 1 site42%: 2 sites43%: 3 sites44%: 2 sites45%: 6 sites46%: 5 sites47%: 5 sites48%: 6 sites49%: 8 sites50%: 6 sites51%: 7 sites52%: 8 sites53%: 9 sites54%: 9 sites55%: 9 sites56%: 8 sites57%: 17 sites58%: 18 sites59%: 10 sites60%: 15 sites61%: 13 sites62%: 20 sites63%: 29 sites64%: 22 sites65%: 33 sites66%: 43 sites67%: 43 sites68%: 42 sites69%: 52 sites70%: 46 sites71%: 80 sites72%: 76 sites73%: 81 sites74%: 82 sites75%: 87 sites76%: 95 sites77%: 109 sites78%: 132 sites79%: 111 sites80%: 128 sites81%: 125 sites82%: 132 sites83%: 119 sites84%: 130 sites85%: 106 sites86%: 95 sites87%: 96 sites88%: 80 sites89%: 75 sites90%: 55 sites91%: 59 sites92%: 43 sites93%: 29 sites94%: 25 sites95%: 15 sites96%: 18 sites97%: 16 sites98%: 8 sites99%: 3 sites100%: 150 sites79% here100%90%80%70%60%50%40%30%20%10%0%

Green 90% and up (Excellent), lime 75 to 89 (Good), amber 50 to 74 (Needs work), red below 50 (Poor).

Internal link map

Loading the link map...

Start page (centre)OKRedirectErrorOrphanLinked from most pagesOne inbound link or noneRings = clicks from the start page. Size = inbound links. Drag to pan, scroll to zoom, click a page to see only its links.

Fix plan

Written by gpt-4o-mini from the scan findings

Written from an earlier version of the analysis. The findings on this page have been recomputed since, so counts and labels here may differ from what the plan describes. The advice still points at the same checks.

The site has several technical SEO issues, particularly broken links and title/meta description problems. Addressing these will improve user experience and search engine visibility.

  1. 1

    Fix Broken Internal Links

    Why: 4338 links point to 5 broken URLs, leading to a poor user experience.

    How: Identify and update or remove broken links. Use the URLs in the findings to locate and repair.

    Checks: broken-links

  2. 2

    Correct Non-200 Responses

    Why: 43 URLs are returning errors, negatively affecting site accessibility.

    How: Send 301 redirects or fix the broken URLs as indicated in the findings.

    Checks: status-codes

  3. 3

    Revise Title Tags

    Why: 1814 pages have title issues which can harm search rankings.

    How: Make titles unique and within the character limit. Review the URLs listed in the findings for specific titles that need editing.

    Checks: titles

  4. 4

    Improve Meta Descriptions

    Why: 2192 pages have meta description issues, impacting click-through rates.

    How: Ensure unique and relevant meta descriptions for each page. Adjust according to the examples in the findings.

    Checks: meta-descriptions

  5. 5

    Address Heading Issues

    Why: 1096 pages have heading issues, which can confuse search engines.

    How: Add appropriate H1 tags and ensure no duplicate H1 tags are present. Refer to the URLs with issues in the findings.

    Checks: headings

  6. 6

    Resolve Orphan Pages

    Why: 7 orphan pages lack internal links, reducing their visibility.

    How: Link these orphan pages from relevant content to improve internal linking.

    Checks: orphan-pages

Generated automatically; verify each change against your own site before relying on it.

Security review

Written by gpt-4o-mini from 16 checks over the crawl

The website has some important security issues that need attention, including exposed API keys and a weak Content Security Policy. Addressing these findings will enhance the site's overall security posture.

  • 0 high
  • 2 medium
  • 1 low
  • 1 info
  1. 1

    Exposed Google API KeyMedium

    Why it matters: A Google API key is embedded in the site code, potentially allowing unauthorized access to services.

    Fix: Restrict the API key by setting up HTTP referrer restrictions in the Google Cloud console.

    Evidence: Keys and secrets in page code

  2. 2

    Weak Content Security PolicyMedium

    Why it matters: The CSP allows inline scripts, reducing protection against cross-site scripting (XSS) attacks.

    Fix: Remove 'unsafe-inline' and 'unsafe-eval' from the Content-Security-Policy header to strengthen security.

    Evidence: Content Security Policy

  3. 3

    Third-Party Scripts Lack IntegrityLow

    Why it matters: Scripts from 12 external domains run without Subresource Integrity, increasing risk of malicious code execution.

    Fix: Implement Subresource Integrity for all third-party scripts or utilize a stricter Content-Security-Policy.

    Evidence: Third-party scripts

  4. 4

    Sensitive Paths Listed in robots.txtInfo

    Why it matters: The robots.txt file contains a path indicating private access that could help attackers map the site.

    Fix: Remove sensitive paths from robots.txt or apply proper access controls to those resources.

    Evidence: Sensitive paths in robots.txt

What the checks found

  • FoundKeys and secrets in page codeMedium

    1 credential-like value found in code served to every visitor: Google API key.

    • Google API key AIzaSy…YY (39 chars) in https://f45training.com/: browser keys are expected in pages, but must be restricted by HTTP referrer and API in the Google Cloud console
  • NoteContent Security Policy

    A Content-Security-Policy is set, but it allows inline or eval scripts ('unsafe-inline' / 'unsafe-eval'), which removes most of its protection against injected scripts.

    • https://f45training.com/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/what-is-f45/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/workouts/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/workouts/cardio/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/workouts/resistance/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/workouts/hybrid/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/workouts/recovery/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/f45-training-hyrox/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/peak-500/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/f45-lionheart/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/f45-challenge/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
    • https://f45training.com/partners/ → default-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, script-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, img-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, style-src 'self' * https: data: 'unsafe-inline' 'unsafe-eval' blob:;, worker-src 'self' *
  • NoteThird-party scripts

    Scripts run from 12 other domains without Subresource Integrity, so a compromise of any of them changes what runs on this site. (Tag managers and analytics rarely support SRI; a Content-Security-Policy that names these hosts is the usual control.)

    • cdn.cookie-script.com (40 script tags)
    • cdn.f45training.com (40 script tags)
    • www.googletagmanager.com (40 script tags)
    • js.adsrvr.org (40 script tags)
    • static.klaviyo.com (40 script tags)
    • widgets.f45training.com (40 script tags)
    • app.f45training.com (40 script tags)
    • api.mapbox.com (40 script tags)
    • cdn.jsdelivr.net (40 script tags)
    • www.google.com (40 script tags)
    • player.vimeo.com (39 script tags)
    • www.workable.com (1 script tag)
  • NoteSensitive paths in robots.txt

    robots.txt lists 1 path that look private. robots.txt is public and does not restrict access, so it doubles as a map for anyone probing the site; those paths need real access control.

    • Disallow: /wp-admin/
9 checks passed, 3 not applicable
  • OKHTTPS

    All 4270 crawled pages were served over HTTPS.

  • OKHTTP Strict Transport Security

    strict-transport-security is set on all 4270 HTML pages.

  • OKClickjacking protection

    x-frame-options is set on all 4270 HTML pages.

  • OKMIME sniffing protection

    x-content-type-options is set on all 4270 HTML pages.

  • OKSoftware version disclosure

    The Server header names a product without a version, and there is no X-Powered-By header.

  • OKMixed content

    No HTTPS page loads a script, stylesheet, font or image over plain HTTP.

  • OKForms over HTTPS

    234 forms found, all on HTTPS pages posting to HTTPS addresses.

  • OKVulnerable JavaScript libraries

    2 library versions recognised, none with known vulnerabilities.

  • OKExposed files and listings

    None of the crawled URLs is a configuration file, backup, dump, repository folder or directory listing.

  • Not applicableReferrer policy

    This scan predates the crawler recording the headers this check needs. Rescan the site to check it.

  • Not applicablePermissions policy

    This scan predates the crawler recording the headers this check needs. Rescan the site to check it.

  • Not applicableCookie flags

    This scan predates the crawler recording the headers this check needs. Rescan the site to check it.

A passive review of what the crawl recorded: response headers, page and script contents and the URLs it found. It does not probe the site, test TLS settings or look for files that were not linked. Generated automatically; verify each finding against your own site before acting on it.

Earlier scans of f45training.com

No other scans of this site yet.

Sites scoring near f45training.com

Their neighbours in the SEO rank table, which orders every scanned site by health score.

DR is Ahrefs Domain Rating (0-100, backlink strength), used under its Domain Rating License.

This report was produced by the DIY SEO Hub Site Spider crawling f45training.com from its pages as published, the way a search engine does. It shows summary figures only.

Own f45training.com?