SEO audit for jetpackpdx.com
Home | Jetpack PDX
Health 58/100 (fair) · 17 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Structured Data | 86 | 2 | 1 | 10 |
| Content | 81 | 0 | 11 | 13 |
| Agent Readiness | 89 | 0 | 6 | 0 |
| Meta Description | 89 | 0 | 6 | 2 |
| Headings | 93 | 0 | 4 | 0 |
| Budget | 95 | 0 | 3 | 0 |
| Indexability | 95 | 0 | 3 | 0 |
| Links | 95 | 0 | 3 | 3 |
| Crawlability | 98 | 0 | 1 | 0 |
| Images | 100 | 0 | 0 | 2 |
| Performance | 100 | 0 | 0 | 32 |
| Security | 100 | 0 | 0 | 16 |
| Social | 100 | 0 | 0 | 9 |
Errors (1 rules)
error JSON-LD block missing @context or @type
Rule schema.no_context_type · Structured Data · 2 occurrence(s)
- https://www.jetpackpdx.com/service-page/embroidery-service — a JSON-LD block is missing @context or @type — Google can't parse it, so no rich result is possible. Add both fields (@context="https://schema.org" and a valid @type).
- https://www.jetpackpdx.com/service-page/shirt-press — a JSON-LD block is missing @context or @type — Google can't parse it, so no rich result is possible. Add both fields (@context="https://schema.org" and a valid @type).
Warnings (9 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 6 occurrence(s)
- https://www.jetpackpdx.com/book-online — 2 button/link(s) with no text or aria-label — an agent can't target them
- https://www.jetpackpdx.com/booking-calendar/embroidery-service — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.jetpackpdx.com/booking-calendar/laser-engraving — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.jetpackpdx.com/booking-calendar/shirt-press — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.jetpackpdx.com/category/all-products — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — 1 button/link(s) with no text or aria-label — an agent can't target them
warning Noindex page receives internal links (crawl-budget waste)
Rule budget.noindex_linked · Budget · 3 occurrence(s)
- https://www.jetpackpdx.com/booking-calendar/embroidery-service — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.jetpackpdx.com/book-online.
- https://www.jetpackpdx.com/booking-calendar/laser-engraving — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.jetpackpdx.com/book-online.
- https://www.jetpackpdx.com/booking-calendar/shirt-press — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.jetpackpdx.com/book-online.
warning Thin content (low word count)
Rule content.thin · Content · 11 occurrence(s)
- https://www.jetpackpdx.com/ — 133 words
- https://www.jetpackpdx.com/book-online — 47 words
- https://www.jetpackpdx.com/category/all-products — 104 words
- https://www.jetpackpdx.com/category/embroidery — 76 words
- https://www.jetpackpdx.com/category/patches — 45 words
- https://www.jetpackpdx.com/category/shirts — 72 words
- https://www.jetpackpdx.com/military-order-form — 13 words
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — 39 words
- https://www.jetpackpdx.com/service-page/embroidery-service — 68 words
- https://www.jetpackpdx.com/service-page/laser-engraving — 62 words
- https://www.jetpackpdx.com/service-page/shirt-press — 64 words
warning Incomplete/empty response after retries (likely transient — re-crawl)
Rule fetch.incomplete · Crawlability · 1 occurrence(s)
- https://www.jetpackpdx.com/category/hats — HTTP 200, 0 words after 3 attempts
warning Missing <h1>
Rule h1.missing · Headings · 4 occurrence(s)
warning Page is noindex
Rule index.noindex · Indexability · 3 occurrence(s)
- https://www.jetpackpdx.com/booking-calendar/embroidery-service — meta/X-Robots: meta=noindex
- https://www.jetpackpdx.com/booking-calendar/laser-engraving — meta/X-Robots: meta=noindex
- https://www.jetpackpdx.com/booking-calendar/shirt-press — meta/X-Robots: meta=noindex
warning Orphan page (no internal inlinks)
Rule links.orphan · Links · 3 occurrence(s)
- https://www.jetpackpdx.com/service-page/embroidery-service — no internal links point here
- https://www.jetpackpdx.com/service-page/laser-engraving — no internal links point here
- https://www.jetpackpdx.com/service-page/shirt-press — no internal links point here
warning Missing meta description
Rule meta_desc.missing · Meta Description · 6 occurrence(s)
warning Product schema missing required or recommended properties
Rule schema.product_incomplete · Structured Data · 1 occurrence(s)
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — Product structured data is missing required properties (offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review), which enrich the result.
Notices (11 rules)
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 13 occurrence(s)
- https://www.jetpackpdx.com/ — 0.1%
- https://www.jetpackpdx.com/about-5 — 0.4%
- https://www.jetpackpdx.com/book-online — 0.0%
- https://www.jetpackpdx.com/category/all-products — 0.1%
- https://www.jetpackpdx.com/category/embroidery — 0.0%
- https://www.jetpackpdx.com/category/patches — 0.0%
- https://www.jetpackpdx.com/category/shirts — 0.0%
- https://www.jetpackpdx.com/military-order-form — 0.0%
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — 0.0%
- https://www.jetpackpdx.com/s-projects-basic — 0.2%
- https://www.jetpackpdx.com/service-page/embroidery-service — 0.1%
- https://www.jetpackpdx.com/service-page/laser-engraving — 0.1%
- https://www.jetpackpdx.com/service-page/shirt-press — 0.1%
notice Images without width/height (layout shift / CLS)
Rule images.missing_dimensions · Images · 2 occurrence(s)
- https://www.jetpackpdx.com/category/all-products — 2 of 3 images without width/height
- https://www.jetpackpdx.com/s-projects-basic — 8 of 16 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 2 occurrence(s)
- https://www.jetpackpdx.com/book-online — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://www.jetpackpdx.com/category/all-products — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
notice Page has only one internal inlink (fragile crawl path)
Rule links.single_inlink · Links · 1 occurrence(s)
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 1 occurrence(s)
- https://www.jetpackpdx.com/category/all-products — 164 chars
notice Meta description too short
Rule meta_desc.too_short · Meta Description · 1 occurrence(s)
notice Missing Open Graph tags
Rule og.missing · Social · 9 occurrence(s)
- https://www.jetpackpdx.com/ — og:description
- https://www.jetpackpdx.com/about-5 — og:description
- https://www.jetpackpdx.com/book-online — og:description
- https://www.jetpackpdx.com/category/embroidery — og:image
- https://www.jetpackpdx.com/category/patches — og:description, og:image
- https://www.jetpackpdx.com/category/shirts — og:image
- https://www.jetpackpdx.com/military-order-form — og:description
- https://www.jetpackpdx.com/s-projects-basic — og:description
- https://www.jetpackpdx.com/service-page/laser-engraving — og:image
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 16 occurrence(s)
- https://www.jetpackpdx.com/ — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/about-5 — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/book-online — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/booking-calendar/embroidery-service — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/booking-calendar/laser-engraving — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/booking-calendar/shirt-press — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/category/all-products — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/category/embroidery — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/category/patches — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/category/shirts — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/military-order-form — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/s-projects-basic — 16 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/service-page/embroidery-service — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/service-page/laser-engraving — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
- https://www.jetpackpdx.com/service-page/shirt-press — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
notice No Last-Modified header (no conditional GET for unchanged pages)
Rule perf.no_last_modified · Performance · 16 occurrence(s)
- https://www.jetpackpdx.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/about-5 — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/book-online — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/booking-calendar/embroidery-service — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/booking-calendar/laser-engraving — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/booking-calendar/shirt-press — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/category/all-products — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/category/embroidery — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/category/patches — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/category/shirts — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/military-order-form — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/s-projects-basic — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/service-page/embroidery-service — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/service-page/laser-engraving — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
- https://www.jetpackpdx.com/service-page/shirt-press — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
notice No structured data detected
Rule schema.none · Structured Data · 10 occurrence(s)
- https://www.jetpackpdx.com/about-5
- https://www.jetpackpdx.com/book-online
- https://www.jetpackpdx.com/category/embroidery
- https://www.jetpackpdx.com/category/patches
- https://www.jetpackpdx.com/category/shirts
- https://www.jetpackpdx.com/military-order-form
- https://www.jetpackpdx.com/s-projects-basic
- https://www.jetpackpdx.com/service-page/embroidery-service
- https://www.jetpackpdx.com/service-page/laser-engraving
- https://www.jetpackpdx.com/service-page/shirt-press
notice Missing recommended security headers
Rule security.missing_headers · Security · 16 occurrence(s)
- https://www.jetpackpdx.com/ — CSP
- https://www.jetpackpdx.com/about-5 — CSP
- https://www.jetpackpdx.com/book-online — CSP
- https://www.jetpackpdx.com/booking-calendar/embroidery-service — CSP
- https://www.jetpackpdx.com/booking-calendar/laser-engraving — CSP
- https://www.jetpackpdx.com/booking-calendar/shirt-press — CSP
- https://www.jetpackpdx.com/category/all-products — CSP
- https://www.jetpackpdx.com/category/embroidery — CSP
- https://www.jetpackpdx.com/category/patches — CSP
- https://www.jetpackpdx.com/category/shirts — CSP
- https://www.jetpackpdx.com/military-order-form — CSP
- https://www.jetpackpdx.com/product-page/classic-baseball-cap — CSP
- https://www.jetpackpdx.com/s-projects-basic — CSP
- https://www.jetpackpdx.com/service-page/embroidery-service — CSP
- https://www.jetpackpdx.com/service-page/laser-engraving — CSP
- https://www.jetpackpdx.com/service-page/shirt-press — CSP
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.