# turistikalokobb.sk — Zulien Score 54/100 (Grade D)

> Free e-commerce audit: 54/100 overall score. 100+ checkpoints in 7 categories (Performance, SEO, Security, Mobile, AI Readiness, GDPR, Vulnerability).

- **Audited:** https://www.turistikalokobb.sk/
- **Scan date:** 2026-07-01
- **Full report:** https://score.zulien.sk/de/r/turistikalokobb.sk
- **JSON API:** https://euyszfecnvwsqpigioyx.supabase.co/functions/v1/api-v1/score/turistikalokobb.sk

## Score by category

| Category | Score |
|---|---|
| SEO | 54/100 |
| Security | 52/100 |
| Mobile | 35/100 |
| AI Readiness | 42/100 |
| GDPR | 69/100 |
| Vulnerability | 71/100 |

## Detailed findings

### Performance

- **[PENDING]** Performance — Measuring — Google PageSpeed running in background…

### SEO — 54/100

- **[FAIL]** XML Sitemap
  - Fix: Generate an XML sitemap at /sitemap.xml listing all important pages. Exclude noindex pages, filters, and duplicate URLs. Reference it in robots.txt.
  - Evidence: file-probe
- **[WARN]** Canonical URL
  - Fix: Add a <link rel='canonical'> tag pointing to the preferred URL. For a single-page site this is a one-line addition in <head>.
  - Evidence: HTML-heuristic
- **[WARN]** robots.txt
  - Fix: Create a robots.txt file at your domain root. Include a Sitemap directive pointing to your XML sitemap.
  - Evidence: file-probe
- **[WARN]** HTML Language Attribute
  - Fix: Add lang attribute to your <html> tag, e.g., <html lang='en'> or <html lang='de'>.
  - Evidence: HTML-heuristic
- **[WARN]** Favicon
  - Fix: Add a favicon: <link rel='icon' href='/favicon.ico'>. Include multiple sizes for different devices (16x16, 32x32, 180x180).
  - Evidence: file-probe
- **[INFO]** Meta Description — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** H1 Heading — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Content Structure (H2 Headings) — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Open Graph Tags — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Twitter/X Cards — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Structured Data (JSON-LD) — SPA detected — see note below
  - Evidence: schema
- **[INFO]** Image Alt Attributes — No images found · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Text-to-HTML Ratio — 5% — low content density (4 words) · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Semantic HTML Structure — 0/6 semantic elements — poor structure · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Content Depth — Only 4 words — very thin content · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Internal Linking — No internal links found · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Accessibility Fundamentals — No accessibility signals found · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[PASS]** Meta Title — 30 chars — "KST Lokomot�va Bansk� Bystrica"
  - Evidence: HTML-heuristic

### Security — 52/100

- **[FAIL]** HSTS (Strict-Transport-Security)
  - Fix: Add header: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload — then submit to hstspreload.org.
  - Evidence: HTTP-header
- **[FAIL]** Content-Security-Policy (CSP)
  - Fix: Implement a CSP header. Start with: Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: — then gradually tighten.
  - Evidence: HTTP-header
- **[FAIL]** Clickjacking Protection
  - Fix: Add X-Frame-Options: DENY (or SAMEORIGIN if iframes are needed). Better: use CSP frame-ancestors 'self'.
  - Evidence: HTTP-header
- **[WARN]** CAA DNS Record — No CAA records — any CA can issue certificates for this domain
  - Fix: Publish CAA TXT records pinning your CA. For Let's Encrypt: `0 issue "letsencrypt.org"`. For multiple CAs add additional `0 issue "..."` records. Add `0 iodef "mailto:security@yourdomain.tld"` for misissuance reports.
  - Evidence: DNS
- **[WARN]** HTTP → HTTPS Redirect
  - Fix: Configure a 301 redirect from http:// to https:// for all pages. In Apache: RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  - Evidence: HTTP-header
- **[WARN]** X-Content-Type-Options
  - Fix: Add header: X-Content-Type-Options: nosniff
  - Evidence: HTTP-header
- **[WARN]** Referrer-Policy
  - Fix: Add header: Referrer-Policy: strict-origin-when-cross-origin — this is the best balance between functionality and privacy.
  - Evidence: HTTP-header
- **[WARN]** Permissions-Policy
  - Fix: Add: Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=() — disable APIs your site doesn't need.
  - Evidence: HTTP-header
- **[WARN]** security.txt (RFC 9116)
  - Fix: Create /.well-known/security.txt with Contact, Expires, and Preferred-Languages fields. See securitytxt.org for the generator.
  - Evidence: file-probe
- **[WARN]** CDN / WAF Protection
  - Fix: Add a CDN/WAF like Cloudflare (free tier), Sucuri, or Fastly. They provide DDoS protection, bot filtering, and SSL management.
  - Evidence: HTTP-header
