Catalog / qa.guru
65

SEO audit for qa.guru

Курсы тестировщиков - обучение тестированию онлайн с нуля | QA.GURU

otherWordPress

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

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

Освойте тестирование ПО с нуля: курсы QA на Java, Python, JS. Практика от экспертов, портфолио на GitHub, помощь в трудоустройстве.

36
pages crawled
25
indexable pages
0
errors
188
warnings
281
notices
10
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 29 0 85 26
Performance 67 0 40 87
Agent Readiness 79 0 25 24
Duplicate 90 0 12 6
Budget 91 0 11 0
Titles 92 0 10 0
Headings 98 0 3 0
Robots 99 0 1 0
Structured Data 99 0 1 40
Crawlability 100 0 0 14
Images 100 0 0 25
Meta Description 100 0 0 9
Security 100 0 0 50
Findings

Warnings (12 rules)

warning Control has no accessible name

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

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

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

  • https://qa.guru/free-intensive-enter-automation-java — internal links point to https://qa.guru/free-intensive-enter-automation-java, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/, https://qa.guru/dogovor-oferta, https://qa.guru/politika-konf.
  • https://qa.guru/load-qa-promo — internal links point to https://qa.guru/load-qa-promo, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/, https://qa.guru/dogovor-oferta, https://qa.guru/politika-konf.
  • https://qa.guru/qa-automation-engineer-python — internal links point to https://qa.guru/qa-automation-engineer-python, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/, https://qa.guru/dogovor-oferta, https://qa.guru/politika-konf.
  • https://qa.guru/wp-content/uploads/2026/06/Obrazovatelnaya-Programma-Avtomatizaciya-Na-JS-Playwright.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/Obrazovatelnaya-Programma-Avtomatizaciya-Na-JS-Playwright.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/company-information.
  • https://qa.guru/wp-content/uploads/2026/06/Obrazovatelnaya-Programma-Osnovy-Avtomatizacii-Testirovaniya-PO-Vasenkov-S-O.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/Obrazovatelnaya-Programma-Osnovy-Avtomatizacii-Testirovaniya-PO-Vasenkov-S-O.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/company-information.
  • https://qa.guru/wp-content/uploads/2026/06/POLITIKA-V-OTNOSHENII-OBRABOTKI-PERSONALNYH-DANNYH-IP-VASENKOV.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/POLITIKA-V-OTNOSHENII-OBRABOTKI-PERSONALNYH-DANNYH-IP-VASENKOV.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/, https://qa.guru/dogovor-oferta, https://qa.guru/politika-konf.
  • https://qa.guru/wp-content/uploads/2026/06/Prikaz-Nomer-1-Ot-09012025-Ob-Utverzhdenii-Obrazovatelnoy-Programmy-IP-Vasenkov.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/Prikaz-Nomer-1-Ot-09012025-Ob-Utverzhdenii-Obrazovatelnoy-Programmy-IP-Vasenkov.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/company-information.
  • https://qa.guru/wp-content/uploads/2026/06/Prikaz-Nomer-8-Ot-01072025-Ob-Utverzhdenii-Obrazovatelnoy-Programmy-IP-Vasenkov.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/Prikaz-Nomer-8-Ot-01072025-Ob-Utverzhdenii-Obrazovatelnoy-Programmy-IP-Vasenkov.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/company-information.
  • https://qa.guru/wp-content/uploads/2026/06/Publichnaya-Oferta-DOOP-Osnovy-Avtomatizacii-Testirovaniya-PO-Ot-09012025.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/Publichnaya-Oferta-DOOP-Osnovy-Avtomatizacii-Testirovaniya-PO-Ot-09012025.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/, https://qa.guru/dogovor-oferta, https://qa.guru/politika-konf.
  • https://qa.guru/wp-content/uploads/2026/06/SOGLASIE-NA-OBRABOTKU-PERSONALNYH-DANNYH-IP-VASENKOV.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/SOGLASIE-NA-OBRABOTKU-PERSONALNYH-DANNYH-IP-VASENKOV.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/, https://qa.guru/dogovor-oferta, https://qa.guru/politika-konf.
  • https://qa.guru/wp-content/uploads/2026/06/Vypiska-Iz-Reestra-Licenziy-Nomer-L035-01298-77-01842458.pdf — internal links point to https://qa.guru/wp-content/uploads/2026/06/Vypiska-Iz-Reestra-Licenziy-Nomer-L035-01298-77-01842458.pdf, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://qa.guru/company-information.

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Missing <h1>

