Scanned sites / a2zroofing.ca / 2026-11-02-0330
a2zroofing.ca scan from 2026-11-02 03:30:38 UTC DR 45
DR is Ahrefs Domain Rating (0-100, backlink strength), used under its Domain Rating License.
Scan 2026-11-02-0330
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.
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
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 issues159 of 681 pages have title issues. 99 noindex or canonicalized pages excluded.−2 points
- Meta descriptions275 issues275 of 681 pages have meta description issues. 99 noindex or canonicalized pages excluded.−2.8 points
- Headings2 issues2 of 681 pages have heading issues. 99 noindex or canonicalized pages excluded.
- Broken links3 issues54 internal links point at 3 broken URLs.−0.1 points
- Links to other sites2,340 noted0 destinations answered with an error, 3 could not be determined (timeouts, rate limits or refusals), of 6 destinations checked.
- Redirects5 issues6 redirecting URLs, 0 of them chained.
- Non-200 responses4 issues10 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 limitedOKThe site did not rate limit the crawler.
- IndexabilityOK0 of 681 indexable pages have indexability warnings. 99 pages noindex by design.
- Image alt text3,120 issues3120 of 8291 image references have no alt attribute. 154 use an empty alt (decorative), which is fine.−2.3 points
- Heavy assets72 issues72 assets larger than 500 KB among 1000 fetched assets.−6 points
- Orphan pages2 issues2 pages have no internal links pointing at them.
- Sitemap coverage133 issues5 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 notedInternal link counts for 500 pages; 113 worth a look.
- Thin content1 issue1 of 681 pages have fewer than 200 words. 99 noindex or canonicalized pages excluded.
- Duplicate contentOK0 groups of pages with identical HTML.
- URL format3 noted3 of 789 page URLs are harder to read, share or cache than they need to be.
- Canonicals99 noted99 of 780 pages have a canonical worth checking.
- Robots directives780 noted780 pages carry a robots directive; 0 carry none.
- Anchor text514 noted514 destinations are linked without useful anchor text, or with nofollow.
- Title and heading structure589 noted589 of 681 pages could use the title, heading and snippet space better. 99 noindex or canonicalized pages excluded.
- Image weight and alt length79 noted75 images over 100 KB; 4 with alt text over 100 characters.
- Response anomaliesOKNo redirect loops, header redirects or pages served as something other than HTML.
- HTML and head validationOKAll 780 pages keep their head tags in <head>, once each, under Googlebot's 2 MB.
- hreflangOKNo page declares hreflang.
- Structured dataOK780 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 duplicatesOKNo near duplicates among 679 pages with enough text to compare.
- Soft 404sOKNone of 780 pages answering 200 reads like an error page.
- AccessibilityNot checkedNot checked: the accessibility audit runs in the browser. Tick "Include JavaScript rendering checks" when you request a scan to run it.
- Link positions49 noted49 of 679 linked pages are linked only from the template, never from another page's content.
- Pagination1 noted140 pages in pagination sequences; 1 with problems.
- Headers and cookiesOK0 cookies set by the site; 11 response headers recorded across 1789 URLs.
- Orphans in searchNot checkedNot checked: import a Search Console Pages export on the scan page to find pages Google shows that the site does not link to.
- Link ScoreOKLink Score (internal PageRank, 0-100) for 780 pages; 684 hold almost none (10 or less).
- JavaScript renderingNot checkedNot 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 checkedNot checked yet: PageSpeed Insights runs on the top pages once the crawl has finished.
- Spelling93 noted93 words an English dictionary does not know, on 179 pages. Product names and jargon will appear here too.
Where this scan sits among all scanned sites
2564 sites, median 80%, average 78%
a2zroofing.ca scores 86%, higher than 76% of the 2564 scanned sites. See the full ranking.
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...
Fix plan
Written by gpt-4o-mini from the scan findingsThere 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
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
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
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
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
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
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 crawlThe 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
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
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
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
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
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
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
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
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
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.
Sites scoring near a2zroofing.ca
Their neighbours in the SEO rank table, which orders every scanned site by health score.
- www.roastlocal.comDR 1786/100 · rank 532 · 4,997 pages
- www.acctionadvisors.comDR 086/100 · rank 532 · 56 pages
- www.camairrefrigeration.comDR 386/100 · rank 532 · 10 pages
- www.randrheating.comDR 1986/100 · rank 532 · 480 pages
- www.instepphysio.caDR 2786/100 · rank 532 · 609 pages
- crowleyfleck.comDR 3686/100 · rank 532 · 490 pages
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?
- Claim this site to manage the listing, hide it from the public lists, or keep it.
- Want it gone instead? Ask through the support form or e-mail support@diyseohub.com, naming a2zroofing.ca. Removal needs no account and no proof of purchase.