Scanned sites / www.brunilaw.com / 2026-09-17-2118

www.brunilaw.com scan from 9/17/2026, 9:18:23 PM

Scan 2026-09-17-2118

Scanned 9/17/2026, 9:18:23 PM, finished 9/17/2026, 9:31:53 PM. 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.

83/ 100Good

On September 17, 2026 the Site Spider crawled 12 pages and 80 assets of www.brunilaw.com, starting from https://www.brunilaw.com/. It scored 83 out of 100, a good result. 2 of 14 checks found something to fix, led by indexability (12), title tags (8); 12 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: Medium5 medium, 3 low and 1 info findings. See the security findings ↓

Pages crawled
12
Assets fetched
80
Status
Completed
Checks with issues
2 of 14
  • Title tags8 issues
    8 of 12 pages have title issues.
  • Meta descriptionsOK
    0 of 12 pages have meta description issues.
  • HeadingsOK
    0 of 12 pages have heading issues.
  • Broken linksOK
    0 internal links point at 0 broken URLs.
  • RedirectsOK
    1 redirecting URL, 0 of them chained.
  • Non-200 responsesOK
    1 URL did not return a 2xx response.
  • Rate limitedOK
    The site did not rate limit the crawler.
  • Indexability12 issues
    12 of 12 indexable pages have indexability warnings.
  • Image alt textOK
    0 of 50 image references have no alt attribute. 43 use an empty alt (decorative), which is fine.
  • Heavy assetsOK
    0 assets larger than 500 KB among the 80 heaviest.
  • Orphan pagesOK
    0 pages have no internal links pointing at them.
  • Sitemap coverageOK
    2 sitemaps listing 12 URLs: 0 crawled pages missing, 0 listed URLs broken or redirecting, 0 reachable only via the sitemap.
  • Thin contentOK
    0 of 12 pages have fewer than 200 words.
  • Duplicate contentOK
    0 groups of pages with identical HTML.

Where this scan sits among all scanned sites

1073 sites, median 82%, average 80%

www.brunilaw.com scores 83%, higher than 53% of the 1073 scanned sites. See the full ranking.

027540%: 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%: 0 sites48%: 1 site49%: 0 sites50%: 3 sites51%: 3 sites52%: 1 site53%: 1 site54%: 2 sites55%: 1 site56%: 2 sites57%: 3 sites58%: 6 sites59%: 3 sites60%: 5 sites61%: 8 sites62%: 12 sites63%: 4 sites64%: 8 sites65%: 9 sites66%: 7 sites67%: 15 sites68%: 27 sites69%: 12 sites70%: 21 sites71%: 21 sites72%: 23 sites73%: 24 sites74%: 30 sites75%: 27 sites76%: 38 sites77%: 36 sites78%: 32 sites79%: 30 sites80%: 41 sites81%: 52 sites82%: 49 sites83%: 45 sites84%: 52 sites85%: 47 sites86%: 45 sites87%: 47 sites88%: 54 sites89%: 38 sites90%: 51 sites91%: 36 sites92%: 25 sites93%: 17 sites94%: 16 sites95%: 8 sites96%: 9 sites97%: 4 sites98%: 2 sites99%: 1 site100%: 12 sites83% 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 a good health score, but there are several issues to address that can enhance indexability and improve SEO performance. Focus on resolving title tag issues and adding viewport metadata.

  1. 1

    Fix Redirect Issue

    Why: One redirecting URL can confuse users and search engines.

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

    Checks: redirects

  2. 2

    Resolve Non-200 Response

    Why: Non-200 responses can hinder user access and crawlability.

    How: Ensure the sitemap URL returns a 200 response instead of a 301 redirect.

    Checks: status-codes

  3. 3

    Shorten Title Tags

    Why: Long title tags can get truncated in search results, reducing click-through rates.

    How: Revise titles to be under 60 characters while maintaining key terms.

    Checks: titles

  4. 4

    Add Viewport Meta Tags

    Why: Viewport tags are crucial for responsive design and usability on mobile devices.

    How: Add a meta viewport tag in the <head> section of each page: <meta name='viewport' content='width=device-width, initial-scale=1'>.

    Checks: indexability

  5. 5

    Monitor Indexability Warnings

    Why: Indexability warnings indicate potential issues with how pages are crawled and indexed.

    How: Regularly check and resolve any future indexability warnings reported in crawls.

    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 crawl

Your website has multiple security vulnerabilities that must be addressed. Key issues include missing protections against man-in-the-middle attacks and content injection. Enhancing security headers and updating libraries are critical steps to safeguard user data and site integrity.

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

    Missing HTTP Strict Transport Security (HSTS)Medium

    Why it matters: Without HSTS, users may be vulnerable to man-in-the-middle attacks.

    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: Without CSP, your site could load malicious scripts, leading to cross-site scripting attacks.

    Fix: Add the header: Content-Security-Policy: default-src 'self';

    Evidence: Content Security Policy

  3. 3

    Missing X-Frame-Options HeaderMedium

    Why it matters: Without this header, your site is vulnerable to clickjacking attacks.

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

    Evidence: Clickjacking protection

  4. 4

    Vulnerable JavaScript Library DetectedMedium

    Why it matters: The outdated Bootstrap version has known vulnerabilities that could be exploited.

    Fix: Upgrade Bootstrap to at least version 3.4.1 to mitigate risks.

    Evidence: Vulnerable JavaScript libraries

  5. 5

    Leaked Google API KeyMedium

    Why it matters: An exposed API key can be abused if not properly restricted.

    Fix: Restrict the API key by HTTP referrer and environment settings in the Google Cloud console.

    Evidence: Keys and secrets in page code

  6. 6

    Missing X-Content-Type-Options HeaderLow

    Why it matters: Without this header, browsers may incorrectly interpret files as scripts.

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

    Evidence: MIME sniffing protection

  7. 7

    Server Version DisclosureLow

    Why it matters: Revealing server version can aid attackers in finding vulnerabilities.

    Fix: Hide server details and don't use the x-powered-by header.

    Evidence: Software version disclosure

  8. 8

    Third-Party Scripts Without Subresource IntegrityLow

    Why it matters: Third-party scripts can be compromised without controls like Subresource Integrity.

    Fix: Implement Subresource Integrity for third-party scripts or restrict with a CSP.

    Evidence: Third-party scripts

  9. 9

    Missing Permissions Policy HeaderInfo

    Why it matters: Without this header, unnecessary browser features may be exposed to attacks.

    Fix: Add the header: Permissions-Policy: geolocation=(self), camera=(), microphone=().

    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.

This report was produced by the DIY SEO Hub Site Spider crawling www.brunilaw.com 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.

www.brunilaw.com scan 2026-09-17-2118 | DIY SEO Hub