Catalog / voyagepure.shop
65

SEO audit for voyagepure.shop

Voyageur Soap and Candle | Voyageur Soap & Candle

other

Health 65/100 (fair) · 50 pages crawled · generated 2026-07-29

Download Markdown report (feed to ChatGPT / Claude / Cursor)

As Canada's leading provider, Voyageur Soap & Candle offers candle making supplies, soy waxes, fragrance oils, and wicks. We also carry soap making ingredients, essential oils, and packaging in glass,…

Screenshot of voyagepure.shop
50
pages crawled
48
indexable pages
0
errors
108
warnings
570
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Agent Readiness 71 0 48 48
Structured Data 84 0 26 7
Duplicate 92 0 14 30
Content 93 0 11 53
Canonical 96 0 7 0
Budget 99 0 2 0
Cache 100 0 0 48
Crawlability 100 0 0 2
Images 100 0 0 48
Links 100 0 0 48
Meta Description 100 0 0 45
Performance 100 0 0 192
Security 100 0 0 48
Sitemap 100 0 0 1
Findings

Warnings (8 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 48 occurrence(s)

warning robots.txt-disallowed URL receives internal links (crawl-budget leak)

Rule budget.disallow_linked · Budget · 2 occurrence(s)

  • https://voyagepure.shop/account — internal links point to https://voyagepure.shop/account, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://voyagepure.shop/, https://voyagepure.shop/store, https://voyagepure.shop/about.
  • https://voyagepure.shop/cart — internal links point to https://voyagepure.shop/cart, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://voyagepure.shop/, https://voyagepure.shop/store, https://voyagepure.shop/about.

warning Near-duplicate page content

Rule duplicate.near · Duplicate · 9 occurrence(s)

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://voyagepure.shop/ — http://voyagepure.shop/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 4 occurrence(s)

warning BreadcrumbList present but structurally incomplete

Rule schema.breadcrumb_incomplete · Structured Data · 26 occurrence(s)

  • https://voyagepure.shop/categories/all — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/bath-bomb-molds — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/body-soap-supplies — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/bubble-bath-ingredients — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/candle-fragrance — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/candle-supplies — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/carson-test-collection — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/equipment-tools — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/essential-oil — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/essential-oil-blends — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/essential-oil-parent — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/essential-oils-a-l — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/essential-oils-m-z — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/fragrance-dupes — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/fragrance-oils-a-z — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/fragrances — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/loyalty-discount-products — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/melt-pour-1 — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/melt-pour-bases — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/melt-pour-soap — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/new-products — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/categories/soap-molds — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/store — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/store?category=sale — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
  • https://voyagepure.shop/store?sort=created_at — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.

Notices (19 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 47 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 48 occurrence(s)

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 48 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 5 occurrence(s)

  • https://voyagepure.shop/ — this page reads as difficult (Flesch Reading Ease 49, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://voyagepure.shop/about — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://voyagepure.shop/faq — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://voyagepure.shop/returns — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://voyagepure.shop/shipping — this page reads as difficult (Flesch Reading Ease 43, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 30 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 48 occurrence(s)

  • https://voyagepure.shop/ — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/about — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/categories/loyalty-discount-products — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/100-pcr-post-consumer-resin-plastic-bottles — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/3d-printed-molds-1 — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/all — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/all-purpose-natural-citrus-spray-cleaner-recipe — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aluminum-bottles — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/applicators-brushes — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aroma-landscapes-fragrance-oil-collection — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aroma-wax-tablet-molds — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aroma-wax-tablet-waxes — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aromatherapy — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aromatherapy-diffusers — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/aromatherapy-packaging — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/collections/carson-test-collection — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/contact — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/faq — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/privacy — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/products/24-400-aluminum-cap-with-liner — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/returns — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/shipping — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/store — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/store?category=sale — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://voyagepure.shop/store?sort=created_at — the likely hero/LCP image (voyageur-website-hz-4de7efdc-72d6-4f4e-a4b2-9b5095db2064.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 48 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 48 occurrence(s)

notice Meta description too long

Rule meta_desc.too_long · Meta Description · 30 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 48 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 48 occurrence(s)

  • https://voyagepure.shop/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/about — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/categories/loyalty-discount-products — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/100-pcr-post-consumer-resin-plastic-bottles — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/3d-printed-molds-1 — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/all — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/all-purpose-natural-citrus-spray-cleaner-recipe — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aluminum-bottles — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/applicators-brushes — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aroma-landscapes-fragrance-oil-collection — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aroma-wax-tablet-molds — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aroma-wax-tablet-waxes — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aromatherapy — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aromatherapy-diffusers — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/aromatherapy-packaging — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/collections/carson-test-collection — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/contact — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/faq — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/privacy — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/products/24-400-aluminum-cap-with-liner — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/returns — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/shipping — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/store — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/store?category=sale — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://voyagepure.shop/store?sort=created_at — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 48 occurrence(s)

  • https://voyagepure.shop/ — 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://voyagepure.shop/about — 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://voyagepure.shop/categories/loyalty-discount-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://voyagepure.shop/collections/100-pcr-post-consumer-resin-plastic-bottles — 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://voyagepure.shop/collections/3d-printed-molds-1 — 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://voyagepure.shop/collections/all — 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://voyagepure.shop/collections/all-purpose-natural-citrus-spray-cleaner-recipe — 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://voyagepure.shop/collections/aluminum-bottles — 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://voyagepure.shop/collections/applicators-brushes — 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://voyagepure.shop/collections/aroma-landscapes-fragrance-oil-collection — 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://voyagepure.shop/collections/aroma-wax-tablet-molds — 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://voyagepure.shop/collections/aroma-wax-tablet-waxes — 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://voyagepure.shop/collections/aromatherapy — 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://voyagepure.shop/collections/aromatherapy-diffusers — 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://voyagepure.shop/collections/aromatherapy-packaging — 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://voyagepure.shop/collections/carson-test-collection — 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://voyagepure.shop/contact — 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://voyagepure.shop/faq — 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://voyagepure.shop/privacy — 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://voyagepure.shop/products/24-400-aluminum-cap-with-liner — 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://voyagepure.shop/returns — 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://voyagepure.shop/shipping — 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://voyagepure.shop/store — 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://voyagepure.shop/store?category=sale — 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://voyagepure.shop/store?sort=created_at — 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 Blocked by robots.txt

Rule robots.blocked · Crawlability · 2 occurrence(s)

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 1 occurrence(s)

  • https://voyagepure.shop/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice Missing recommended security headers

Rule security.missing_headers · Security · 48 occurrence(s)

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://voyagepure.shop/
Voyageur Soap and Candle | Voyageur Soap & Candle
200 yes 298 48
https://voyagepure.shop/about
About Voyageur Soap & Candle | Voyageur Soap & Candle
200 yes 158 48
https://voyagepure.shop/categories/body-soap-supplies
Body & Soap Supplies | Voyageur Soap & Candle
200 yes 258 48
https://voyagepure.shop/categories/candle-supplies
Candle Supplies | Voyageur Soap & Candle
200 yes 247 48
https://voyagepure.shop/categories/fragrances
Fragrances | Voyageur Soap & Candle
200 yes 250 48
https://voyagepure.shop/collections/aromatherapy
Aromatherapy | Voyageur Soap & Candle
200 yes 267 48
https://voyagepure.shop/contact
Contact Us | Voyageur Soap & Candle
200 yes 105 48
https://voyagepure.shop/faq
Frequently Asked Questions | Voyageur Soap & Candle
200 yes 302 48
https://voyagepure.shop/privacy
Privacy Policy | Voyageur Soap & Candle
200 yes 315 48
https://voyagepure.shop/returns
Returns & Exchanges | Voyageur Soap & Candle
200 yes 230 48
https://voyagepure.shop/shipping
Shipping Policy | Voyageur Soap & Candle
200 yes 145 48
https://voyagepure.shop/store
Store | Voyageur Soap & Candle
200 yes 242 48
https://voyagepure.shop/store?category=sale
Store | Voyageur Soap & Candle
200 yes 242 48
https://voyagepure.shop/store?sort=created_at
Store | Voyageur Soap & Candle
200 yes 242 48
https://voyagepure.shop/products/24-400-aluminum-cap-with-liner
24-400 Aluminum Cap | Voyageur Soap & Candle
200 yes 341 7
https://voyagepure.shop/categories/carson-test-collection
All Products | Voyageur Soap & Candle
200 yes 267 1
https://voyagepure.shop/categories/loyalty-discount-products
Loyalty Discount Products | Voyageur Soap & Candle
200 yes 243 1
https://voyagepure.shop/categories/new-products
New Products | Voyageur Soap & Candle
200 yes 221 1
https://voyagepure.shop/categories/all
All | Voyageur Soap & Candle
200 yes 241 0
https://voyagepure.shop/categories/bath-bomb-molds
Bath Bomb Molds | Voyageur Soap & Candle
200 yes 297 0
https://voyagepure.shop/categories/bubble-bath-ingredients
Bubble Bath Ingredients | Voyageur Soap & Candle
200 yes 262 0
https://voyagepure.shop/categories/candle-fragrance
Candle Fragrance | Voyageur Soap & Candle
200 yes 257 0
https://voyagepure.shop/categories/equipment-tools
Equipment & Tools | Voyageur Soap & Candle
200 yes 231 0
https://voyagepure.shop/categories/essential-oil
Essential Oils A-Z | Voyageur Soap & Candle
200 yes 260 0
https://voyagepure.shop/categories/essential-oil-blends
Essential Oil Blends | Voyageur Soap & Candle
200 yes 249 0
https://voyagepure.shop/categories/essential-oil-parent
Essential Oils | Voyageur Soap & Candle
200 yes 257 0
https://voyagepure.shop/categories/essential-oils-a-l
Essential Oils A-L | Voyageur Soap & Candle
200 yes 263 0
https://voyagepure.shop/categories/essential-oils-m-z
Essential Oils M-Z | Voyageur Soap & Candle
200 yes 257 0
https://voyagepure.shop/categories/fragrance-dupes
Designer Fragrance Oils | Voyageur Soap & Candle
200 yes 280 0
https://voyagepure.shop/categories/fragrance-oils-a-z
Fragrance Oils A-Z | Voyageur Soap & Candle
200 yes 252 0
https://voyagepure.shop/categories/melt-pour-1
Melt & Pour** | Voyageur Soap & Candle
200 yes 283 0
https://voyagepure.shop/categories/melt-pour-bases
Melt & Pour Bases | Voyageur Soap & Candle
200 yes 284 0
https://voyagepure.shop/categories/melt-pour-soap
Melt & Pour Soap Bases | Voyageur Soap & Candle
200 yes 285 0
https://voyagepure.shop/categories/production-equipment
Production Equipment | Voyageur Soap & Candle
200 yes 240 0
https://voyagepure.shop/categories/soap-molds
Craft Molds | Voyageur Soap & Candle
200 yes 283 0
https://voyagepure.shop/collections/100-pcr-post-consumer-resin-plastic-bottles
100% PCR Post Consumer Resin Plastic Bottles | Voyageur Soap & Candle
200 yes 161 0
https://voyagepure.shop/collections/3d-printed-molds-1
3D Printed Molds | Voyageur Soap & Candle
200 yes 303 0
https://voyagepure.shop/collections/absolutes
Absolutes | Voyageur Soap & Candle
200 yes 203 0
https://voyagepure.shop/collections/all
All | Voyageur Soap & Candle
200 yes 258 0
https://voyagepure.shop/collections/all-purpose-natural-citrus-spray-cleaner-recipe
All-Purpose Natural Citrus Spray Cleaner Recipe | Voyageur Soap & Candle
200 yes 190 0
https://voyagepure.shop/collections/aluminum-bottles
Aluminum Bottles | Voyageur Soap & Candle
200 yes 168 0
https://voyagepure.shop/collections/applicators-brushes
Applicators & Brushes | Voyageur Soap & Candle
200 yes 261 0
https://voyagepure.shop/collections/aroma-landscapes-fragrance-oil-collection
Aroma Landscapes Fragrance Oil Collection | Voyageur Soap & Candle
200 yes 161 0
https://voyagepure.shop/collections/aroma-wax-tablet-molds
Aroma Wax Tablet Molds | Voyageur Soap & Candle
200 yes 166 0
https://voyagepure.shop/collections/aroma-wax-tablet-waxes
Aroma Wax Tablet Waxes | Voyageur Soap & Candle
200 yes 198 0
https://voyagepure.shop/collections/aromatherapy-diffusers
Aromatherapy Diffusers | Voyageur Soap & Candle
200 yes 104 0
https://voyagepure.shop/collections/aromatherapy-packaging
Aromatherapy Packaging | Voyageur Soap & Candle
200 yes 106 0
https://voyagepure.shop/collections/carson-test-collection
All Products | Voyageur Soap & Candle
200 yes 244 0
https://voyagepure.shop/account 0 no 0 48
https://voyagepure.shop/cart 0 no 0 48

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →