Scanned sites / mirrorshair.ca

SEO report for mirrorshair.ca DR 1

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

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

Latest scan

Scanned 2026-09-10 09:47:56 UTC, finished 2026-09-10 15:20:21 UTC

Site: https://mirrorshair.ca/

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

77/ 100Good

On September 10, 2026 the Site Spider crawled 50 pages and 222 assets of mirrorshair.ca, starting from https://mirrorshair.ca/. It scored 77 out of 100, a good result. 9 of 27 checks found something to fix, led by heavy assets (30), broken links (8), links to other sites (9); 13 checks passed. Most of the points went to heavy assets (−6), broken links (−3.9), links to other sites (−3.6). 5 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, 2 low and 1 info findings. See the security findings ↓

Pages crawled
50
Assets fetched
222
Status
Completed
Checks with issues
9 of 27
CoverageComplete crawl

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

  • Title tags3 issues
    3 of 41 pages have title issues.
    −0.7 points
  • Meta descriptions11 issues
    11 of 41 pages have meta description issues.
    −2.1 points
  • HeadingsOK
    0 of 41 pages have heading issues.
  • Broken links8 issues
    12 internal links point at 8 broken URLs.
    −3.9 points
  • Links to other sites9 issues
    9 destinations answered with an error, 12 could not be determined (timeouts, rate limits or refusals), of 75 destinations checked.
    −3.6 points
  • Redirects1 issue
    2 redirecting URLs, 0 of them chained.
    −0.1 points
  • Non-200 responses8 issues
    10 URLs did not return a 2xx response. 9 of them are pages, 8 with an error status; the rest are assets or redirects.
    −2 points
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 41 indexable pages have indexability warnings.
  • Image alt textOK
    0 of 0 image references have no alt attribute.
  • Heavy assets30 issues
    30 assets larger than 500 KB among 222 fetched assets.
    −6 points
  • Orphan pages17 issues
    17 pages have no internal links pointing at them.
    −1.7 points
  • Sitemap coverage17 issues
    3 sitemaps listing 41 URLs: 0 crawled pages missing, 0 listed URLs broken or redirecting, 17 reachable only via the sitemap.
    −2.5 points
  • Internal link countsOK
    Internal link counts for 41 pages; none is a dead end or buried.
  • Thin contentOK
    0 of 41 pages have fewer than 200 words.
  • Duplicate contentOK
    0 groups of pages with identical HTML.
  • URL formatOK
    All 50 page URLs are plain lowercase addresses without parameters.
  • CanonicalsOK
    0 of 41 pages have a canonical worth checking.
  • Robots directives41 noted
    41 pages carry a robots directive; 0 carry none.
  • Anchor text10 noted
    10 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure16 noted
    16 of 41 pages could use the title, heading and snippet space better.
  • Image weight and alt lengthOK
    No image is over 100 KB or carries alt text over 100 characters.
  • Response anomalies1 noted
    1 URL answered in a way worth looking at.
  • 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 41 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; 12 response headers recorded across 272 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 41 pages; 0 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 Insights1 noted
    Mobile performance 96 on average across 5 pages; 1 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

2342 sites, median 79%, average 78%

mirrorshair.ca scores 77%, higher than 38% of the 2342 scanned sites. See the full ranking.

0581160%: 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%: 1 site34%: 0 sites35%: 2 sites36%: 2 sites37%: 1 site38%: 3 sites39%: 1 site40%: 3 sites41%: 1 site42%: 1 site43%: 3 sites44%: 1 site45%: 4 sites46%: 5 sites47%: 5 sites48%: 3 sites49%: 6 sites50%: 5 sites51%: 5 sites52%: 10 sites53%: 6 sites54%: 8 sites55%: 9 sites56%: 8 sites57%: 12 sites58%: 17 sites59%: 9 sites60%: 16 sites61%: 12 sites62%: 20 sites63%: 27 sites64%: 22 sites65%: 32 sites66%: 35 sites67%: 35 sites68%: 34 sites69%: 47 sites70%: 44 sites71%: 70 sites72%: 71 sites73%: 70 sites74%: 68 sites75%: 72 sites76%: 87 sites77%: 92 sites78%: 107 sites79%: 85 sites80%: 107 sites81%: 105 sites82%: 116 sites83%: 100 sites84%: 106 sites85%: 87 sites86%: 71 sites87%: 73 sites88%: 59 sites89%: 65 sites90%: 36 sites91%: 47 sites92%: 38 sites93%: 24 sites94%: 16 sites95%: 12 sites96%: 12 sites97%: 12 sites98%: 5 sites99%: 2 sites100%: 68 sites77% 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.

