Scanned sites / macleodoptometry.ca / 2026-11-01-1222

macleodoptometry.ca scan from 2026-11-01 12:22:01 UTC DR 5

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

Scan 2026-11-01-1222

Scanned 2026-11-01 12:22:01 UTC, finished 2026-11-01 12:33:29 UTC. Found on page 3 of brave web search results

Site: https://macleodoptometry.ca/

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

69/ 100Needs work

On November 1, 2026 the Site Spider crawled 622 pages and 423 assets of macleodoptometry.ca, starting from https://macleodoptometry.ca/. It scored 69 out of 100, a result that needs work. 12 of 33 checks found something to fix, led by title tags (490), meta descriptions (519), heavy assets (70); 10 checks passed. Most of the points went to title tags (−8.2), meta descriptions (−6.9), heavy assets (−6). 11 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: High1 high, 5 medium, 3 low and 1 info findings. See the security findings ↓

Pages crawled
622
Assets fetched
423
Status
Completed
Checks with issues
12 of 33
CoverageComplete crawl

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

  • Title tags490 issues
    490 of 521 pages have title issues. 78 noindex or canonicalized pages excluded.
    −8.2 points
  • Meta descriptions519 issues
    519 of 521 pages have meta description issues. 78 noindex or canonicalized pages excluded.
    −6.9 points
  • Headings61 issues
    61 of 521 pages have heading issues. 78 noindex or canonicalized pages excluded.
    −0.6 points
  • Broken links7 issues
    18 internal links point at 7 broken URLs.
    −0.2 points
  • Links to other sites61 issues
    61 destinations answered with an error, 97 could not be determined (timeouts, rate limits or refusals), of 219 destinations checked.
    −4 points
  • Redirects16 issues
    16 redirecting URLs, 0 of them chained.
    −0.1 points
  • Non-200 responses7 issues
    132 URLs did not return a 2xx response. 23 of them are pages, 7 with an error status; the rest are assets or redirects.
    −0.1 points
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 521 indexable pages have indexability warnings. 78 pages noindex by design.
  • Image alt textOK
    0 of 992 image references have no alt attribute. 96 use an empty alt (decorative), which is fine.
  • Heavy assets70 issues
    70 assets larger than 500 KB among 423 fetched assets.
    −6 points
  • Orphan pages119 issues
    119 pages have no internal links pointing at them.
    −0.8 points
  • Sitemap coverage323 issues
    2 sitemaps listing 317 URLs: 204 crawled pages missing, 0 listed URLs broken or redirecting, 119 reachable only via the sitemap.
    −3.2 points
  • Internal link counts254 noted
    Internal link counts for 500 pages; 254 worth a look.
  • Thin content71 issues
    71 of 521 pages have fewer than 200 words. 78 noindex or canonicalized pages excluded.
    −0.9 points
  • Duplicate content4 issues
    1 group of pages with identical HTML.
    −0.1 points
  • URL format36 noted
    36 of 622 page URLs are harder to read, share or cache than they need to be.
  • CanonicalsOK
    0 of 599 pages have a canonical worth checking.
  • Robots directives599 noted
    599 pages carry a robots directive; 0 carry none.
  • Anchor text3 noted
    3 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure459 noted
    459 of 521 pages could use the title, heading and snippet space better. 78 noindex or canonicalized pages excluded.
  • Image weight and alt length36 noted
    36 images over 100 KB; 0 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 599 pages keep their head tags in <head>, once each, under Googlebot's 2 MB.
  • hreflangOK
    No page declares hreflang.
  • Structured data2 noted
    599 of 521 indexable pages carry structured data: BreadcrumbList (599), ListItem (599), Organization (599), WebSite (599), WebPage (510). 2 pages with errors a rich result would fail on.
  • Near duplicates507 noted
    507 pages in 187 groups read almost the same as another page (95% alike or more).
  • Soft 404sOK
    None of 599 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 positions24 noted
    24 of 402 linked pages are linked only from the template, never from another page's content.
  • Pagination422 noted
    432 pages in pagination sequences; 422 with problems.
  • Headers and cookiesOK
    0 cookies set by the site; 13 response headers recorded across 1045 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 599 pages; 539 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.
  • Spelling52 noted
    52 words an English dictionary does not know, on 96 pages. Product names and jargon will appear here too.

Where this scan sits among all scanned sites

2704 sites, median 80%, average 78%

macleodoptometry.ca scores 69%, higher than 15% of the 2704 scanned sites. See the full ranking.

