Catalog / 21cs.com
63

SEO audit for 21cs.com

Modern Mainframe Solutions for z/OS and z/VSE Systems | 21CS

corporate

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

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

Power your mainframe with innovative solutions from 21CS. Data protection, migration, performance analytics, and the only alternative to IBM's z/VSE.

Screenshot of 21cs.com
50
pages crawled
48
indexable pages
2
errors
397
warnings
410
notices
0
orphan pages
1
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 0 1 244 0
Crawlability 97 1 1 12
Performance 55 0 75 94
Duplicate 74 0 44 14
Meta Description 94 0 10 11
Agent Readiness 95 0 8 6
Headings 96 0 6 2
Content 98 0 4 61
Structured Data 99 0 2 10
Titles 99 0 2 20
Canonical 99 0 1 0
Amp 100 0 0 15
Cache 100 0 0 33
Images 100 0 0 33
Security 100 0 0 63
Sitemap 100 0 0 1
Social 100 0 0 33
URL 100 0 0 2
Findings

Errors (2 rules)

error Broken internal link (target 4xx/5xx)

Rule links.broken_internal · Links · 1 occurrence(s)

error Client error (4xx) response

Rule status.4xx · Crawlability · 1 occurrence(s)

Warnings (13 rules)

warning Control has no accessible name

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

warning Missing canonical tag

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

warning Lorem-ipsum placeholder text in a live page

Rule content.lorem_ipsum · Content · 4 occurrence(s)

  • https://21cs.com/ — the page body contains "lorem ipsum" placeholder text — replace it with real content or noindex the page until it's finished
  • https://21cs.com/?hsLang=en — the page body contains "lorem ipsum" placeholder text — replace it with real content or noindex the page until it's finished
  • https://21cs.com/izpca — the page body contains "lorem ipsum" placeholder text — replace it with real content or noindex the page until it's finished
  • https://21cs.com/z-os-change-tracker/ — the page body contains "lorem ipsum" placeholder text — replace it with real content or noindex the page until it's finished

warning Duplicate page content

Rule duplicate.content · Duplicate · 22 occurrence(s)

warning Duplicate <title> across pages

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

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

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

  • https://21cs.com/ — the likely hero/LCP image (sentinel-logo.svg) 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://21cs.com/?hsLang=en — the likely hero/LCP image (sentinel-logo.svg) 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://21cs.com/about — the likely hero/LCP image (about-team-01.png) 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://21cs.com/blog/2023/10/10/when-catastrophe-strikes-recover-data-with-ease — the likely hero/LCP image (missing-image.png) 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://21cs.com/blog/eduardo-j-ciliendo-appointed-new-ceo-of-21cs — the likely hero/LCP image (profile-pic-2024-300x300.txt) 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://21cs.com/corporate-responsibility — the likely hero/LCP image (21volt%202.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://21cs.com/documentation — the likely hero/LCP image (untitled%20design%20(9).svg) 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://21cs.com/documentation?hsLang=en — the likely hero/LCP image (untitled%20design%20(9).svg) 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://21cs.com/ibm-product-portfolio — the likely hero/LCP image (comprehensive-analysis-large.png) 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://21cs.com/ibm-product-portfolio?hsLang=en — the likely hero/LCP image (comprehensive-analysis-large.png) 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://21cs.com/izpca — the likely hero/LCP image (sentinel-logo.svg) 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://21cs.com/mainframe-intelligence-webinar — the likely hero/LCP image (josh%20stiles.png) 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://21cs.com/our-people-investment — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://21cs.com/partnerships — the likely hero/LCP image (ibm_partner_plus_silver_partner_mark_pos_silver_rgb-1024x743.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://21cs.com/products/optiman — the likely hero/LCP image (interactive-214711785586.png) 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://21cs.com/products/sentineln?hsLang=en — the likely hero/LCP image (sentinel-logo.png) 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://21cs.com/products/stratusn — the likely hero/LCP image (stratusn-data-storage.png) 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://21cs.com/products/tape/assist — the likely hero/LCP image (datashiftn-made-easy.png) 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://21cs.com/products/tape/assist?hsLang=en — the likely hero/LCP image (datashiftn-made-easy.png) 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://21cs.com/schedule-consultation — the likely hero/LCP image (strategy.svg) 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://21cs.com/schedule-consultation?hsLang=en — the likely hero/LCP image (strategy.svg) 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://21cs.com/sentineln?hsLang=en — the likely hero/LCP image (sentinel-logo.png) 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://21cs.com/solutions/capacity-planning — the likely hero/LCP image (comprehensive-analysis.png) 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://21cs.com/vectorn — the likely hero/LCP image (vector-logo.svg) 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://21cs.com/why-21cs — the likely hero/LCP image (ibm-beyond.png) 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 Internal link points to a redirect

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

