Catalog / soapindex.com
79

SEO audit for soapindex.com

Soap Calculator & Ingredient Database for Makers | SoapIndex

otherNext.js

Health 79/100 (good) · 50 pages crawled · generated 2026-08-26

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

Lye calculator with 340+ verified oils, 8 quality metrics, and safety checks. Core formulation tools are free.

Screenshot of soapindex.com
50
pages crawled
43
indexable pages
2
errors
19
warnings
275
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Structured Data 96 2 0 18
Performance 95 0 9 66
Budget 95 0 8 0
Indexability 99 0 1 0
Titles 99 0 1 0
Agent Readiness 100 0 0 3
Cache 100 0 0 8
Content 100 0 0 115
Crawlability 100 0 0 6
Headings 100 0 0 2
Images 100 0 0 11
Links 100 0 0 43
Meta Description 100 0 0 3
Findings

Errors (1 rules)

error JSON-LD block missing @context or @type

Rule schema.no_context_type · Structured Data · 2 occurrence(s)

Warnings (5 rules)

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

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

  • https://soapindex.com/api/my/export — internal links point to https://soapindex.com/api/my/export, 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://soapindex.com/your-data.
  • https://soapindex.com/api/my/recipes/export-csv — internal links point to https://soapindex.com/api/my/recipes/export-csv, 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://soapindex.com/your-data.
  • https://soapindex.com/login — internal links point to https://soapindex.com/login, 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://soapindex.com/, https://soapindex.com/about, https://soapindex.com/safety.
  • https://soapindex.com/my/recipes — internal links point to https://soapindex.com/my/recipes, 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://soapindex.com/, https://soapindex.com/about, https://soapindex.com/safety.
  • https://soapindex.com/my/settings — internal links point to https://soapindex.com/my/settings, 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://soapindex.com/your-data.
  • https://soapindex.com/register — internal links point to https://soapindex.com/register, 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://soapindex.com/, https://soapindex.com/about, https://soapindex.com/safety.
  • https://soapindex.com/register?source=banner — internal links point to https://soapindex.com/register?source=banner, 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://soapindex.com/, https://soapindex.com/about, https://soapindex.com/safety.

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 1 occurrence(s)

  • https://soapindex.com/your-data — this noindex page has 43 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://soapindex.com/, https://soapindex.com/about, https://soapindex.com/safety.

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 9 occurrence(s)

  • https://soapindex.com/calculator — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/calculator?recipe=3debf0f7-2f25-4b21-895b-9954a8184971 — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/guides — the likely hero/LCP image (cover.webp) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/ingredients/category/essential-oils — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/ingredients/category/nut-oils — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/ingredients/category/seed-oils — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/ingredients/category/tropical-exotic-oils — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/ingredients/category/waxes — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://soapindex.com/recipes/my-first-palm-free-bar — the likely hero/LCP image (hero.webp) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

warning noindex + nofollow (blocks link equity flow)

Rule index.noindex_nofollow · Indexability · 1 occurrence(s)

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 1 occurrence(s)

Notices (21 rules)