0631260%: 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%: 2 sites45%: 6 sites46%: 5 sites47%: 5 sites48%: 6 sites49%: 8 sites50%: 6 sites51%: 6 sites52%: 8 sites53%: 9 sites54%: 10 sites55%: 9 sites56%: 7 sites57%: 16 sites58%: 18 sites59%: 9 sites60%: 15 sites61%: 13 sites62%: 20 sites63%: 29 sites64%: 21 sites65%: 33 sites66%: 40 sites67%: 40 sites68%: 39 sites69%: 50 sites70%: 46 sites71%: 78 sites72%: 74 sites73%: 82 sites74%: 77 sites75%: 87 sites76%: 96 sites77%: 107 sites78%: 123 sites79%: 109 sites80%: 124 sites81%: 120 sites82%: 123 sites83%: 118 sites84%: 126 sites85%: 102 sites86%: 90 sites87%: 91 sites88%: 77 sites89%: 72 sites90%: 52 sites91%: 56 sites92%: 40 sites93%: 28 sites94%: 23 sites95%: 14 sites96%: 17 sites97%: 15 sites98%: 7 sites99%: 2 sites100%: 76 sites69% 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 several issues that need immediate attention, including broken links and problems with titles and meta descriptions. Addressing these will improve user experience and search engine ranking.

  1. 1

    Fix Broken Links

    Why: Broken links hinder user experience and SEO.

    How: Identify and update or remove the 18 internal links pointing to 7 broken URLs.

    Checks: broken-links

  2. 2

    Address Non-200 Responses

    Why: 132 URLs not returning 2xx status can negatively impact SEO.

    How: Review these URLs and ensure they either function correctly or are redirected appropriately.

    Checks: status-codes

  3. 3

    Optimize Title Tags

    Why: 490 pages with title issues can affect SEO visibility.

    How: Create unique title tags for each page, emphasizing relevant keywords.

    Checks: titles

  4. 4

    Improve Meta Descriptions

    Why: 519 pages lack effective meta descriptions, hurting click-through rates.

    How: Write concise and engaging meta descriptions for the identified pages.

    Checks: meta-descriptions

  5. 5

    Reduce Heavy Assets

    Why: Too many large assets can slow down the site.

    How: Compress and optimize images, particularly the large ones identified in the report.

    Checks: heavy-assets

  6. 6

    Update Sitemap Coverage

    Why: 204 pages missing from sitemaps can affect indexing.

    How: Ensure all pages are appropriately listed in the sitemap for better crawl efficiency.

    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

The evaluation of macleodoptometry.ca reveals several important security issues that require immediate action, particularly concerning HTTPS implementation and header configurations. These vulnerabilities could expose user data and the site to various attack vectors.

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

    Insecure HTTP PagesHigh

    Why it matters: 239 pages can be accessed over HTTP without HTTPS, exposing them to attacks.

    Fix: Implement redirect from HTTP to HTTPS on all pages to secure communication.

    Evidence: HTTPS

  2. 2

    Missing HSTS HeaderMedium

    Why it matters: Lack of HSTS makes first requests vulnerable to interception.

    Fix: Add the header: Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

    Evidence: HTTP Strict Transport Security

  3. 3

    No Content Security PolicyMedium

    Why it matters: Absence of CSP allows unrestricted loading of resources, increasing XSS risks.

    Fix: Implement a Content-Security-Policy header to restrict sources for scripts and styles.

    Evidence: Content Security Policy

  4. 4

    Missing X-Frame-Options HeaderMedium

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

    Fix: Include X-Frame-Options: DENY in your response headers.

    Evidence: Clickjacking protection

  5. 5

    Vulnerable JavaScript LibraryMedium

    Why it matters: jQuery 1.7.0 contains known vulnerabilities that could be exploited.

    Fix: Upgrade jQuery to at least version 3.5.0.

    Evidence: Vulnerable JavaScript libraries

  6. 6

    Leaked API KeyMedium

    Why it matters: A Google API key is exposed in the source code, risking unauthorized use.

    Fix: Restrict the API key with HTTP referrer restrictions in the Google Cloud console.

    Evidence: Keys and secrets in page code

  7. 7

    No X-Content-Type-Options HeaderLow

    Why it matters: Failure to send this header could allow MIME sniffing, leading to security issues.

    Fix: Add X-Content-Type-Options: nosniff to your headers.

    Evidence: MIME sniffing protection

  8. 8

    Missing Referrer-Policy HeaderLow

    Why it matters: Absence of referrer policy may expose user data while navigating to other sites.

    Fix: Set: Referrer-Policy: no-referrer-when-downgrade in response headers.

    Evidence: Referrer policy

  9. 9

    Server Version DisclosureLow

    Why it matters: Revealing server version details can help attackers find vulnerabilities.

    Fix: Modify server configuration to prevent version disclosure, removing or altering 'Server' and 'X-Powered-By' headers.

    Evidence: Software version disclosure

  10. 10

    No Permissions-Policy HeaderInfo

    Why it matters: Without this policy, browser features could be misused by injected scripts.

    Fix: Add a Permissions-Policy header to limit features like camera and microphone.

    Evidence: Permissions policy

