Catalog / bhplab.pl
65

SEO audit for bhplab.pl

BHPLAB - Zainspirowani bezpieczeństwem

other

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

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

Bezpieczeństwo pracowników ma bezpośrednie przełożenie na jakość pracy i wynik finansowy firmy. To gwarancja mniejszych strat materiałowych i krótszych przestojów w produkcji. Zadbanie o bezpieczeństw…

50
pages crawled
50
indexable pages
0
errors
707
warnings
570
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 0 0 533 0
Structured Data 60 0 66 50
Performance 70 0 50 200
Duplicate 84 0 26 13
Titles 85 0 25 1
Meta Description 96 0 7 28
Agent Readiness 100 0 0 51
Cache 100 0 0 50
Crawlability 100 0 0 19
Images 100 0 0 51
Security 100 0 0 100
Social 100 0 0 7
Findings

Warnings (8 rules)

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Internal link points to a redirect

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

  • https://bhplab.pl/ — https://bhplab.pl/oferta/atex/klasyfikacja-stref-zagrozenia-wybuchem/ → https://bhplab.pl/oferta/atex/klasyfikacja-stref-zagrozenia-wybuchem/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/atex/oceny-zagrozenia-wybuchem/ → https://bhplab.pl/oferta/atex/oceny-zagrozenia-wybuchem/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/bhp-maszyn/audyt-bezpieczenstwa-maszyn/ → https://bhplab.pl/oferta/bhp-maszyn/audyt-bezpieczenstwa-maszyn/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/seveso/kwalifikacja-klasyfikacja-i-zgloszenie-zakladu/ → https://bhplab.pl/oferta/seveso/kwalifikacja-klasyfikacja-i-zgloszenie-zakladu/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/seveso/program-zapobiegania-awariom/ → https://bhplab.pl/oferta/seveso/program-zapobiegania-awariom/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/szkolenia/szkolenia-bhp-wstepne-i-okresowe/ → https://bhplab.pl/oferta/szkolenia/szkolenia-bhp-wstepne-i-okresowe/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/szkolenia/szkolenia-tematyczne/ → https://bhplab.pl/oferta/szkolenia/szkolenia-tematyczne/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/uslugi-bhp/audyt-bhp/ → https://bhplab.pl/oferta/uslugi-bhp/audyt-bhp/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/uslugi-ppoz/outsourcing-ppoz/ → https://bhplab.pl/oferta/uslugi-ppoz/outsourcing-ppoz/
  • https://bhplab.pl/ — https://bhplab.pl/oferta/uslugi-ppoz/probna-ewakuacja/ → https://bhplab.pl/oferta/uslugi-ppoz/probna-ewakuacja/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/atex/klasyfikacja-stref-zagrozenia-wybuchem/ → https://bhplab.pl/oferta/atex/klasyfikacja-stref-zagrozenia-wybuchem/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/atex/oceny-zagrozenia-wybuchem/ → https://bhplab.pl/oferta/atex/oceny-zagrozenia-wybuchem/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/bhp-maszyn/audyt-bezpieczenstwa-maszyn/ → https://bhplab.pl/oferta/bhp-maszyn/audyt-bezpieczenstwa-maszyn/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/seveso/kwalifikacja-klasyfikacja-i-zgloszenie-zakladu/ → https://bhplab.pl/oferta/seveso/kwalifikacja-klasyfikacja-i-zgloszenie-zakladu/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/seveso/program-zapobiegania-awariom/ → https://bhplab.pl/oferta/seveso/program-zapobiegania-awariom/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/szkolenia/szkolenia-bhp-wstepne-i-okresowe/ → https://bhplab.pl/oferta/szkolenia/szkolenia-bhp-wstepne-i-okresowe/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/szkolenia/szkolenia-tematyczne/ → https://bhplab.pl/oferta/szkolenia/szkolenia-tematyczne/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/uslugi-bhp/audyt-bhp/ → https://bhplab.pl/oferta/uslugi-bhp/audyt-bhp/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/uslugi-ppoz/outsourcing-ppoz/ → https://bhplab.pl/oferta/uslugi-ppoz/outsourcing-ppoz/
  • https://bhplab.pl/blog/ — https://bhplab.pl/oferta/uslugi-ppoz/probna-ewakuacja/ → https://bhplab.pl/oferta/uslugi-ppoz/probna-ewakuacja/
  • https://bhplab.pl/blog/operat-przeciwpozarowy/ — https://bhplab.pl/oferta/szkolenia/szkolenia-bhp-wstepne-i-okresowe/ → https://bhplab.pl/oferta/szkolenia/szkolenia-bhp-wstepne-i-okresowe/
  • https://bhplab.pl/blog/operat-przeciwpozarowy/ — https://bhplab.pl/oferta/szkolenia/szkolenia-tematyczne/ → https://bhplab.pl/oferta/szkolenia/szkolenia-tematyczne/
  • https://bhplab.pl/blog/operat-przeciwpozarowy/ — https://bhplab.pl/oferta/uslugi-bhp/audyt-bhp/ → https://bhplab.pl/oferta/uslugi-bhp/audyt-bhp/
  • https://bhplab.pl/blog/operat-przeciwpozarowy/ — https://bhplab.pl/oferta/uslugi-ppoz/outsourcing-ppoz/ → https://bhplab.pl/oferta/uslugi-ppoz/outsourcing-ppoz/
  • https://bhplab.pl/blog/operat-przeciwpozarowy/ — https://bhplab.pl/oferta/uslugi-ppoz/probna-ewakuacja/ → https://bhplab.pl/oferta/uslugi-ppoz/probna-ewakuacja/

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

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

