Scanned sites / kmss.ca
SEO report for kmss.ca DR 15
The latest Site Spider scan of kmss.ca, with 1 scan on record. Each scan is at its own address, for example /domain/kmss-ca/2026-09-13-1712.
DR is Ahrefs Domain Rating (0-100, backlink strength), used under its Domain Rating License.
Latest scan
Scanned 2026-09-13 17:12:15 UTC, finished 2026-09-13 17:45:50 UTC. Found on page 5 of brave web search results
Site: https://kmss.ca/
Download SQLite databaseEvery page and asset from this scan, with the crawl events, in one file.
On September 13, 2026 the Site Spider crawled 288 pages and 322 assets of kmss.ca, starting from https://kmss.ca/. It scored 63 out of 100, a result that needs work. 14 of 27 checks found something to fix, led by meta descriptions (222), heavy assets (42), headings (269); 4 checks passed. Most of the points went to meta descriptions (−6.5), heavy assets (−6), headings (−5.9). 9 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: Medium3 medium and 2 low findings. See the security findings ↓
- Pages crawled
- 288
- Assets fetched
- 322
- Status
- Completed
- Checks with issues
- 14 of 27
610 of 610 discovered URLs were fetched. The crawl reached everything it found. HTML only: nothing here ran JavaScript. 45 link destinations on other sites were checked.
- Title tags154 issues154 of 272 pages have title issues.−5.7 points
- Meta descriptions222 issues222 of 272 pages have meta description issues.−6.5 points
- Headings269 issues269 of 272 pages have heading issues.−5.9 points
- Broken links1 issue1 internal link point at 1 broken URL.−0.1 points
- Links to other sites4 issues4 destinations answered with an error, 16 could not be determined (timeouts, rate limits or refusals), of 45 destinations checked.−0.6 points
- Redirects15 issues16 redirecting URLs, 0 of them chained.−0.2 points
- Non-200 responses1 issue18 URLs did not return a 2xx response. 16 of them are pages, 1 with an error status; the rest are assets or redirects.
- Rate limitedOKThe site did not rate limit the crawler.
- Indexability27 issues27 of 272 indexable pages have indexability warnings.−1 points
- Image alt text36 issues36 of 1521 image references have no alt attribute. 750 use an empty alt (decorative), which is fine.−0.1 points
- Heavy assets42 issues42 assets larger than 500 KB among 322 fetched assets. 19 documents over that size are listed but not counted: downloads are not page weight.−6 points
- Orphan pages171 issues171 pages have no internal links pointing at them.−2.5 points
- Sitemap coverage207 issues7 sitemaps listing 254 URLs: 27 crawled pages missing, 9 listed URLs broken or redirecting, 171 reachable only via the sitemap.−4.6 points
- Internal link counts27 notedInternal link counts for 272 pages; 27 worth a look.
- Thin content97 issues97 of 272 pages have fewer than 200 words.−2.9 points
- Duplicate content27 issues1 group of pages with identical HTML.−0.8 points
- URL format32 noted32 of 288 page URLs are harder to read, share or cache than they need to be.
- Canonicals27 noted27 of 272 pages have a canonical worth checking.
- Robots directives245 noted245 pages carry a robots directive; 27 carry none.
- Anchor text86 noted86 destinations are linked without useful anchor text, or with nofollow.
- Title and heading structure30 noted30 of 272 pages could use the title, heading and snippet space better.
- Image weight and alt length112 noted112 images over 100 KB; 0 with alt text over 100 characters.
- Response anomalies3 noted3 URLs answered in a way worth looking at.
- HTML and head validationNot checkedNot checked: this scan was crawled before this check existed. Scan the site again to run it.
- hreflangNot checkedNot checked: this scan was crawled before this check existed. Scan the site again to run it.
- Structured dataNot checkedNot checked: this scan was crawled before this check existed. Scan the site again to run it.
- Near duplicatesNot checkedNot checked: this scan was crawled before this check existed. Scan the site again to run it.
- Soft 404sOKNone of 272 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 positionsNot checkedNot checked: this scan was crawled before link positions were recorded. Scan the site again to run it.
- PaginationNot checkedNot checked: this scan was crawled before this check existed. Scan the site again to run it.
- Headers and cookiesOK0 cookies set by the site; 16 response headers recorded across 610 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 272 pages; 210 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 Insights5 notedMobile performance 61 on average across 5 pages; 5 below Google's good thresholds.
- SpellingNot checkedNot 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%
kmss.ca scores 63%, higher than 7% of the 2873 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 findingsWritten 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 needs significant fixes, especially with title tags, meta descriptions, and broken links, among others. Addressing these will improve SEO and user experience.
- 1
Fix Broken Links
Why: One internal link is broken, affecting user experience and SEO.
How: Update the link on the page https://kmss.ca/2021-federal-budget-commentary/ to point to the correct URL.
Checks: broken-links
- 2
Improve Title Tags
Why: 153 pages have issues with title tags, impacting search visibility.
How: Ensure all title tags are under 60 characters and unique for each page.
Checks: titles
- 3
Enhance Meta Descriptions
Why: 215 pages have meta description issues, which can reduce click-through rates.
How: Create unique meta descriptions for each page, with 50-160 characters optimized for keywords.
Checks: meta-descriptions
- 4
Resolve Non-200 Responses
Why: 18 URLs returning non-200 responses can harm site reputation.
How: Resolve the 301 redirects and ensure all important pages return a 200 response.
Checks: status-codes, redirects
- 5
Address Heading Issues
Why: 269 pages are missing proper heading structure, affecting SEO and readability.
How: Add a single H1 tag to each affected page with relevant keywords.
Checks: headings
- 6
Fix Sitemap Coverage
Why: Several URLs are not properly listed in the sitemap, impacting discoverability.
How: Update the sitemap to ensure it accurately reflects all current URLs and resolves redirects.
Checks: sitemap-coverage
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 kmss.ca is missing several important security headers that protect against potential attacks. To improve security, implement HTTP Strict Transport Security, X-Frame-Options, X-Content-Type-Options, and revise the Content Security Policy to disallow unsafe scripts. These measures will enhance protection against man-in-the-middle attacks and clickjacking.
- 0 high
- 3 medium
- 2 low
- 0 info
- 1
Missing HTTP Strict Transport Security (HSTS)Medium
Why it matters: Without HSTS, visitors can be intercepted on their first HTTP request.
Fix: Add the header: Strict-Transport-Security: max-age=63072000; includeSubDomains; preload.
Evidence: HTTP Strict Transport Security
- 2
Missing X-Frame-Options HeaderMedium
Why it matters: This allows clickjacking attacks by embedding your pages in frames on malicious sites.
Fix: Add the header: X-Frame-Options: DENY or SAMEORIGIN.
Evidence: Clickjacking protection
- 3
Content Security Policy VulnerabilityMedium
Why it matters: The CSP allows unsafe inline and eval scripts, reducing its effectiveness against script injection.
Fix: Revisit the script-src directive to remove 'unsafe-inline' and 'unsafe-eval'.
Evidence: Content Security Policy
- 4
Missing X-Content-Type-Options HeaderLow
Why it matters: Without this header, browsers can run files as scripts based on contents, not declared type.
Fix: Add the header: X-Content-Type-Options: nosniff.
Evidence: MIME sniffing protection
- 5
Lack of Subresource Integrity for Third-party ScriptsLow
Why it matters: Without SRI, compromises of third-party scripts could change site functionality.
Fix: Consider implementing Subresource Integrity for all third-party scripts or use a more restrictive CSP.
Evidence: Third-party scripts
What the checks found
- FoundHTTP Strict Transport SecurityMedium
245 of 272 HTML pages send strict-transport-security. Without it a visitor who types the address without https:// can be intercepted on the first request.
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/03/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/12/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/08/Ta… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/06/Ta… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/10/Ta… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/01/Ta… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/08/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/12/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/11/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/04/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/01/20… → no strict-transport-security
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2021/12/20… → no strict-transport-security
- FoundClickjacking protectionMedium
245 of 272 HTML pages send 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://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/03/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/12/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/08/Ta… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/06/Ta… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/10/Ta… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/01/Ta… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/08/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/12/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/11/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/04/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/01/20… → no x-frame-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2021/12/20… → no x-frame-options
- FoundMIME sniffing protectionLow
245 of 272 HTML pages send 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://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/03/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/12/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/08/Ta… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/06/Ta… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/10/Ta… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/01/Ta… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/08/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/12/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/11/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2022/04/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2023/01/20… → no x-content-type-options
- https://kmss.ca/wp-content/plugins/pdf-viewer/stable/web/viewer.html?file=https://kmss.ca/wp-content/uploads/2021/12/20… → no x-content-type-options
- 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://kmss.ca/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/client-portal/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/pay/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/careers/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/why-kmss/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/why-kmss/full-life-cycle-expertise/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/why-kmss/team-based-approach-2/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/why-kmss/industry-knowledge/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/service/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/blog/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/tax-tools/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- https://kmss.ca/team/partners/ → default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com https://www.googletagmanager.com https://kit.fontawesome.com https://cdnjs.cloudflare.com https://www.google.com https://www.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com
- NoteThird-party scripts
Scripts run from 3 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)
- kit.fontawesome.com (40 script tags)
- www.google.com (40 script tags)
8 checks passed, 3 not applicable
- OKHTTPS
All 272 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
5 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 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 kmss.ca
No other scans of this site yet.
Sites scoring near kmss.ca
Their neighbours in the SEO rank table, which orders every scanned site by health score.
- acrosstheboardcafe.comDR 2763/100 · rank 2642 · 5,000 pages
- classiclandscapeco.comDR 363/100 · rank 2642 · 655 pages
- clementinewinnipeg.comDR 2863/100 · rank 2642 · 138 pages
- karmagroup.comDR 6063/100 · rank 2642 · 3,837 pages
- www.borealpeonies.comDR 1063/100 · rank 2642 · 12 pages
- twobirdstudio.comDR 1063/100 · rank 2642 · 182 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 kmss.ca from its pages as published, the way a search engine does. It shows summary figures only.
Own kmss.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 kmss.ca. Removal needs no account and no proof of purchase.