Scanned sites / www.mhphoto.com

SEO report for www.mhphoto.com DR 12

The latest Site Spider scan of www.mhphoto.com, with 3 scans on record. Each scan is at its own address, for example /domain/www-mhphoto-com/2026-10-03-0212.

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

Latest scan

Scanned 2026-10-03 02:12:53 UTC, finished 2026-10-03 03:40:20 UTC. Found on page 1 of brave web search results

Site: https://www.mhphoto.com/

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

76/ 100Good

On October 3, 2026 the Site Spider crawled 21 pages and 341 assets of www.mhphoto.com, starting from https://www.mhphoto.com/. It scored 76 out of 100, a good result. 11 of 27 checks found something to fix, led by title tags (11), meta descriptions (8), heavy assets (5); 8 checks passed. Most of the points went to title tags (−7.9), meta descriptions (−4.6), heavy assets (−3). 8 checks found something the score does not count, listed as noted. 10 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: Medium4 medium, 2 low and 1 info findings. See the security findings ↓

Pages crawled
21
Assets fetched
341
Status
Completed
Checks with issues
11 of 27
CoverageComplete crawl

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

  • Title tags11 issues
    11 of 14 pages have title issues.
    −7.9 points
  • Meta descriptions8 issues
    8 of 14 pages have meta description issues.
    −4.6 points
  • Headings2 issues
    2 of 14 pages have heading issues.
    −0.9 points
  • Broken links1 issue
    1 internal link point at 1 broken URL.
    −1.4 points
  • Links to other sites28 noted
    0 destinations answered with an error, 2 could not be determined (timeouts, rate limits or refusals), of 2 destinations checked.
  • Redirects6 issues
    7 redirecting URLs, 0 of them chained.
    −1.7 points
  • Non-200 responses1 issue
    9 URLs did not return a 2xx response. 7 of them are pages, 1 with an error status; the rest are assets or redirects.
    −0.7 points
  • Rate limitedOK
    The site did not rate limit the crawler.
  • IndexabilityOK
    0 of 14 indexable pages have indexability warnings.
  • Image alt text81 issues
    81 of 373 image references have no alt attribute. 126 use an empty alt (decorative), which is fine.
    −1.3 points
  • Heavy assets5 issues
    5 assets larger than 500 KB among 341 fetched assets.
    −3 points
  • Orphan pages2 issues
    2 pages have no internal links pointing at them.
    −0.6 points
  • Sitemap coverage2 issues
    3 sitemaps listing 14 URLs: 0 crawled pages missing, 0 listed URLs broken or redirecting, 2 reachable only via the sitemap.
    −0.9 points
  • Internal link countsOK
    Internal link counts for 14 pages; none is a dead end or buried.
  • Thin content2 issues
    2 of 14 pages have fewer than 200 words.
    −1.1 points
  • Duplicate contentOK
    0 groups of pages with identical HTML.
  • URL format1 noted
    1 of 21 page URLs are harder to read, share or cache than they need to be.
  • CanonicalsOK
    0 of 14 pages have a canonical worth checking.
  • Robots directives14 noted
    14 pages carry a robots directive; 0 carry none.
  • Anchor text4 noted
    4 destinations are linked without useful anchor text, or with nofollow.
  • Title and heading structure3 noted
    3 of 14 pages could use the title, heading and snippet space better.
  • Image weight and alt length40 noted
    40 images over 100 KB; 0 with alt text over 100 characters.
  • Response anomalies1 noted
    1 URL answered in a way worth looking at.
  • HTML and head validationNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • hreflangNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Structured dataNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Near duplicatesNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Soft 404sOK
    None of 14 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 positionsNot checked
    Not checked: this scan was crawled before link positions were recorded. Scan the site again to run it.
  • PaginationNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.
  • Headers and cookiesOK
    0 cookies set by the site; 11 response headers recorded across 362 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 14 pages; 0 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 Insights5 noted
    Mobile performance 54 on average across 5 pages; 5 below Google's good thresholds.
  • SpellingNot checked
    Not checked: this scan was crawled before this check existed. Scan the site again to run it.

