Scanned sites / www.brunilaw.com / 2026-09-29-1008
www.brunilaw.com scan from 9/29/2026, 10:08:55 AM
A newer scan exists. See the latest report for www.brunilaw.com.
Scan 2026-09-29-1008
Scanned 9/29/2026, 10:08:55 AM, finished 9/29/2026, 10:10:58 AM. Found with openstreetmap overpass
Site: https://www.brunilaw.com/
Download SQLite databaseEvery page and asset from this scan, with the crawl events, in one file.
On September 29, 2026 the Site Spider crawled 12 pages and 80 assets of www.brunilaw.com, starting from https://www.brunilaw.com/. It scored 81 out of 100, a good result. 3 of 16 checks found something to fix, led by indexability (12), title tags (8), meta descriptions (3); 9 checks passed. Most of the points went to indexability (−10), title tags (−6.7), meta descriptions (−2). 4 checks found something the score does not count, listed as noted. 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: Medium5 medium, 2 low and 1 info findings. See the security findings ↓
- Pages crawled
- 12
- Assets fetched
- 80
- Status
- Completed
- Checks with issues
- 3 of 16
92 of 92 discovered URLs were fetched. The crawl reached everything it found. HTML only: nothing here ran JavaScript. 3 link destinations on other sites were checked.
- Title tags8 issues8 of 12 pages have title issues.−6.7 points
- Meta descriptions3 issues3 of 12 pages have meta description issues.−2 points
- HeadingsOK0 of 12 pages have heading issues.
- Broken linksOK0 internal links point at 0 broken URLs.
- Links to other sites12 noted0 destinations answered with an error, 1 could not be determined (timeouts, rate limits or refusals), of 3 destinations checked.
- Redirects1 noted1 redirecting URL, 0 of them chained.
- Non-200 responses1 noted1 URL did not return a 2xx response. 0 of them are pages, 0 with an error status; the rest are assets or redirects.
- Rate limitedOKThe site did not rate limit the crawler.
- Indexability12 issues12 of 12 indexable pages have indexability warnings.−10 points
- Image alt textOK0 of 50 image references have no alt attribute. 43 use an empty alt (decorative), which is fine.
- Heavy assetsOK0 assets larger than 500 KB among 80 fetched assets.
- Orphan pagesOK0 pages have no internal links pointing at them.
- Sitemap coverageOK2 sitemaps listing 12 URLs: 0 crawled pages missing, 0 listed URLs broken or redirecting, 0 reachable only via the sitemap.
- Internal link countsOKInternal link counts for 12 pages.
- Thin contentOK0 of 12 pages have fewer than 200 words.
- Duplicate contentOK0 groups of pages with identical HTML.
Where this scan sits among all scanned sites
1353 sites, median 80%, average 79%
www.brunilaw.com scores 81%, higher than 51% of the 1353 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 findingsYour site has issues with redirects, title tags, meta descriptions, and indexability. Prioritize addressing these to improve SEO performance and user experience.
- 1
Fix redirect for sitemap
Why: Improve crawl efficiency and avoid user confusion.
How: Update the redirect for https://www.brunilaw.com/sitemap.xml to directly lead to the correct URL without redirection.
Checks: redirects
- 2
Revise title tags
Why: Optimize titles for better click-through rates and SEO ranking.
How: Shorten title tags for the 8 affected pages to within 60 characters. For example, use titles like 'Bruni Law - Calgary Estate Services' instead.
Checks: titles
- 3
Update meta descriptions
Why: Ensure descriptions fit within search result display limits and engage users.
How: Edit the meta descriptions for 3 pages to keep them under 150 characters. Aim for concise summaries highlighting your services.
Checks: meta-descriptions
- 4
Add viewport meta tag
Why: Enhances mobile usability and improves rankings.
How: Insert the following into the <head> section of all 12 pages: <meta name='viewport' content='width=device-width, initial-scale=1.0'>.
Checks: indexability
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 site lacks several important security headers, which may expose visitors to risks such as interception, clickjacking, and MIME sniffing. Additionally, vulnerabilities in the JavaScript library and an exposed Google API key were detected. Addressing these issues will enhance your site's security posture.
- 0 high
- 5 medium
- 2 low
- 1 info
- 1
HTTP Strict Transport Security (HSTS) MissingMedium
Why it matters: Without HSTS, attackers can intercept connections by redirecting users from HTTPS to HTTP.
Fix: Add 'Strict-Transport-Security: max-age=63072000; includeSubDomains; preload' to server responses.
Evidence: HTTP Strict Transport Security
- 2
Content Security Policy (CSP) AbsentMedium
Why it matters: Lack of CSP allows any scripts or content from any origin, increasing risk of XSS attacks.
Fix: Implement 'Content-Security-Policy: default-src 'self';' in server responses.
Evidence: Content Security Policy
- 3
Clickjacking Protection MissingMedium
Why it matters: Absence of X-Frame-Options allows other sites to embed your pages, potentially deceiving users.
Fix: Add 'X-Frame-Options: DENY' to server responses.
Evidence: Clickjacking protection
- 4
Vulnerable JavaScript Library DetectedMedium
Why it matters: Bootstrap 3.3.7 has known vulnerabilities that could be exploited based on site usage.
Fix: Upgrade to Bootstrap 3.4.1 or later to fix vulnerabilities.
Evidence: Vulnerable JavaScript libraries
- 5
Exposed Google API KeyMedium
Why it matters: An exposed Google API key can lead to unauthorized use and potential charges.
Fix: Restrict the key by referrer and in the Google Cloud console to limit its usage.
Evidence: Keys and secrets in page code
- 6
MIME Sniffing Protection AbsentLow
Why it matters: Without X-Content-Type-Options, the browser may misinterpret file types, leading to security risks.
Fix: Set 'X-Content-Type-Options: nosniff' in server responses.
Evidence: MIME sniffing protection
- 7
Server Version DisclosureLow
Why it matters: Exposing server and software versions helps attackers identify known vulnerabilities.
Fix: Remove 'Server' and 'X-Powered-By' headers or obfuscate them to enhance security.
Evidence: Software version disclosure
- 8
Permissions Policy Not ImplementedInfo
Why it matters: Absence of a Permissions Policy increases the risk of unauthorized feature access via scripts.
Fix: Add 'Permissions-Policy: interest-cohort=()' or customize as needed to server responses.
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://www.brunilaw.com/ → no strict-transport-security
- https://www.brunilaw.com/estate-planning-firm-marda-loop/ → no strict-transport-security
- https://www.brunilaw.com/amanda-bruni/ → no strict-transport-security
- https://www.brunilaw.com/janice-bruni/ → no strict-transport-security
- https://www.brunilaw.com/michael-bruni/ → no strict-transport-security
- https://www.brunilaw.com/ronaliz-veron/ → no strict-transport-security
- https://www.brunilaw.com/adult-guardianship-trusteeship-lawyers-marda-loop/ → no strict-transport-security
- https://www.brunilaw.com/estate-planning-lawyers-marda-loop/ → no strict-transport-security
- https://www.brunilaw.com/estate-administration-lawyers-marda-loop/ → no strict-transport-security
- https://www.brunilaw.com/residential-real-estate-lawyers-marda-loop/ → no strict-transport-security
- https://www.brunilaw.com/estate-planning-blog/ → no strict-transport-security
- https://www.brunilaw.com/legal-consultation-marda-loop/ → no strict-transport-security
- FoundContent Security PolicyMedium
None of the 12 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://www.brunilaw.com/ → no content-security-policy
- https://www.brunilaw.com/estate-planning-firm-marda-loop/ → no content-security-policy
- https://www.brunilaw.com/amanda-bruni/ → no content-security-policy
- https://www.brunilaw.com/janice-bruni/ → no content-security-policy
- https://www.brunilaw.com/michael-bruni/ → no content-security-policy
- https://www.brunilaw.com/ronaliz-veron/ → no content-security-policy
- https://www.brunilaw.com/adult-guardianship-trusteeship-lawyers-marda-loop/ → no content-security-policy
- https://www.brunilaw.com/estate-planning-lawyers-marda-loop/ → no content-security-policy
- https://www.brunilaw.com/estate-administration-lawyers-marda-loop/ → no content-security-policy
- https://www.brunilaw.com/residential-real-estate-lawyers-marda-loop/ → no content-security-policy
- https://www.brunilaw.com/estate-planning-blog/ → no content-security-policy
- https://www.brunilaw.com/legal-consultation-marda-loop/ → 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://www.brunilaw.com/ → no x-frame-options
- https://www.brunilaw.com/estate-planning-firm-marda-loop/ → no x-frame-options
- https://www.brunilaw.com/amanda-bruni/ → no x-frame-options
- https://www.brunilaw.com/janice-bruni/ → no x-frame-options
- https://www.brunilaw.com/michael-bruni/ → no x-frame-options
- https://www.brunilaw.com/ronaliz-veron/ → no x-frame-options
- https://www.brunilaw.com/adult-guardianship-trusteeship-lawyers-marda-loop/ → no x-frame-options
- https://www.brunilaw.com/estate-planning-lawyers-marda-loop/ → no x-frame-options
- https://www.brunilaw.com/estate-administration-lawyers-marda-loop/ → no x-frame-options
- https://www.brunilaw.com/residential-real-estate-lawyers-marda-loop/ → no x-frame-options
- https://www.brunilaw.com/estate-planning-blog/ → no x-frame-options
- https://www.brunilaw.com/legal-consultation-marda-loop/ → 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://www.brunilaw.com/ → no x-content-type-options
- https://www.brunilaw.com/estate-planning-firm-marda-loop/ → no x-content-type-options
- https://www.brunilaw.com/amanda-bruni/ → no x-content-type-options
- https://www.brunilaw.com/janice-bruni/ → no x-content-type-options
- https://www.brunilaw.com/michael-bruni/ → no x-content-type-options
- https://www.brunilaw.com/ronaliz-veron/ → no x-content-type-options
- https://www.brunilaw.com/adult-guardianship-trusteeship-lawyers-marda-loop/ → no x-content-type-options
- https://www.brunilaw.com/estate-planning-lawyers-marda-loop/ → no x-content-type-options
- https://www.brunilaw.com/estate-administration-lawyers-marda-loop/ → no x-content-type-options
- https://www.brunilaw.com/residential-real-estate-lawyers-marda-loop/ → no x-content-type-options
- https://www.brunilaw.com/estate-planning-blog/ → no x-content-type-options
- https://www.brunilaw.com/legal-consultation-marda-loop/ → no x-content-type-options
- 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://www.brunilaw.com/ → no permissions-policy
- https://www.brunilaw.com/estate-planning-firm-marda-loop/ → no permissions-policy
- https://www.brunilaw.com/amanda-bruni/ → no permissions-policy
- https://www.brunilaw.com/janice-bruni/ → no permissions-policy
- https://www.brunilaw.com/michael-bruni/ → no permissions-policy
- https://www.brunilaw.com/ronaliz-veron/ → no permissions-policy
- https://www.brunilaw.com/adult-guardianship-trusteeship-lawyers-marda-loop/ → no permissions-policy
- https://www.brunilaw.com/estate-planning-lawyers-marda-loop/ → no permissions-policy
- https://www.brunilaw.com/estate-administration-lawyers-marda-loop/ → no permissions-policy
- https://www.brunilaw.com/residential-real-estate-lawyers-marda-loop/ → no permissions-policy
- https://www.brunilaw.com/estate-planning-blog/ → no permissions-policy
- https://www.brunilaw.com/legal-consultation-marda-loop/ → no permissions-policy
- FoundSoftware version disclosureLow
Responses reveal the exact server or framework version, which lets an attacker look up known vulnerabilities for it without guessing.
- server: nginx (92 responses)
- x-powered-by: W3 Total Cache/2.9.4, PleskLin (51 responses)
- x-powered-by: PleskLin (39 responses)
- x-powered-by: PHP/7.3.25, PleskLin (2 responses)
- FoundVulnerable JavaScript librariesMedium
1 library with published vulnerabilities: Bootstrap 3.3.7. Whether they are exploitable depends on how the site uses them, but each has a fixed release.
- Bootstrap 3.3.7 in https://www.brunilaw.com/wp-content/cache/minify/480/20276.js?x71477: CVE-2016-10735, CVE-2018-14040, CVE-2018-14041, CVE-2018-14042, CVE-2019-8331 (XSS through data attributes in tooltip, popover, collapse and scrollspy); fixed in 3.4.1
- FoundKeys and secrets in page codeMedium
1 credential-like value found in code served to every visitor: Google API key.
- Google API key AIzaSy…UQ (39 chars) in https://www.brunilaw.com/legal-consultation-marda-loop/: browser keys are expected in pages, but must be restricted by HTTP referrer and API in the Google Cloud console
- NoteThird-party scripts
Scripts run from 2 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.)
- ajax.googleapis.com (12 script tags)
- maps.googleapis.com (1 script tag)
5 checks passed, 2 not applicable
- OKHTTPS
All 12 crawled pages were served over HTTPS.
- OKReferrer policy
referrer-policy is set on all 12 HTML pages.
- OKMixed content
No HTTPS page loads a script, stylesheet, font or image over plain HTTP.
- 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.
- Not applicableForms over HTTPS
No forms were found on the sampled pages.
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.
Sites scoring near www.brunilaw.com
Their neighbours in the SEO rank table, which orders every scanned site by health score.
- atlasroofingltd.ca82/100 · rank 513 · 20 pages
- boiseatitsbestflowers.com82/100 · rank 513 · 64 pages
- supaslides.app82/100 · rank 513 · 198 pages
- pelletierfarmsnh.com81/100 · rank 580 · 18 pages
- www.petetheplumber.com81/100 · rank 580 · 166 pages
- www.scase.ca81/100 · rank 580 · 66 pages
This report was produced by the DIY SEO Hub Site Spider crawling www.brunilaw.com from its pages as published, the way a search engine does. It shows summary figures only.
Own www.brunilaw.com?
- 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 www.brunilaw.com. Removal needs no account and no proof of purchase.