Scanned sites / moodspa.ca

SEO report for moodspa.ca DR 3

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

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

Latest scan

Scanned 2026-11-01 08:01:13 UTC, finished 2026-11-01 08:39:46 UTC. Found on page 5 of brave web search results

Site: https://moodspa.ca/

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

98/ 100Excellent

On November 1, 2026 the Site Spider crawled 43 pages and 374 assets of moodspa.ca, starting from https://moodspa.ca/. It scored 98 out of 100, an excellent result. 2 of 33 checks found something to fix, led by meta descriptions (8), sitemap coverage (3); 23 checks passed. Most of the points went to meta descriptions (−1.5), sitemap coverage (−0.4). 8 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: Medium1 medium, 1 low and 2 info findings. See the security findings ↓

Pages crawled
43
Assets fetched
374
Status
Completed
Checks with issues
2 of 33
CoverageComplete crawl

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

  • Title tagsOK
    0 of 43 pages have title issues.
  • Meta descriptions8 issues
    8 of 43 pages have meta description issues.
    −1.5 points
  • HeadingsOK
    0 of 43 pages have heading issues.
  • Broken linksOK
    0 internal links point at 0 broken URLs.
  • Links to other sitesOK
    0 destinations answered with an error, of 47 destinations checked.
  • Redirects1 noted
    1 redirecting URL, 0 of them chained.
  • Non-200 responses2 noted
    2 URLs did not return a 2xx response. 0 of them are pages, 0 with an error status; the rest are assets or redirects.
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 43 indexable pages have indexability warnings.
  • Image alt textOK
    0 of 389 image references have no alt attribute. 43 use an empty alt (decorative), which is fine.
  • Heavy assetsOK
    0 assets larger than 500 KB among 374 fetched assets.
  • Orphan pagesOK
    0 pages have no internal links pointing at them.
  • Sitemap coverage3 issues
    4 sitemaps listing 42 URLs: 2 crawled pages missing, 0 listed URLs broken or redirecting, 1 reachable only via the sitemap.
    −0.4 points
  • Internal link countsOK
    Internal link counts for 43 pages; none is a dead end or buried.
  • Thin contentOK
    0 of 43 pages have fewer than 200 words.
  • Duplicate contentOK
    0 groups of pages with identical HTML.
  • URL formatOK
    All 43 page URLs are plain lowercase addresses without parameters.
  • CanonicalsOK
    0 of 43 pages have a canonical worth checking.
  • Robots directives43 noted
    43 pages carry a robots directive; 0 carry none.
  • Anchor text28 noted
    28 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure1 noted
    1 of 43 pages could use the title, heading and snippet space better.
  • Image weight and alt length41 noted
    14 images over 100 KB; 27 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 43 pages keep their head tags in <head>, once each, under Googlebot's 2 MB.
  • hreflangOK
    No page declares hreflang.
  • Structured dataOK
    3 of 43 indexable pages carry structured data: HairSalon (3), Organization (3), WebSite (3), Place (3), ImageObject (3). 0 pages with errors a rich result would fail on.
  • Near duplicatesOK
    No near duplicates among 43 pages with enough text to compare.
  • Soft 404sOK
    None of 43 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 positions3 noted
    3 of 43 linked pages are linked only from the template, never from another page's content.
  • PaginationOK
    No page declares rel=next or rel=prev pagination.
  • Headers and cookiesOK
    0 cookies set by the site; 17 response headers recorded across 417 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 43 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 InsightsNot checked
    Not checked yet: PageSpeed Insights runs on the top pages once the crawl has finished.
  • Spelling19 noted
    19 words an English dictionary does not know, on 40 pages. Product names and jargon will appear here too.

Where this site sits among all scanned sites

2598 sites, median 80%, average 78%

moodspa.ca scores 98%, higher than 97% of the 2598 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%: 5 sites46%: 5 sites47%: 5 sites48%: 5 sites49%: 7 sites50%: 6 sites51%: 6 sites52%: 8 sites53%: 8 sites54%: 10 sites55%: 10 sites56%: 8 sites57%: 12 sites58%: 18 sites59%: 9 sites60%: 15 sites61%: 13 sites62%: 20 sites63%: 29 sites64%: 21 sites65%: 31 sites66%: 40 sites67%: 39 sites68%: 37 sites69%: 48 sites70%: 48 sites71%: 74 sites72%: 73 sites73%: 77 sites74%: 75 sites75%: 85 sites76%: 94 sites77%: 106 sites78%: 116 sites79%: 106 sites80%: 119 sites81%: 113 sites82%: 117 sites83%: 117 sites84%: 118 sites85%: 97 sites86%: 87 sites87%: 84 sites88%: 68 sites89%: 71 sites90%: 46 sites91%: 57 sites92%: 40 sites93%: 28 sites94%: 21 sites95%: 14 sites96%: 16 sites97%: 15 sites98%: 7 sites99%: 2 sites100%: 69 sites98% 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