warning BreadcrumbList present but structurally incomplete

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

  • http://bhplab.pl/audyt-bhp/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • http://bhplab.pl/outsourcing-bhp-2/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • http://bhplab.pl/outsourcing-ppoz/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • http://bhplab.pl/szkolenie-bhp/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/bezpieczne-fajerwerki/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/operat-przeciwpozarowy/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/kontakt/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/kontakt/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/o-firmie/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/o-firmie/realizacje/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/oferta/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/oferta/szkolenia/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/tag/atex/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/tag/atex/polityka-prywatnosci/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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.
  • https://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — a BreadcrumbList is present but structurally incomplete — missing required name. 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 Schema describes content not visible on the page

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

  • http://bhplab.pl/outsourcing-ppoz/ — a schema name/headline ("Outsourcing PPOŻ &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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.
  • http://bhplab.pl/probna-ewakuacja/ — a schema name/headline ("Próbna ewakuacja &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/blog/bezpieczne-fajerwerki/ — a schema name/headline ("Bezpieczne Fajerwerki &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/blog/operat-przeciwpozarowy/ — a schema name/headline ("Operat przeciwpożarowy &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/kontakt/ — a schema name/headline ("Kontakt &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/kontakt/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/o-firmie/partnerzy/ — a schema name/headline ("Partnerzy &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/oferta/ — a schema name/headline ("Oferta &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/oferta/szkolenia/ — a schema name/headline ("Szkolenia &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — a schema name/headline ("Szkolenia PPOŻ &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/tag/atex/polityka-prywatnosci/ — a schema name/headline ("Polityka prywatności &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — a schema name/headline ("Operat przeciwpożarowy &raquo; BHPLAB - Zainspirowani bezpieczeństwem - Ełk") 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 · 25 occurrence(s)

