Skip to main content
GeneralMixed

SEO Report: printoteka.pl

Generated 1 మే, 2026 · 61 findings · 6.3s

64
report.overallScore
71
seo
70
security
0
performance
31
accessibility
74
Best Practices

Institutional websites prioritize accessibility, security, and proper indexing — citizens and stakeholders need easy access to relevant information.

Score Breakdown

Average General score: 50

seo
71(+26 vs avg)
security
70(+12 vs avg)
performance
0(-44 vs avg)
accessibility
31(-21 vs avg)
Best Practices
74(+18 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 64Projected score: 72
Current score
Free (+3)
Starter (+1)
Pro (+4)

Ready to improve your SEO?

Start a free trial and see how your score can improve.

Module Breakdown

headers
109 findings
social checker
255 findings
structured data
301 finding
accessibility
316 findings
content
404 findings
meta
617 findings
page experience
653 findings
brand checker
704 findings
sitemap
753 findings
rate limits
753 findings
cookies
803 findings
technology
802 findings
log analyzer
802 findings
dns
853 findings
robots
851 finding
mobile
853 findings
uptime checker
851 finding
indexing checker
851 finding
news mentions
90
ssl
100
layout scan
100
crawl budget
100

All Findings (58)

Critical (8)

  • highheaders

    Missing strict-transport-security

    HSTS header is missing. The site may be vulnerable to downgrade attacks.

    Add Strict-Transport-Security header with max-age of at least 31536000

  • highcontent

    No H1 tag found

    The page has no H1 heading

    Add exactly one H1 tag with the primary keyword

  • highcontent

    Images missing alt text

    33 image(s) have no alt attribute

    Add descriptive alt text to all images for accessibility and SEO

  • highaccessibility

    32 images missing alt attribute

    Images without alt text are inaccessible to screen readers

    Add descriptive alt text to all informational images, or alt="" for decorative ones

  • highaccessibility

    14 form fields without labels

    Form inputs without associated labels are inaccessible

    Use <label for="id"> or aria-label on every form field

  • highaccessibility

    1 buttons without accessible name

    Buttons with no text, aria-label, or title are invisible to screen readers

    Add visible text or aria-label to all buttons

  • highsocial checker

    Missing og:title

    Open Graph title is not set — social shares will use generic text

    Add og:title meta tag for compelling social media previews

  • highpage experience

    Intrusive interstitials detected

    Found 8 potential popup/overlay elements

    Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties

Medium (25)

  • mediumcookies

    1 cookie missing Secure flag

    Cookies without Secure flag can be sent over unencrypted HTTP connections

    Add the Secure attribute to all cookies to prevent transmission over HTTP

  • mediumheaders

    Missing content-security-policy

    CSP header is missing. The site may be vulnerable to XSS attacks.

    Add a Content-Security-Policy header to restrict resource loading

  • mediumheaders

    Missing x-content-type-options

    X-Content-Type-Options is missing. MIME-sniffing attacks are possible.

    Add X-Content-Type-Options: nosniff header

  • mediumheaders

    Missing x-frame-options

    X-Frame-Options is missing. The site may be vulnerable to clickjacking.

    Add X-Frame-Options: DENY or SAMEORIGIN header

  • mediummeta

    Missing canonical URL

    No canonical link tag found

    Add a canonical URL to prevent duplicate content issues

  • mediummeta

    Missing og:title

    Open Graph title is not set

    Add og:title meta tag for social sharing

  • mediummeta

    Missing og:image

    No Open Graph image set. Social shares will lack a preview image.

    Add og:image meta tag (1200x630px recommended)

  • mediumstructured data

    No structured data found

    No JSON-LD schemas detected on the page

    Add structured data (Organization, WebSite, BreadcrumbList) for rich search results

  • mediumrobots

    No sitemap in robots.txt

    robots.txt does not reference a sitemap

    Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt

  • mediumsitemap

    Sitemap contains HTTP URLs

    1647 URLs in sitemap use HTTP instead of HTTPS

    Update all sitemap URLs to use HTTPS

  • mediumtechnology

    Render-blocking scripts

    25 scripts load synchronously without async/defer

    Add async or defer to non-critical scripts to improve page load speed

  • mediumcontent

    External links without noopener

    4 external links with target="_blank" lack rel="noopener"

    Add rel="noopener noreferrer" to all target="_blank" links

  • mediumcontent

    Low keyword relevance

    Only 40% of title keywords appear in body text

    Ensure the page content includes the keywords from the title

  • mediummobile

    11 small tap targets detected

    Some interactive elements may be too small for comfortable tapping

    Ensure all tap targets are at least 44x44px with adequate spacing

  • mediumaccessibility

    Missing main landmark

    No <main> element or role="main" found

    Wrap primary content in a <main> element for screen reader navigation

  • mediumaccessibility

    No skip navigation link

    No skip-to-content link at the top of the page

    Add a visually hidden skip link as the first focusable element

  • mediumaccessibility

    Positive tabindex values found

    16 elements use tabindex > 0, which disrupts natural tab order

    Use tabindex="0" or tabindex="-1" instead of positive values

  • mediumrate limits

    No rate limiting detected

    10 rapid requests all succeeded without any rate-limit headers or 429 responses. The site may be vulnerable to abuse.

    Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks

  • mediumsocial checker

    Missing og:description

    Open Graph description is not set

    Add og:description for better social sharing previews

  • mediumsocial checker

    Missing og:image

    No social sharing image set — posts will lack visual appeal

    Add og:image meta tag (1200x630px recommended)

  • mediumsocial checker

    Missing Twitter Card

    No twitter:card meta tag — Twitter/X will use default preview

    Add twitter:card meta tag (e.g., "summary_large_image")

  • mediumuptime checker

    Soft 404 detected

    Non-existent URLs return HTTP 200 instead of 404

    Return proper 404 status codes for non-existent pages to avoid indexing junk URLs

  • mediumbrand checker

    No Organization schema

    No Organization JSON-LD found

    Add Organization structured data with name, logo, and contact information

  • mediumindexing checker

    Missing canonical URL

    No canonical link tag found — search engines may index duplicate versions

    Add a self-referencing canonical URL to prevent duplicate content issues

  • mediumlog analyzer

    X-Powered-By header exposed

    X-Powered-By: PHP/7.4.33, PleskLin

    Remove the X-Powered-By header to reduce information leakage

Low (25)

  • lowcookies

    1 cookie missing HttpOnly flag

    Cookies without HttpOnly can be accessed by JavaScript, increasing XSS risk

    Add HttpOnly to session and authentication cookies

  • lowcookies

    1 cookie missing SameSite attribute

    Missing SameSite defaults to Lax in modern browsers but should be explicit

    Set SameSite=Strict or SameSite=Lax on all cookies

  • lowdns

    No IPv6 (AAAA) records

    The domain has no AAAA records for IPv6 connectivity

    Add AAAA DNS records for IPv6 support

  • lowdns

    DMARC reporting not configured

    DMARC record does not have a rua= tag for aggregate reports.

    Add rua=mailto:[email protected] to receive DMARC reports

  • lowdns

    Only one MX record (no redundancy)

    A single MX record means no failover if the mail server goes down.

    Add a secondary MX record for email redundancy

  • lowheaders

    Missing referrer-policy

    Referrer-Policy is not set. Full URLs may leak to third parties.

    Add Referrer-Policy: strict-origin-when-cross-origin

  • lowheaders

    Missing permissions-policy

    Permissions-Policy is missing.

    Add Permissions-Policy to restrict browser feature access

  • lowheaders

    Server header exposes software

    Server: nginx

    Remove or obfuscate the Server header to reduce information leakage

  • lowheaders

    X-Powered-By exposes technology

    X-Powered-By: PHP/7.4.33, PleskLin

    Remove the X-Powered-By header

  • lowmeta

    Meta description too long

    Description is 222 characters (recommended: 120-160)

    Shorten the meta description to 120-160 characters

  • lowmeta

    Missing og:description

    Open Graph description is not set

    Add og:description meta tag for social sharing

  • lowmeta

    Missing Twitter Card

    No twitter:card meta tag

    Add twitter:card meta tag for Twitter sharing

  • lowsitemap

    No lastmod dates

    Sitemap URLs don't include lastmod timestamps

    Add <lastmod> to help search engines prioritize crawling

  • lowsitemap

    Inconsistent trailing slashes

    Some sitemap URLs end with / and some don't

    Be consistent with trailing slashes in URLs

  • lowtechnology

    Many external CSS files

    16 external stylesheets loaded

    Consider bundling CSS files to reduce HTTP requests

  • lowmobile

    Missing autocomplete attributes

    1 form fields lack autocomplete hints

    Add autocomplete attributes (email, tel, name) for faster mobile form filling

  • lowrate limits

    No WAF detected

    No Web Application Firewall (Cloudflare, AWS, Akamai, Vercel, Sucuri, Fastly) was detected in response headers.

    Consider using a WAF to protect against common web attacks (XSS, SQL injection, DDoS)

  • lowrate limits

    No bot protection detected

    No CAPTCHA, challenge page, or bot detection was triggered during rapid requests.

    Consider implementing bot protection (e.g., Cloudflare Turnstile, hCaptcha) for sensitive endpoints

  • lowsocial checker

    Missing og:type

    Open Graph type is not set

    Add og:type meta tag (e.g., "website", "article")

  • lowbrand checker

    No WebSite schema

    No WebSite JSON-LD found

    Add WebSite structured data for sitelinks search box in Google

  • lowbrand checker

    No web app manifest

    No manifest.json linked — PWA features unavailable

    Add a web app manifest for installability and brand customization

  • lowbrand checker

    Missing og:site_name

    Open Graph site name is not set

    Add og:site_name meta tag for consistent social sharing

  • lowpage experience

    No resource hints

    No preload or preconnect hints found

    Add preload for critical resources and preconnect for important third-party origins

  • lowpage experience

    No lazy loading on images

    34 images without lazy loading

    Add loading="lazy" to below-the-fold images for faster initial page load

  • lowlog analyzer

    Soft 404 response

    Non-existent pages return HTTP 200 instead of 404

    Return proper 404 status codes for non-existent pages

AI Fix Prompt

Copy this prompt into ChatGPT or Claude to get step-by-step fix instructions

Fix all SEO issues found in the audit of printoteka.pl.

Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.

```json
{
  "domain": "printoteka.pl",
  "scores": {
    "overall": 64,
    "performance": 0,
    "seo": 71,
    "accessibility": 31,
    "bestPractices": 74,
    "security": 70
  },
  "findings": [
    {
      "module": "cookies",
      "severity": "medium",
      "title": "1 cookie missing Secure flag",
      "description": "Cookies without Secure flag can be sent over unencrypted HTTP connections",
      "recommendation": "Add the Secure attribute to all cookies to prevent transmission over HTTP"
    },
    {
      "module": "headers",
      "severity": "high",
      "title": "Missing strict-transport-security",
      "description": "HSTS header is missing. The site may be vulnerable to downgrade attacks.",
      "recommendation": "Add Strict-Transport-Security header with max-age of at least 31536000"
    },
    {
      "module": "headers",
      "severity": "medium",
      "title": "Missing content-security-policy",
      "description": "CSP header is missing. The site may be vulnerable to XSS attacks.",
      "recommendation": "Add a Content-Security-Policy header to restrict resource loading"
    },
    {
      "module": "headers",
      "severity": "medium",
      "title": "Missing x-content-type-options",
      "description": "X-Content-Type-Options is missing. MIME-sniffing attacks are possible.",
      "recommendation": "Add X-Content-Type-Options: nosniff header"
    },
    {
      "module": "headers",
      "severity": "medium",
      "title": "Missing x-frame-options",
      "description": "X-Frame-Options is missing. The site may be vulnerable to clickjacking.",
      "recommendation": "Add X-Frame-Options: DENY or SAMEORIGIN header"
    },
    {
      "module": "meta",
      "severity": "medium",
      "title": "Missing canonical URL",
      "description": "No canonical link tag found",
      "recommendation": "Add a canonical URL to prevent duplicate content issues"
    },
    {
      "module": "meta",
      "severity": "medium",
      "title": "Missing og:title",
      "description": "Open Graph title is not set",
      "recommendation": "Add og:title meta tag for social sharing"
    },
    {
      "module": "meta",
      "severity": "medium",
      "title": "Missing og:image",
      "description": "No Open Graph image set. Social shares will lack a preview image.",
      "recommendation": "Add og:image meta tag (1200x630px recommended)"
    },
    {
      "module": "structured-data",
      "severity": "medium",
      "title": "No structured data found",
      "description": "No JSON-LD schemas detected on the page",
      "recommendation": "Add structured data (Organization, WebSite, BreadcrumbList) for rich search results"
    },
    {
      "module": "robots",
      "severity": "medium",
      "title": "No sitemap in robots.txt",
      "description": "robots.txt does not reference a sitemap",
      "recommendation": "Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt"
    },
    {
      "module": "sitemap",
      "severity": "medium",
      "title": "Sitemap contains HTTP URLs",
      "description": "1647 URLs in sitemap use HTTP instead of HTTPS",
      "recommendation": "Update all sitemap URLs to use HTTPS"
    },
    {
      "module": "technology",
      "severity": "medium",
      "title": "Render-blocking scripts",
      "description": "25 scripts load synchronously without async/defer",
      "recommendation": "Add async or defer to non-critical scripts to improve page load speed"
    },
    {
      "module": "content",
      "severity": "high",
      "title": "No H1 tag found",
      "description": "The page has no H1 heading",
      "recommendation": "Add exactly one H1 tag with the primary keyword"
    },
    {
      "module": "content",
      "severity": "high",
      "title": "Images missing alt text",
      "description": "33 image(s) have no alt attribute",
      "recommendation": "Add descriptive alt text to all images for accessibility and SEO"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "External links without noopener",
      "description": "4 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "Low keyword relevance",
      "description": "Only 40% of title keywords appear in body text",
      "recommendation": "Ensure the page content includes the keywords from the title"
    },
    {
      "module": "mobile",
      "severity": "medium",
      "title": "11 small tap targets detected",
      "description": "Some interactive elements may be too small for comfortable tapping",
      "recommendation": "Ensure all tap targets are at least 44x44px with adequate spacing"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "32 images missing alt attribute",
      "description": "Images without alt text are inaccessible to screen readers",
      "recommendation": "Add descriptive alt text to all informational images, or alt=\"\" for decorative ones"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "14 form fields without labels",
      "description": "Form inputs without associated labels are inaccessible",
      "recommendation": "Use <label for=\"id\"> or aria-label on every form field"
    },
    {
      "module": "accessibility",
      "severity": "medium",
      "title": "Missing main landmark",
      "description": "No <main> element or role=\"main\" found",
      "recommendation": "Wrap primary content in a <main> element for screen reader navigation"
    },
    {
      "module": "accessibility",
      "severity": "medium",
      "title": "No skip navigation link",
      "description": "No skip-to-content link at the top of the page",
      "recommendation": "Add a visually hidden skip link as the first focusable element"
    },
    {
      "module": "accessibility",
      "severity": "medium",
      "title": "Positive tabindex values found",
      "description": "16 elements use tabindex > 0, which disrupts natural tab order",
      "recommendation": "Use tabindex=\"0\" or tabindex=\"-1\" instead of positive values"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "1 buttons without accessible name",
      "description": "Buttons with no text, aria-label, or title are invisible to screen readers",
      "recommendation": "Add visible text or aria-label to all buttons"
    },
    {
      "module": "rate-limits",
      "severity": "medium",
      "title": "No rate limiting detected",
      "description": "10 rapid requests all succeeded without any rate-limit headers or 429 responses. The site may be vulnerable to abuse.",
      "recommendation": "Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks"
    },
    {
      "module": "social-checker",
      "severity": "high",
      "title": "Missing og:title",
      "description": "Open Graph title is not set — social shares will use generic text",
      "recommendation": "Add og:title meta tag for compelling social media previews"
    },
    {
      "module": "social-checker",
      "severity": "medium",
      "title": "Missing og:description",
      "description": "Open Graph description is not set",
      "recommendation": "Add og:description for better social sharing previews"
    },
    {
      "module": "social-checker",
      "severity": "medium",
      "title": "Missing og:image",
      "description": "No social sharing image set — posts will lack visual appeal",
      "recommendation": "Add og:image meta tag (1200x630px recommended)"
    },
    {
      "module": "social-checker",
      "severity": "medium",
      "title": "Missing Twitter Card",
      "description": "No twitter:card meta tag — Twitter/X will use default preview",
      "recommendation": "Add twitter:card meta tag (e.g., \"summary_large_image\")"
    },
    {
      "module": "uptime-checker",
      "severity": "medium",
      "title": "Soft 404 detected",
      "description": "Non-existent URLs return HTTP 200 instead of 404",
      "recommendation": "Return proper 404 status codes for non-existent pages to avoid indexing junk URLs"
    },
    {
      "module": "brand-checker",
      "severity": "medium",
      "title": "No Organization schema",
      "description": "No Organization JSON-LD found",
      "recommendation": "Add Organization structured data with name, logo, and contact information"
    },
    {
      "module": "page-experience",
      "severity": "high",
      "title": "Intrusive interstitials detected",
      "description": "Found 8 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    },
    {
      "module": "indexing-checker",
      "severity": "medium",
      "title": "Missing canonical URL",
      "description": "No canonical link tag found — search engines may index duplicate versions",
      "recommendation": "Add a self-referencing canonical URL to prevent duplicate content issues"
    },
    {
      "module": "log-analyzer",
      "severity": "medium",
      "title": "X-Powered-By header exposed",
      "description": "X-Powered-By: PHP/7.4.33, PleskLin",
      "recommendation": "Remove the X-Powered-By header to reduce information leakage"
    }
  ]
}
```

Recommendations for your industry

  • 1Ensure WCAG 2.1 AA compliance
  • 2Implement all recommended security headers
  • 3Ensure sitemap covers all important pages
  • 4Optimize page load time to under 2 seconds
  • 5Ensure responsive design on all pages

SEO Checklist for General

Tips for Mixed websites

  • →Define clear landing pages for each segment
  • →Use different meta strategies per page group
  • →Segment sitemap by content type

Local SEO Context

Poland is Central Europe's fastest growing digital market.

Start your free trial

Use Ctrl+P / Cmd+P to save as PDF