SEO audit for puhettakuvista.fi
Etusivu - Puhetta kuvista
Health 76/100 (good) · 36 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Sivustolta löydät puheterapeutin tekemää materiaalia, joka soveltuu kuntoutukseen, koteihin ja varhaiskasvatukseen.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Security | 81 | 7 | 0 | 7 |
| Performance | 94 | 0 | 7 | 45 |
| Headings | 95 | 0 | 6 | 0 |
| Content | 97 | 0 | 4 | 7 |
| Agent Readiness | 98 | 0 | 3 | 3 |
| Duplicate | 99 | 0 | 1 | 0 |
| Structured Data | 99 | 0 | 1 | 7 |
| Cache | 100 | 0 | 0 | 5 |
| Images | 100 | 0 | 0 | 1 |
| Links | 100 | 0 | 0 | 3 |
| Meta Description | 100 | 0 | 0 | 2 |
| Social | 100 | 0 | 0 | 3 |
| URL | 100 | 0 | 0 | 24 |
Errors (1 rules)
error Mixed content on HTTPS page
Rule security.mixed_content · Security · 7 occurrence(s)
- https://puhettakuvista.fi/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
- https://puhettakuvista.fi/kasitteet/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
- https://puhettakuvista.fi/kerronta/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
- https://puhettakuvista.fi/kielioppi/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
- https://puhettakuvista.fi/tietoa/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
- https://puhettakuvista.fi/tietosuojaseloste/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
- https://puhettakuvista.fi/yhteystiedot/ — 1 insecure subresource(s), e.g. http://gmpg.org/xfn/11
Warnings (6 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 3 occurrence(s)
- https://puhettakuvista.fi/kasitteet/ — 15 button/link(s) with no text or aria-label — an agent can't target them
- https://puhettakuvista.fi/kerronta/ — 3 button/link(s) with no text or aria-label — an agent can't target them
- https://puhettakuvista.fi/kielioppi/ — 3 button/link(s) with no text or aria-label — an agent can't target them
warning Thin content (low word count)
Rule content.thin · Content · 4 occurrence(s)
- https://puhettakuvista.fi/ — 53 words
- https://puhettakuvista.fi/kielioppi/ — 89 words
- https://puhettakuvista.fi/tietoa/ — 86 words
- https://puhettakuvista.fi/yhteystiedot/ — 51 words
warning Homepage duplicated across protocol/host variants (no redirect)
Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)
- https://puhettakuvista.fi/ — http://puhettakuvista.fi/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.
warning Missing <h1>
Rule h1.missing · Headings · 6 occurrence(s)
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 7 occurrence(s)
- https://puhettakuvista.fi/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
- https://puhettakuvista.fi/kasitteet/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
- https://puhettakuvista.fi/kerronta/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
- https://puhettakuvista.fi/kielioppi/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
- https://puhettakuvista.fi/tietoa/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
- https://puhettakuvista.fi/tietosuojaseloste/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
- https://puhettakuvista.fi/yhteystiedot/ — 2 render-blocking <script> in <head> (add defer/async or use type=module)
warning BreadcrumbList present but structurally incomplete
Rule schema.breadcrumb_incomplete · Structured Data · 1 occurrence(s)
- https://puhettakuvista.fi/ — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
Notices (16 rules)
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://puhettakuvista.fi/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice No main landmark for AI agents
Rule agent.no_main_landmark · Agent Readiness · 2 occurrence(s)
- https://puhettakuvista.fi/ — add a <main> element (or role=main) around the primary content
- https://puhettakuvista.fi/tietosuojaseloste/ — add a <main> element (or role=main) around the primary content
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 5 occurrence(s)
- https://puhettakuvista.fi/ — Cache-Control: no-cache
- https://puhettakuvista.fi/kerronta/ — Cache-Control: no-cache
- https://puhettakuvista.fi/kielioppi/ — Cache-Control: no-cache
- https://puhettakuvista.fi/tietoa/ — Cache-Control: no-cache
- https://puhettakuvista.fi/yhteystiedot/ — Cache-Control: no-cache
notice Low text-to-HTML ratio
Rule content.low_ratio · Content · 7 occurrence(s)
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 3 occurrence(s)
- https://puhettakuvista.fi/kasitteet/ — the likely hero/LCP image (logo--e1747830305151.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://puhettakuvista.fi/kerronta/ — the likely hero/LCP image (logo--e1747830305151.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://puhettakuvista.fi/kielioppi/ — the likely hero/LCP image (logo--e1747830305151.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 · 1 occurrence(s)
- https://puhettakuvista.fi/kasitteet/ — 2 of 17 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 3 occurrence(s)
- https://puhettakuvista.fi/kasitteet/ — 15 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://puhettakuvista.fi/kerronta/ — 3 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://puhettakuvista.fi/kielioppi/ — 3 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 2 occurrence(s)
- https://puhettakuvista.fi/tietoa/ — 525 chars
- https://puhettakuvista.fi/tietosuojaseloste/ — 600 chars
notice Missing Open Graph tags
Rule og.missing · Social · 3 occurrence(s)
- https://puhettakuvista.fi/tietoa/ — og:image
- https://puhettakuvista.fi/tietosuojaseloste/ — og:image
- https://puhettakuvista.fi/yhteystiedot/ — og:image
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 7 occurrence(s)
- https://puhettakuvista.fi/ — 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://puhettakuvista.fi/kasitteet/ — 17 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://puhettakuvista.fi/kerronta/ — 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://puhettakuvista.fi/kielioppi/ — 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://puhettakuvista.fi/tietoa/ — 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://puhettakuvista.fi/tietosuojaseloste/ — 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://puhettakuvista.fi/yhteystiedot/ — 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 Large HTML document
Rule perf.large_html · Performance · 27 occurrence(s)
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Kuvailuharjoitus-elaimet-ruoat-huonekalut-vaatteet.pdf — 23.3 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Lottopeli-Muistipeli-3-sanan-lauseet-katsoa-kuulla-odottaa.pdf — 15.7 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Lottopeli-Muistipeli-3-sanan-lauseet-syoda-avata-loytaa.pdf — 5.6 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-3-sanan-lauseet-antaa-ottaa-laittaa.pdf — 12.2 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-Partitiiviin-taivutus.pdf — 4.2 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-Taivutus-genetiiviin-3-sanan-lauseet-imperfekti.pdf — 10.5 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-genetiivi-3-sanan-lauseet-preesens.pdf — 11.4 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Noppapeli-Mita-lapset-tekevat-3-sanan-lauseet.pdf — 23.8 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Varita-kasitteen-mukaan-24-adjektiivia-1.pdf — 3.2 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Yhdista-vastakohdat-42-adjektiivia-1.pdf — 6.1 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Yhdista-vastakohdat-Ominaisuudet-ja-olotilat.pdf — 13.0 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Yhdista-vastakohdat-sijaintikasitteet-1.pdf — 4.2 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/09/Viela-16-kasitetta.pdf — 14.1 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/09/iso-pieni-halpa-kallis.pdf — 2.0 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/09/saada-nahda-valita-lauseet-lotto-ja-muistipeli.pdf — 23.8 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/10/Kerron-koulupaivasta.pdf — 23.7 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/10/Paivasta-kertominen-Paivakoti.pdf — 5.5 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/10/Viikonlopusta-kertominen.pdf — 23.8 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/11/Ympyroi-kylmat-kuumat-kevyet-painavat.pdf — 6.3 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/11/Ympyroi-suolaiset-makeat-kuivat-marat.pdf — 11.1 MiB
- https://puhettakuvista.fi/wp-content/uploads/2025/12/Ylakasitekortit.pdf — 14.5 MiB
- https://puhettakuvista.fi/wp-content/uploads/2026/02/Kuvapaivakirjan-sivut.pdf — 7.5 MiB
- https://puhettakuvista.fi/wp-content/uploads/2026/02/Ulkopuuhat-Lauseharjoitus.pdf — 12.2 MiB
- https://puhettakuvista.fi/wp-content/uploads/2026/03/Mika-ei-kuulu.pdf — 7.6 MiB
- https://puhettakuvista.fi/wp-content/uploads/2026/03/SYODA-LEIKKIA-PELATA-lauseet-yksikossa.pdf — 13.5 MiB
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 7 occurrence(s)
- https://puhettakuvista.fi/ — 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://puhettakuvista.fi/kasitteet/ — 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://puhettakuvista.fi/kerronta/ — 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://puhettakuvista.fi/kielioppi/ — 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://puhettakuvista.fi/tietoa/ — 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://puhettakuvista.fi/tietosuojaseloste/ — 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://puhettakuvista.fi/yhteystiedot/ — 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 · 1 occurrence(s)
- https://puhettakuvista.fi/kasitteet/ — 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 Deprecated schema type with no Google rich result
Rule schema.deprecated_type · Structured Data · 7 occurrence(s)
- https://puhettakuvista.fi/ — 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://puhettakuvista.fi/kasitteet/ — 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://puhettakuvista.fi/kerronta/ — 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://puhettakuvista.fi/kielioppi/ — 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://puhettakuvista.fi/tietoa/ — 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://puhettakuvista.fi/tietosuojaseloste/ — 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://puhettakuvista.fi/yhteystiedot/ — 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 · 7 occurrence(s)
- https://puhettakuvista.fi/ — CSP, X-Content-Type-Options
- https://puhettakuvista.fi/kasitteet/ — CSP, X-Content-Type-Options
- https://puhettakuvista.fi/kerronta/ — CSP, X-Content-Type-Options
- https://puhettakuvista.fi/kielioppi/ — X-Content-Type-Options, CSP
- https://puhettakuvista.fi/tietoa/ — CSP, X-Content-Type-Options
- https://puhettakuvista.fi/tietosuojaseloste/ — CSP, X-Content-Type-Options
- https://puhettakuvista.fi/yhteystiedot/ — X-Content-Type-Options, CSP
notice Uppercase letters in URL path
Rule url.uppercase · URL · 24 occurrence(s)
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Kuvailuharjoitus-elaimet-ruoat-huonekalut-vaatteet.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Lottopeli-Muistipeli-3-sanan-lauseet-katsoa-kuulla-odottaa.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Lottopeli-Muistipeli-3-sanan-lauseet-syoda-avata-loytaa.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-3-sanan-lauseet-antaa-ottaa-laittaa.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-Partitiiviin-taivutus.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-Taivutus-genetiiviin-3-sanan-lauseet-imperfekti.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Muistipeli-genetiivi-3-sanan-lauseet-preesens.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Noppapeli-Mita-lapset-tekevat-3-sanan-lauseet.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Varita-kasitteen-mukaan-24-adjektiivia-1.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Yhdista-vastakohdat-42-adjektiivia-1.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Yhdista-vastakohdat-Ominaisuudet-ja-olotilat.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/08/Yhdista-vastakohdat-sijaintikasitteet-1.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/09/Viela-16-kasitetta.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/10/Kerron-koulupaivasta.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/10/Paivasta-kertominen-Paivakoti.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/10/Viikonlopusta-kertominen.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/11/Ympyroi-kylmat-kuumat-kevyet-painavat.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/11/Ympyroi-suolaiset-makeat-kuivat-marat.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/12/Adjektiivit-Vastakohtakortit.pdf
- https://puhettakuvista.fi/wp-content/uploads/2025/12/Ylakasitekortit.pdf
- https://puhettakuvista.fi/wp-content/uploads/2026/02/Kuvapaivakirjan-sivut.pdf
- https://puhettakuvista.fi/wp-content/uploads/2026/02/Ulkopuuhat-Lauseharjoitus.pdf
- https://puhettakuvista.fi/wp-content/uploads/2026/03/Mika-ei-kuulu.pdf
- https://puhettakuvista.fi/wp-content/uploads/2026/03/SYODA-LEIKKIA-PELATA-lauseet-yksikossa.pdf
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.