notice Heading levels skip a level

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

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

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

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

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

  • https://soapindex.com/ — this page reads as difficult (Flesch Reading Ease 41, 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://soapindex.com/about — this page reads as difficult (Flesch Reading Ease 34, 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://soapindex.com/affiliate-disclosure — this page reads as difficult (Flesch Reading Ease 34, 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://soapindex.com/calculator — this page reads as difficult (Flesch Reading Ease 48, 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://soapindex.com/cold-process-soap-calculator — this page reads as very difficult (Flesch Reading Ease 29, 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://soapindex.com/compare — this page reads as very difficult (Flesch Reading Ease 29, 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://soapindex.com/compare/coconut-oil-vs-palm-oil — this page reads as difficult (Flesch Reading Ease 47, 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://soapindex.com/contact — this page reads as difficult (Flesch Reading Ease 38, 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://soapindex.com/glossary — 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://soapindex.com/guides — this page reads as difficult (Flesch Reading Ease 47, 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://soapindex.com/import — this page reads as difficult (Flesch Reading Ease 38, 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://soapindex.com/ingredients — this page reads as very difficult (Flesch Reading Ease 26, 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://soapindex.com/ingredients/category/nut-oils — this page reads as difficult (Flesch Reading Ease 42, 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://soapindex.com/ingredients/suggest — this page reads as very difficult (Flesch Reading Ease 26, 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://soapindex.com/lye-calculator — this page reads as very difficult (Flesch Reading Ease 29, 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://soapindex.com/recipes — this page reads as difficult (Flesch Reading Ease 36, 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://soapindex.com/safety — this page reads as difficult (Flesch Reading Ease 48, 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://soapindex.com/saponification-values — this page reads as difficult (Flesch Reading Ease 32, 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://soapindex.com/sitemap — this page reads as difficult (Flesch Reading Ease 47, 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://soapindex.com/soap-calculator — this page reads as very difficult (Flesch Reading Ease 29, 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://soapindex.com/soap-making-oils — this page reads as difficult (Flesch Reading Ease 31, 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://soapindex.com/soap-recipe-calculator — this page reads as very difficult (Flesch Reading Ease 30, 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://soapindex.com/soapy — this page reads as difficult (Flesch Reading Ease 45, 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://soapindex.com/tools — this page reads as very difficult (Flesch Reading Ease 26, 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://soapindex.com/tools/cost-calculator — this page reads as difficult (Flesch Reading Ease 34, 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 Article page has no publication date (freshness / E-E-A-T)

Rule eeat.no_date · Content · 6 occurrence(s)

  • https://soapindex.com/compare/coconut-oil-vs-palm-oil — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://soapindex.com/compare/cold-process-vs-hot-process — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://soapindex.com/compare/lard-vs-tallow — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://soapindex.com/compare/olive-oil-vs-avocado-oil — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://soapindex.com/compare/shea-butter-vs-cocoa-butter — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://soapindex.com/safety — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness

notice Multiple <h1> elements

Rule h1.multiple · Headings · 2 occurrence(s)

notice Image alt text is keyword-stuffed (repetition / low variety)

Rule images.alt_stuffed · Images · 1 occurrence(s)

  • https://soapindex.com/guides — 1 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 1 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://soapindex.com/ — the likely hero/LCP image (image) 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://soapindex.com/guides/cold-process-soap-beginners — the likely hero/LCP image (cover.webp) 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 · 9 occurrence(s)

notice Internal link points to a noindex page

Rule links.to_noindex · Links · 43 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 39 occurrence(s)

notice Meta description too long

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

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

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

  • https://soapindex.com/affiliate-disclosure — 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://soapindex.com/calculator — 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://soapindex.com/calculator?recipe=3debf0f7-2f25-4b21-895b-9954a8184971 — 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://soapindex.com/compare — 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://soapindex.com/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://soapindex.com/guides/cold-process-soap-beginners — 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://soapindex.com/import — 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://soapindex.com/ingredients/category/essential-oils — 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://soapindex.com/ingredients/category/nut-oils — 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://soapindex.com/ingredients/category/pure-fatty-acids — 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://soapindex.com/ingredients/category/seed-oils — 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://soapindex.com/ingredients/category/tropical-exotic-oils — 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://soapindex.com/ingredients/category/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://soapindex.com/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://soapindex.com/recipes/my-first-palm-free-bar — 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://soapindex.com/sitemap — 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://soapindex.com/soapy — 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://soapindex.com/terms — 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://soapindex.com/tools — 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://soapindex.com/your-data — 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 · 44 occurrence(s)

  • https://soapindex.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://soapindex.com/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://soapindex.com/affiliate-disclosure — 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://soapindex.com/calculator — 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://soapindex.com/compare — 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://soapindex.com/compare/coconut-oil-vs-palm-oil — 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://soapindex.com/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://soapindex.com/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://soapindex.com/glossary — 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://soapindex.com/guides — 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://soapindex.com/guides/cold-process-soap-beginners — 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://soapindex.com/import — 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://soapindex.com/ingredients — 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://soapindex.com/ingredients/category/nut-oils — 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://soapindex.com/ingredients/suggest — 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://soapindex.com/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://soapindex.com/recipes — 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://soapindex.com/recipes/my-first-palm-free-bar — 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://soapindex.com/safety — 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://soapindex.com/sitemap — 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://soapindex.com/soap-calculator — 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://soapindex.com/soapy — 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://soapindex.com/terms — 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://soapindex.com/tools — 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://soapindex.com/tools/cost-calculator — 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 · 6 occurrence(s)

