Scanned sites / a2zroofing.ca

SEO report for a2zroofing.ca DR 45

The latest Site Spider scan of a2zroofing.ca, with 1 scan on record. Each scan is at its own address, for example /domain/a2zroofing-ca/2026-11-02-0330.

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

Latest scan

Scanned 2026-11-02 03:30:38 UTC, finished 2026-11-02 08:02:24 UTC. Found on page 4 of brave web search results

Site: https://a2zroofing.ca/

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

86/ 100Good

On November 2, 2026 the Site Spider crawled 789 pages and 1000 assets of a2zroofing.ca, starting from https://a2zroofing.ca/. It scored 86 out of 100, a good result. 11 of 33 checks found something to fix, led by heavy assets (72), meta descriptions (275), image alt text (3,120); 11 checks passed. Most of the points went to heavy assets (−6), meta descriptions (−2.8), image alt text (−2.3). 11 checks found something the score does not count, listed as noted. 4 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: Medium5 medium, 3 low and 1 info findings. See the security findings ↓

Pages crawled
789
Assets fetched
1000
Status
Completed
Checks with issues
11 of 33
CoverageJob finished, partial coverage

1,789 of 1,789 discovered URLs were fetched, 1,134 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. 6 link destinations on other sites were checked.

  • Title tags159 issues
    159 of 681 pages have title issues. 99 noindex or canonicalized pages excluded.
    −2 points
  • Meta descriptions275 issues
    275 of 681 pages have meta description issues. 99 noindex or canonicalized pages excluded.
    −2.8 points
  • Headings2 issues
    2 of 681 pages have heading issues. 99 noindex or canonicalized pages excluded.
  • Broken links3 issues
    54 internal links point at 3 broken URLs.
    −0.1 points
  • Links to other sites2,340 noted
    0 destinations answered with an error, 3 could not be determined (timeouts, rate limits or refusals), of 6 destinations checked.
  • Redirects5 issues
    6 redirecting URLs, 0 of them chained.
  • Non-200 responses4 issues
    10 URLs did not return a 2xx response. 9 of them are pages, 4 with an error status; the rest are assets or redirects.
    −0.1 points
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 681 indexable pages have indexability warnings. 99 pages noindex by design.
  • Image alt text3,120 issues
    3120 of 8291 image references have no alt attribute. 154 use an empty alt (decorative), which is fine.
    −2.3 points
  • Heavy assets72 issues
    72 assets larger than 500 KB among 1000 fetched assets.
    −6 points
  • Orphan pages2 issues
    2 pages have no internal links pointing at them.
  • Sitemap coverage133 issues
    5 sitemaps listing 552 URLs: 130 crawled pages missing, 1 listed URL broken or redirecting, 2 reachable only via the sitemap.
    −1 points
  • Internal link counts113 noted
    Internal link counts for 500 pages; 113 worth a look.
  • Thin content1 issue
    1 of 681 pages have fewer than 200 words. 99 noindex or canonicalized pages excluded.
  • Duplicate contentOK
    0 groups of pages with identical HTML.
  • URL format3 noted
    3 of 789 page URLs are harder to read, share or cache than they need to be.
  • Canonicals99 noted
    99 of 780 pages have a canonical worth checking.
  • Robots directives780 noted
    780 pages carry a robots directive; 0 carry none.
  • Anchor text514 noted
    514 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure589 noted
    589 of 681 pages could use the title, heading and snippet space better. 99 noindex or canonicalized pages excluded.
  • Image weight and alt length79 noted
    75 images over 100 KB; 4 with alt text over 100 characters.
  • Response anomaliesOK
    No redirect loops, header redirects or pages served as something other than HTML.
  • HTML and head validationOK
    All 780 pages keep their head tags in <head>, once each, under Googlebot's 2 MB.
  • hreflangOK
    No page declares hreflang.
  • Structured dataOK
    780 of 681 indexable pages carry structured data: BreadcrumbList (780), ListItem (780), WebSite (780), WebPage (780), ImageObject (780). 0 pages with errors a rich result would fail on.
  • Near duplicatesOK
    No near duplicates among 679 pages with enough text to compare.
  • Soft 404sOK
    None of 780 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 positions49 noted
    49 of 679 linked pages are linked only from the template, never from another page's content.
  • Pagination1 noted
    140 pages in pagination sequences; 1 with problems.
  • Headers and cookiesOK
    0 cookies set by the site; 11 response headers recorded across 1789 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 780 pages; 684 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 InsightsNot checked
    Not checked yet: PageSpeed Insights runs on the top pages once the crawl has finished.
  • Spelling93 noted
    93 words an English dictionary does not know, on 179 pages. Product names and jargon will appear here too.

Where this site sits among all scanned sites

2563 sites, median 80%, average 78%

