Scanned sites / gnhroofing.ca

SEO report for gnhroofing.ca

The latest Site Spider scan of gnhroofing.ca, with 1 scan on record. Each scan is at its own address, for example /domain/gnhroofing-ca/2026-10-03-0758.

Latest scan

Scanned 10/3/2026, 7:58:22 AM, finished 10/3/2026, 8:29:19 AM. Found on page 4 of brave web search results

Site: https://gnhroofing.ca/

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

81/ 100Good

On October 3, 2026 the Site Spider crawled 120 pages and 451 assets of gnhroofing.ca, starting from https://gnhroofing.ca/. It scored 81 out of 100, a good result. 12 of 23 checks found something to fix, led by heavy assets (26), links to other sites (12), meta descriptions (42); 4 checks passed. Most of the points went to heavy assets (−6), links to other sites (−4), meta descriptions (−3.1). 7 checks found something the score does not count, listed as noted. 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: Medium3 medium, 3 low and 1 info findings. See the security findings ↓

Pages crawled
120
Assets fetched
451
Status
Completed
Checks with issues
12 of 23
CoverageComplete crawl

571 of 571 discovered URLs were fetched. The crawl reached everything it found. HTML only: nothing here ran JavaScript. 69 link destinations on other sites were checked.

  • Title tags17 issues
    17 of 91 pages have title issues. 18 noindex or canonicalized pages excluded.
    −1.6 points
  • Meta descriptions42 issues
    42 of 91 pages have meta description issues. 18 noindex or canonicalized pages excluded.
    −3.1 points
  • Headings8 issues
    8 of 91 pages have heading issues. 18 noindex or canonicalized pages excluded.
    −0.4 points
  • Broken links3 issues
    111 internal links point at 3 broken URLs.
    −0.6 points
  • Links to other sites12 issues
    12 destinations answered with an error, 23 could not be determined (timeouts, rate limits or refusals), of 69 destinations checked.
    −4 points
  • Redirects9 issues
    9 redirecting URLs, 4 of them chained.
    −0.3 points
  • Non-200 responses3 issues
    13 URLs did not return a 2xx response. 11 of them are pages, 3 with an error status; the rest are assets or redirects.
    −0.3 points
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 109 indexable pages have indexability warnings.
  • Image alt textOK
    0 of 1960 image references have no alt attribute. 641 use an empty alt (decorative), which is fine.
  • Heavy assets26 issues
    26 assets larger than 500 KB among 451 fetched assets. 3 documents over that size are listed but not counted: downloads are not page weight.
    −6 points
  • Orphan pages24 issues
    24 pages have no internal links pointing at them.
    −0.9 points
  • Sitemap coverage24 issues
    6 sitemaps listing 91 URLs: 0 crawled pages missing, 0 listed URLs broken or redirecting, 24 reachable only via the sitemap.
    −1.3 points
  • Internal link counts3 noted
    Internal link counts for 109 pages; 3 worth a look.
  • Thin content4 issues
    4 of 91 pages have fewer than 200 words. 18 noindex or canonicalized pages excluded.
    −0.3 points
  • Duplicate content3 issues
    1 group of pages with identical HTML.
    −0.2 points
  • URL format23 noted
    23 of 120 page URLs are harder to read, share or cache than they need to be.
  • Canonicals18 noted
    18 of 109 pages have a canonical worth checking.
  • Robots directives109 noted
    109 pages carry a robots directive; 0 carry none.
  • Anchor text43 noted
    43 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure29 noted
    29 of 91 pages could use the title, heading and snippet space better. 18 noindex or canonicalized pages excluded.
  • Image weight and alt length150 noted
    143 images over 100 KB; 7 with alt text over 100 characters.
  • Response anomaliesOK
    No redirect loops, header redirects or pages served as something other than HTML.

Where this site sits among all scanned sites

2066 sites, median 79%, average 78%

gnhroofing.ca scores 81%, higher than 56% of the 2066 scanned sites. See the full ranking.

