Catalog / pphypertext.com
57

SEO audit for pphypertext.com

Water treatment system

corporate

Health 57/100 (fair) · 23 pages crawled · generated 2026-08-26

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

Our company have many experiences in water treatment

Screenshot of pphypertext.com
23
pages crawled
15
indexable pages
2
errors
49
warnings
245
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Security 91 2 0 30
Agent Readiness 80 0 15 17
Images 80 0 15 15
Content 90 0 8 21
Links 90 0 8 18
Meta Description 97 0 2 10
Canonical 99 0 1 4
Cache 100 0 0 15
Crawlability 100 0 0 8
Headings 100 0 0 15
Performance 100 0 0 60
Sitemap 100 0 0 1
Social 100 0 0 27
Structured Data 100 0 0 3
Titles 100 0 0 1
Findings

Errors (1 rules)

error Mixed content on HTTPS page

Rule security.mixed_content · Security · 2 occurrence(s)

Warnings (6 rules)

warning Control has no accessible name

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

warning Interior page canonicalizes to the homepage

Rule canonical.points_to_homepage · Canonical · 1 occurrence(s)

  • https://www.pphypertext.com/17284862/home — this interior page canonicalizes to the homepage (https://www.pphypertext.com/) — Google will treat the homepage as authoritative and drop this page from search. Point the canonical at the page's own URL.

warning Images missing alt text

Rule images.missing_alt · Images · 15 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 8 occurrence(s)

warning Missing meta description

Rule meta_desc.missing · Meta Description · 2 occurrence(s)

Notices (26 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 15 occurrence(s)

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

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

notice Canonical points to a different URL

Rule canonical.non_self · Canonical · 4 occurrence(s)

notice Title tag and meta description are identical

Rule content.title_meta_same · Meta Description · 4 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://www.pphypertext.com/ — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17274401/contact — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17284862/home — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288311/vision-mission — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288312/philosophy — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288313/company-profile — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288322/clarifier — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288323/pretreatment-filter — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288325/reverse-osmosis-system — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288326/demineralization-system — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288327/bio-wastewater-treatment-system — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/17288329/solution-service — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/tag/clarifier%20system — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/tag/pretreatment%20filter — the likely hero/LCP image (ajax-loading.gif) 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://www.pphypertext.com/tag/reverse%20osmosis%20system — the likely hero/LCP image (ajax-loading.gif) 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 · 15 occurrence(s)

notice Internal link has no anchor text / accessible name

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

notice Page has only one internal inlink (fragile crawl path)

Rule links.single_inlink · Links · 3 occurrence(s)

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

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

notice Meta description too long

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

notice Meta description too short

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

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

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

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

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

  • https://www.pphypertext.com/ — 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://www.pphypertext.com/17274401/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://www.pphypertext.com/17284862/home — 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://www.pphypertext.com/17288311/vision-mission — 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://www.pphypertext.com/17288312/philosophy — 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://www.pphypertext.com/17288313/company-profile — 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://www.pphypertext.com/17288322/clarifier — 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://www.pphypertext.com/17288323/pretreatment-filter — 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://www.pphypertext.com/17288325/reverse-osmosis-system — 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://www.pphypertext.com/17288326/demineralization-system — 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://www.pphypertext.com/17288327/bio-wastewater-treatment-system — 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://www.pphypertext.com/17288329/solution-service — 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://www.pphypertext.com/tag/clarifier%20system — 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://www.pphypertext.com/tag/pretreatment%20filter — 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://www.pphypertext.com/tag/reverse%20osmosis%20system — 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 · 15 occurrence(s)

  • https://www.pphypertext.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17274401/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://www.pphypertext.com/17284862/home — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288311/vision-mission — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288312/philosophy — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288313/company-profile — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288322/clarifier — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288323/pretreatment-filter — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288325/reverse-osmosis-system — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288326/demineralization-system — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288327/bio-wastewater-treatment-system — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/17288329/solution-service — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/tag/clarifier%20system — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/tag/pretreatment%20filter — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.pphypertext.com/tag/reverse%20osmosis%20system — 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 URL redirects to another URL

Rule redirect.single · Crawlability · 8 occurrence(s)

notice Deep page has no BreadcrumbList structured data

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

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 15 occurrence(s)

notice Indexable page not listed in sitemap

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

notice Title is very short

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

Pages (showing 23 of 23)
URLStatusIndexableWordsIn-links
https://www.pphypertext.com/
Water treatment system
200 yes 106 15
https://www.pphypertext.com/17274401/contact
Contact
200 yes 150 15
https://www.pphypertext.com/17288311/vision-mission
PP HYPERTEXT Leader in Water and Wastewater Treatment Processes
200 yes 153 15
https://www.pphypertext.com/17288312/philosophy
Philosophy of PP HYPERTEXT
200 yes 186 15
https://www.pphypertext.com/17288313/company-profile
PP HYPERTEXT company profile
200 yes 322 15
https://www.pphypertext.com/17288322/clarifier
Superpulsator Clarifier
200 yes 470 15
https://www.pphypertext.com/17288323/pretreatment-filter
Water filtration system for water treatment and wastewater treatment
200 yes 1301 15
https://www.pphypertext.com/17288325/reverse-osmosis-system
PP HYPERTEXT for REVERSE OSMOSIS
200 yes 461 15
https://www.pphypertext.com/17288326/demineralization-system
Demineralization System
200 yes 656 15
https://www.pphypertext.com/17288327/bio-wastewater-treatment-system
Bio-Wastewater treatment system
200 yes 525 15
https://www.pphypertext.com/17288329/solution-service
Solution & Service
200 yes 379 15
https://www.pphypertext.com/17284862/home
Water treatment system
200 yes 106 5
https://www.pphypertext.com/tag/clarifier%20system
clarifier system
200 yes 116 1
https://www.pphypertext.com/tag/pretreatment%20filter
pretreatment filter
200 yes 116 1
https://www.pphypertext.com/tag/reverse%20osmosis%20system
reverse osmosis system
200 yes 117 1
https://www.pphypertext.com/images/content/original-1563182225274.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418357513.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418380358.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418416855.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418428842.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418439444.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418455322.jpg 200 no 0 1
https://www.pphypertext.com/images/content/original-1563418682371.jpg 200 no 0 1

Audit your own site — free

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

Scan your site →