What changed since the last scan

-6 points

www.mhphoto.com lost 6 points since the previous scan, moving from 82 to 76 out of 100. 34 findings changed. 406 URLs the earlier crawl reached were not reached this time. The crawl reached 4 more pages than last time, 21 in total, so some of the change is a change in what was crawled. Across 3 scans on record it is down 6 points overall.

  • Pages: 4 new, 2 gone, 3 not re-checked
  • Broken links: 1 new
  • Page status codes: 4 new, 1 gone, 2 changed
  • Redirects: 5 new, 1 not re-checked
  • H1 headings: 5 changed
  • Internal links to the page: 10 changed
  • 406 URLs from the earlier crawl were not reached this time
  1. 2026-09-13 06:02:51 UTC82/10017 pages
  2. 2026-09-13 10:13:05 UTC82/10017 pages
  3. 2026-10-03 02:12:53 UTC76/10021 pages

Where this site sits among all scanned sites

2336 sites, median 79%, average 78%

www.mhphoto.com scores 76%, higher than 35% of the 2336 scanned sites. See the full ranking.

0581150%: 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%: 1 site34%: 0 sites35%: 2 sites36%: 2 sites37%: 1 site38%: 3 sites39%: 1 site40%: 3 sites41%: 1 site42%: 1 site43%: 3 sites44%: 1 site45%: 4 sites46%: 5 sites47%: 5 sites48%: 3 sites49%: 6 sites50%: 5 sites51%: 5 sites52%: 10 sites53%: 6 sites54%: 8 sites55%: 9 sites56%: 8 sites57%: 12 sites58%: 17 sites59%: 9 sites60%: 16 sites61%: 12 sites62%: 19 sites63%: 27 sites64%: 22 sites65%: 32 sites66%: 35 sites67%: 35 sites68%: 34 sites69%: 47 sites70%: 44 sites71%: 70 sites72%: 71 sites73%: 69 sites74%: 68 sites75%: 72 sites76%: 87 sites77%: 92 sites78%: 107 sites79%: 84 sites80%: 109 sites81%: 104 sites82%: 115 sites83%: 99 sites84%: 106 sites85%: 86 sites86%: 71 sites87%: 74 sites88%: 58 sites89%: 64 sites90%: 36 sites91%: 47 sites92%: 38 sites93%: 24 sites94%: 16 sites95%: 12 sites96%: 12 sites97%: 12 sites98%: 4 sites99%: 2 sites100%: 69 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

Written from an earlier version of the analysis (rules v4). The findings on this page have been recomputed since, so counts and labels here may differ from what the plan describes. The advice still points at the same checks.

