Catalog / s2020.com.pl
40

SEO audit for s2020.com.pl

s2020.pl Szklarnie ogrodowe, Szklarnia aluminiowa, Szklarnia ze szkła hartowanego

other

Health 40/100 (poor) · 50 pages crawled · generated 2026-08-26

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

s2020.pl szklarnie ogrodowe, szklarnia aluminiowa, szklarnia ze szkła hartowanego. ogród zimowy, Śląsk, szklarnia francuska

Screenshot of s2020.com.pl
50
pages crawled
48
indexable pages
21
errors
504
warnings
567
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Structured Data 0 21 110 4
Links 0 0 334 0
Agent Readiness 87 0 21 4
Duplicate 88 0 20 4
Titles 96 0 6 0
Meta Description 98 0 4 16
Budget 98 0 3 0
Canonical 98 0 3 1
Images 99 0 2 96
Robots 99 0 1 0
Content 100 0 0 56
Crawlability 100 0 0 18
Headings 100 0 0 23
Performance 100 0 0 173
Security 100 0 0 50
Social 100 0 0 78
URL 100 0 0 44
Findings

Errors (1 rules)

error JSON-LD block missing @context or @type

Rule schema.no_context_type · Structured Data · 21 occurrence(s)

Warnings (14 rules)

warning Control has no accessible name

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

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

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

  • https://s2020.com.pl/pl/login/facebook — internal links point to https://s2020.com.pl/pl/login/facebook, 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://s2020.com.pl/, https://s2020.com.pl/pl/panel, https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16.
  • https://s2020.com.pl/pl/login/google — internal links point to https://s2020.com.pl/pl/login/google, 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://s2020.com.pl/, https://s2020.com.pl/pl/panel, https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16.
  • https://s2020.com.pl/pl/login/shoper_sso — internal links point to https://s2020.com.pl/pl/login/shoper_sso, 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://s2020.com.pl/, https://s2020.com.pl/pl/panel, https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16.

warning Missing canonical tag

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

warning Duplicate page content

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

warning Near-duplicate page content

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

warning Duplicate <title> across pages

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

warning Images missing alt text

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

warning Internal link points to a redirect

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

  • https://s2020.com.pl/ — https://s2020.com.pl/panel/ → https://s2020.com.pl/pl/login
  • https://s2020.com.pl/ — https://s2020.com.pl/panel/edit → https://s2020.com.pl/pl/login
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/c/Szklarnie-Lams/36 → https://s2020.com.pl/
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 → https://s2020.com.pl/pl/c/Szklarnie-przyscienne%2C-Ogrody-zimowe/19
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Polka-do-szklarni-Laurus,-Carvi,-Allium,-Aloe/49 → https://s2020.com.pl/pl/p/Polka-do-szklarni-Laurus%2C-Carvi%2C-Allium%2C-Aloe/49
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Stol-do-sadzonek-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/55 → https://s2020.com.pl/pl/p/Stol-do-sadzonek-do-szklarni-Laurus%2C-Carvi%2C-Allium%2C-Aloe-/55
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-ESSENTIA-3,09-x-4,57/70 → https://s2020.com.pl/pl/p/Szklarnia-ESSENTIA-3%2C09-x-4%2C57/70
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-11,3-/34 → https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-11%2C3-/34
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-12,9/35 → https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-12%2C9/35
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-14,4/36 → https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-14%2C4/36
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-8,1/31 → https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-8%2C1/31
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LUXIA-1,60x1,60/61 → https://s2020.com.pl/pl/p/Szklarnia-LUXIA-1%2C60x1%2C60/61
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3,09x3,80/72 → https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3%2C09x3%2C80/72
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3,09x4,57/73 → https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3%2C09x4%2C57/73
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9,7/30 → https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9%2C7/30
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Szklarnia-przyscienna-LAMS-MELISSA-4,9m2/43 → https://s2020.com.pl/pl/p/Szklarnia-przyscienna-LAMS-MELISSA-4%2C9m2/43
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/p/Zacienienie-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/57 → https://s2020.com.pl/pl/p/Zacienienie-do-szklarni-Laurus%2C-Carvi%2C-Allium%2C-Aloe-/57
  • https://s2020.com.pl/ — https://s2020.com.pl/pl/panel → https://s2020.com.pl/pl/login
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — https://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 → https://s2020.com.pl/pl/c/Szklarnie-przyscienne%2C-Ogrody-zimowe/19
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9,7/30 → https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9%2C7/30
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — https://s2020.com.pl/pl/panel → https://s2020.com.pl/pl/login
  • https://s2020.com.pl/pl/panel — https://s2020.com.pl/panel/ → https://s2020.com.pl/pl/login
  • https://s2020.com.pl/pl/panel — https://s2020.com.pl/panel/edit → https://s2020.com.pl/pl/login
  • https://s2020.com.pl/pl/panel — https://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 → https://s2020.com.pl/pl/c/Szklarnie-przyscienne%2C-Ogrody-zimowe/19
  • https://s2020.com.pl/pl/panel — https://s2020.com.pl/pl/panel → https://s2020.com.pl/pl/login

