Audit Result

UUID: 019e9080-a646-725c-8ef4-73cdbfcf4174

dev.mobileframers.com

https://dev.mobileframers.com/

Scanned 3 months ago

67
Fair Score
39 total checks
Passed
16
Warnings
20
Errors
3

Meta Information

  • Title Tag Warning

    Found 92 characters. Keep title between 30 and 60 characters.

    Fix: Add a unique <title> tag describing the main page intent in 30-60 characters.

  • Found 155 characters. Good snippet length.

  • Canonical URL Warning

    Canonical link not found.

    Fix: Add <link rel="canonical" href="https://example.com/page"> to avoid duplicate URL ambiguity.

  • Favicon Pass

    Favicon found and reachable: /favicon.ico?favicon.58b476fb.ico (HTTP 200).

    Favicon
  • Viewport configured: width=device-width, initial-scale=1

  • HTML Lang Pass

    Language declared as "en".

Content Structure

  • H1 Tag Warning

    Found 6 H1 tags.

    Fix: Use a single, descriptive <h1> that states the primary purpose of the page.

  • Detected 1 heading level jumps.

    • • Skipped from h1 to h3: "Framing Tips & Ideas" -> "How to Frame Canvas Paintings".

    Fix: Follow semantic order (h1 -> h2 -> h3) and avoid skipping heading levels.

  • All 40 images include alt text.

Technical Optimization

  • HTTPS Pass

    Page is served over HTTPS.

  • 2 HTTPS hardening issues detected.

    • • Missing Strict-Transport-Security header.
    • • Could not probe the HTTP version of this page.

    Fix: Set Strict-Transport-Security with a long max-age, add includeSubDomains, and redirect all HTTP requests to HTTPS.

  • Missing: strict-transport-security, content-security-policy, x-frame-options, x-content-type-options, referrer-policy.

    Full HTTP headers (13)
    • • cache-control: s-maxage=31536000
    • • connection: keep-alive
    • • content-encoding: gzip
    • • content-type: text/html; charset=utf-8
    • • date: Thu, 04 Jun 2026 02:39:58 GMT
    • • etag: "zl759yvf7j4rry"
    • • server: nginx/1.24.0 (Ubuntu)
    • • transfer-encoding: chunked
    • • vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding
    • • x-nextjs-cache: HIT
    • • x-nextjs-prerender: 1 1
    • • x-nextjs-stale-time: 300
    • • x-powered-by: Next.js

    Fix: Add the missing security headers at your reverse proxy or application layer.

  • CSP Quality Warning

    Content-Security-Policy header is missing.

    • • Missing Content-Security-Policy header.

    Fix: Define a restrictive Content-Security-Policy and avoid unsafe directives such as unsafe-inline and unsafe-eval.

  • No first-party cookies were set during the initial page load.

  • Versioned headers detected: server.

    • • server: nginx/1.24.0 (Ubuntu)

    Fix: Hide or remove version tokens in Server and X-Powered-By headers.

  • Domain does not appear to be behind Cloudflare.

  • Loaded in 0.36s (perceived).

  • 26 scripts and 2 styles may block rendering.

    • • script: https://dev.mobileframers.com/_next/static/chunks/a6dad97d9634a72d.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/02e1ae5819ce2bf3.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/eee7616678db7b99.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/9a4a45c7f5d69747.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/a9f6c9b9107b445c.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/4345819d4620541a.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/1398ed2c66a962a0.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/dc54c878dfb33ba7.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/711d26e016e97852.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/43b7f1e06c5f7280.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/55664683b9efd1e3.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/055abd0acf854348.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/1a4645b47a483b30.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/efb5afc5e886a990.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/b0cd0d923d13441d.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/478f309390b1d1d4.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/a05edc4fbf56a0e6.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/7a6323d3b44cea52.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/96c133579c0ba5d1.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/91d61ee4580cd021.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/9759e7ffcc9d7c69.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/c6e4df5bd49ba7a1.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/b931a5bb13ade40e.js
    • • script: https://dev.mobileframers.com/_next/static/chunks/b866f80205316a0f.js
    • • script: https://maps.googleapis.com/maps-api-v3/api/js/65/2d/common.js
    • • script: https://maps.googleapis.com/maps-api-v3/api/js/65/2d/util.js
    • • style: https://dev.mobileframers.com/_next/static/chunks/3640994da3549c21.css
    • • style: https://dev.mobileframers.com/_next/static/chunks/8156786ada532788.css

    Fix: Defer non-critical scripts and inline critical CSS to improve first paint speed.

  • Compression Warning

    5 text resources look uncompressed.

    • • https://dev.mobileframers.com/_next/static/chunks/d96012bcfc98706a.js (application/javascript; charset=UTF-8)
    • • https://api.mobileframers.com/api/cart/count (application/json)
    • • https://api.mobileframers.com/api/testimonials (application/json)
    • • https://api.mobileframers.com/api/frames?page=1&search=&order_by=digital_order&per_page=8 (application/json)
    • • https://dev.mobileframers.com/_next/static/chunks/4345819d4620541a.js (application/javascript; charset=UTF-8)

    Fix: Enable Brotli or Gzip compression for HTML, CSS, JS, and JSON responses.

  • Robots.txt Error

    robots.txt missing or inaccessible (404).

    Fix: Create a robots.txt file at https://dev.mobileframers.com/robots.txt and allow intended crawlers.

  • Sitemap File Warning

    Sitemap missing or inaccessible at https://dev.mobileframers.com/sitemap.xml (404).

    Fix: Publish a sitemap.xml and reference it in robots.txt with: Sitemap: https://dev.mobileframers.com/sitemap.xml

  • No robots meta tag defined.

    Fix: Add <meta name="robots" content="index,follow"> (or the intended directive) in <head>.