Your website has some critical issues like broken links, non-200 responses, and missing titles and meta descriptions. Prioritize fixing these errors to enhance user experience and SEO rankings.

  1. 1

    Fix Broken Links

    Why: 12 internal links lead to broken URLs, harming user experience.

    How: Identify the broken links and update or remove them from your content.

    Checks: broken-links

  2. 2

    Resolve Non-200 Responses

    Why: 10 URLs do not return a valid response, impacting accessibility.

    How: Check the mentioned URLs and correct or redirect them to active pages.

    Checks: status-codes

  3. 3

    Shorten Title Tags

    Why: 3 title tags exceed the optimal length, which could affect SEO.

    How: Revise these title tags to be under 60 characters without losing context.

    Checks: titles

  4. 4

    Add Missing Meta Descriptions

    Why: 3 pages lack meta descriptions, which could lead to lower click-through rates.

    How: Create concise and engaging meta descriptions for these pages.

    Checks: meta-descriptions

  5. 5

    Link to Orphan Pages

    Why: 17 orphan pages are not internally linked, limiting their visibility.

    How: Add internal links to these pages from related content to integrate them into your site’s structure.

    Checks: orphan-pages

  6. 6

    Optimize Heavy Assets

    Why: 30 assets are larger than 500KB, slowing down page load times.

    How: Compress these images and files to improve loading speed without compromising quality.

    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 mirrorshair.ca has several critical security header omissions, which could leave it vulnerable to interception, clickjacking, and malicious script loading. Implementing the recommended headers will enhance overall security and protect your users effectively.

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

    Missing HTTP Strict Transport SecurityMedium

    Why it matters: Without HSTS, users typing the URL without 'https://' may be intercepted.

    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: No CSP headers means that scripts and resources can load from any source, increasing the risk of attacks.

    Fix: Add the header: Content-Security-Policy: default-src 'self'; script-src 'self' cdn.trustindex.io

    Evidence: Content Security Policy

  3. 3

    Missing X-Frame-OptionsMedium

    Why it matters: Without this header, your pages are vulnerable to clickjacking.

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

    Evidence: Clickjacking protection

  4. 4

    Missing X-Content-Type-OptionsLow

    Why it matters: This absence allows browsers to interpret files as scripts, which can lead to attacks.

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

    Evidence: MIME sniffing protection

  5. 5

    Third-Party Scripts Without Subresource IntegrityLow

    Why it matters: Using scripts from external domains without SRI can change site behavior if they're compromised.

    Fix: Ensure all third-party scripts use Subresource Integrity attributes, or control them via CSP.

    Evidence: Third-party scripts

  6. 6

    Sensitive Paths in robots.txtInfo

    Why it matters: Listing '/wp-admin/' in robots.txt can aid malicious actors in targeting exposed paths.

    Fix: Consider removing sensitive paths or implementing proper access controls.

    Evidence: Sensitive paths in robots.txt

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://mirrorshair.ca/ → no strict-transport-security
    • https://mirrorshair.ca/about-us/ → no strict-transport-security
    • https://mirrorshair.ca/our-services/ → no strict-transport-security
    • https://mirrorshair.ca/haircuts-in-calgary/ → no strict-transport-security
    • https://mirrorshair.ca/hair-colour-services-calgary/ → no strict-transport-security
    • https://mirrorshair.ca/keratin-smoothing-treatment-calgary/ → no strict-transport-security
    • https://mirrorshair.ca/body-waxing-services-calgary/ → no strict-transport-security
    • https://mirrorshair.ca/eyebrow-threading-services-calgary/ → no strict-transport-security
    • https://mirrorshair.ca/permanent-hair-straightening-perm-calgary/ → no strict-transport-security
    • https://mirrorshair.ca/our-menu/ → no strict-transport-security
    • https://mirrorshair.ca/gallery/ → no strict-transport-security
    • https://mirrorshair.ca/contact-us/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 41 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://mirrorshair.ca/ → no content-security-policy
    • https://mirrorshair.ca/about-us/ → no content-security-policy
    • https://mirrorshair.ca/our-services/ → no content-security-policy
    • https://mirrorshair.ca/haircuts-in-calgary/ → no content-security-policy
    • https://mirrorshair.ca/hair-colour-services-calgary/ → no content-security-policy
    • https://mirrorshair.ca/keratin-smoothing-treatment-calgary/ → no content-security-policy
    • https://mirrorshair.ca/body-waxing-services-calgary/ → no content-security-policy
    • https://mirrorshair.ca/eyebrow-threading-services-calgary/ → no content-security-policy
    • https://mirrorshair.ca/permanent-hair-straightening-perm-calgary/ → no content-security-policy
    • https://mirrorshair.ca/our-menu/ → no content-security-policy
    • https://mirrorshair.ca/gallery/ → no content-security-policy
    • https://mirrorshair.ca/contact-us/ → 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://mirrorshair.ca/ → no x-frame-options
    • https://mirrorshair.ca/about-us/ → no x-frame-options
    • https://mirrorshair.ca/our-services/ → no x-frame-options
    • https://mirrorshair.ca/haircuts-in-calgary/ → no x-frame-options
    • https://mirrorshair.ca/hair-colour-services-calgary/ → no x-frame-options
    • https://mirrorshair.ca/keratin-smoothing-treatment-calgary/ → no x-frame-options
    • https://mirrorshair.ca/body-waxing-services-calgary/ → no x-frame-options
    • https://mirrorshair.ca/eyebrow-threading-services-calgary/ → no x-frame-options
    • https://mirrorshair.ca/permanent-hair-straightening-perm-calgary/ → no x-frame-options
    • https://mirrorshair.ca/our-menu/ → no x-frame-options
    • https://mirrorshair.ca/gallery/ → no x-frame-options
    • https://mirrorshair.ca/contact-us/ → 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://mirrorshair.ca/ → no x-content-type-options
    • https://mirrorshair.ca/about-us/ → no x-content-type-options
    • https://mirrorshair.ca/our-services/ → no x-content-type-options
    • https://mirrorshair.ca/haircuts-in-calgary/ → no x-content-type-options
    • https://mirrorshair.ca/hair-colour-services-calgary/ → no x-content-type-options
    • https://mirrorshair.ca/keratin-smoothing-treatment-calgary/ → no x-content-type-options
    • https://mirrorshair.ca/body-waxing-services-calgary/ → no x-content-type-options
    • https://mirrorshair.ca/eyebrow-threading-services-calgary/ → no x-content-type-options
    • https://mirrorshair.ca/permanent-hair-straightening-perm-calgary/ → no x-content-type-options
    • https://mirrorshair.ca/our-menu/ → no x-content-type-options
    • https://mirrorshair.ca/gallery/ → no x-content-type-options
    • https://mirrorshair.ca/contact-us/ → no x-content-type-options
  • NoteThird-party scripts

    Scripts run from 1 other domain 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.trustindex.io (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/
6 checks passed, 4 not applicable
  • OKHTTPS

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

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

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

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

  • Not applicableVulnerable JavaScript libraries

    No recognisable library versions were found in the sampled scripts.

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

No other scans of this site yet.

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

Own mirrorshair.ca?