0511020%: 0 sites1%: 0 sites2%: 0 sites3%: 0 sites4%: 0 sites5%: 0 sites6%: 0 sites7%: 0 sites8%: 0 sites9%: 0 sites10%: 0 sites11%: 0 sites12%: 0 sites13%: 0 sites14%: 0 sites15%: 0 sites16%: 0 sites17%: 0 sites18%: 0 sites19%: 0 sites20%: 0 sites21%: 1 site22%: 0 sites23%: 0 sites24%: 0 sites25%: 0 sites26%: 0 sites27%: 1 site28%: 0 sites29%: 0 sites30%: 0 sites31%: 0 sites32%: 0 sites33%: 1 site34%: 0 sites35%: 1 site36%: 2 sites37%: 2 sites38%: 3 sites39%: 2 sites40%: 2 sites41%: 1 site42%: 0 sites43%: 0 sites44%: 1 site45%: 4 sites46%: 5 sites47%: 4 sites48%: 4 sites49%: 3 sites50%: 5 sites51%: 5 sites52%: 8 sites53%: 6 sites54%: 7 sites55%: 7 sites56%: 5 sites57%: 11 sites58%: 15 sites59%: 7 sites60%: 12 sites61%: 9 sites62%: 18 sites63%: 18 sites64%: 18 sites65%: 37 sites66%: 25 sites67%: 38 sites68%: 34 sites69%: 29 sites70%: 36 sites71%: 62 sites72%: 66 sites73%: 57 sites74%: 60 sites75%: 76 sites76%: 78 sites77%: 84 sites78%: 94 sites79%: 85 sites80%: 102 sites81%: 101 sites82%: 99 sites83%: 87 sites84%: 92 sites85%: 68 sites86%: 73 sites87%: 65 sites88%: 66 sites89%: 49 sites90%: 37 sites91%: 40 sites92%: 23 sites93%: 20 sites94%: 14 sites95%: 7 sites96%: 4 sites97%: 10 sites98%: 2 sites99%: 1 site100%: 57 sites81% 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 (rules v4). 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 website shows several issues that need addressing, with broken links and redirects being the top priorities. Focus on fixing these to enhance user experience and SEO performance.

  1. 1

    Fix Broken Links

    Why: Broken links hurt user experience and SEO ranking.

    How: Identify the broken URLs and update or remove links accordingly.

    Checks: broken-links

  2. 2

    Address Redirect Chains

    Why: Chained redirects slow down site load time and confuse search engines.

    How: Reduce chains by linking directly to the final destination.

    Checks: redirects

  3. 3

    Resolve Non-200 Responses

    Why: Non-200 status codes impede accessibility and ranking.

    How: Check the affected URLs and restore or redirect them correctly.

    Checks: status-codes

  4. 4

    Improve Title Tags

    Why: Optimized title tags positively influence click-through rates.

    How: Shorten long title tags below 60 characters for clarity.

    Checks: titles

  5. 5

    Revise Meta Descriptions

    Why: Meta descriptions help attract clicks from SERPs.

    How: Update or create meta descriptions under 160 characters, ensuring uniqueness.

    Checks: meta-descriptions

  6. 6

    Optimize Heavy Assets

    Why: Large assets can slow site loading times.

    How: Compress large images and documents to enhance performance.

    Evidence: 584 KB of image, loaded by 109 pages, so every visitor to any of them downloads it.

    109 pages affected

    Depends on: If it is a download rather than part of the page, weight matters less; move it out of the page instead.

    Checks: heavy-assets

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

Your website lacks several important security headers, making it potentially vulnerable to various attacks. Implementing these headers will enhance security by preventing unauthorized access and data leakage.

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

    Missing HTTP Strict Transport Security (HSTS)Medium

    Why it matters: Without HSTS, first-time visitors using HTTP can be intercepted.

    Fix: Add the header: Strict-Transport-Security: max-age=31536000; includeSubDomains

    Evidence: HTTP Strict Transport Security

  2. 2

    Missing Content Security Policy (CSP)Medium

    Why it matters: Absence of CSP allows scripts to load from untrusted sources.

    Fix: Add the header: Content-Security-Policy: default-src 'self';

    Evidence: Content Security Policy

  3. 3

    Missing X-Frame-OptionsMedium

    Why it matters: Lack of this header exposes your site to clickjacking attacks.

    Fix: Add the header: X-Frame-Options: DENY

    Evidence: Clickjacking protection

  4. 4

    Missing X-Content-Type-OptionsLow

    Why it matters: This header prevents browsers from interpreting files as a different MIME type.

    Fix: Add the header: X-Content-Type-Options: nosniff

    Evidence: MIME sniffing protection

  5. 5

    Missing Referrer PolicyLow

    Why it matters: Lack of a defined policy may expose sensitive URL information.

    Fix: Add the header: Referrer-Policy: no-referrer

    Evidence: Referrer policy

  6. 6

    Third-party Scripts without Subresource IntegrityLow

    Why it matters: Scripts from external domains are vulnerable to tampering.

    Fix: Consider implementing Subresource Integrity (SRI) for third-party scripts.

    Evidence: Third-party scripts

  7. 7

    Missing Permissions PolicyInfo

    Why it matters: Missing this header could allow scripts to exploit unnecessary features.

    Fix: Add the header: Permissions-Policy: geo=(), microphone=(), camera=()

    Evidence: Permissions policy

