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.
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 issues142 of 145 pages have title issues. 118 noindex or canonicalized pages excluded.
- Meta descriptions141 issues141 of 145 pages have meta description issues. 118 noindex or canonicalized pages excluded.
- Headings144 issues144 of 145 pages have heading issues. 118 noindex or canonicalized pages excluded.
- Broken links3 issues3 internal links point at 3 broken URLs.
- Redirects1 issue4 redirecting URLs, 0 of them chained.
- Non-200 responses3 issues8 URLs did not return a 2xx response.
- Rate limitedOKThe site did not rate limit the crawler.
- IndexabilityOK0 of 263 indexable pages have indexability warnings.
- Image alt text2 issues2 of 1927 image references have no alt attribute. 136 use an empty alt (decorative), which is fine.
- Heavy assets35 issues35 assets larger than 500 KB among the 100 heaviest.
- Orphan pagesOK0 pages have no internal links pointing at them.
- Sitemap coverage145 issues1 sitemap listing 0 URLs: 145 crawled pages missing, 0 listed URLs broken or redirecting, 0 reachable only via the sitemap.
- Thin content34 issues34 of 145 pages have fewer than 200 words. 118 noindex or canonicalized pages excluded.
- Duplicate contentOK0 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.
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 findingsThe website has several issues including broken links and missing title tags. Addressing these will significantly improve SEO performance.
- 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
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
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
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
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
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 crawlThe 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
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
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
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
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
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
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
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
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.