Your site has several issues affecting SEO and user experience. Addressing broken links, redirects, title tags, and thin content is crucial for optimization.

  1. 1

    Fix Broken Link

    Why: A broken link can frustrate users and harm SEO.

    How: Update the link on your 'Home' page to a working URL. Check the correct destination.

    Checks: broken-links

  2. 2

    Resolve Redirects

    Why: Redirects can slow down site loading times.

    How: Redirect URLs to their final destination directly to reduce hops. Check each redirect listed.

    Checks: redirects

  3. 3

    Improve Title Tags

    Why: Optimized titles enhance search visibility.

    How: Revise titles to be unique and within 60 characters; avoid duplication.

    Checks: titles

  4. 4

    Enhance Meta Descriptions

    Why: Meta descriptions influence click-through rates.

    How: Ensure all pages have unique meta descriptions under 160 characters.

    Checks: meta-descriptions

  5. 5

    Address Thin Content

    Why: Pages with less than 200 words may rank poorly.

    How: Add valuable content to the identified pages, ensuring relevance.

    Checks: thin-content

  6. 6

    Add Alt Text to Images

    Why: Image alt text aids accessibility and SEO.

    How: Add descriptive alt attributes to the 81 missing and 126 empty images.

    Checks: images-alt

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 has multiple security headers missing, exposing visitors to potential attacks such as clickjacking and content injection. A Google API key is also publicly exposed, which could be misused. Implementing required headers and restricting API keys will enhance the site's security significantly.

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

    Missing HTTP Strict Transport Security (HSTS)Medium

    Why it matters: Without HSTS, users can be exposed to downgrade attacks by intercepting initial requests over 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: Absence of a CSP allows scripts and resources to load from any source, increasing risk of XSS attacks.

    Fix: Add the header: Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-source.com.

    Evidence: Content Security Policy

  3. 3

    Missing Clickjacking ProtectionMedium

    Why it matters: Lack of X-Frame-Options allows the site to be embedded in an iframe, leading to potential clickjacking attacks.

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

    Evidence: Clickjacking protection

  4. 4

    Exposed Google API KeyMedium

    Why it matters: An exposed API key can be abused if not properly restricted, leading to unexpected charges or data exposure.

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

    Evidence: Keys and secrets in page code

  5. 5

    Missing MIME Sniffing ProtectionLow

    Why it matters: Without X-Content-Type-Options, browsers may incorrectly interpret files, posing a security risk.

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

    Evidence: MIME sniffing protection

  6. 6

    Missing Referrer PolicyLow

    Why it matters: Without a referrer policy, sensitive page URLs may be shared with third-party sites.

    Fix: Add the header: Referrer-Policy: no-referrer.

    Evidence: Referrer policy

  7. 7

    No Permissions Policy DefinedInfo

    Why it matters: Implementing a permissions policy can limit the capabilities of scripts, enhancing overall security.

    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.mhphoto.com/ → no strict-transport-security
    • https://www.mhphoto.com/services/ → no strict-transport-security
    • https://www.mhphoto.com/services/calgary-headshots-corporate-photography/ → no strict-transport-security
    • https://www.mhphoto.com/services/event-conference-headshot-booths/ → no strict-transport-security
    • https://www.mhphoto.com/services/family-portraits/ → no strict-transport-security
    • https://www.mhphoto.com/services/location-photography/ → no strict-transport-security
    • https://www.mhphoto.com/services/actors-models-lifestyle-portrait/ → no strict-transport-security
    • https://www.mhphoto.com/passport-and-visa-photos/ → no strict-transport-security
    • https://www.mhphoto.com/frequently-asked-questions/ → no strict-transport-security
    • https://www.mhphoto.com/testimonials/ → no strict-transport-security
    • https://www.mhphoto.com/about-us/ → no strict-transport-security
    • https://www.mhphoto.com/contact/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 14 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.mhphoto.com/ → no content-security-policy
    • https://www.mhphoto.com/services/ → no content-security-policy
    • https://www.mhphoto.com/services/calgary-headshots-corporate-photography/ → no content-security-policy
    • https://www.mhphoto.com/services/event-conference-headshot-booths/ → no content-security-policy
    • https://www.mhphoto.com/services/family-portraits/ → no content-security-policy
    • https://www.mhphoto.com/services/location-photography/ → no content-security-policy
    • https://www.mhphoto.com/services/actors-models-lifestyle-portrait/ → no content-security-policy
    • https://www.mhphoto.com/passport-and-visa-photos/ → no content-security-policy
    • https://www.mhphoto.com/frequently-asked-questions/ → no content-security-policy
    • https://www.mhphoto.com/testimonials/ → no content-security-policy
    • https://www.mhphoto.com/about-us/ → no content-security-policy
    • https://www.mhphoto.com/contact/ → 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.mhphoto.com/ → no x-frame-options
    • https://www.mhphoto.com/services/ → no x-frame-options
    • https://www.mhphoto.com/services/calgary-headshots-corporate-photography/ → no x-frame-options
    • https://www.mhphoto.com/services/event-conference-headshot-booths/ → no x-frame-options
    • https://www.mhphoto.com/services/family-portraits/ → no x-frame-options
    • https://www.mhphoto.com/services/location-photography/ → no x-frame-options
    • https://www.mhphoto.com/services/actors-models-lifestyle-portrait/ → no x-frame-options
    • https://www.mhphoto.com/passport-and-visa-photos/ → no x-frame-options
    • https://www.mhphoto.com/frequently-asked-questions/ → no x-frame-options
    • https://www.mhphoto.com/testimonials/ → no x-frame-options
    • https://www.mhphoto.com/about-us/ → no x-frame-options
    • https://www.mhphoto.com/contact/ → 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.mhphoto.com/ → no x-content-type-options
    • https://www.mhphoto.com/services/ → no x-content-type-options
    • https://www.mhphoto.com/services/calgary-headshots-corporate-photography/ → no x-content-type-options
    • https://www.mhphoto.com/services/event-conference-headshot-booths/ → no x-content-type-options
    • https://www.mhphoto.com/services/family-portraits/ → no x-content-type-options
    • https://www.mhphoto.com/services/location-photography/ → no x-content-type-options
    • https://www.mhphoto.com/services/actors-models-lifestyle-portrait/ → no x-content-type-options
    • https://www.mhphoto.com/passport-and-visa-photos/ → no x-content-type-options
    • https://www.mhphoto.com/frequently-asked-questions/ → no x-content-type-options
    • https://www.mhphoto.com/testimonials/ → no x-content-type-options
    • https://www.mhphoto.com/about-us/ → no x-content-type-options
    • https://www.mhphoto.com/contact/ → 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://www.mhphoto.com/ → no referrer-policy
    • https://www.mhphoto.com/services/ → no referrer-policy
    • https://www.mhphoto.com/services/calgary-headshots-corporate-photography/ → no referrer-policy
    • https://www.mhphoto.com/services/event-conference-headshot-booths/ → no referrer-policy
    • https://www.mhphoto.com/services/family-portraits/ → no referrer-policy
    • https://www.mhphoto.com/services/location-photography/ → no referrer-policy
    • https://www.mhphoto.com/services/actors-models-lifestyle-portrait/ → no referrer-policy
    • https://www.mhphoto.com/passport-and-visa-photos/ → no referrer-policy
    • https://www.mhphoto.com/frequently-asked-questions/ → no referrer-policy
    • https://www.mhphoto.com/testimonials/ → no referrer-policy
    • https://www.mhphoto.com/about-us/ → no referrer-policy
    • https://www.mhphoto.com/contact/ → 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://www.mhphoto.com/ → no permissions-policy
    • https://www.mhphoto.com/services/ → no permissions-policy
    • https://www.mhphoto.com/services/calgary-headshots-corporate-photography/ → no permissions-policy
    • https://www.mhphoto.com/services/event-conference-headshot-booths/ → no permissions-policy
    • https://www.mhphoto.com/services/family-portraits/ → no permissions-policy
    • https://www.mhphoto.com/services/location-photography/ → no permissions-policy
    • https://www.mhphoto.com/services/actors-models-lifestyle-portrait/ → no permissions-policy
    • https://www.mhphoto.com/passport-and-visa-photos/ → no permissions-policy
    • https://www.mhphoto.com/frequently-asked-questions/ → no permissions-policy
    • https://www.mhphoto.com/testimonials/ → no permissions-policy
    • https://www.mhphoto.com/about-us/ → no permissions-policy
    • https://www.mhphoto.com/contact/ → no permissions-policy
  • FoundKeys and secrets in page codeMedium

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

    • Google API key AIzaSy…Cs (39 chars) in https://www.mhphoto.com/: 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 5 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.)

    • use.fontawesome.com (14 script tags)
    • www.googletagmanager.com (14 script tags)
    • starwall.io (1 script tag)
    • maps.googleapis.com (14 script tags)
    • www.google.com (14 script tags)
7 checks passed, 1 not applicable
  • OKHTTPS

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

  • OKMixed content

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

  • OKForms over HTTPS

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

  • OKVulnerable JavaScript libraries

    1 library version recognised, none with known vulnerabilities.

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

Earlier scans of www.mhphoto.com

Sites scoring near www.mhphoto.com

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

Own www.mhphoto.com?