Notices (17 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

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

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

notice Duplicate meta description across pages

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

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 1 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • http://bhplab.pl/audyt-bhp/ — the likely hero/LCP image (logo.png) 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.
  • http://bhplab.pl/outsourcing-bhp-2/ — the likely hero/LCP image (logo.png) 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.
  • http://bhplab.pl/outsourcing-ppoz/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/bezpieczne-fajerwerki/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/operat-przeciwpozarowy/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/kontakt/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/kontakt/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/o-firmie/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/o-firmie/realizacje/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/oferta/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/oferta/szkolenia/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/tag/atex/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/tag/atex/polityka-prywatnosci/ — the likely hero/LCP image (logo.png) 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://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — the likely hero/LCP image (logo.png) 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 · 50 occurrence(s)

notice Meta description too long

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

notice Missing Open Graph tags

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

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

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

  • http://bhplab.pl/audyt-bhp/ — 12 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.
  • http://bhplab.pl/outsourcing-bhp-2/ — 12 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.
  • http://bhplab.pl/outsourcing-ppoz/ — 12 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://bhplab.pl/ — 14 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://bhplab.pl/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://bhplab.pl/blog/bezpieczne-fajerwerki/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — 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://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/ — 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://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/ — 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://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/ — 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://bhplab.pl/kontakt/ — 11 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://bhplab.pl/kontakt/polityka-prywatnosci/ — 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://bhplab.pl/o-firmie/ — 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://bhplab.pl/o-firmie/realizacje/ — 27 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://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — 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://bhplab.pl/oferta/ — 11 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://bhplab.pl/oferta/szkolenia/ — 12 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — 12 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — 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://bhplab.pl/tag/atex/ — 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://bhplab.pl/tag/atex/polityka-prywatnosci/ — 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://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — 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.

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

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

  • http://bhplab.pl/audyt-bhp/ — 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.
  • http://bhplab.pl/outsourcing-bhp-2/ — 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.
  • http://bhplab.pl/outsourcing-ppoz/ — 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://bhplab.pl/ — 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://bhplab.pl/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://bhplab.pl/blog/bezpieczne-fajerwerki/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — 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://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/ — 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://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/ — 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://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/ — 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://bhplab.pl/kontakt/ — 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://bhplab.pl/kontakt/polityka-prywatnosci/ — 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://bhplab.pl/o-firmie/ — 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://bhplab.pl/o-firmie/realizacje/ — 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://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — 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://bhplab.pl/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://bhplab.pl/oferta/szkolenia/ — 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — 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://bhplab.pl/tag/atex/ — 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://bhplab.pl/tag/atex/polityka-prywatnosci/ — 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://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

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

  • http://bhplab.pl/audyt-bhp/ — 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.
  • http://bhplab.pl/outsourcing-bhp-2/ — 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.
  • http://bhplab.pl/outsourcing-ppoz/ — 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://bhplab.pl/ — 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://bhplab.pl/blog/ — 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://bhplab.pl/blog/bezpieczne-fajerwerki/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — 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://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/ — 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://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/ — 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://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/ — 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://bhplab.pl/kontakt/ — 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://bhplab.pl/kontakt/polityka-prywatnosci/ — 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://bhplab.pl/o-firmie/ — 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://bhplab.pl/o-firmie/realizacje/ — 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://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — 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://bhplab.pl/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://bhplab.pl/oferta/szkolenia/ — 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — 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://bhplab.pl/tag/atex/ — 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://bhplab.pl/tag/atex/polityka-prywatnosci/ — 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://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — 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 · 19 occurrence(s)

notice Deprecated schema type with no Google rich result

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

  • http://bhplab.pl/audyt-bhp/ — 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.
  • http://bhplab.pl/outsourcing-bhp-2/ — 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.
  • http://bhplab.pl/outsourcing-ppoz/ — 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://bhplab.pl/ — 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://bhplab.pl/blog/ — 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://bhplab.pl/blog/bezpieczne-fajerwerki/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/ — 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://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/ — 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://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/ — 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://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/ — 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://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/ — 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://bhplab.pl/kontakt/ — 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://bhplab.pl/kontakt/polityka-prywatnosci/ — 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://bhplab.pl/o-firmie/ — 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://bhplab.pl/o-firmie/realizacje/ — 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://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/ — 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://bhplab.pl/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://bhplab.pl/oferta/szkolenia/ — 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/ — 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://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/ — 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://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/ — 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://bhplab.pl/tag/atex/ — 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://bhplab.pl/tag/atex/polityka-prywatnosci/ — 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://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/ — 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 Missing recommended security headers

Rule security.missing_headers · Security · 50 occurrence(s)

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

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

notice Title tag is identical to the H1 (missed keyword variation)

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

  • https://bhplab.pl/ — the <title> and the H1 are identical — differentiate them to cover more query variation
Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
http://bhplab.pl/audyt-bezpieczenstwa-maszyn/
Audyt bezpieczeństwa maszyn » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 830 52
http://bhplab.pl/audyt-bhp/
Audyt BHP » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 791 52
http://bhplab.pl/dokumentu-zabezpieczenia-przed-wybuchem/
Oceny Zagrożenia Wybuchem » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 631 51
http://bhplab.pl/klasyfikacji-stref-zagrozenia-wybuchem/
Klasyfikacja Stref Zagrożenia Wybuchem » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 831 51
http://bhplab.pl/outsourcing-ppoz/
Outsourcing PPOŻ » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 837 51
http://bhplab.pl/probna-ewakuacja/
Próbna ewakuacja » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 817 51
http://bhplab.pl/program-zapobiegania-awariom/
Program Zapobiegania Awariom » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 731 52
http://bhplab.pl/szkolenie-bhp/
Szkolenia BHP – wstępne i okresowe » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 857 51
http://bhplab.pl/tematyczne/
Szkolenia tematyczne » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 739 52
http://bhplab.pl/zgloszenie-zakladu/
Kwalifikacja (klasyfikacja) i Zgłoszenie zakładu » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 729 52
https://bhplab.pl/
BHPLAB - Zainspirowani bezpieczeństwem
200 yes 865 50
https://bhplab.pl/blog/
Blog » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 1026 50
https://bhplab.pl/kontakt/
Kontakt » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 315 50
https://bhplab.pl/o-firmie/
Kim jesteśmy » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 640 50
https://bhplab.pl/o-firmie/partnerzy/
Partnerzy » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 421 50
https://bhplab.pl/o-firmie/realizacje/
Realizacje » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 1584 50
https://bhplab.pl/oferta/szkolenia/
Szkolenia » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 638 50
https://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/
Szkolenia PPOŻ » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 833 50
https://bhplab.pl/oferta/szkolenia/szkolenie-z-pierwszej-pomocy/
Szkolenie z pierwszej pomocy » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 843 50
https://bhplab.pl/oferta/uslugi-bhp/outsourcing-bhp/
Outsourcing BHP » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 896 50
https://bhplab.pl/oferta/uslugi-ppoz/audyt-bezpieczenstwa-ppoz/
Audyt bezpieczeństwa PPOŻ » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 840 50
https://bhplab.pl/oferta/
Oferta » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 528 17
https://bhplab.pl/blog/klimatyzacja-w-pomieszczeniu-pracy-a-zdrowie-pracownika/
Klimatyzacja w pomieszczeniu pracy a zdrowie pracownika » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 569 20
https://bhplab.pl/blog/operat-przeciwpozarowy/
Operat przeciwpożarowy » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 584 20
https://bhplab.pl/blog/podpisalismy-umowe-na-kompleksowa-obsluge-bhp-i-p-poz/
Podpisaliśmy umowę na kompleksową obsługę BHP i P.POŻ » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 388 20
https://bhplab.pl/blog/pozar-w-szkole-czy-wiesz-jak-postepowac/
Pożar w szkole. Czy wiesz jak postępować ? » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 651 20
https://bhplab.pl/blog/rozpoczelismy-kolejna-stala-obsluge-bhp-i-ppoz/
Rozpoczęliśmy kolejną stałą obsługę BHP i PPOŻ » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 311 20
https://bhplab.pl/kontakt/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 1
https://bhplab.pl/o-firmie/realizacje/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 1
https://bhplab.pl/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 1
https://bhplab.pl/oferta/szkolenia/szkolenia-ppoz/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 1
https://bhplab.pl/blog/audyt-bezpieczenstwa-maszyn-zakonczenie-realizacji/
Audyt bezpieczeństwa maszyn - zakończenie realizacji » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 367 4
https://bhplab.pl/blog/program-zapobiegania-awariom-nowa-realizacja/
Program Zapobiegania Awariom - nowa realizacja » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 336 4
https://bhplab.pl/blog/bezpieczne-fajerwerki/
Bezpieczne Fajerwerki » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 726 4
https://bhplab.pl/blog/audyt-bhp-przedsiebiorstwa-zakonczenie-realizacji/
Audyt BHP Przedsiębiorstwa - zakończenie realizacji » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 301 4
https://bhplab.pl/blog/samozatrudnienie-zmiany-od-1-stycznia-2017-r/
Samozatrudnienie – zmiany od 1 stycznia 2017r. » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 619 4
https://bhplab.pl/blog/stop-pozarom-traw/
STOP pożarom traw ! » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 1263 4
https://bhplab.pl/blog/aktualizacja-programu-zapobiegania-awariom/
Aktualizacja Programu Zapobiegania Awariom » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 325 4
https://bhplab.pl/blog/nowy-wykaz-prac-niebezpiecznych-dla-zdrowia-kobiet-w-ciazy/
Nowy wykaz prac niebezpiecznych dla zdrowia kobiet w ciąży » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 435 4
https://bhplab.pl/blog/dokument-zabezpieczenia-przed-wybuchem-zakonczenie-realizacji/
Dokument Zabezpieczenia przed Wybuchem - zakończenie realizacji » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 375 4
https://bhplab.pl/blog/audyt-bezpieczenstwa-maszyn-zakonczenie-realizacji-2/
Audyt bezpieczeństwa maszyn - zakończenie realizacji » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 322 4
https://bhplab.pl/blog/bezpieczna-sprzedaz-fajerwerkow/
Bezpieczna sprzedaż fajerwerków » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 813 4
https://bhplab.pl/polityka-prywatnosci/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 7
https://bhplab.pl/blog/wspolczesny-monter-mebli-zagrozenia/
Współczesny monter mebli – Zagrożenia » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 873 3
http://bhplab.pl/outsourcing-bhp-2/
Outsourcing BHP » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 872 2
https://bhplab.pl/blog/operat-przeciwpozarowy/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 2
https://bhplab.pl/uslugi-ppoz-3/operat-przeciwpozarowy/
Operat przeciwpożarowy » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 584 2
http://bhplab.pl/oceny-zagrozenia-wybuchem/
Oceny Zagrożenia Wybuchem » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 631 1
https://bhplab.pl/tag/atex/
atex » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 1026 1
https://bhplab.pl/tag/atex/polityka-prywatnosci/
Polityka prywatności » BHPLAB - Zainspirowani bezpieczeństwem - Ełk
200 yes 715 1

Audit your own site — free

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

Scan your site →