Files
2026-08-07 09:48:59 +02:00

136 lines
4.5 KiB
Markdown

# SEO a Playwright Testy - Audit a Plán Zlepšení
## Problémy Identifikované
### 🔴 SEO - Web (doxa-notes.org)
#### Kritické problémy:
1. **Chybějící Open Graph obrázek v index.html**
- `og:image` není specifikován, pouze Twitter image
- Bez OG image se socmédia nezobrazí korektně
2. **Chybějící meta tags pro mobily**
- Chybí `viewport` meta tag (nemá měřítko a zoomu)
- Dopad: špatné zobrazení na mobilech, horší SEO ranking
3. **Nejednotný formát title tagů**
- index.html: "DOXA Notes — Local-First poznámky..."
- about.html: "O projektu — Doxa" (bez "DOXA Notes")
- privacy.html: "Ochrana soukromí — DOXA Notes"
- Nejednotnost není ideální, měly by být konsistentní
4. **Chybí meta description na web_app/index.html**
- Web app má `robots: noindex, nofollow` (správně)
- Ale chybí base meta description, jen title
5. **Canonical URL - web_app/index.html**
- Chybí canonical tag na app stránce (jen na webu)
6. **Nejednotné sociální meta tags**
- O projektu a privacy nemají OG image, Twitter image
- Neúplné Twitter card metadata
7. **Missing lang attribute na web_app**
- web_app/index.html má `lang="cs"`, ale chybí OG locale
8. **robots.txt nedostatky**
- Sitemap odkazuje jen na wiki, ne na hlavní web
- Chybí explicit allow/disallow pro jednotlivé web stránky
### 🔴 SEO - Web App
1. **robots.txt správně blokuje web_app (noindex)**
- Správně: `Disallow: /web_app/`
2. **Chybějící Open Graph metadata**
- Není `og:*` tags vůbec
- Twitter card není definován
3. **Nedostatečný JSON-LD schema**
- Na web_app není vůbec strukturovaná data
- Jen na index.html SoftwareApplication schema
### 🔴 Playwright Testy - Problémy
1. **Chybí test pro Web App SEO**
- noteApp.test.ts nemá žádné SEO testy
- Měl by testovat noindex/nofollow, title, meta description
2. **Chybí testy pro OG tagy**
- HomePage.ts nemá metodu `getOGImage()`, `getOGTitle()`
- Chybí testy pro Twitter card
3. **Nevyhovující test abecedy menu**
- textHelpers nemá "Návod" v menu (ale existuje na webu)
- Neúplný seznam očekávaných textů
4. **Chybí accessibility testy (a11y)**
- Žádné testy pro ARIA labels, heading struktura
- Nejednotné heading struktura (h1, h2, h3)
5. **Chybí performance/lighthouse testy**
- Žádné testy pro load time, Core Web Vitals
- Žádné testy pro lazy loading obrázků
6. **Playwright config - omezený scope**
- Jen chromium, chybí firefox, webkit
- Reporter je jen HTML, žádné JSON/JUnit
7. **Chybí testy pro 404/error stránky**
- Žádné testy pro chybové strany
- Žádné testy pro chybné CSS/JS asety
8. **AppPage POM - nedostatečné selektory**
- Závisí na ID selektorech, měly by být odolnější
- Chybí error handling v navigate()
9. **Chybí data-testid atributy**
- HTML nemá `data-testid` pro stabilní test selektory
- Zranitelné na změny CSS/stylů
10. **Testy neuklízí state**
- Testy nevymazávají localStorage mezi spuštěním
- Chybí cleanup po testech
## Pracovní Plán
### Fáze 1: SEO Optimalizace (Primární)
- [ ] Přidat meta viewport tag do všech HTML
- [ ] Přidat Open Graph obrázek do všech stran
- [ ] Unifikovat title tagy podle formátu
- [ ] Doplnit meta descriptions na chybějící stránky
- [ ] Přidat OG locale pro Czech
- [ ] Doplnit Twitter Card tagy na všechny stránky
- [ ] Vytvořit sitemap.xml pro web (ne jen wiki)
- [ ] Zlepšit robots.txt
### Fáze 2: Web App Metadata
- [ ] Přidat OG tagy na web_app (s noindex varováním)
- [ ] Přidat JSON-LD schema pro WebApplication
- [ ] Ověřit noindex direktiva na web_app
### Fáze 3: Playwright Testy - SEO
- [ ] Přidat testy pro OG metadata
- [ ] Přidat testy pro Twitter Card
- [ ] Přidat testy pro meta descriptions
- [ ] Vytvořit SEO utility metody v HomePage.ts
- [ ] Vytvořit Web App SEO testy
### Fáze 4: Playwright Testy - Rozšíření
- [ ] Přidat a11y testy (ARIA, heading struktura)
- [ ] Přidat testy pro mobile viewport
- [ ] Přidat Firefox a WebKit do playwright.config
- [ ] Přidat data-testid atributy do HTML
- [ ] Přidat AppPage testy pro error states
- [ ] Přidat cleanup/setup hooks
### Fáze 5: Další Vylepšení
- [ ] Přidat lighthouse integration testy
- [ ] Přidat JSON reporter k playwright
- [ ] Přidat CI/CD integration
## Poznámky
- Zaměření primárně na SEO (dle požadavku)
- Web vs Web App: Web je SEO friendly, App je noindex (správně)
- Playwright testy potřebují kompletní refresh