notice Article schema missing recommended properties (Top Stories / image carousel)

Rule schema.article_incomplete · Structured Data · 7 occurrence(s)

  • https://soapindex.com/compare/coconut-oil-vs-palm-oil — Article structured data is missing recommended properties (image, datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://soapindex.com/compare/cold-process-vs-hot-process — Article structured data is missing recommended properties (image, datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://soapindex.com/compare/lard-vs-tallow — Article structured data is missing recommended properties (image, datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://soapindex.com/compare/olive-oil-vs-avocado-oil — Article structured data is missing recommended properties (image, datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://soapindex.com/compare/shea-butter-vs-cocoa-butter — Article structured data is missing recommended properties (image, datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://soapindex.com/guides/cold-process-soap-beginners — Article structured data is missing recommended property (image) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://soapindex.com/safety — Article structured data is missing recommended properties (image, datePublished) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.

notice Deep page has no BreadcrumbList structured data

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

notice Deprecated schema type with no Google rich result

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

notice FAQPage structured data (rich result removed May 2026)

Rule schema.faq_deprecated · Structured Data · 4 occurrence(s)

  • https://soapindex.com/calculator — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://soapindex.com/calculator?recipe=3debf0f7-2f25-4b21-895b-9954a8184971 — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://soapindex.com/faq — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://soapindex.com/recipes/my-first-palm-free-bar — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.

notice No structured data detected

