SEO audit for 30daydiet.me
30-Day Diet - Service Discontinued
Health 65/100 (fair) · 5 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Budget | 70 | 0 | 5 | 0 |
| Indexability | 70 | 0 | 5 | 10 |
| Performance | 70 | 0 | 5 | 10 |
| Security | 70 | 0 | 5 | 5 |
| Duplicate | 94 | 0 | 1 | 0 |
| Agent Readiness | 100 | 0 | 0 | 1 |
| Cache | 100 | 0 | 0 | 5 |
| Images | 100 | 0 | 0 | 5 |
| Links | 100 | 0 | 0 | 14 |
Warnings (5 rules)
warning Noindex page receives internal links (crawl-budget waste)
Rule budget.noindex_linked · Budget · 5 occurrence(s)
- https://30daydiet.me/ — 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://30daydiet.me/privacy.html.
- https://30daydiet.me/help.html — this noindex page has 2 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://30daydiet.me/, https://30daydiet.me/index.html.
- https://30daydiet.me/index.html — this noindex page has 5 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://30daydiet.me/, https://30daydiet.me/index.html, https://30daydiet.me/help.html.
- https://30daydiet.me/privacy.html — this noindex page has 3 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://30daydiet.me/, https://30daydiet.me/index.html, https://30daydiet.me/help.html.
- https://30daydiet.me/terms.html — this noindex page has 3 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://30daydiet.me/, https://30daydiet.me/index.html, https://30daydiet.me/help.html.
warning Homepage duplicated across protocol/host variants (no redirect)
Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)
- https://30daydiet.me/ — https://www.30daydiet.me/ 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 Content-Type header doesn't match the actual content
Rule headers.content_type_mismatch · Security · 5 occurrence(s)
- https://30daydiet.me/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://30daydiet.me/help.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://30daydiet.me/index.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://30daydiet.me/privacy.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://30daydiet.me/terms.html — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
warning noindex + nofollow (blocks link equity flow)
Rule index.noindex_nofollow · Indexability · 5 occurrence(s)
- https://30daydiet.me/ — meta/X-Robots: meta=noindex, nofollow, noarchive, nosnippet
- https://30daydiet.me/help.html — meta/X-Robots: meta=noindex, nofollow, noarchive, nosnippet
- https://30daydiet.me/index.html — meta/X-Robots: meta=noindex, nofollow, noarchive, nosnippet
- https://30daydiet.me/privacy.html — meta/X-Robots: meta=noindex, nofollow, noarchive, nosnippet
- https://30daydiet.me/terms.html — meta/X-Robots: meta=noindex, nofollow, noarchive, nosnippet
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 5 occurrence(s)
- https://30daydiet.me/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://30daydiet.me/help.html — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://30daydiet.me/index.html — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://30daydiet.me/privacy.html — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://30daydiet.me/terms.html — 1 render-blocking <script> in <head> (add defer/async or use type=module)
Notices (9 rules)
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://30daydiet.me/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 5 occurrence(s)
- https://30daydiet.me/ — Cache-Control: (none) · cloudflare: DYNAMIC
- https://30daydiet.me/help.html — Cache-Control: (none) · cloudflare: DYNAMIC
- https://30daydiet.me/index.html — Cache-Control: (none) · cloudflare: DYNAMIC
- https://30daydiet.me/privacy.html — Cache-Control: (none) · cloudflare: DYNAMIC
- https://30daydiet.me/terms.html — Cache-Control: (none) · cloudflare: DYNAMIC
notice noarchive directive (blocks cached copy)
Rule directives.noarchive · Indexability · 5 occurrence(s)
- https://30daydiet.me/ — a noarchive directive is present — it blocks a cached copy of the page. Google retired cached links in 2024 so the impact is small, but confirm it's intentional.
- https://30daydiet.me/help.html — a noarchive directive is present — it blocks a cached copy of the page. Google retired cached links in 2024 so the impact is small, but confirm it's intentional.
- https://30daydiet.me/index.html — a noarchive directive is present — it blocks a cached copy of the page. Google retired cached links in 2024 so the impact is small, but confirm it's intentional.
- https://30daydiet.me/privacy.html — a noarchive directive is present — it blocks a cached copy of the page. Google retired cached links in 2024 so the impact is small, but confirm it's intentional.
- https://30daydiet.me/terms.html — a noarchive directive is present — it blocks a cached copy of the page. Google retired cached links in 2024 so the impact is small, but confirm it's intentional.
notice nosnippet / max-snippet:0 directive (blocks snippets & AI Overviews)
Rule directives.nosnippet · Indexability · 5 occurrence(s)
- https://30daydiet.me/ — a nosnippet / max-snippet:0 directive is suppressing the search-result snippet — this also removes the page from featured snippets and AI Overviews. Remove it (or use a nonzero max-snippet) unless snippet suppression is intentional.
- https://30daydiet.me/help.html — a nosnippet / max-snippet:0 directive is suppressing the search-result snippet — this also removes the page from featured snippets and AI Overviews. Remove it (or use a nonzero max-snippet) unless snippet suppression is intentional.
- https://30daydiet.me/index.html — a nosnippet / max-snippet:0 directive is suppressing the search-result snippet — this also removes the page from featured snippets and AI Overviews. Remove it (or use a nonzero max-snippet) unless snippet suppression is intentional.
- https://30daydiet.me/privacy.html — a nosnippet / max-snippet:0 directive is suppressing the search-result snippet — this also removes the page from featured snippets and AI Overviews. Remove it (or use a nonzero max-snippet) unless snippet suppression is intentional.
- https://30daydiet.me/terms.html — a nosnippet / max-snippet:0 directive is suppressing the search-result snippet — this also removes the page from featured snippets and AI Overviews. Remove it (or use a nonzero max-snippet) unless snippet suppression is intentional.
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 5 occurrence(s)
- https://30daydiet.me/ — the likely hero/LCP image (logo.svg) 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://30daydiet.me/help.html — the likely hero/LCP image (logo.svg) 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://30daydiet.me/index.html — the likely hero/LCP image (logo.svg) 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://30daydiet.me/privacy.html — the likely hero/LCP image (logo.svg) 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://30daydiet.me/terms.html — the likely hero/LCP image (logo.svg) 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 · 5 occurrence(s)
- https://30daydiet.me/ — 1 of 1 images without width/height
- https://30daydiet.me/help.html — 1 of 1 images without width/height
- https://30daydiet.me/index.html — 1 of 1 images without width/height
- https://30daydiet.me/privacy.html — 1 of 1 images without width/height
- https://30daydiet.me/terms.html — 1 of 1 images without width/height
notice Internal link points to a noindex page
Rule links.to_noindex · Links · 14 occurrence(s)
- https://30daydiet.me/ — https://30daydiet.me/help.html
- https://30daydiet.me/ — https://30daydiet.me/index.html
- https://30daydiet.me/ — https://30daydiet.me/privacy.html
- https://30daydiet.me/ — https://30daydiet.me/terms.html
- https://30daydiet.me/help.html — https://30daydiet.me/index.html
- https://30daydiet.me/help.html — https://30daydiet.me/privacy.html
- https://30daydiet.me/help.html — https://30daydiet.me/terms.html
- https://30daydiet.me/index.html — https://30daydiet.me/help.html
- https://30daydiet.me/index.html — https://30daydiet.me/index.html
- https://30daydiet.me/index.html — https://30daydiet.me/privacy.html
- https://30daydiet.me/index.html — https://30daydiet.me/terms.html
- https://30daydiet.me/privacy.html — https://30daydiet.me/
- https://30daydiet.me/privacy.html — https://30daydiet.me/index.html
- https://30daydiet.me/terms.html — https://30daydiet.me/index.html
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 5 occurrence(s)
- https://30daydiet.me/ — 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://30daydiet.me/help.html — 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://30daydiet.me/index.html — 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://30daydiet.me/privacy.html — 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://30daydiet.me/terms.html — 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 Missing recommended security headers
Rule security.missing_headers · Security · 5 occurrence(s)
- https://30daydiet.me/ — HSTS, CSP, X-Content-Type-Options
- https://30daydiet.me/help.html — HSTS, CSP, X-Content-Type-Options
- https://30daydiet.me/index.html — HSTS, CSP, X-Content-Type-Options
- https://30daydiet.me/privacy.html — HSTS, CSP, X-Content-Type-Options
- https://30daydiet.me/terms.html — X-Content-Type-Options, HSTS, CSP
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://30daydiet.me/index.html 30-Day Diet - Service Discontinued |
200 | no | 29 | 5 |
| https://30daydiet.me/privacy.html Privacy Policy - 30-Day Diet |
200 | no | 1877 | 3 |
| https://30daydiet.me/terms.html Terms and Conditions - 30-Day Diet |
200 | no | 4515 | 3 |
| https://30daydiet.me/help.html Help Center - 30-Day Diet |
200 | no | 757 | 2 |
| https://30daydiet.me/ 30-Day Diet - Service Discontinued |
200 | no | 29 | 1 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.