Rule h1.missing · Headings · 3 occurrence(s)

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

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

  • https://qa.guru/ — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/about — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/about/ — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/ai-first — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/b2b — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/chatgpt — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/java — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/java-advanced — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/kotlin — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/load-qa — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/playwright-js — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/python — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/python-advanced — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/qa-automation-engineer — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/qa-automation-engineer/ — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/stanislav-vasenkov — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/start — the likely hero/LCP image (qa-guru-logo-white-temp.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.

warning Orphan page (no internal inlinks)

Rule links.orphan · Links · 10 occurrence(s)

warning Internal link points to a redirect

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

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

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

warning robots.txt blocks CSS/JS the pages need to render

Rule robots.blocks_css_js · Robots · 1 occurrence(s)

  • https://qa.guru/ — robots.txt Disallow blocks render-critical CSS/JS under: /wp-content/plugins/blocksy-companion-pro/framework/extensions/cookies-consent/static/bundle/, /wp-content/plugins/blocksy-companion-pro/framework/premium/extensions/mega-menu/static/bundle/, /wp-content/plugins/blocksy-companion-pro/framework/premium/static/bundle/, /wp-content/plugins/elementor/assets/css/, /wp-content/plugins/elementor/assets/css/conditionals/, /wp-content/plugins/elementor/assets/js/, /wp-content/plugins/elementor/assets/lib/animations/styles/, /wp-content/plugins/elementor/assets/lib/font-awesome/css/, /wp-content/plugins/elementor/assets/lib/font-awesome/js/, /wp-content/plugins/elementor/assets/lib/jquery-numerator/, /wp-content/themes/blocksy/, /wp-content/themes/blocksy/static/bundle/, /wp-content/uploads/blocksy/css/, /wp-content/uploads/elementor/css/, /wp-includes/css/dist/block-library/, /wp-includes/js/jquery/, /wp-includes/js/jquery/ui/ — Google's renderer can't fetch these, so the affected pages may render blank or thin. Allow the asset path(s) for Googlebot.

warning BreadcrumbList present but structurally incomplete

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

  • https://qa.guru/ — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.

warning Title likely truncated in SERP (too wide)

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

