Catalog / seoapi.com
65

SEO audit for seoapi.com

Googlebot API

other

Health 65/100 (fair) · 50 pages crawled · generated 2026-08-26

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

Query and validate confirmed Googlebot IP addresses via the Googlebot API. Free of charge. Maintained by ex-Google engineer Fili.

Screenshot of seoapi.com
50
pages crawled
50
indexable pages
0
errors
64
warnings
495
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Performance 70 0 50 100
Duplicate 92 0 14 0
Agent Readiness 100 0 0 51
Cache 100 0 0 50
Content 100 0 0 13
Meta Description 100 0 0 3
Mobile 100 0 0 50
Security 100 0 0 50
Social 100 0 0 100
Structured Data 100 0 0 50
Titles 100 0 0 28
Findings

Warnings (2 rules)

warning Near-duplicate page content

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

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

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

  • https://seoapi.com/amazon/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/applebot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/applebot/17.22.237.10/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/baiduspider/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/baiduspider/220.181.108.101/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/bingbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/bingbot/13.66.139.1/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/ccbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/claude/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/coccocbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/coccocbot/103.131.71.78/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/duckduckbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/googlebot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/googlebot/192.178.4.100/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/googlebot/?ref=googlebot.ch — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/meta/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/naverbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/openai/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/perplexitybot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/petalbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/seznambot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/sogouwebspider/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/yahooslurp/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/yandexbot/ — the likely hero/LCP image (mobile_default.jpg) 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://seoapi.com/yandexbot/45.148.65.24/ — the likely hero/LCP image (mobile_default.jpg) 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.

