frontseatphotography.com
Shop Photography Art | AletaShumway
0 failed · 10 warnings · 19 passed
Audited Tue, 14 Jul 2026 04:30:52 GMT · https://www.frontseatphotography.com/
Meta & Head
20.8/25
Title, description, canonical, social tags — what search engines read first.
Meta descriptionhigh impactlow effort
Meta description is "Contact is a web page that can be viewed at AletaShumway." (57 characters)
Search engines truncate descriptions past roughly 160 characters, and very short ones waste the snippet space that persuades searchers to pick your listing over the next one. Rewrite it to 70–160 characters: state what the page offers, work the primary keyword in naturally (matching words get bolded in results), and end with a benefit or call to action. Don't cram in keywords — the description influences clicks, not rankings, so write it for humans.
Open Graph tagsmedium impactlow effort
Missing Open Graph tags: og:image
Your Open Graph markup is incomplete, so social platforms fall back to guessed text or drop the preview image entirely when this page is shared — a broken card gets far fewer clicks than a complete one. Add the missing og:image tag to <head>. For og:image, use an absolute https:// URL to an image around 1200x630 pixels; relative paths are the usual reason previews break. Re-check with a platform's sharing debugger afterwards, since preview cards are cached.
Twitter card taglow impactlow effort
No twitter:card meta tag found
X (Twitter) layers its own card markup on top of Open Graph, and without a twitter:card tag your shared links may render as plain text instead of a large image preview. Add <meta name="twitter:card" content="summary_large_image"> alongside your Open Graph tags; X will fill in the title, description, and picture from og:title, og:description, and og:image. Keep og:image an absolute URL — a relative or missing image is the usual reason cards show up without a picture.
6 passing checks
- Title tag<title> is "Shop Photography Art | AletaShumway" (35 characters)
- Canonical URLCanonical href is "https://www.frontseatphotography.com/"
- Viewport meta tagViewport is "width=device-width"
- Character encoding declaredCharacter encoding is declared
- FaviconNo <link rel="icon">, but /favicon.ico responds with 200
- Page allows indexingrobots: noai, noimageai
Content & Structure
21.1/25
Headings, copy depth, images, structured data, internal linking.
Single H1 headinghigh impactlow effort
2 h1 headings found: "Contact", "trusted"
Multiple h1s split the page's main-topic signal, leaving search engines to guess which headline actually defines the page. Keep the one h1 that best states the primary topic and demote the rest to h2 or h3, so the outline reads as a single subject with subtopics. A frequent culprit is a site logo or blog title wrapped in an h1 inside the shared header template — change that to a <div> or <p> and reserve h1 for the page's own content.
Structured data (JSON-LD)medium impactmedium effort
No JSON-LD structured data blocks found
Structured data makes your listing eligible for rich results — star ratings, FAQs, breadcrumbs, product prices — which occupy more space on the results page and draw more clicks than plain blue links. Add a <script type="application/ld+json"> block with a schema.org type that matches the page: Organization or WebSite for a homepage, Article for posts, Product for product pages. Only mark up content actually visible on the page — markup for invisible content violates Google's guidelines and can earn a manual action.
6 passing checks
- Heading hierarchy7 headings in order without skipped levels
- Word count1995 words of visible text
- Image alt text6 of 6 images have alt text
- HTML lang attribute<html lang="en">
- JavaScript-dependent contentvisible text ~7593 chars in the initial HTML
- Internal linking13 internal, 6 external links
Technical
19.9/25
HTTPS, redirects, robots, sitemap, speed, crawlability.
Fast time to first bytehigh impactmedium effort
1069 ms
Time to first byte is the floor under every other speed metric — the browser can't parse, render, or fetch anything until the first byte arrives, so a slow TTFB drags down all Core Web Vitals and tests crawlers' patience. Add caching in front of the origin: full-page caching at a CDN (Cloudflare, Fastly) helps most, followed by server-side caches (Redis, object caching) and indexes on slow database queries. Measure from locations near your actual users — tuning only your fastest region leaves distant visitors just as slow.
Short redirect chainmedium impactlow effort
https://frontseatphotography.com/ (301) → http://www.frontseatphotography.com/ (301) → https://www.frontseatphotography.com/
Every redirect hop adds a round-trip before the visitor sees anything, each hop can leak a little link equity, and crawlers abandon long chains — which can leave the destination page undiscovered. Trace the chain above and point the first URL directly at the final destination in a single 301; commonly this means merging separate http-to-https and non-www-to-www rules into one combined redirect. Also update internal links to reference the final URL directly, so most visitors never enter the chain at all.
XML sitemap availablemedium impactlow effort
sitemap.xml is valid but robots.txt does not reference it
Your sitemap is valid, but robots.txt never mentions it, so crawlers you haven't manually notified may never find it — the robots.txt reference is the universal discovery mechanism. Add one line to robots.txt: "Sitemap: https://www.example.com/sitemap.xml", using the full absolute URL (a relative path is invalid here). The line can go anywhere in the file, and you can list several sitemaps. Also submit it in Google Search Console to get indexing-coverage reporting on top of discovery.
Response compression enabledlow impactlow effort
no content-encoding header
This HTML is served uncompressed, so every visitor downloads far more bytes than necessary — text compresses extremely well, and the savings directly speed up first render on slow connections. Enable Brotli or gzip on your server or CDN: in nginx it's "gzip on;" (or the brotli module), in Apache it's mod_deflate via .htaccess, and on most CDNs it's a single toggle. Make sure compression covers all text types (HTML, CSS, JS, JSON, SVG), but skip already-compressed images — recompressing them wastes CPU for no gain.
Missing pages return 404low impactlow effort
missing paths return a non-404 status (soft 404)
URLs that don't exist on your site return a success status instead of 404 — search engines call these soft 404s, keep recrawling them, and may index the useless placeholder pages, wasting crawl budget that should go to real content. Configure your server or framework to return an actual 404 status (or 410 for permanently removed content) along with your error page. The classic mistake is serving a friendly "page not found" template with a 200 status — crawlers ignore the visible message; only the status code counts.
7 passing checks
- Served over HTTPSfinal URL uses https://
- HTTP redirects to HTTPShttp:// redirects to https://
- No mixed content0 http:// subresource references
- robots.txt present and permissiverobots.txt exists and allows crawling
- Reasonable HTML size102.4 KB
- www and non-www resolve consistentlywww and non-www converge on the same host
- HTML5 doctype<!DOCTYPE html> present
Performance
Core Web Vitals scoring via Google PageSpeed is coming soon.
Share your score
Embed this live badge on your site — it updates whenever the audit is re-run.