Notices (19 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

notice Duplicate meta description across pages

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

notice Likely hero image lacks fetchpriority=high

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

  • https://qa.guru/contacts — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/contacts/ — the likely hero/LCP image (qa-guru-logo-white-temp.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://qa.guru/free-intensive-enter-automation — the likely hero/LCP image (qa-guru-logo-white-temp.svg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 25 occurrence(s)

notice Internal link has no anchor text / accessible name

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

  • https://qa.guru/ — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/about — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/about/ — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/ai-first — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/b2b — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/center-career — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/chatgpt — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/company-information — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/contacts — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/contacts/ — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/dogovor-oferta — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/free-intensive-enter-automation — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/java — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/java-advanced — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/kotlin — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/load-qa — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/playwright-js — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/politika-konf — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/python — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/python-advanced — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/qa-automation-engineer — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/qa-automation-engineer/ — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/referalprogram — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/stanislav-vasenkov — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://qa.guru/start — 2 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.

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

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

  • https://qa.guru/python-advanced — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.

notice Meta description too long

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

notice Meta description too short

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

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 9 occurrence(s)

  • https://qa.guru/ — the page has 2212 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/ai-first — the page has 2316 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/java — the page has 2739 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/kotlin — the page has 2019 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/load-qa — the page has 2369 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/playwright-js — the page has 1819 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/python — the page has 2736 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/qa-automation-engineer — the page has 3317 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://qa.guru/qa-automation-engineer/ — the page has 3317 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

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

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

  • https://qa.guru/ — 15 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://qa.guru/about — 18 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://qa.guru/about/ — 18 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://qa.guru/ai-first — 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://qa.guru/b2b — 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://qa.guru/center-career — 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://qa.guru/chatgpt — 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://qa.guru/company-information — 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://qa.guru/contacts — 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://qa.guru/contacts/ — 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://qa.guru/dogovor-oferta — 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://qa.guru/free-intensive-enter-automation — 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://qa.guru/java — 10 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://qa.guru/java-advanced — 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://qa.guru/kotlin — 4 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://qa.guru/load-qa — 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://qa.guru/playwright-js — 6 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://qa.guru/politika-konf — 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://qa.guru/python — 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://qa.guru/python-advanced — 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://qa.guru/qa-automation-engineer — 10 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://qa.guru/qa-automation-engineer/ — 10 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://qa.guru/referalprogram — 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://qa.guru/stanislav-vasenkov — 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.
  • https://qa.guru/start — 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.

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

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

  • https://qa.guru/ — 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://qa.guru/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://qa.guru/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://qa.guru/ai-first — 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://qa.guru/b2b — 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://qa.guru/center-career — 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://qa.guru/chatgpt — 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://qa.guru/company-information — 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://qa.guru/contacts — 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://qa.guru/contacts/ — 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://qa.guru/dogovor-oferta — 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://qa.guru/free-intensive-enter-automation — 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://qa.guru/java — 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://qa.guru/java-advanced — 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://qa.guru/kotlin — 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://qa.guru/load-qa — 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://qa.guru/playwright-js — 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://qa.guru/politika-konf — 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://qa.guru/python — 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://qa.guru/python-advanced — 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://qa.guru/qa-automation-engineer — 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://qa.guru/qa-automation-engineer/ — 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://qa.guru/referalprogram — 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://qa.guru/stanislav-vasenkov — 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://qa.guru/start — 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 · 25 occurrence(s)

  • https://qa.guru/ — 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://qa.guru/about — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://qa.guru/about/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://qa.guru/ai-first — 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://qa.guru/b2b — 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://qa.guru/center-career — 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://qa.guru/chatgpt — 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://qa.guru/company-information — 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://qa.guru/contacts — 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://qa.guru/contacts/ — 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://qa.guru/dogovor-oferta — 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://qa.guru/free-intensive-enter-automation — 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://qa.guru/java — 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://qa.guru/java-advanced — 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://qa.guru/kotlin — 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://qa.guru/load-qa — 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://qa.guru/playwright-js — 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://qa.guru/politika-konf — 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://qa.guru/python — 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://qa.guru/python-advanced — 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://qa.guru/qa-automation-engineer — 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://qa.guru/qa-automation-engineer/ — 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://qa.guru/referalprogram — 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://qa.guru/stanislav-vasenkov — 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://qa.guru/start — 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 · 3 occurrence(s)

notice Blocked by robots.txt

Rule robots.blocked · Crawlability · 11 occurrence(s)

notice Deprecated schema type with no Google rich result

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

  • https://qa.guru/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/about — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/about/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/ai-first — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/b2b — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/center-career — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/chatgpt — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/company-information — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/contacts — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/contacts/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/dogovor-oferta — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/free-intensive-enter-automation — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/java — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/java-advanced — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/kotlin — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/load-qa — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/playwright-js — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/politika-konf — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/python — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/python-advanced — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/qa-automation-engineer — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/qa-automation-engineer/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/referalprogram — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/stanislav-vasenkov — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://qa.guru/start — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice FAQPage structured data (rich result removed May 2026)

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

  • https://qa.guru/ — 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://qa.guru/ai-first — 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://qa.guru/chatgpt — 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://qa.guru/contacts — 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://qa.guru/contacts/ — 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://qa.guru/java — 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://qa.guru/java-advanced — 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://qa.guru/kotlin — 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://qa.guru/load-qa — 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://qa.guru/playwright-js — 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://qa.guru/python — 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://qa.guru/python-advanced — 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://qa.guru/qa-automation-engineer — 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://qa.guru/qa-automation-engineer/ — 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://qa.guru/start — 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 · 25 occurrence(s)

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

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

  • https://qa.guru/ — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/about — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/about/ — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/ai-first — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/b2b — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/center-career — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/chatgpt — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/company-information — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/contacts — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/contacts/ — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/dogovor-oferta — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/free-intensive-enter-automation — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/java — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/java-advanced — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/kotlin — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/load-qa — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/playwright-js — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/politika-konf — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/python — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/python-advanced — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/qa-automation-engineer — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/qa-automation-engineer/ — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/referalprogram — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/stanislav-vasenkov — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://qa.guru/start — 2 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
Pages (showing 36 of 36)
URLStatusIndexableWordsIn-links
https://qa.guru/
Курсы тестировщиков - обучение тестированию онлайн с нуля | QA.GURU
200 yes 3541 25
https://qa.guru/about/
О школе | QA.GURU
200 yes 1035 25
https://qa.guru/b2b
Корпоративное обучение QA от QA.GURU | QA.GURU
200 yes 621 25
https://qa.guru/center-career
Центр карьеры | QA.GURU
200 yes 663 25
https://qa.guru/company-information
Сведения об образовательной организации | QA.GURU
200 yes 1897 25
https://qa.guru/contacts/
Контакты | QA.GURU
200 yes 2203 25
https://qa.guru/free-intensive-enter-automation
Roadmap для QA: как из ручного тестирования перейти в автоматизацию в 2026 | QA.GURU
200 yes 950 25
https://qa.guru/java
Курс автоматизации тестирования на Java - Создание автотестов | QA.GURU
200 yes 2347 25
https://qa.guru/java-advanced
Автоматизированное тестирование на Java для продвинутых | Онлайн-курс по написанию автотестов | QA.GURU
200 yes 1278 25
https://qa.guru/kotlin
Курс по автоматизации тестирования на Kotlin | QA.GURU
200 yes 2264 25
https://qa.guru/load-qa
Обучение нагрузочному тестированию — курс Load Testing для специалистов | QA.GURU
200 yes 2381 25
https://qa.guru/playwright-js
Автоматизированное тестирование на JavaScript + Playwright | Онлайн курс по написанию автотестов | QA.GURU
200 yes 1822 25
https://qa.guru/python
Автоматизация тестирования на Python - Курс по созданию автотестов | QA.GURU
200 yes 2450 25
https://qa.guru/qa-automation-engineer/
QA Automation Engineer на Java — Полный курс по автоматизации тестирования | QA.GURU
200 yes 3153 25
https://qa.guru/python-advanced
Продвинутый курс по автоматизации тестирования с Python Advanced | QA.GURU
200 yes 1139 1
https://qa.guru/about
О школе | QA.GURU
200 yes 1035 0
https://qa.guru/ai-first
AI-First QA Engineer — стань инженером, который управляет AI | QA.GURU
200 yes 2231 0
https://qa.guru/chatgpt
ChatGPT для тестировщиков, курс-интенсив Автоматизация тестов с ChatGPT | QA.GURU
200 yes 1132 0
https://qa.guru/contacts
Контакты | QA.GURU
200 yes 2203 0
https://qa.guru/dogovor-oferta
Договор-оферта | QA.GURU
200 yes 2312 0
https://qa.guru/politika-konf
Политика конфиденциальности | QA.GURU
200 yes 3421 0
https://qa.guru/qa-automation-engineer
QA Automation Engineer на Java — Полный курс по автоматизации тестирования | QA.GURU
200 yes 3153 0
https://qa.guru/referalprogram
Реферальная программа | QA.GURU
200 yes 516 0
https://qa.guru/stanislav-vasenkov
Преподаватель – Станислав Васенков | QA.GURU
200 yes 882 0
https://qa.guru/start
Основы ручного тестирования | QA.GURU
200 yes 1146 0
https://qa.guru/free-intensive-enter-automation-java 0 no 0 25
https://qa.guru/load-qa-promo 0 no 0 25
https://qa.guru/qa-automation-engineer-python 0 no 0 25
https://qa.guru/wp-content/uploads/2026/06/Obrazovatelnaya-Programma-Avtomatizaciya-Na-JS-Playwright.pdf 0 no 0 1
https://qa.guru/wp-content/uploads/2026/06/Obrazovatelnaya-Programma-Osnovy-Avtomatizacii-Testirovaniya-PO-Vasenkov-S-O.pdf 0 no 0 1
https://qa.guru/wp-content/uploads/2026/06/POLITIKA-V-OTNOSHENII-OBRABOTKI-PERSONALNYH-DANNYH-IP-VASENKOV.pdf 0 no 0 25
https://qa.guru/wp-content/uploads/2026/06/Prikaz-Nomer-1-Ot-09012025-Ob-Utverzhdenii-Obrazovatelnoy-Programmy-IP-Vasenkov.pdf 0 no 0 1
https://qa.guru/wp-content/uploads/2026/06/Prikaz-Nomer-8-Ot-01072025-Ob-Utverzhdenii-Obrazovatelnoy-Programmy-IP-Vasenkov.pdf 0 no 0 1
https://qa.guru/wp-content/uploads/2026/06/Publichnaya-Oferta-DOOP-Osnovy-Avtomatizacii-Testirovaniya-PO-Ot-09012025.pdf 0 no 0 25
https://qa.guru/wp-content/uploads/2026/06/SOGLASIE-NA-OBRABOTKU-PERSONALNYH-DANNYH-IP-VASENKOV.pdf 0 no 0 25
https://qa.guru/wp-content/uploads/2026/06/Vypiska-Iz-Reestra-Licenziy-Nomer-L035-01298-77-01842458.pdf 0 no 0 1

Audit your own site — free

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

Scan your site →