Notices (14 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

  • https://seoapi.com/ — 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 · 50 occurrence(s)

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

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

  • https://seoapi.com/amazon/100.24.149.244/ — 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://seoapi.com/applebot/17.22.237.10/ — this page reads as difficult (Flesch Reading Ease 50, 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://seoapi.com/baiduspider/220.181.108.101/ — 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://seoapi.com/ccbot/18.97.14.80/ — 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.
  • https://seoapi.com/claude/216.73.217.100/ — 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.
  • https://seoapi.com/duckduckbot/104.43.54.127/ — 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://seoapi.com/meta/57.141.0.48/ — 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://seoapi.com/openai/74.7.227.132/ — 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://seoapi.com/perplexitybot/3.211.124.183/ — 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://seoapi.com/petalbot/114.119.156.115/ — 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://seoapi.com/seznambot/77.75.72.26/ — 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.
  • https://seoapi.com/sogouwebspider/223.109.252.170/ — this page reads as difficult (Flesch Reading Ease 50, 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://seoapi.com/yandexbot/45.148.65.24/ — 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.

notice Meta description too long

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

notice Missing Open Graph tags

Rule og.missing · Social · 50 occurrence(s)

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

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

  • https://seoapi.com/amazon/ — 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://seoapi.com/applebot/ — 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://seoapi.com/applebot/17.22.237.10/ — 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://seoapi.com/baiduspider/ — 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://seoapi.com/baiduspider/220.181.108.101/ — 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://seoapi.com/bingbot/ — 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://seoapi.com/bingbot/13.66.139.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://seoapi.com/ccbot/ — 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://seoapi.com/claude/ — 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://seoapi.com/coccocbot/ — 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://seoapi.com/coccocbot/103.131.71.78/ — 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://seoapi.com/duckduckbot/ — 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://seoapi.com/googlebot/ — 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://seoapi.com/googlebot/192.178.4.100/ — 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://seoapi.com/googlebot/?ref=googlebot.ch — 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://seoapi.com/meta/ — 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://seoapi.com/naverbot/ — 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://seoapi.com/openai/ — 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://seoapi.com/perplexitybot/ — 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://seoapi.com/petalbot/ — 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://seoapi.com/seznambot/ — 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://seoapi.com/sogouwebspider/ — 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://seoapi.com/yahooslurp/ — 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://seoapi.com/yandexbot/ — 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://seoapi.com/yandexbot/45.148.65.24/ — 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 · 50 occurrence(s)

  • https://seoapi.com/amazon/ — 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://seoapi.com/applebot/ — 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://seoapi.com/applebot/17.22.237.10/ — 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://seoapi.com/baiduspider/ — 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://seoapi.com/baiduspider/220.181.108.101/ — 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://seoapi.com/bingbot/ — 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://seoapi.com/bingbot/13.66.139.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://seoapi.com/ccbot/ — 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://seoapi.com/claude/ — 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://seoapi.com/coccocbot/ — 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://seoapi.com/coccocbot/103.131.71.78/ — 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://seoapi.com/duckduckbot/ — 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://seoapi.com/googlebot/ — 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://seoapi.com/googlebot/192.178.4.100/ — 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://seoapi.com/googlebot/?ref=googlebot.ch — 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://seoapi.com/meta/ — 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://seoapi.com/naverbot/ — 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://seoapi.com/openai/ — 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://seoapi.com/perplexitybot/ — 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://seoapi.com/petalbot/ — 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://seoapi.com/seznambot/ — 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://seoapi.com/sogouwebspider/ — 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://seoapi.com/yahooslurp/ — 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://seoapi.com/yandexbot/ — 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://seoapi.com/yandexbot/45.148.65.24/ — 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 Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 19 occurrence(s)

notice Title is very short

Rule title.too_short · Titles · 9 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://seoapi.com/amazon/
Amazonbot & Amzn-SearchBot API
200 yes 1350 50
https://seoapi.com/applebot/
Applebot API
200 yes 1336 50
https://seoapi.com/baiduspider/
Baiduspider API
200 yes 1345 50
https://seoapi.com/bingbot/
Bingbot API
200 yes 1359 50
https://seoapi.com/ccbot/
CCBot API
200 yes 1348 50
https://seoapi.com/claude/
ClaudeBot & Claude-SearchBot API
200 yes 1373 50
https://seoapi.com/coccocbot/
Cốc Cốc Bot API
200 yes 1386 50
https://seoapi.com/duckduckbot/
DuckDuckBot API
200 yes 1319 50
https://seoapi.com/googlebot/
Googlebot API
200 yes 1350 50
https://seoapi.com/meta/
Meta-ExternalAgent & Meta-WebIndexer API
200 yes 1363 50
https://seoapi.com/naverbot/
Naver Yeti API
200 yes 1369 50
https://seoapi.com/openai/
GPTBot & OAI-SearchBot API
200 yes 1385 50
https://seoapi.com/perplexitybot/
PerplexityBot API
200 yes 1326 50
https://seoapi.com/petalbot/
PetalBot API
200 yes 1338 50
https://seoapi.com/seznambot/
SeznamBot API
200 yes 1322 50
https://seoapi.com/sogouwebspider/
Sogou Spider API
200 yes 1386 50
https://seoapi.com/yahooslurp/
Yahoo! Slurp API
200 yes 1353 50
https://seoapi.com/yandexbot/
YandexBot API
200 yes 1352 50
https://seoapi.com/amazon/100.24.149.244/
Is Amazonbot using 100.24.149.244 ?
200 yes 355 1
https://seoapi.com/applebot/17.22.237.10/
Is Applebot using 17.22.237.10 ?
200 yes 382 1
https://seoapi.com/baiduspider/220.181.108.101/
Is Baiduspider using 220.181.108.101 ?
200 yes 376 1
https://seoapi.com/bingbot/13.66.139.1/
Is Bingbot using 13.66.139.1 ?
200 yes 395 1
https://seoapi.com/ccbot/18.97.14.80/
Is CommonCrawl CCBot using 18.97.14.80 ?
200 yes 346 1
https://seoapi.com/claude/216.73.217.100/
Is Anthropic ClaudeBot using 216.73.217.100 ?
200 yes 393 1
https://seoapi.com/coccocbot/103.131.71.78/
Is Cốc Cốc Bot using 103.131.71.78 ?
200 yes 365 1
https://seoapi.com/duckduckbot/104.43.54.127/
Is DuckDuckBot using 104.43.54.127 ?
200 yes 339 1
https://seoapi.com/meta/57.141.0.48/
Is Meta-ExternalAgent using 57.141.0.48 ?
200 yes 466 1
https://seoapi.com/naverbot/211.249.46.108/
Is Naver Yeti using 211.249.46.108 ?
200 yes 863 1
https://seoapi.com/openai/74.7.227.132/
Is OpenAI GPTBot using 74.7.227.132 ?
200 yes 383 1
https://seoapi.com/perplexitybot/3.211.124.183/
Is PerplexityBot using 3.211.124.183 ?
200 yes 350 1
https://seoapi.com/petalbot/114.119.156.115/
Is PetalBot using 114.119.156.115 ?
200 yes 412 1
https://seoapi.com/seznambot/77.75.72.26/
Is SeznamBot using 77.75.72.26 ?
200 yes 365 1
https://seoapi.com/sogouwebspider/223.109.252.170/
Is Sogou Spider using 223.109.252.170 ?
200 yes 383 1
https://seoapi.com/yahooslurp/72.30.14.19/
Is Yahoo! Slurp using 72.30.14.19 ?
200 yes 562 1
https://seoapi.com/yandexbot/45.148.65.24/
Is YandexBot using 45.148.65.24 ?
200 yes 436 1
https://seoapi.com/googlebot/192.178.4.101/
Is Googlebot using 192.178.4.101 ?
200 yes 2432 4
https://seoapi.com/googlebot/192.178.4.104/
Is Googlebot using 192.178.4.104 ?
200 yes 2440 4
https://seoapi.com/googlebot/192.178.4.131/
Is Googlebot using 192.178.4.131 ?
200 yes 741 4
https://seoapi.com/googlebot/192.178.4.135/
Is Googlebot using 192.178.4.135 ?
200 yes 681 4
https://seoapi.com/googlebot/192.178.4.102/
Is Googlebot using 192.178.4.102 ?
200 yes 2138 4
https://seoapi.com/googlebot/192.178.4.103/
Is Googlebot using 192.178.4.103 ?
200 yes 2239 4
https://seoapi.com/googlebot/192.178.4.132/
Is Googlebot using 192.178.4.132 ?
200 yes 705 4
https://seoapi.com/googlebot/192.178.4.134/
Is Googlebot using 192.178.4.134 ?
200 yes 699 4
https://seoapi.com/googlebot/192.178.4.133/
Is Googlebot using 192.178.4.133 ?
200 yes 758 4
https://seoapi.com/googlebot/192.178.4.100/
Is Googlebot using 192.178.4.100 ?
200 yes 2465 3
https://seoapi.com/googlebot/192.178.4.105/
Is Googlebot using 192.178.4.105 ?
200 yes 2389 3
https://seoapi.com/googlebot/192.178.4.130/
Is Googlebot using 192.178.4.130 ?
200 yes 634 3
https://seoapi.com/googlebot/192.178.4.136/
Is Googlebot using 192.178.4.136 ?
200 yes 634 3
https://seoapi.com/googlebot/192.178.4.129/
Is Googlebot using 192.178.4.129 ?
200 yes 729 2
https://seoapi.com/googlebot/?ref=googlebot.ch
Googlebot API
200 yes 1350 0

Audit your own site — free

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

Scan your site →