Accessibility Basics

  • Form Labels Error

    1 of 1 controls are missing labels.

    • • input[type="email"].file:text-foreground.placeholder:text-muted-foreground (Enter your email)

    Fix: Associate each form control with a visible label, aria-label, or aria-labelledby.

  • Landmarks Warning

    Missing landmarks: header, main, footer.

    Fix: Use semantic regions (<header>, <nav>, <main>, <footer>) for navigation and assistive tech.

  • Tap Target Size Warning

    24 interactive elements appear smaller than 48px.

    • • a.data-[active=true]:focus:bg-accent.data-[active=true]:hover:bg-accent (Home) - 69x40px
    • • a.data-[active=true]:focus:bg-accent.data-[active=true]:hover:bg-accent (About) - 72x40px
    • • a.data-[active=true]:focus:bg-accent.data-[active=true]:hover:bg-accent (Our Process) - 113x40px
    • • button#radix-_r_0_-trigger-radix-_r_4_.group.inline-flex (Get Framed) - 124x36px
    • • a.data-[active=true]:focus:bg-accent.data-[active=true]:hover:bg-accent (Giving Back) - 109x40px
    • • a.data-[active=true]:focus:bg-accent.data-[active=true]:hover:bg-accent (Gift Card) - 91x40px
    • • a.inline-flex.items-center - 36x36px
    • • a.inline-flex.items-center - 36x36px
    • • a.inline-flex.items-center (Start Framing) - 127x32px
    • • button#radix-_r_a_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_c_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_e_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_g_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_i_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_k_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_m_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button#radix-_r_o_.cursor-pointer.whitespace-nowrap (Start Framing) - 242x40px
    • • button.inline-flex.items-center (Previous slide) - 40x40px
    • • button.inline-flex.items-center (Next slide) - 40x40px
    • • a.line-clamp-2 (How to Frame Canvas Paintings) - 384x30px
    • • button.inline-flex.items-center (Subscribe) - 101x36px
    • • button.p-2.rounded-full (Toggle theme) - 36x36px
    • • a.mx-2.text-sm (Terms & Conditions) - 126x20px
    • • a.mx-2.text-sm (Privacy Policy) - 88x20px

    Fix: Increase target size to at least 48x48 CSS pixels for touch interactions.

Social & Rich Results

  • Core Open Graph tags are present.

  • og:image is missing.

    Fix: Add <meta property="og:image" content="https://..."> with a high-quality share image.

  • twitter:card set to summary_large_image.

  • Structured Data Warning

    No JSON-LD schema scripts found.

    Fix: Add JSON-LD structured data matching your page type (Organization, Article, Product, etc.).

  • PWA Metadata Warning

    Manifest or Apple touch icon is missing.

    Fix: Link your web app manifest and apple-touch-icon for improved install/share experiences.

  • 3 social preview quality issues detected.

    • • ISSUE: og:url points to a different origin than the scanned page.
    • • ISSUE: og:title should typically be between 10 and 70 characters.
    • • ISSUE: Use an absolute URL for og:image or twitter:image.
    • • GUIDELINE: Optimal og:title length: 40-60 characters (acceptable: 10-70).
    • • GUIDELINE: Optimal og:description length: 110-160 characters (acceptable: 50-200).
    • • GUIDELINE: Optimal preview image size: 1200x630 pixels.
    • • GUIDELINE: Optimal preview image aspect ratio: 1.91:1.
    • • GUIDELINE: Optimal preview image file size: under 5 MB.
    • • GUIDELINE: Recommended twitter:card: summary_large_image.

    Fix: Use absolute OG/Twitter URLs, keep metadata lengths in recommended ranges, and provide a preview image near 1200x630 under 5MB.

Links Analysis

  • Checked 35 links. No broken internal links found.

  • External Links Warning

    1 external links returned errors or timed out.

    • • https://www.instagram.com/mobileframers/?hl=en (HTTP 429)

    Fix: Replace dead external URLs or point to working alternatives.

  • All 75 links use non-empty href values.

Performance & Runtime