a2zroofing.ca scores 86%, higher than 76% of the 2563 scanned sites. See the full ranking.

0601190%: 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%: 1 site45%: 4 sites46%: 5 sites47%: 5 sites48%: 4 sites49%: 7 sites50%: 6 sites51%: 6 sites52%: 8 sites53%: 8 sites54%: 9 sites55%: 10 sites56%: 8 sites57%: 12 sites58%: 18 sites59%: 9 sites60%: 15 sites61%: 12 sites62%: 20 sites63%: 29 sites64%: 21 sites65%: 31 sites66%: 38 sites67%: 39 sites68%: 38 sites69%: 48 sites70%: 48 sites71%: 74 sites72%: 72 sites73%: 76 sites74%: 76 sites75%: 81 sites76%: 94 sites77%: 103 sites78%: 115 sites79%: 103 sites80%: 119 sites81%: 112 sites82%: 116 sites83%: 116 sites84%: 118 sites85%: 95 sites86%: 81 sites87%: 85 sites88%: 66 sites89%: 71 sites90%: 46 sites91%: 56 sites92%: 39 sites93%: 28 sites94%: 20 sites95%: 13 sites96%: 15 sites97%: 14 sites98%: 7 sites99%: 2 sites100%: 69 sites86% 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

There are several priority fixes for A2Z Roofing's site, including broken links and issues with title tags and meta descriptions. Implementing these changes will enhance user experience and improve SEO performance.

  1. 1

    Fix Broken Links

    Why: Addressing 54 internal broken links will improve site navigation and avoid 404 errors.

    How: Repair or remove links pointing to broken URLs, especially https://a2zroofing.ca/asphalt-shingles-vs-metal-roofing-canada/

    Checks: broken-links

  2. 2

    Resolve Non-200 Responses

    Why: Correcting the 10 URLs that do not return a 2xx response will enhance site reliability.

    How: Identify and fix the errors in the non-200 response URLs, ensuring valid pages are accessible.

    Checks: status-codes

  3. 3

    Optimize Title Tags

    Why: Improving 159 title tag issues will enhance click-through rates from search results.

    How: Revise title tags longer than 60 characters to be more concise and relevant.

    Checks: titles

  4. 4

    Fix Meta Description Issues

    Why: Addressing 275 meta description issues will boost visibility and engagement in search results.

    How: Shorten meta descriptions exceeding 160 characters to ensure they display correctly in SERPs.

    Checks: meta-descriptions

  5. 5

    Add Missing Headings

    Why: Fixing heading issues enhances page SEO and readability.

    How: Ensure every page has a proper H1 tag, especially for the identified pages without them.

    Checks: headings

  6. 6

    Shrink Heavy Assets

    Why: Optimizing large images will improve page load speed and user experience.

    How: Compress images that are larger than 500 KB, focusing on those identified in the report.

    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