warning Missing meta description

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

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

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

  • https://s2020.com.pl/ — robots.txt Disallow blocks render-critical CSS/JS under: /application/assets/storefront/ — 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 · 43 occurrence(s)

  • https://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20 — 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://s2020.com.pl/pl/c/Allium/29 — 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://s2020.com.pl/pl/c/Aloe/30 — 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://s2020.com.pl/pl/c/Carvi/25 — 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://s2020.com.pl/pl/c/Laurus/27 — 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://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31 — 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://s2020.com.pl/pl/c/Projekty-indywidualne/32 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/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.
  • https://s2020.com.pl/pl/c/Szklarnie-Premium/23 — 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://s2020.com.pl/pl/c/Szklarnie-Retro/22 — 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://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — 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://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 — 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://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — 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://s2020.com.pl/pl/c/Wanny-Spa/38 — 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://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — 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://s2020.com.pl/pl/c/Zamowienia-biznesowe/33 — 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://s2020.com.pl/pl/i/Kontakt-i-dane-firmy/9 — 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://s2020.com.pl/pl/i/Montaz-szklarni/13 — 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://s2020.com.pl/pl/i/O-nas/8 — 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://s2020.com.pl/pl/n/list — 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://s2020.com.pl/pl/new — 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — 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://s2020.com.pl/pl/promotions — 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 LocalBusiness schema missing required properties (name/address)

Rule schema.localbusiness_incomplete · Structured Data · 48 occurrence(s)

  • https://s2020.com.pl/ — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/panel/ — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/panel/edit — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Allium/29 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Aloe/30 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Carvi/25 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Laurus/27 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Projekty-indywidualne/32 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/2 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-Premium/23 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-Retro/22 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Wanny-Spa/38 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/c/Zamowienia-biznesowe/33 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/i/O-nas/8 — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/n/list — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.
  • https://s2020.com.pl/pl/panel — LocalBusiness structured data is missing required property (address) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (telephone, openingHoursSpecification, geo, priceRange), which enrich the result.

warning Product schema missing required or recommended properties

Rule schema.product_incomplete · Structured Data · 19 occurrence(s)

  • https://s2020.com.pl/pl/p/Mechanizm-automatycznego-otwierania-okna-/33 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Polka-do-szklarni-Laurus,-Carvi,-Allium,-Aloe/49 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Stol-do-sadzonek-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/55 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ESSENTIA-3,09-x-4,57/70 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-11,3-/34 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-12,9/35 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-14,4/36 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-8,1/31 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LUXIA-1,60x1,60/61 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3,09x3,80/72 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3,09x4,57/73 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-S/41 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-CARVI-/37 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9,7/30 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Szklarnia-przyscienna-LAMS-MELISSA-4,9m2/43 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Zacienienie-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/57 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.
  • https://s2020.com.pl/pl/p/Zestaw-10-haczykow-do-zawieszania-/32 — Product structured data is missing required properties (name, image, offers.price, offers.priceCurrency) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, brand, aggregateRating, review, description), which enrich the result.