Rule schema.none · Structured Data · 2 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://soapindex.com/
Soap Calculator & Ingredient Database for Makers | SoapIndex
200 yes 899 44
https://soapindex.com/recipes
Soap Recipes — Browse 230+ Formulations with Lye Amounts | SoapIndex
200 yes 375 44
https://soapindex.com/safety
Lye Safety Guide for Soap Makers | SoapIndex
200 yes 788 44
https://soapindex.com/soapy
Soapy — AI Soap Formulation Assistant | SoapIndex
200 yes 204 44
https://soapindex.com/about
About SoapIndex | SoapIndex
200 yes 686 43
https://soapindex.com/affiliate-disclosure
Affiliate Disclosure | SoapIndex
200 yes 420 43
https://soapindex.com/calculator
Soap Calculator — Free Lye Calculator | SoapIndex
200 yes 1179 43
https://soapindex.com/compare
Compare Soap Making Ingredients Side by Side | SoapIndex
200 yes 458 43
https://soapindex.com/compare/shea-butter-vs-cocoa-butter
Shea Butter vs Cocoa Butter for Soap Making | SoapIndex
200 yes 491 43
https://soapindex.com/contact
Contact Us | SoapIndex
200 yes 253 43
https://soapindex.com/faq
Soap Making FAQ — 50+ Questions Answered | SoapIndex
200 yes 3686 43
https://soapindex.com/glossary
Soap Making Glossary — Key Terms Defined | SoapIndex
200 yes 4484 43
https://soapindex.com/guides
Soap Making Guides — From Beginner to Advanced | SoapIndex
200 yes 2935 43
https://soapindex.com/ingredients
Soap Making Oils & Butters — 340+ Verified Profiles | SoapIndex
200 yes 242 43
https://soapindex.com/ingredients/category/essential-oils
Essential Oils for Soap Making — Lavender, Tea Tree & More | SoapIndex
200 yes 586 43
https://soapindex.com/ingredients/suggest
Suggest a Soap Making Ingredient | SoapIndex
200 yes 298 43
https://soapindex.com/lye-calculator
Lye Calculator | SoapIndex
200 yes 269 43
https://soapindex.com/privacy
Privacy Policy | SoapIndex
200 yes 1288 43
https://soapindex.com/recipes?palmFree=true
Soap Recipes — Browse 230+ Formulations with Lye Amounts | SoapIndex
200 yes 375 43
https://soapindex.com/recipes?process=cold_process
Soap Recipes — Browse 230+ Formulations with Lye Amounts | SoapIndex
200 yes 375 43
https://soapindex.com/saponification-values
Saponification Values | SoapIndex
200 yes 276 43
https://soapindex.com/sitemap
SoapIndex Sitemap | SoapIndex
200 yes 7907 43
https://soapindex.com/soap-calculator
Soap Calculator | SoapIndex
200 yes 270 43
https://soapindex.com/soap-making-oils
Soap Making Oils | SoapIndex
200 yes 266 43
https://soapindex.com/soap-recipe-calculator
Soap Recipe Calculator | SoapIndex
200 yes 266 43
https://soapindex.com/terms
Terms of Service | SoapIndex
200 yes 1165 43
https://soapindex.com/tools/cost-calculator
Soap Cost Calculator — Per-Bar Pricing Tool | SoapIndex
200 yes 203 43
https://soapindex.com/your-data
Own Your Soap Recipe Data | SoapIndex
200 no 550 43
https://soapindex.com/guides/cold-process-soap-beginners
Cold Process Soap Making for Beginners | SoapIndex
200 yes 1184 7
https://soapindex.com/recipes?editorial=true
Soap Recipes — Browse 230+ Formulations with Lye Amounts | SoapIndex
200 yes 375 4
https://soapindex.com/ingredients/category/nut-oils
Nut Oils for Soap Making — Almond, Hazelnut, Macadamia & More | SoapIndex
200 yes 335 7
https://soapindex.com/ingredients/category/pure-fatty-acids
Pure Fatty Acids for Soap Making | SoapIndex
200 yes 301 7
https://soapindex.com/ingredients/category/seed-oils
Seed Oils for Soap Making — Hemp, Pumpkin, Flax & More | SoapIndex
200 yes 483 7
https://soapindex.com/ingredients/category/tropical-exotic-oils
Tropical & Exotic Oils — Babassu, Buriti, Pracaxi & More | SoapIndex
200 yes 315 7
https://soapindex.com/ingredients/category/waxes
Waxes for Soap Making — Beeswax, Candelilla & More | SoapIndex
200 yes 337 7
https://soapindex.com/compare/lard-vs-tallow
Lard vs Tallow for Soap Making | SoapIndex
200 yes 472 2
https://soapindex.com/compare/coconut-oil-vs-palm-oil
Coconut Oil vs Palm Oil for Soap Making | SoapIndex
200 yes 508 2
https://soapindex.com/compare/cold-process-vs-hot-process
Cold Process vs Hot Process Soap Making | SoapIndex
200 yes 555 2
https://soapindex.com/compare/olive-oil-vs-avocado-oil
Olive Oil vs Avocado Oil for Soap Making | SoapIndex
200 yes 562 2
https://soapindex.com/import
Import Soap Recipes from Soapee, SoapCalc, or JSON | SoapIndex
200 yes 296 1
https://soapindex.com/cold-process-soap-calculator
Cold Process Soap Calculator | SoapIndex
200 yes 264 1
https://soapindex.com/tools
Soap Making Tools & Equipment — The Complete Guide | SoapIndex
200 yes 1465 1
https://soapindex.com/calculator?recipe=3debf0f7-2f25-4b21-895b-9954a8184971
Soap Calculator — Free Lye Calculator | SoapIndex
200 yes 1179 1
https://soapindex.com/recipes/my-first-palm-free-bar
My First Palm-Free Bar Soap | SoapIndex
200 yes 957 0
https://soapindex.com/api/my/export 0 no 0 1
https://soapindex.com/api/my/recipes/export-csv 0 no 0 1
https://soapindex.com/login 0 no 0 44
https://soapindex.com/my/recipes 0 no 0 43
https://soapindex.com/register 0 no 0 44
https://soapindex.com/register?source=banner 0 no 0 44

Audit your own site — free

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

Scan your site →