Scanned sites / citizensalon.ca / 2026-09-19-1123

citizensalon.ca scan from 9/19/2026, 11:23:27 AM

Scan 2026-09-19-1123

Scanned 9/19/2026, 11:23:27 AM, finished 9/19/2026, 11:43:33 AM. Found with openstreetmap overpass

Site: https://citizensalon.ca/

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

76/ 100Good

On September 19, 2026 the Site Spider crawled 267 pages and 1002 assets of citizensalon.ca, starting from https://citizensalon.ca/. It scored 76 out of 100, a good result. 10 of 14 checks found something to fix, led by sitemap coverage (145), headings (144), title tags (142); 4 checks passed. 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, 4 low and 1 info findings. See the security findings ↓

Pages crawled
267
Assets fetched
1002
Status
Completed
Checks with issues
10 of 14
  • Title tags142 issues
    142 of 145 pages have title issues. 118 noindex or canonicalized pages excluded.
  • Meta descriptions141 issues
    141 of 145 pages have meta description issues. 118 noindex or canonicalized pages excluded.
  • Headings144 issues
    144 of 145 pages have heading issues. 118 noindex or canonicalized pages excluded.
  • Broken links3 issues
    3 internal links point at 3 broken URLs.
  • Redirects1 issue
    4 redirecting URLs, 0 of them chained.
  • Non-200 responses3 issues
    8 URLs did not return a 2xx response.
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 263 indexable pages have indexability warnings.
  • Image alt text2 issues
    2 of 1927 image references have no alt attribute. 136 use an empty alt (decorative), which is fine.
  • Heavy assets35 issues
    35 assets larger than 500 KB among the 100 heaviest.
  • Orphan pagesOK
    0 pages have no internal links pointing at them.
  • Sitemap coverage145 issues
    1 sitemap listing 0 URLs: 145 crawled pages missing, 0 listed URLs broken or redirecting, 0 reachable only via the sitemap.
  • Thin content34 issues
    34 of 145 pages have fewer than 200 words. 118 noindex or canonicalized pages excluded.
  • Duplicate contentOK
    0 groups of pages with identical HTML.

Where this scan sits among all scanned sites

1105 sites, median 82%, average 80%

citizensalon.ca scores 76%, higher than 27% of the 1105 scanned sites. See the full ranking.

028560%: 0 sites1%: 0 sites2%: 0 sites3%: 0 sites4%: 0 sites5%: 0 sites6%: 0 sites7%: 0 sites8%: 0 sites9%: 0 sites10%: 0 sites11%: 0 sites12%: 0 sites13%: 0 sites14%: 0 sites15%: 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%: 1 site36%: 1 site37%: 0 sites38%: 0 sites39%: 0 sites40%: 0 sites41%: 0 sites42%: 0 sites43%: 0 sites44%: 0 sites45%: 2 sites46%: 1 site47%: 1 site48%: 0 sites49%: 0 sites50%: 3 sites51%: 4 sites52%: 1 site53%: 1 site54%: 2 sites55%: 1 site56%: 2 sites57%: 3 sites58%: 6 sites59%: 3 sites60%: 5 sites61%: 8 sites62%: 12 sites63%: 5 sites64%: 9 sites65%: 9 sites66%: 9 sites67%: 15 sites68%: 29 sites69%: 12 sites70%: 23 sites71%: 22 sites72%: 24 sites73%: 24 sites74%: 30 sites75%: 26 sites76%: 38 sites77%: 37 sites78%: 35 sites79%: 33 sites80%: 43 sites81%: 55 sites82%: 49 sites83%: 46 sites84%: 54 sites85%: 48 sites86%: 46 sites87%: 49 sites88%: 56 sites89%: 38 sites90%: 51 sites91%: 38 sites92%: 25 sites93%: 17 sites94%: 16 sites95%: 8 sites96%: 10 sites97%: 4 sites98%: 2 sites99%: 1 site100%: 10 sites76% 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

The website has several issues including broken links and missing title tags. Addressing these will significantly improve SEO performance.

  1. 1

    Fix Broken Links

    Why: Broken links hurt user experience and SEO.

    How: Update or remove links pointing to broken URLs found in the Broken links report.

    Checks: broken-links

  2. 2

    Redirects Cleanup

    Why: Unnecessary redirects can slow down your site.

    How: Eliminate unnecessary redirects by directly linking to final URLs where feasible.

    Checks: redirects

  3. 3

    Resolve Non-200 Responses

    Why: Non-200 responses can harm rankings.

    How: Fix or eliminate URLs that do not return a 200 response.

    Checks: status-codes

  4. 4

    Optimize Title Tags

    Why: Title tags are crucial for SEO; many are duplicates or too long.

    How: Update titles to be unique and within 60 characters based on the issues listed.

    Checks: titles

  5. 5

    Improve Meta Descriptions

    Why: Meta descriptions should be unique to enhance click-through rates.

    How: Revise meta descriptions to ensure uniqueness and optimal length (around 155 characters).

    Checks: meta-descriptions

  6. 6

    Add Heading Structure

    Why: Missing H1 tags weaken content structure and SEO.

    How: Ensure each page has a single H1 tag and includes relevant keywords.

    Checks: headings

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 lacks several security headers that protect user data and prevent attacks. Key headers like HTTP Strict Transport Security and Content Security Policy are missing. This could expose your site to risks such as data interception and clickjacking. Immediate action is recommended.

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

    Missing HTTP Strict Transport Security (HSTS)Medium

    Why it matters: Without HSTS, users can be intercepted when attempting to access the site via HTTP.

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

    Evidence: HTTP Strict Transport Security

  2. 2

    Missing Content Security Policy (CSP)Medium

    Why it matters: Lack of CSP allows scripts and content from untrusted sources, increasing XSS risk.

    Fix: Implement a CSP header like `Content-Security-Policy: default-src 'self';`.

    Evidence: Content Security Policy

  3. 3

    Missing X-Frame-Options HeaderMedium

    Why it matters: No X-Frame-Options header exposes the site to clickjacking attacks.

    Fix: Set the header `X-Frame-Options: SAMEORIGIN` or use a CSP frame-ancestors directive.

    Evidence: Clickjacking protection

  4. 4

    Missing X-Content-Type-Options HeaderLow

    Why it matters: Absence of this header may lead to MIME sniffing and running malicious scripts.

    Fix: Include the header `X-Content-Type-Options: nosniff`.

    Evidence: MIME sniffing protection

  5. 5

    Missing Referrer Policy HeaderLow

    Why it matters: Without a Referrer Policy, sensitive information may be leaked through URLs.

    Fix: Add `Referrer-Policy: no-referrer` or a suitable policy.

    Evidence: Referrer policy

  6. 6

    Mixed Content IssuesLow

    Why it matters: Loading resources over HTTP on HTTPS pages can lead to security vulnerabilities.

    Fix: Change resource links to HTTPS, ensuring all assets are securely served.

    Evidence: Mixed content

  7. 7

    Third-Party Scripts Without Subresource IntegrityLow

    Why it matters: Scripts from other domains may be altered, impacting site security.

    Fix: Implement Subresource Integrity (SRI) for third-party scripts or use CSP.

    Evidence: Third-party scripts

  8. 8

    Missing Permissions Policy HeaderInfo

    Why it matters: Lack of a permissions policy may allow unwanted access to sensitive browser features.

    Fix: Include the header `Permissions-Policy: fullscreen=(self)` or customize as needed.

    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://citizensalon.ca/ → no strict-transport-security
    • https://citizensalon.ca/about/ → no strict-transport-security
    • https://citizensalon.ca/get-started/ → no strict-transport-security
    • https://citizensalon.ca/airdrie/ → no strict-transport-security
    • https://citizensalon.ca/macleod/ → no strict-transport-security
    • https://citizensalon.ca/marda/ → no strict-transport-security
    • https://citizensalon.ca/mission/ → no strict-transport-security
    • https://citizensalon.ca/calgary-greenwich/ → no strict-transport-security
    • https://citizensalon.ca/edmonton-brewery/ → no strict-transport-security
    • https://citizensalon.ca/edmonton-south/ → no strict-transport-security
    • https://citizensalon.ca/vancouver-yaletown/ → no strict-transport-security
    • https://citizensalon.ca/surrey/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 263 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://citizensalon.ca/ → no content-security-policy
    • https://citizensalon.ca/about/ → no content-security-policy
    • https://citizensalon.ca/get-started/ → no content-security-policy
    • https://citizensalon.ca/airdrie/ → no content-security-policy
    • https://citizensalon.ca/macleod/ → no content-security-policy
    • https://citizensalon.ca/marda/ → no content-security-policy
    • https://citizensalon.ca/mission/ → no content-security-policy
    • https://citizensalon.ca/calgary-greenwich/ → no content-security-policy
    • https://citizensalon.ca/edmonton-brewery/ → no content-security-policy
    • https://citizensalon.ca/edmonton-south/ → no content-security-policy
    • https://citizensalon.ca/vancouver-yaletown/ → no content-security-policy
    • https://citizensalon.ca/surrey/ → 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://citizensalon.ca/ → no x-frame-options
    • https://citizensalon.ca/about/ → no x-frame-options
    • https://citizensalon.ca/get-started/ → no x-frame-options
    • https://citizensalon.ca/airdrie/ → no x-frame-options
    • https://citizensalon.ca/macleod/ → no x-frame-options
    • https://citizensalon.ca/marda/ → no x-frame-options
    • https://citizensalon.ca/mission/ → no x-frame-options
    • https://citizensalon.ca/calgary-greenwich/ → no x-frame-options
    • https://citizensalon.ca/edmonton-brewery/ → no x-frame-options
    • https://citizensalon.ca/edmonton-south/ → no x-frame-options
    • https://citizensalon.ca/vancouver-yaletown/ → no x-frame-options
    • https://citizensalon.ca/surrey/ → 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://citizensalon.ca/ → no x-content-type-options
    • https://citizensalon.ca/about/ → no x-content-type-options
    • https://citizensalon.ca/get-started/ → no x-content-type-options
    • https://citizensalon.ca/airdrie/ → no x-content-type-options
    • https://citizensalon.ca/macleod/ → no x-content-type-options
    • https://citizensalon.ca/marda/ → no x-content-type-options
    • https://citizensalon.ca/mission/ → no x-content-type-options
    • https://citizensalon.ca/calgary-greenwich/ → no x-content-type-options
    • https://citizensalon.ca/edmonton-brewery/ → no x-content-type-options
    • https://citizensalon.ca/edmonton-south/ → no x-content-type-options
    • https://citizensalon.ca/vancouver-yaletown/ → no x-content-type-options
    • https://citizensalon.ca/surrey/ → 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://citizensalon.ca/ → no referrer-policy
    • https://citizensalon.ca/about/ → no referrer-policy
    • https://citizensalon.ca/get-started/ → no referrer-policy
    • https://citizensalon.ca/airdrie/ → no referrer-policy
    • https://citizensalon.ca/macleod/ → no referrer-policy
    • https://citizensalon.ca/marda/ → no referrer-policy
    • https://citizensalon.ca/mission/ → no referrer-policy
    • https://citizensalon.ca/calgary-greenwich/ → no referrer-policy
    • https://citizensalon.ca/edmonton-brewery/ → no referrer-policy
    • https://citizensalon.ca/edmonton-south/ → no referrer-policy
    • https://citizensalon.ca/vancouver-yaletown/ → no referrer-policy
    • https://citizensalon.ca/surrey/ → 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://citizensalon.ca/ → no permissions-policy
    • https://citizensalon.ca/about/ → no permissions-policy
    • https://citizensalon.ca/get-started/ → no permissions-policy
    • https://citizensalon.ca/airdrie/ → no permissions-policy
    • https://citizensalon.ca/macleod/ → no permissions-policy
    • https://citizensalon.ca/marda/ → no permissions-policy
    • https://citizensalon.ca/mission/ → no permissions-policy
    • https://citizensalon.ca/calgary-greenwich/ → no permissions-policy
    • https://citizensalon.ca/edmonton-brewery/ → no permissions-policy
    • https://citizensalon.ca/edmonton-south/ → no permissions-policy
    • https://citizensalon.ca/vancouver-yaletown/ → no permissions-policy
    • https://citizensalon.ca/surrey/ → no permissions-policy
  • FoundMixed contentLow

    258 resources on HTTPS pages are loaded over plain HTTP.

    • https://citizensalon.ca/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Hairdressing-Calgary-Miss…
    • https://citizensalon.ca/get-started/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/airdrie/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/macleod/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/marda/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/mission/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/calgary-greenwich/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/edmonton-brewery/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/edmonton-south/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/vancouver-yaletown/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
    • https://citizensalon.ca/surrey/ loads image http://citizensalon.ca/wp-content/uploads/2016/11/Citizen-Salon-Mission-4th-Street-Calgar…
  • 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.)

    • www.googletagmanager.com (80 script tags)
7 checks passed, 1 not applicable
  • OKHTTPS

    All 263 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.

  • OKForms over HTTPS

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

This report was produced by the DIY SEO Hub Site Spider crawling citizensalon.ca from its public pages. Anyone can run a scan of any site they own or are authorised to check. Is this your site? Claim it to manage the listing, or ask for removal through the support form.

citizensalon.ca scan 2026-09-19-1123 | DIY SEO Hub