Your website has a few minor SEO issues, particularly with redirects and meta descriptions. Addressing these will improve user experience and search visibility.

  1. 1

    Fix Redirect Issue

    Why: One URL is redirecting unnecessarily, which can slow down user access.

    How: Change the sitemap to point directly to the final URL.

    Checks: redirects

  2. 2

    Resolve Non-200 Responses

    Why: Two URLs are returning errors, which can negatively impact user experience.

    How: Update or remove the asset causing the 404 error and adjust the sitemap reference for the redirecting URL.

    Checks: status-codes

  3. 3

    Enhance Meta Descriptions

    Why: Eight pages have meta description issues, potentially impacting click-through rates.

    How: Rewrite these descriptions to fit within recommended character limits (50-160 characters).

    Checks: meta-descriptions

  4. 4

    Update Sitemap Coverage

    Why: Two important pages are not listed in the sitemap, affecting their discoverability.

    How: Add the URLs to the sitemap for better indexing and visibility.

    Evidence: 2 URLs: not in sitemap.

    2 pages affected

    Checks: sitemap-coverage

  5. 5

    Improve Internal Linking

    Why: One URL is only reachable through the sitemap, which may restrict search engine crawling.

    How: Add internal links to the URL from relevant pages within the site to enhance accessibility.

    Evidence: One URL: only reachable via sitemap.

    1 page affected

    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 crawl

Your website currently lacks a Content Security Policy, which increases the risk of script injection attacks. Additionally, there is no Permissions Policy to limit access to browser features. These issues, along with third-party scripts lacking integrity checks, should be addressed promptly for improved security.

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

    Missing Content Security PolicyMedium

    Why it matters: Without a Content Security Policy, the site is vulnerable to attacks like cross-site scripting.

    Fix: Add a Content-Security-Policy header to all HTML pages: `Content-Security-Policy: default-src 'self';`

    Evidence: Content Security Policy

  2. 2

    Third-Party Scripts Without Integrity ChecksLow

    Why it matters: Using scripts from unverified sources can lead to potential security breaches if those sources are compromised.

    Fix: Implement Subresource Integrity (SRI) for all third-party scripts or apply a Content-Security-Policy that restricts trusted sources.

    Evidence: Third-party scripts

  3. 3

    No Permissions PolicyInfo

    Why it matters: Absence of a Permissions Policy leaves browser features open to potential misuse by malicious scripts.

    Fix: Include a Permissions-Policy header in all HTML pages: `Permissions-Policy: camera=(), microphone=(), geolocation=();`

    Evidence: Permissions policy

  4. 4

    Sensitive Paths in robots.txtInfo

    Why it matters: The robots.txt file discloses a private path that may aid malicious probing of the site.

    Fix: Restrict access controls to sensitive paths defined in robots.txt, like `/wp/wp-admin/`.

    Evidence: Sensitive paths in robots.txt

What the checks found

  • FoundContent Security PolicyMedium

    None of the 43 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://moodspa.ca/ → no content-security-policy
    • https://moodspa.ca/services/ → no content-security-policy
    • https://moodspa.ca/services/hair/ → no content-security-policy
    • https://moodspa.ca/services/skin/ → no content-security-policy
    • https://moodspa.ca/services/medispa/ → no content-security-policy
    • https://moodspa.ca/services/nails/ → no content-security-policy
    • https://moodspa.ca/services/lash-and-brow/ → no content-security-policy
    • https://moodspa.ca/services/waxing/ → no content-security-policy
    • https://moodspa.ca/services/massage-and-body/ → no content-security-policy
    • https://moodspa.ca/services/spa-packages/ → no content-security-policy
    • https://moodspa.ca/events/ → no content-security-policy
    • https://moodspa.ca/why-mood/ → no content-security-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://moodspa.ca/ → no permissions-policy
    • https://moodspa.ca/services/ → no permissions-policy
    • https://moodspa.ca/services/hair/ → no permissions-policy
    • https://moodspa.ca/services/skin/ → no permissions-policy
    • https://moodspa.ca/services/medispa/ → no permissions-policy
    • https://moodspa.ca/services/nails/ → no permissions-policy
    • https://moodspa.ca/services/lash-and-brow/ → no permissions-policy
    • https://moodspa.ca/services/waxing/ → no permissions-policy
    • https://moodspa.ca/services/massage-and-body/ → no permissions-policy
    • https://moodspa.ca/services/spa-packages/ → no permissions-policy
    • https://moodspa.ca/events/ → no permissions-policy
    • https://moodspa.ca/why-mood/ → no permissions-policy
  • 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)
    • unpkg.com (80 script tags)
    • www.instagram.com (2 script tags)
  • 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/wp-admin/
10 checks passed, 2 not applicable
  • OKHTTPS

    All 43 crawled pages were served over HTTPS.

  • OKHTTP Strict Transport Security

    strict-transport-security is set on all 43 HTML pages.

  • OKClickjacking protection

    x-frame-options is set on all 43 HTML pages.

  • OKMIME sniffing protection

    x-content-type-options is set on all 43 HTML pages.

  • OKReferrer policy

    referrer-policy is set on all 43 HTML pages.

  • 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

    40 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 applicableCookie flags

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

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

No other scans of this site yet.

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

Own moodspa.ca?