What the checks found

  • FoundHTTP Strict Transport SecurityMedium

    No HTML page sends strict-transport-security. Without it a visitor who types the address without https:// can be intercepted on the first request.

    • https://gnhroofing.ca/ → no strict-transport-security
    • https://gnhroofing.ca/contact-us/ → no strict-transport-security
    • https://gnhroofing.ca/services/roofing/ → no strict-transport-security
    • https://gnhroofing.ca/services/roofing-repair/ → no strict-transport-security
    • https://gnhroofing.ca/services/roofing-replacements/ → no strict-transport-security
    • https://gnhroofing.ca/services/new-construction/ → no strict-transport-security
    • https://gnhroofing.ca/services/siding/ → no strict-transport-security
    • https://gnhroofing.ca/services/exteriors/ → no strict-transport-security
    • https://gnhroofing.ca/services/leaf-guard/ → no strict-transport-security
    • https://gnhroofing.ca/services/gutter-eavestroughs-fascia-soffit/ → no strict-transport-security
    • https://gnhroofing.ca/services/enhanced-services/ → no strict-transport-security
    • https://gnhroofing.ca/services/solar-attic-vents/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 109 HTML pages send a Content-Security-Policy header or meta tag, so the browser has no restriction on where scripts, styles and frames may load from.

    • https://gnhroofing.ca/ → no content-security-policy
    • https://gnhroofing.ca/contact-us/ → no content-security-policy
    • https://gnhroofing.ca/services/roofing/ → no content-security-policy
    • https://gnhroofing.ca/services/roofing-repair/ → no content-security-policy
    • https://gnhroofing.ca/services/roofing-replacements/ → no content-security-policy
    • https://gnhroofing.ca/services/new-construction/ → no content-security-policy
    • https://gnhroofing.ca/services/siding/ → no content-security-policy
    • https://gnhroofing.ca/services/exteriors/ → no content-security-policy
    • https://gnhroofing.ca/services/leaf-guard/ → no content-security-policy
    • https://gnhroofing.ca/services/gutter-eavestroughs-fascia-soffit/ → no content-security-policy
    • https://gnhroofing.ca/services/enhanced-services/ → no content-security-policy
    • https://gnhroofing.ca/services/solar-attic-vents/ → no content-security-policy
  • FoundClickjacking protectionMedium

    No HTML page sends x-frame-options. Without X-Frame-Options (or a CSP frame-ancestors directive) the pages can be embedded in a frame on another site and overlaid with invisible controls.

    • https://gnhroofing.ca/ → no x-frame-options
    • https://gnhroofing.ca/contact-us/ → no x-frame-options
    • https://gnhroofing.ca/services/roofing/ → no x-frame-options
    • https://gnhroofing.ca/services/roofing-repair/ → no x-frame-options
    • https://gnhroofing.ca/services/roofing-replacements/ → no x-frame-options
    • https://gnhroofing.ca/services/new-construction/ → no x-frame-options
    • https://gnhroofing.ca/services/siding/ → no x-frame-options
    • https://gnhroofing.ca/services/exteriors/ → no x-frame-options
    • https://gnhroofing.ca/services/leaf-guard/ → no x-frame-options
    • https://gnhroofing.ca/services/gutter-eavestroughs-fascia-soffit/ → no x-frame-options
    • https://gnhroofing.ca/services/enhanced-services/ → no x-frame-options
    • https://gnhroofing.ca/services/solar-attic-vents/ → no x-frame-options
  • FoundMIME sniffing protectionLow

    No HTML page sends x-content-type-options. Without X-Content-Type-Options: nosniff a browser may run a file as a script because of its contents rather than its declared type.

    • https://gnhroofing.ca/ → no x-content-type-options
    • https://gnhroofing.ca/contact-us/ → no x-content-type-options
    • https://gnhroofing.ca/services/roofing/ → no x-content-type-options
    • https://gnhroofing.ca/services/roofing-repair/ → no x-content-type-options
    • https://gnhroofing.ca/services/roofing-replacements/ → no x-content-type-options
    • https://gnhroofing.ca/services/new-construction/ → no x-content-type-options
    • https://gnhroofing.ca/services/siding/ → no x-content-type-options
    • https://gnhroofing.ca/services/exteriors/ → no x-content-type-options
    • https://gnhroofing.ca/services/leaf-guard/ → no x-content-type-options
    • https://gnhroofing.ca/services/gutter-eavestroughs-fascia-soffit/ → no x-content-type-options
    • https://gnhroofing.ca/services/enhanced-services/ → no x-content-type-options
    • https://gnhroofing.ca/services/solar-attic-vents/ → no x-content-type-options
  • FoundReferrer policyLow

    No HTML page sends referrer-policy. Without a Referrer-Policy the full page address, including any query string, is sent to every site a visitor clicks through to.

    • https://gnhroofing.ca/ → no referrer-policy
    • https://gnhroofing.ca/contact-us/ → no referrer-policy
    • https://gnhroofing.ca/services/roofing/ → no referrer-policy
    • https://gnhroofing.ca/services/roofing-repair/ → no referrer-policy
    • https://gnhroofing.ca/services/roofing-replacements/ → no referrer-policy
    • https://gnhroofing.ca/services/new-construction/ → no referrer-policy
    • https://gnhroofing.ca/services/siding/ → no referrer-policy
    • https://gnhroofing.ca/services/exteriors/ → no referrer-policy
    • https://gnhroofing.ca/services/leaf-guard/ → no referrer-policy
    • https://gnhroofing.ca/services/gutter-eavestroughs-fascia-soffit/ → no referrer-policy
    • https://gnhroofing.ca/services/enhanced-services/ → no referrer-policy
    • https://gnhroofing.ca/services/solar-attic-vents/ → no referrer-policy
  • FoundPermissions policyInfo

    No HTML page sends permissions-policy. A Permissions-Policy header turns off browser features the site does not use (camera, microphone, geolocation), limiting what an injected script could do.

    • https://gnhroofing.ca/ → no permissions-policy
    • https://gnhroofing.ca/contact-us/ → no permissions-policy
    • https://gnhroofing.ca/services/roofing/ → no permissions-policy
    • https://gnhroofing.ca/services/roofing-repair/ → no permissions-policy
    • https://gnhroofing.ca/services/roofing-replacements/ → no permissions-policy
    • https://gnhroofing.ca/services/new-construction/ → no permissions-policy
    • https://gnhroofing.ca/services/siding/ → no permissions-policy
    • https://gnhroofing.ca/services/exteriors/ → no permissions-policy
    • https://gnhroofing.ca/services/leaf-guard/ → no permissions-policy
    • https://gnhroofing.ca/services/gutter-eavestroughs-fascia-soffit/ → no permissions-policy
    • https://gnhroofing.ca/services/enhanced-services/ → no permissions-policy
    • https://gnhroofing.ca/services/solar-attic-vents/ → no permissions-policy
  • NoteThird-party scripts

    Scripts run from 2 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.)

    • www.googletagmanager.com (40 script tags)
    • www.google.com (40 script tags)
8 checks passed, 1 not applicable
  • OKHTTPS

    All 109 crawled pages were served over HTTPS.

  • 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

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

  • OKVulnerable JavaScript libraries

    1 library version recognised, none with known vulnerabilities.

  • OKKeys and secrets in page code

    No API keys, tokens or private keys were found in the sampled HTML and scripts.

  • OKExposed files and listings

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

  • OKSensitive paths in robots.txt

    robots.txt does not point at admin, backup or private paths.

  • Not applicableCookie flags

    The crawl set no cookies, so there are no cookie flags to check.

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 gnhroofing.ca

No other scans of this site yet.

Sites scoring near gnhroofing.ca

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

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

Own gnhroofing.ca?

gnhroofing.ca SEO report | DIY SEO Hub