The website has several notable security issues, including missing HTTP security headers and usage of a vulnerable JavaScript library. Implementing recommended headers will enhance user protection against common attacks, while addressing the library vulnerability is crucial for maintaining site integrity.

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

    Missing HSTS HeaderMedium

    Why it matters: Without HSTS, visitors can be intercepted when accessing the site without HTTPS.

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

    Evidence: HTTP Strict Transport Security

  2. 2

    Missing Content Security PolicyMedium

    Why it matters: The absence of a CSP allows unrestricted loading of resources, increasing XSS risks.

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

    Evidence: Content Security Policy

  3. 3

    Missing X-Frame-Options HeaderMedium

    Why it matters: Lack of clickjacking protection may allow framing the site maliciously.

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

    Evidence: Clickjacking protection

  4. 4

    Vulnerable JavaScript Library DetectedMedium

    Why it matters: jQuery 2.9.28 has known vulnerabilities that could be exploited depending on usage.

    Fix: Upgrade jQuery to version 3.5.0 or higher.

    Evidence: Vulnerable JavaScript libraries

  5. 5

    Leaked Google API KeyMedium

    Why it matters: An exposed API key can lead to abuse if not properly restricted.

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

    Evidence: Keys and secrets in page code

  6. 6

    Missing X-Content-Type-Options HeaderLow

    Why it matters: Without MIME sniffing protection, browsers may misinterpret files, leading to security risks.

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

    Evidence: MIME sniffing protection

  7. 7

    Missing Referrer PolicyLow

    Why it matters: Without a Referrer-Policy, sensitive URL information may leak to third parties.

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

    Evidence: Referrer policy

  8. 8

    Third-Party Scripts without SRILow

    Why it matters: Using external scripts without Subresource Integrity increases risk from compromised sources.

    Fix: Implement a Content-Security-Policy to constrain sources or use scripts with SRI.

    Evidence: Third-party scripts

  9. 9

    Missing Permissions PolicyInfo

    Why it matters: This can limit potential negative impacts from injected scripts by restricting browser features.

    Fix: Add the header: Permissions-Policy: geolocation=(), 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://a2zroofing.ca/ → no strict-transport-security
    • https://a2zroofing.ca/about-us/ → no strict-transport-security
    • https://a2zroofing.ca/roof-installation/ → no strict-transport-security
    • https://a2zroofing.ca/fascia-installation-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/soffit-installation-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/eavestrough-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/flat-roof-repair-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/commercial-roofing-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/residential-roofing-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/roofing-edmonton/ → no strict-transport-security
    • https://a2zroofing.ca/roofing-leduc/ → no strict-transport-security
    • https://a2zroofing.ca/roofing-sherwood-park/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 780 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://a2zroofing.ca/ → no content-security-policy
    • https://a2zroofing.ca/about-us/ → no content-security-policy
    • https://a2zroofing.ca/roof-installation/ → no content-security-policy
    • https://a2zroofing.ca/fascia-installation-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/soffit-installation-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/eavestrough-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/flat-roof-repair-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/commercial-roofing-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/residential-roofing-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/roofing-edmonton/ → no content-security-policy
    • https://a2zroofing.ca/roofing-leduc/ → no content-security-policy
    • https://a2zroofing.ca/roofing-sherwood-park/ → 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://a2zroofing.ca/ → no x-frame-options
    • https://a2zroofing.ca/about-us/ → no x-frame-options
    • https://a2zroofing.ca/roof-installation/ → no x-frame-options
    • https://a2zroofing.ca/fascia-installation-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/soffit-installation-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/eavestrough-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/flat-roof-repair-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/commercial-roofing-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/residential-roofing-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/roofing-edmonton/ → no x-frame-options
    • https://a2zroofing.ca/roofing-leduc/ → no x-frame-options
    • https://a2zroofing.ca/roofing-sherwood-park/ → 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://a2zroofing.ca/ → no x-content-type-options
    • https://a2zroofing.ca/about-us/ → no x-content-type-options
    • https://a2zroofing.ca/roof-installation/ → no x-content-type-options
    • https://a2zroofing.ca/fascia-installation-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/soffit-installation-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/eavestrough-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/flat-roof-repair-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/commercial-roofing-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/residential-roofing-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/roofing-edmonton/ → no x-content-type-options
    • https://a2zroofing.ca/roofing-leduc/ → no x-content-type-options
    • https://a2zroofing.ca/roofing-sherwood-park/ → 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://a2zroofing.ca/ → no referrer-policy
    • https://a2zroofing.ca/about-us/ → no referrer-policy
    • https://a2zroofing.ca/roof-installation/ → no referrer-policy
    • https://a2zroofing.ca/fascia-installation-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/soffit-installation-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/eavestrough-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/flat-roof-repair-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/commercial-roofing-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/residential-roofing-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/roofing-edmonton/ → no referrer-policy
    • https://a2zroofing.ca/roofing-leduc/ → no referrer-policy
    • https://a2zroofing.ca/roofing-sherwood-park/ → 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://a2zroofing.ca/ → no permissions-policy
    • https://a2zroofing.ca/about-us/ → no permissions-policy
    • https://a2zroofing.ca/roof-installation/ → no permissions-policy
    • https://a2zroofing.ca/fascia-installation-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/soffit-installation-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/eavestrough-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/flat-roof-repair-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/commercial-roofing-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/residential-roofing-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/roofing-edmonton/ → no permissions-policy
    • https://a2zroofing.ca/roofing-leduc/ → no permissions-policy
    • https://a2zroofing.ca/roofing-sherwood-park/ → no permissions-policy
  • FoundVulnerable JavaScript librariesMedium

    1 library with published vulnerabilities: jQuery 2.9.28. Whether they are exploitable depends on how the site uses them, but each has a fixed release.

    • jQuery 2.9.28 in https://a2zroofing.ca/wp-content/plugins/gravityforms/js/placeholders.jquery.mi…: CVE-2015-9251 (XSS via cross-domain AJAX), CVE-2019-11358 (prototype pollution), CVE-2020-11022, CVE-2020-11023 (XSS via HTML passed to DOM methods); fixed in 3.5.0
  • FoundKeys and secrets in page codeMedium

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

    • Google API key AIzaSy…t8 (39 chars) in https://a2zroofing.ca/eavestrough-edmonton/: browser keys are expected in pages, but must be restricted by HTTP referrer and API in the Google Cloud console
  • 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)
    • cdn.trustindex.io (1 script tag)
6 checks passed, 1 not applicable
  • OKHTTPS

    All 780 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

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

  • 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 a2zroofing.ca

No other scans of this site yet.

Sites scoring near a2zroofing.ca

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 a2zroofing.ca from its pages as published, the way a search engine does. It shows summary figures only.

Own a2zroofing.ca?