- **[PASS]** SSL/TLS Certificate — Valid HTTPS connection established
  - Evidence: SSL
- **[PASS]** DNSSEC — Zone is DNSSEC-signed (DNSKEY published)
  - Evidence: DNS
- **[PASS]** Cookie Security Flags — No cookies set on initial response
  - Evidence: HTTP-header
- **[PASS]** Technology Disclosure — Server: openresty (no version)
  - Evidence: HTTP-header
- **[PASS]** Server Version Disclosure — openresty — version hidden
  - Evidence: HTTP-header

### Mobile — 35/100

- **[FAIL]** Viewport Configuration
  - Fix: Add <meta name='viewport' content='width=device-width, initial-scale=1'> to your <head>. This is the absolute minimum for mobile compatibility.
  - Evidence: HTML-heuristic
- **[WARN]** Responsive Design Techniques
  - Fix: Implement responsive CSS with @media queries for key breakpoints: 480px (small mobile), 768px (tablet), 1024px (laptop). Use Flexbox and CSS Grid for fluid layouts.
  - Evidence: HTML-heuristic
- **[WARN]** Theme Color
  - Fix: Add <meta name='theme-color' content='#your-brand-color'> to match your brand. Browsers use this to color the address bar, task switcher, and PWA chrome.
  - Evidence: HTML-heuristic
- **[WARN]** Mobile Navigation (Semantic)
  - Fix: Wrap your navigation in a <nav> element. This helps mobile screen readers offer 'skip to navigation' and improves voice navigation (e.g., 'Siri, show me the menu').
  - Evidence: HTML-heuristic
- **[PENDING]** Mobile Performance Score — No mobile performance data available
  - Fix: Neither Lighthouse nor Chrome UX Report data is available. The site may have very low traffic or block all analysis tools.
  - Evidence: PSI-lab

### AI Readiness — 42/100

- **[FAIL]** llms.txt (AI Site Descriptor)
  - Fix: Create /llms.txt in Markdown format: # Your Store Name > One-line summary of your business and key offerings.  Detailed description paragraph.  ## Products - [Product Category](URL): Description  ## About - [About Us](URL): Company history and values  See llmstxt.org for the full specification.
  - Evidence: file-probe
- **[FAIL]** Knowledge Graph Readiness
  - Fix: Build your Knowledge Graph entity: 1) Add @id to Organization JSON-LD, 2) Use identical brand name in title, schema, and OG, 3) Add sameAs to Wikipedia/Wikidata/LinkedIn, 4) Use multiple corroborating schema types.
  - Evidence: HTML-heuristic
- **[WARN]** llms-full.txt (Complete AI Content)
  - Fix: Create /llms-full.txt containing your complete site documentation in a single Markdown file — product catalog summaries, FAQs, policies, brand story. This gives AI models maximum context about your store.
  - Evidence: file-probe
- **[WARN]** Author Expertise Signals (E-E-A-T)
  - Fix: For content pages (blog, guides, about): add Article/BlogPosting schema with author property linking to Person schema. Include the author's jobTitle, credentials, and social profiles.
  - Evidence: HTML-heuristic
- **[WARN]** Statistics & Data Presence — No statistical data found in content
  - Fix: Add numbers: pricing comparisons, performance metrics, customer statistics, industry benchmarks. Specific data (e.g., '99.9% uptime', '4.8/5 rating from 2,400 reviews') is what AI quotes most.
  - Evidence: HTML-heuristic
- **[WARN]** Expert Quotations & Citations
  - Fix: Add 2-3 expert quotes or data citations per major page. Use <blockquote> for quotes and link to authoritative sources (.gov, .edu, Wikipedia, industry reports).
  - Evidence: HTML-heuristic
- **[WARN]** ai.txt (AI Permissions)
  - Fix: Create /ai.txt or /.well-known/ai.txt to declare granular AI permissions per content type: which AI actions (summarization, training, extraction) are allowed for which content sections.
  - Evidence: file-probe
- **[WARN]** WebMCP Agentic Readiness
  - Fix: WebMCP (W3C Community Group standard, Chrome 146+) lets pages declare structured tools for AI agents. Add toolname and tooldescription attributes to <form> elements, or include a <script type='application/webmcp+json'> manifest.
  - Evidence: HTML-heuristic
- **[WARN]** Social Proof (Testimonials / Case Studies)
  - Fix: Add at least one form of social proof: 1) Client testimonials as <blockquote> with attribution, 2) Case study / portfolio section with past work, 3) 'Trusted by' client logo strip. For B2B, this is the #1 credibility lever.
  - Evidence: HTML-heuristic
- **[INFO]** Content Accessibility for AI — Only 4 words visible in HTML — content may be JS-dependent · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Structured Data Foundation — SPA detected — see note below
  - Evidence: schema
- **[INFO]** Organization Schema + Entity Linking — SPA detected — see note below
  - Evidence: schema