What the checks found

  • FoundHTTPSHigh

    239 pages answered 200 over plain HTTP with no redirect to HTTPS, while 360 were served over HTTPS. Anyone on the network path can read or alter these pages.

    • http://macleodoptometry.ca/ → 200 over http
    • http://macleodoptometry.ca/eyeexams/ → 200 over http
    • http://macleodoptometry.ca/doctor/ → 200 over http
    • http://macleodoptometry.ca/contact-us/ → 200 over http
    • http://macleodoptometry.ca/services/ → 200 over http
    • http://macleodoptometry.ca/eye-exams-in-calgary/ → 200 over http
    • http://macleodoptometry.ca/adulteyeexams/ → 200 over http
    • http://macleodoptometry.ca/childrenseyeexams/ → 200 over http
    • http://macleodoptometry.ca/senioreyeexams/ → 200 over http
    • http://macleodoptometry.ca/dryeyetreatment/ → 200 over http
    • http://macleodoptometry.ca/myopiacontrol/ → 200 over http
    • http://macleodoptometry.ca/contactlenses/ → 200 over http
  • 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://macleodoptometry.ca/ → no strict-transport-security
    • https://macleodoptometry.ca/services/ → no strict-transport-security
    • https://macleodoptometry.ca/eye-exams-in-calgary/ → no strict-transport-security
    • https://macleodoptometry.ca/adulteyeexams/ → no strict-transport-security
    • https://macleodoptometry.ca/childrenseyeexams/ → no strict-transport-security
    • https://macleodoptometry.ca/senioreyeexams/ → no strict-transport-security
    • https://macleodoptometry.ca/dryeyetreatment/ → no strict-transport-security
    • https://macleodoptometry.ca/myopiacontrol/ → no strict-transport-security
    • https://macleodoptometry.ca/contactlenses/ → no strict-transport-security
    • https://macleodoptometry.ca/medicalvisits/ → no strict-transport-security
    • https://macleodoptometry.ca/retinalimagingandphotography/ → no strict-transport-security
    • https://macleodoptometry.ca/cornealtopography/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 599 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://macleodoptometry.ca/ → no content-security-policy
    • https://macleodoptometry.ca/services/ → no content-security-policy
    • https://macleodoptometry.ca/eye-exams-in-calgary/ → no content-security-policy
    • https://macleodoptometry.ca/adulteyeexams/ → no content-security-policy
    • https://macleodoptometry.ca/childrenseyeexams/ → no content-security-policy
    • https://macleodoptometry.ca/senioreyeexams/ → no content-security-policy
    • https://macleodoptometry.ca/dryeyetreatment/ → no content-security-policy
    • https://macleodoptometry.ca/myopiacontrol/ → no content-security-policy
    • https://macleodoptometry.ca/contactlenses/ → no content-security-policy
    • https://macleodoptometry.ca/medicalvisits/ → no content-security-policy
    • https://macleodoptometry.ca/retinalimagingandphotography/ → no content-security-policy
    • https://macleodoptometry.ca/cornealtopography/ → 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://macleodoptometry.ca/ → no x-frame-options
    • https://macleodoptometry.ca/services/ → no x-frame-options
    • https://macleodoptometry.ca/eye-exams-in-calgary/ → no x-frame-options
    • https://macleodoptometry.ca/adulteyeexams/ → no x-frame-options
    • https://macleodoptometry.ca/childrenseyeexams/ → no x-frame-options
    • https://macleodoptometry.ca/senioreyeexams/ → no x-frame-options
    • https://macleodoptometry.ca/dryeyetreatment/ → no x-frame-options
    • https://macleodoptometry.ca/myopiacontrol/ → no x-frame-options
    • https://macleodoptometry.ca/contactlenses/ → no x-frame-options
    • https://macleodoptometry.ca/medicalvisits/ → no x-frame-options
    • https://macleodoptometry.ca/retinalimagingandphotography/ → no x-frame-options
    • https://macleodoptometry.ca/cornealtopography/ → 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://macleodoptometry.ca/ → no x-content-type-options
    • https://macleodoptometry.ca/services/ → no x-content-type-options
    • https://macleodoptometry.ca/eye-exams-in-calgary/ → no x-content-type-options
    • https://macleodoptometry.ca/adulteyeexams/ → no x-content-type-options
    • https://macleodoptometry.ca/childrenseyeexams/ → no x-content-type-options
    • https://macleodoptometry.ca/senioreyeexams/ → no x-content-type-options
    • https://macleodoptometry.ca/dryeyetreatment/ → no x-content-type-options
    • https://macleodoptometry.ca/myopiacontrol/ → no x-content-type-options
    • https://macleodoptometry.ca/contactlenses/ → no x-content-type-options
    • https://macleodoptometry.ca/medicalvisits/ → no x-content-type-options
    • https://macleodoptometry.ca/retinalimagingandphotography/ → no x-content-type-options
    • https://macleodoptometry.ca/cornealtopography/ → 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://macleodoptometry.ca/ → no referrer-policy
    • https://macleodoptometry.ca/services/ → no referrer-policy
    • https://macleodoptometry.ca/eye-exams-in-calgary/ → no referrer-policy
    • https://macleodoptometry.ca/adulteyeexams/ → no referrer-policy
    • https://macleodoptometry.ca/childrenseyeexams/ → no referrer-policy
    • https://macleodoptometry.ca/senioreyeexams/ → no referrer-policy
    • https://macleodoptometry.ca/dryeyetreatment/ → no referrer-policy
    • https://macleodoptometry.ca/myopiacontrol/ → no referrer-policy
    • https://macleodoptometry.ca/contactlenses/ → no referrer-policy
    • https://macleodoptometry.ca/medicalvisits/ → no referrer-policy
    • https://macleodoptometry.ca/retinalimagingandphotography/ → no referrer-policy
    • https://macleodoptometry.ca/cornealtopography/ → 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://macleodoptometry.ca/ → no permissions-policy
    • https://macleodoptometry.ca/services/ → no permissions-policy
    • https://macleodoptometry.ca/eye-exams-in-calgary/ → no permissions-policy
    • https://macleodoptometry.ca/adulteyeexams/ → no permissions-policy
    • https://macleodoptometry.ca/childrenseyeexams/ → no permissions-policy
    • https://macleodoptometry.ca/senioreyeexams/ → no permissions-policy
    • https://macleodoptometry.ca/dryeyetreatment/ → no permissions-policy
    • https://macleodoptometry.ca/myopiacontrol/ → no permissions-policy
    • https://macleodoptometry.ca/contactlenses/ → no permissions-policy
    • https://macleodoptometry.ca/medicalvisits/ → no permissions-policy
    • https://macleodoptometry.ca/retinalimagingandphotography/ → no permissions-policy
    • https://macleodoptometry.ca/cornealtopography/ → 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: Apache (1045 responses)
    • x-powered-by: PHP/7.4.33 (734 responses)
  • FoundVulnerable JavaScript librariesMedium

    1 library with published vulnerabilities: jQuery 1.7.0. Whether they are exploitable depends on how the site uses them, but each has a fixed release.

    • jQuery 1.7.0 in https://macleodoptometry.ca/wp-content/themes/salient/js/build/third-party/hove…: CVE-2012-6708 (selector XSS), CVE-2015-9251, CVE-2019-11358, CVE-2020-11022, CVE-2020-11023; fixed in 3.5.0
  • FoundKeys and secrets in page codeMedium

    1 credential-like value found in code served to every visitor: Google API key.

    • Google API key AIzaSy…Ts (39 chars) in https://macleodoptometry.ca/: 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 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.google-analytics.com (40 script tags)
    • www.googletagmanager.com (160 script tags)
    • www.google.com (40 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-admin/
3 checks passed, 1 not applicable
  • OKMixed content

    No HTTPS page loads a script, stylesheet, font or image over plain HTTP.

  • OKForms over HTTPS

    41 forms found, all on HTTPS pages posting to HTTPS addresses.

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

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

Own macleodoptometry.ca?

  • 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 macleodoptometry.ca. Removal needs no account and no proof of purchase.