warning Render-blocking script in <head> (no defer/async)

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

warning Redirect chain (multiple hops)

Rule redirect.chain · Crawlability · 1 occurrence(s)

warning Schema describes content not visible on the page

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

  • https://21cs.com/documentation — a schema name/headline ("Documentation Page") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://21cs.com/documentation?hsLang=en — a schema name/headline ("Documentation Page") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.

warning Title likely truncated in SERP (too wide)

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

Notices (26 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

  • https://21cs.com/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

notice AMP markup present (no Google Search benefit since Jul 2026)

Rule amp.deprecated · Amp · 15 occurrence(s)

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

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

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

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

  • https://21cs.com/ — this page reads as difficult (Flesch Reading Ease 33, 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://21cs.com/?hsLang=en — this page reads as difficult (Flesch Reading Ease 33, 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://21cs.com/about — this page reads as very difficult (Flesch Reading Ease 24, 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://21cs.com/blog — this page reads as difficult (Flesch Reading Ease 35, 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://21cs.com/blog/2024/03/18/podcast-learn-to-leverage-performace-capacity-with-izpca — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://21cs.com/blog/21cs-announces-optimasupn/sup — 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://21cs.com/blog/21cs-brings-vsen-6.3-to-ibm-z16-single-frame-rack-mount-models — this page reads as very difficult (Flesch Reading Ease 28, 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://21cs.com/contact — this page reads as difficult (Flesch Reading Ease 44, 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://21cs.com/contact?hsLang=en — this page reads as difficult (Flesch Reading Ease 44, 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://21cs.com/corporate-responsibility — 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://21cs.com/documentation — this page reads as difficult (Flesch Reading Ease 33, 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://21cs.com/documentation?hsLang=en — this page reads as difficult (Flesch Reading Ease 33, 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://21cs.com/ibm-product-portfolio — this page reads as very difficult (Flesch Reading Ease -39, 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://21cs.com/ibm-product-portfolio?hsLang=en — this page reads as very difficult (Flesch Reading Ease -39, 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://21cs.com/izpca — this page reads as difficult (Flesch Reading Ease 33, 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://21cs.com/our-people-investment — 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://21cs.com/partnerships — this page reads as very difficult (Flesch Reading Ease 17, 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://21cs.com/products/sentineln?hsLang=en — 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://21cs.com/products/stratusn — 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://21cs.com/products/tape/assist — this page reads as very difficult (Flesch Reading Ease 6, 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://21cs.com/products/tape/assist?hsLang=en — this page reads as very difficult (Flesch Reading Ease 6, 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://21cs.com/security-concerns — 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://21cs.com/solutions/capacity-planning — this page reads as very difficult (Flesch Reading Ease 15, 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://21cs.com/vectorn — this page reads as very difficult (Flesch Reading Ease 25, 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://21cs.com/why-21cs — 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.

notice Duplicate meta description across pages

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

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://21cs.com/about — 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 Likely hero image lacks fetchpriority=high

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

  • https://21cs.com/blog/2022/02/14/tdmf-improves-efficiency-of-ibm-z-storage-direct-to-cloud-connections — the likely hero/LCP image (cloud-computing-w-keyboard-and-arrows-istock-1275862970-scaled-1.txt) 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://21cs.com/blog/2022/03/25/21st-century-software-announces-vsen-v6-3 — the likely hero/LCP image (depositphotos_78918506_s-2019-1024x576.txt) 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://21cs.com/blog/2023/10/10/recover-quickly-with-surgical-precision — the likely hero/LCP image (light-beam-1024-x-640.txt) 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://21cs.com/blog/2024/02/07/it-wasnt-me-the-important-of-change-tracker — the likely hero/LCP image (itwasntme-1024x573.txt) 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://21cs.com/blog/2024/03/18/podcast-learn-to-leverage-performace-capacity-with-izpca — the likely hero/LCP image (ztalk.txt) 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://21cs.com/blog/21cs-announces-optimasupn/sup — the likely hero/LCP image (untitled%20design%20(25).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://21cs.com/blog/21cs-brings-vsen-6.3-to-ibm-z16-single-frame-rack-mount-models — the likely hero/LCP image (ibm-21cs.txt) 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://21cs.com/blog/21cs-earns-2026-great-place-to-work-certification — the likely hero/LCP image (untitled%20(1080%20x%20350%20px)%20(480%20x%20350%20px)%20(480%20x%20350%20px)%20(700%20x%20350%20px).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://21cs.com/blog/21cs-establishes-strategic-partnership-with-tes-enterprise-solutions — the likely hero/LCP image (untitled%20design%20(29).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://21cs.com/blog/21cs-releases-sentineln — the likely hero/LCP image (untitled%20design%20(8).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://21cs.com/blog/ibm-z16-the-ideal-platform-for-vse-business-needs — the likely hero/LCP image (depositphotos_78918506_s-2019.txt) 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://21cs.com/blog/tailored-fit-pricing — the likely hero/LCP image (webinar.txt) 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 · 32 occurrence(s)

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

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

  • https://21cs.com/ — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/?hsLang=en — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/about — 16 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/blog — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/contact — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/contact?hsLang=en — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/corporate-responsibility — 5 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/documentation — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/documentation?hsLang=en — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/ibm-product-portfolio — 8 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/ibm-product-portfolio?hsLang=en — 8 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/our-people-investment — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/partnerships — 5 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/privacy-policy — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/privacy-policy?hsLang=en — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/products/sentineln?hsLang=en — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/products/stratusn — 5 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/products/tape/assist — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/products/tape/assist?hsLang=en — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/security-concerns — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/solutions/capacity-planning — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/terms-of-use — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/terms-of-use?hsLang=en — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/vectorn — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://21cs.com/why-21cs — 9 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

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

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

  • https://21cs.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://21cs.com/about — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://21cs.com/blog — 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://21cs.com/blog/2024/03/18/podcast-learn-to-leverage-performace-capacity-with-izpca — 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://21cs.com/blog/21cs-announces-optimasupn/sup — 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://21cs.com/blog/21cs-brings-vsen-6.3-to-ibm-z16-single-frame-rack-mount-models — 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://21cs.com/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://21cs.com/contact?hsLang=en — 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://21cs.com/corporate-responsibility — 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://21cs.com/documentation — 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://21cs.com/documentation?hsLang=en — 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://21cs.com/ibm-product-portfolio — 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://21cs.com/our-people-investment — 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://21cs.com/partnerships — 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://21cs.com/privacy-policy — 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://21cs.com/products/sentineln?hsLang=en — 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://21cs.com/products/stratusn — 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://21cs.com/products/tape/assist — 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://21cs.com/schedule-consultation — 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://21cs.com/schedule-consultation?hsLang=en — 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://21cs.com/security-concerns — 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://21cs.com/solutions/capacity-planning — 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://21cs.com/terms-of-use — 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://21cs.com/vectorn — 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://21cs.com/why-21cs — 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 URL redirects to another URL

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

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

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

notice Deep page has no BreadcrumbList structured data

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

notice FAQPage structured data (rich result removed May 2026)

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

  • https://21cs.com/schedule-consultation — 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://21cs.com/schedule-consultation?hsLang=en — 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://21cs.com/why-21cs — 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 Missing recommended security headers

Rule security.missing_headers · Security · 48 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 tag is identical to the H1 (missed keyword variation)

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

notice Title is very short

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

notice Underscores in URL path (prefer hyphens)

Rule url.underscores · URL · 1 occurrence(s)

notice Uppercase letters in URL path

Rule url.uppercase · URL · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://21cs.com/about
About | 21CS
200 yes 1320 49
https://21cs.com/contact
Contact
200 yes 323 49
https://21cs.com/products/sentineln?hsLang=en
SENTINELn: Change Management Solution for z/OS
200 yes 1439 53
https://21cs.com/products/stratusn
STRATUSn: Mainframe-First Approach to Cloud Integration
200 yes 1185 49
https://21cs.com/products/tape/assist
Tape/Assist®: Easy and Reliable Tape Migration
200 yes 519 49
https://21cs.com/vectorn
VECTORn: Modern Dataset Migration Tool for z/OS
200 yes 456 49
https://21cs.com/?hsLang=en
Modern Mainframe Solutions for z/OS and z/VSE Systems | 21CS
200 yes 879 33
https://21cs.com/privacy-policy?hsLang=en
Privacy Policy
200 yes 7444 31
https://21cs.com/terms-of-use?hsLang=en
Terms of Use
200 yes 1230 31
https://21cs.com/blog
Driving the Future of Mainframe Innovation
200 yes 727 45
https://21cs.com/corporate-responsibility
Corporate Responsibility | 21CS
200 yes 684 45
https://21cs.com/ibm-product-portfolio
IBM Product Portfolio
200 yes 677 45
https://21cs.com/our-people-investment
Our People Investment | 21CS
200 yes 631 45
https://21cs.com/partnerships
Partnerships
200 yes 679 45
https://21cs.com/products/optiman
OPTIMAn: IBM Z Insights & Capacity Planning | 21CS
200 yes 451 45
https://21cs.com/schedule-consultation
Your Next Step in Mainframe Innovation
200 yes 353 45
https://21cs.com/solutions/capacity-planning
Performance & Capacity Planning
200 yes 442 45
https://21cs.com/why-21cs
Modern Mainframe Innovation Since 1992 | 21CS
200 yes 997 45
https://21cs.com/schedule-consultation?hsLang=en
Your Next Step in Mainframe Innovation
200 yes 353 29
https://21cs.com/documentation?hsLang=en
Documentation Page
200 yes 426 27
https://21cs.com/contact?hsLang=en
Contact
200 yes 323 27
https://21cs.com/
Modern Mainframe Solutions for z/OS and z/VSE Systems | 21CS
200 yes 879 21
https://21cs.com/privacy-policy
Privacy Policy
200 yes 7444 18
https://21cs.com/terms-of-use
Terms of Use
200 yes 1230 18
https://21cs.com/documentation
Documentation Page
200 yes 426 18
https://21cs.com/blog/rethinking-performance-management-on-ibm-z-in-the-age-of-ai
Rethinking Performance Management on IBM Z in the Age of AI
200 yes 905 15
https://21cs.com/ibm-product-portfolio?hsLang=en
IBM Product Portfolio
200 yes 677 4
https://21cs.com/products/tape/assist?hsLang=en
Tape/Assist®: Easy and Reliable Tape Migration
200 yes 519 4
https://21cs.com/sentineln?hsLang=en
SENTINELn: Change Management Solution for z/OS
200 yes 1439 2
https://21cs.com/blog/21cs-establishes-strategic-partnership-with-tes-enterprise-solutions
21CS Establishes Strategic Partnership with TES Enterprise Solutions
200 yes 585 3
https://21cs.com/blog/21cs-announces-optimasupn/sup
21CS Announces OPTIMAn
200 yes 670 2
https://21cs.com/blog/21cs-earns-2026-great-place-to-work-certification
21CS Earns 2026 Great Place To Work® Certification
200 yes 592 2
https://21cs.com/mainframe-intelligence-webinar?hsLang=en
IBM Z at an Inflection Point: Performance, Talent and the AI Question
200 yes 228 1
https://21cs.com/mainframe-intelligence-webinar
IBM Z at an Inflection Point: Performance, Talent and the AI Question
200 yes 228 1
https://21cs.com/blog/2022/02/14/tdmf-improves-efficiency-of-ibm-z-storage-direct-to-cloud-connections
TDMF Improves Efficiency of IBM Z Storage Direct-to-Cloud Connections - 21cs
200 yes 588 1
https://21cs.com/blog/2022/03/25/21st-century-software-announces-vsen-v6-3
21st Century Software Announces VSEn V6.3 - 21cs
200 yes 1161 1
https://21cs.com/blog/2023/10/10/recover-quickly-with-surgical-precision
Recover Quickly With Surgical Precision - 21cs
200 yes 3066 1
https://21cs.com/blog/2023/10/10/when-catastrophe-strikes-recover-data-with-ease
When Catastrophe Strikes, Recover Data With Ease - 21cs
200 yes 2650 1
https://21cs.com/blog/21cs-brings-vsen-6.3-to-ibm-z16-single-frame-rack-mount-models
21CS Brings VSEn 6.3 to the New IBM z16 Single Frame and Rack Mount Models | 21CS
200 yes 1092 1
https://21cs.com/blog/21cs-releases-sentineln
21CS Releases SENTINELn
200 yes 633 1
https://21cs.com/blog/eduardo-j-ciliendo-appointed-new-ceo-of-21cs
Eduardo J. Ciliendo Appointed New CEO of 21CS - 21cs
200 yes 641 1
https://21cs.com/blog/ibm-z16-the-ideal-platform-for-vse-business-needs
IBM z16: The Ideal Platform for VSE Business Needs - 21cs
200 yes 926 1
https://21cs.com/blog/tailored-fit-pricing
Tailored Fit Pricing, Maximized - 21cs
200 yes 321 1
https://21cs.com/blog/2024/02/07/it-wasnt-me-the-important-of-change-tracker
It Wasn't Me! Change Management on the Mainframe - 21cs
200 yes 829 1
https://21cs.com/blog/2024/03/18/podcast-learn-to-leverage-performace-capacity-with-izpca
Podcast: Leverage Performance Capacity - 21cs
200 yes 364 1
https://21cs.com/izpca
Modern Mainframe Solutions for z/OS and z/VSE Systems | 21CS
200 yes 879 1
https://21cs.com/z-os-change-tracker/
Modern Mainframe Solutions for z/OS and z/VSE Systems | 21CS
200 yes 879 1
https://21cs.com/security-concerns
Security Concerns
200 yes 778 0
https://21cs.com/21cs.com/partners?hsLang=en
21CS
404 no 279 1
https://21cs.com/hubfs/CVE-VSEn_pubkey.asc?hsLang=en 200 no 0 1

Audit your own site — free

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

Scan your site →