- **[INFO]** FAQ Schema (Direct AI Answers) — SPA detected — see note below
  - Evidence: schema
- **[INFO]** Content Depth for AI — Only 4 words — too thin for AI citation · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Answer-First Content Format — No meaningful opening content for AI to extract · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Heading Hierarchy for AI — 0 H1, 0 H2, 0 H3 — poor structure · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Semantic HTML Structure — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Structured Content (Lists & Tables) — No structured content elements found · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Content Freshness Signals — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Entity Clarity & Brand Signals — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Extractable Answer Blocks — Too few content paragraphs for AI to extract · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Q&A Format Headings — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Canonical Tag for AI Deduplication — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Content-to-Boilerplate Ratio — No <main> or <article> elements — AI can't isolate content from boilerplate · SPA detected — see note below
  - Evidence: HTML-heuristic
- **[PASS]** AI Bot Access Policy — No AI bot restrictions (allowed by default)
  - Evidence: file-probe

### GDPR — 69/100

- **[WARN]** Right to Erasure (Data Deletion)
  - Fix: Provide a clear mechanism for users to request data deletion — either a dedicated page, a form, or explicit instructions in your privacy policy. Include a 'Delete my account' option in user settings.
  - Evidence: HTML-heuristic
- **[WARN]** Data Protection Officer Contact
  - Fix: Add DPO contact details (or privacy contact if DPO not required) to your privacy policy and footer. Include: name/title, email (e.g., dpo@yourdomain.com), and postal address.
  - Evidence: HTML-heuristic
- **[WARN]** Withdrawal of Consent Mechanism
  - Fix: Provide a clear way to withdraw consent: an 'unsubscribe' link in emails, a 'cookie settings' button in the footer, and a 'revoke consent' section in your privacy policy.
  - Evidence: HTML-heuristic
- **[INFO]** Cookie Consent Banner (CMP) — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Privacy Policy Page — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Cookie Policy — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Legal Contact / Imprint Page — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[INFO]** Terms & Conditions Page — SPA detected — see note below
  - Evidence: HTML-heuristic
- **[PASS]** Tracking Scripts & Consent — No tracking scripts detected
  - Evidence: HTML-heuristic
- **[PASS]** Data Encryption (No Mixed Content) — All resources loaded over HTTPS
  - Evidence: HTML-heuristic

### Vulnerability — 71/100

- **[FAIL]** SPF Record (Email Security)
  - Fix: Add an SPF TXT record to your DNS: v=spf1 include:_spf.google.com ~all (adjust for your email provider). This tells receiving servers which IPs can send email for your domain.
  - Evidence: DNS
- **[FAIL]** DMARC Policy (Email Auth)
  - Fix: Add a DMARC TXT record at _dmarc.yourdomain.com: v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com — start with quarantine, then move to reject.
  - Evidence: DNS
- **[FAIL]** Database/Admin Tool Variant Exposed — phpmyadmin/ publicly accessible — full database/file access!
  - Fix: Delete these files/tools from the web root immediately (adminer*.php, backup.php, dev.php, test.php, db_sync.php, phpmyadmin/). Never leave DB tools in production; if you need DB access, tunnel over SSH. Block leftover *.php helpers via .htaccess.
  - Evidence: file-probe · phpmyadmin/
- **[WARN]** Cross-Origin Isolation
  - Fix: Add Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Resource-Policy: same-origin headers. These protect against Spectre-type side-channel attacks.
  - Evidence: HTTP-header
- **[PASS]** CMS Version Disclosure — No generator tag — CMS identity hidden
  - Evidence: HTML-heuristic
- **[PASS]** Sensitive Files Exposed — .env, .git, composer.json — all properly blocked
  - Evidence: file-probe
- **[PASS]** Install Script Exposed — No /install/ or /setup/ paths accessible
  - Evidence: file-probe
- **[PASS]** Directory Listing — Disabled — file structure hidden
  - Evidence: file-probe
- **[PASS]** Admin Panel at Default URL — Not found at common paths (/admin, /wp-admin, /administrator, /backoffice)
  - Evidence: file-probe
- **[PASS]** Debug Mode / Error Exposure — No debug indicators found in page output
  - Evidence: HTML-heuristic
- **[PASS]** DKIM Signing (Email Auth) — DKIM configured (selectors: mail)
  - Evidence: file-probe

### NIS2

- **[INFO]** NIS2 Compliance — Scope undetermined — IČO/company enrichment unavailable for this domain.

---

Zulien Score is a free, automated heuristic audit covering performance (Core Web Vitals, TTFB, page weight), SEO (meta, structured data, sitemap), security (SSL/TLS, HSTS, CSP), mobile usability, AI readiness, GDPR / ePrivacy compliance and vulnerability surface. Results are cached for 6 hours and re-scanned on demand.

[View the full interactive report on Zulien Score →](https://score.zulien.sk/de/r/turistikalokobb.sk)