warning Title likely truncated in SERP (too wide)

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

Notices (24 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

notice Canonical points to a different URL

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

notice Duplicate meta description across pages

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

notice Article page has no author attribution (E-E-A-T)

Rule eeat.no_author · Content · 4 occurrence(s)

notice Article page has no publication date (freshness / E-E-A-T)

Rule eeat.no_date · Content · 4 occurrence(s)

  • https://s2020.com.pl/pl/i/Kontakt-i-dane-firmy/9 — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://s2020.com.pl/pl/i/Montaz-szklarni/13 — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://s2020.com.pl/pl/i/O-nas/8 — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness
  • https://s2020.com.pl/pl/n/list — this page is marked up as an article but has no publication date — no datePublished in its JSON-LD and no visible date — add a visible published date and an Article.datePublished so Google can assess freshness

notice Multiple <h1> elements

Rule h1.multiple · Headings · 23 occurrence(s)

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

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

  • https://s2020.com.pl/ — 26 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/panel/ — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/panel/edit — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Allium/29 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Aloe/30 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Carvi/25 — 11 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Laurus/27 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Projekty-indywidualne/32 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — 11 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — 11 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/2 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-Premium/23 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-Retro/22 — 14 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — 11 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Wanny-Spa/38 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/c/Zamowienia-biznesowe/33 — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/i/O-nas/8 — 13 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/n/list — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://s2020.com.pl/pl/panel — 10 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.

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

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

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

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

notice Missing Open Graph tags

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

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

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

  • https://s2020.com.pl/ — the page has 2848 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://s2020.com.pl/pl/c/Szklarnie-Lams/36 — the page has 2848 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — the page has 1602 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — the page has 1602 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://s2020.com.pl/pl/c/Szklarnie-Premium/23 — the page has 1578 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://s2020.com.pl/pl/c/Szklarnie-Retro/22 — the page has 1531 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://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — the page has 1556 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://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — the page has 1519 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://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — the page has 1655 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://s2020.com.pl/pl/n/list — the page has 1743 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://s2020.com.pl/pl/p/Mechanizm-automatycznego-otwierania-okna-/33 — the page has 1797 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://s2020.com.pl/pl/p/Polka-do-szklarni-Laurus,-Carvi,-Allium,-Aloe/49 — the page has 1838 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://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-11,3-/34 — the page has 1725 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://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-12,9/35 — the page has 1733 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://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-14,4/36 — the page has 1695 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://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-8,1/31 — the page has 1720 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://s2020.com.pl/pl/p/Szklarnia-LUXIA-1,60x1,60/61 — the page has 1581 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39 — the page has 1648 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — the page has 1648 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-S/41 — the page has 1656 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-CARVI-/37 — the page has 1655 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9,7/30 — the page has 1860 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://s2020.com.pl/pl/p/Szklarnia-przyscienna-LAMS-MELISSA-4,9m2/43 — the page has 1571 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://s2020.com.pl/pl/p/Zacienienie-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/57 — the page has 1967 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://s2020.com.pl/pl/p/Zestaw-10-haczykow-do-zawieszania-/32 — the page has 1770 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 · 48 occurrence(s)

  • https://s2020.com.pl/ — 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://s2020.com.pl/panel/ — 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://s2020.com.pl/panel/edit — 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://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20 — 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://s2020.com.pl/pl/c/Allium/29 — 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://s2020.com.pl/pl/c/Aloe/30 — 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://s2020.com.pl/pl/c/Carvi/25 — 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://s2020.com.pl/pl/c/Laurus/27 — 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://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31 — 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://s2020.com.pl/pl/c/Projekty-indywidualne/32 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/2 — 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://s2020.com.pl/pl/c/Szklarnie-Premium/23 — 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://s2020.com.pl/pl/c/Szklarnie-Retro/22 — 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://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — 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://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 — 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://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — 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://s2020.com.pl/pl/c/Wanny-Spa/38 — 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://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — 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://s2020.com.pl/pl/c/Zamowienia-biznesowe/33 — 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://s2020.com.pl/pl/i/O-nas/8 — 7 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://s2020.com.pl/pl/n/list — 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — 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://s2020.com.pl/pl/panel — 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 · 48 occurrence(s)

  • https://s2020.com.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://s2020.com.pl/panel/ — 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://s2020.com.pl/panel/edit — 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://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20 — 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://s2020.com.pl/pl/c/Allium/29 — 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://s2020.com.pl/pl/c/Aloe/30 — 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://s2020.com.pl/pl/c/Carvi/25 — 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://s2020.com.pl/pl/c/Laurus/27 — 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://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31 — 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://s2020.com.pl/pl/c/Projekty-indywidualne/32 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/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.
  • https://s2020.com.pl/pl/c/Szklarnie-Premium/23 — 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://s2020.com.pl/pl/c/Szklarnie-Retro/22 — 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://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — 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://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 — 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://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — 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://s2020.com.pl/pl/c/Wanny-Spa/38 — 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://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — 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://s2020.com.pl/pl/c/Zamowienia-biznesowe/33 — 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://s2020.com.pl/pl/i/O-nas/8 — 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://s2020.com.pl/pl/n/list — 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://s2020.com.pl/pl/panel — 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 · 48 occurrence(s)

  • https://s2020.com.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://s2020.com.pl/panel/ — 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://s2020.com.pl/panel/edit — 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://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20 — 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://s2020.com.pl/pl/c/Allium/29 — 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://s2020.com.pl/pl/c/Aloe/30 — 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://s2020.com.pl/pl/c/Carvi/25 — 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://s2020.com.pl/pl/c/Laurus/27 — 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://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31 — 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://s2020.com.pl/pl/c/Projekty-indywidualne/32 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9 — 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://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/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.
  • https://s2020.com.pl/pl/c/Szklarnie-Premium/23 — 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://s2020.com.pl/pl/c/Szklarnie-Retro/22 — 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://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21 — 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://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19 — 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://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17 — 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://s2020.com.pl/pl/c/Wanny-Spa/38 — 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://s2020.com.pl/pl/c/Warzywniki-betonowe/37 — 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://s2020.com.pl/pl/c/Zamowienia-biznesowe/33 — 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://s2020.com.pl/pl/i/O-nas/8 — 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://s2020.com.pl/pl/n/list — 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://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://s2020.com.pl/pl/panel — 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 · 18 occurrence(s)

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

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

  • https://s2020.com.pl/pl/i/Kontakt-i-dane-firmy/9 — Article structured data is missing recommended properties (image, datePublished, author) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://s2020.com.pl/pl/i/Montaz-szklarni/13 — Article structured data is missing recommended properties (image, datePublished, author) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://s2020.com.pl/pl/i/O-nas/8 — Article structured data is missing recommended properties (image, datePublished, author) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
  • https://s2020.com.pl/pl/n/list — Article structured data is missing recommended properties (headline, image, datePublished, author) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.

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

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

  • https://s2020.com.pl/ — 15 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://s2020.com.pl/pl/c/Szklarnie-Lams/36 — 15 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".

notice Underscores in URL path (prefer hyphens)

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://s2020.com.pl/
s2020.pl Szklarnie ogrodowe, Szklarnia aluminiowa, Szklarnia ze szkła hartowanego
200 yes 1617 48
https://s2020.com.pl/panel/
Zaloguj się - s2020.pl
200 yes 496 48
https://s2020.com.pl/panel/edit
Zaloguj się - s2020.pl
200 yes 496 48
https://s2020.com.pl/pl/c/Akcesoria-do-szklarni/20
Akcesoria do Szklarni – Automatyka, Regały i Ogrzewanie | s2020.pl
200 yes 1011 48
https://s2020.com.pl/pl/c/Allium/29
Allium - s2020.pl
200 yes 662 48
https://s2020.com.pl/pl/c/Aloe/30
Aloe - s2020.pl
200 yes 530 48
https://s2020.com.pl/pl/c/Carvi/25
Carvi - s2020.pl
200 yes 615 48
https://s2020.com.pl/pl/c/Laurus/27
Laurus - s2020.pl
200 yes 688 48
https://s2020.com.pl/pl/c/Ogrzewacze-gazowe/31
Ogrzewacze gazowe - s2020.pl
200 yes 533 48
https://s2020.com.pl/pl/c/Projekty-indywidualne/32
Projekty indywidualne - s2020.pl
200 yes 562 48
https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16
Szklarnie Natura – Trwałe Szklarnie Ogrodowe ze Szkła i Aluminium | s2020.pl
200 yes 1104 48
https://s2020.com.pl/pl/c/Szklarnie-Premium/23
Szklarnie Luxia – Ekskluzywne Szklarnie Premium ze szkła hartowanego| s2020.pl
200 yes 1070 48
https://s2020.com.pl/pl/c/Szklarnie-Retro/22
Szklarnie Retro - s2020.pl
200 yes 777 48
https://s2020.com.pl/pl/c/Szklarnie-na-podmurowce/21
Szklarnie na Podmurówce i Murku – Styl Angielski i Retro | s2020.pl
200 yes 1103 48
https://s2020.com.pl/pl/c/Szklarnie-przyscienne,-Ogrody-zimowe/19
Szklarnie Przyścienne i Ogrody Zimowe – Szklane Konstrukcje | s2020.pl
200 yes 1063 48
https://s2020.com.pl/pl/c/Szklarnie-wolnostojace/17
Szklarnie wolnostojące - s2020.pl
200 yes 775 48
https://s2020.com.pl/pl/c/Wanny-Spa/38
Wanny Spa - s2020.pl
200 yes 1064 48
https://s2020.com.pl/pl/c/Warzywniki-betonowe/37
Warzywniki betonowe - s2020.pl
200 yes 1539 48
https://s2020.com.pl/pl/c/Zamowienia-biznesowe/33
Zamówienia biznesowe - s2020.pl
200 yes 618 48
https://s2020.com.pl/pl/i/Kontakt-i-dane-firmy/9
Kontakt i dane firmy - s2020.pl
200 yes 542 48
https://s2020.com.pl/pl/i/Montaz-szklarni/13
Montaż szklarni - s2020.pl
200 yes 994 48
https://s2020.com.pl/pl/i/O-nas/8
O nas - s2020.pl
200 yes 1054 48
https://s2020.com.pl/pl/n/list
Blog - s2020.pl
200 yes 6870 48
https://s2020.com.pl/pl/new
Nowości - s2020.pl
200 yes 600 48
https://s2020.com.pl/pl/panel
Zaloguj się - s2020.pl
200 yes 496 48
https://s2020.com.pl/pl/promotions
Promocje - s2020.pl
200 yes 503 48
https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-CARVI-/37
Szklarnia ogrodowa LAMS CARVI s2020.pl
200 yes 1896 13
https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-14,4/36
Szklarnia LAMS LAURUS 14,4 s2020.pl
200 yes 1931 13
https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39
Szklarnia ogrodowa LAMS ALLIUM L s2020.pl
200 yes 2050 13
https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-S/41
Szklarnia ogrodowa LAMS ALLIUM S s2020.pl
200 yes 2202 12
https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-11,3-/34
Szklarnia LAMS LAURUS 11,3 s2020.pl
200 yes 1937 12
https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-12,9/35
Szklarnia LAMS LAURUS 12,9 s2020.pl
200 yes 1913 12
https://s2020.com.pl/pl/p/Szklarnia-LAMS-LAURUS-8,1/31
Szklarnia LAMS LAURUS 8,1 s2020.pl
200 yes 1888 12
https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-LAURUS-9,7/30
Szklarnia ogrodowa LAMS LAURUS 9,7 s2020.pl
200 yes 1960 12
https://s2020.com.pl/pl/p/Mechanizm-automatycznego-otwierania-okna-/33
Mechanizm automatycznego otwierania okna s2020.pl
200 yes 1238 18
https://s2020.com.pl/pl/p/Polka-do-szklarni-Laurus,-Carvi,-Allium,-Aloe/49
Półka do szklarni Laurus, Carvi, Allium, Aloe s2020.pl
200 yes 1015 18
https://s2020.com.pl/pl/p/Stol-do-sadzonek-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/55
Stół do sadzonek do szklarni Laurus, Carvi, Allium, Aloe s2020.pl
200 yes 1065 18
https://s2020.com.pl/pl/p/Zacienienie-do-szklarni-Laurus,-Carvi,-Allium,-Aloe-/57
Zacienienie do szklarni Laurus, Carvi, Allium, Aloe s2020.pl
200 yes 1032 18
https://s2020.com.pl/pl/p/Zestaw-10-haczykow-do-zawieszania-/32
Zestaw 10 haczyków do zawieszania s2020.pl
200 yes 909 18
https://s2020.com.pl/pl/p/Szklarnia-przyscienna-LAMS-MELISSA-4,9m2/43
Szklarnia przyścienna LAMS MELISSA 4,9m2 s2020.pl
200 yes 2026 9
https://s2020.com.pl/pl/p/Szklarnia-ESSENTIA-3,09-x-4,57/70
Szklarnia ESSENTIA 3,09 x 4,57 s2020.pl
200 yes 1611 4
https://s2020.com.pl/pl/p/Szklarnia-LUXIA-1,60x1,60/61
Szklarnia LUXIA 1,60x1,60 s2020.pl
200 yes 1891 4
https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3,09x3,80/72
Szklarnia LUXIA 3,09x3,80 s2020.pl
200 yes 1795 4
https://s2020.com.pl/pl/p/Szklarnia-LUXIA-3,09x4,57/73
Szklarnia LUXIA 3,09x4,57 s2020.pl
200 yes 1839 4
https://s2020.com.pl/pl/p/Szklarnia-ogrodowa-LAMS-ALLIUM-L/39?utm_source=chatgpt.com
Szklarnia ogrodowa LAMS ALLIUM L s2020.pl
200 yes 2050 1
https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/2
Szklarnie Natura – Trwałe Szklarnie Ogrodowe ze Szkła i Aluminium | s2020.pl
200 yes 636 2
https://s2020.com.pl/pl/c/Szklarnie-Ogrodowe-Natura/16/1/default/9
Szklarnie Natura – Trwałe Szklarnie Ogrodowe ze Szkła i Aluminium | s2020.pl
200 yes 1109 2
https://s2020.com.pl/pl/c/Szklarnie-Lams/36
s2020.pl Szklarnie ogrodowe, Szklarnia aluminiowa, Szklarnia ze szkła hartowanego
200 yes 1617 2
https://s2020.com.pl/environment/cache/images/productGfx_1056_0_0/IMG_9709.JPG.webp 200 no 0 3
https://s2020.com.pl/userdata/public/gfx/49/Wysoka-Szklarnia-laurus-9,7-ciemny-kolor-aluminium.webp 200 no 0 3

Audit your own site — free

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

Scan your site →