fix: wyciek meta_title homepage na podstrony kategorii/artykulu/produktu (v0.351)

LayoutEngine::show() w 3 galeziach (category/article/product) nadpisywal
tylko $page['language']['title'], a meta_title homepage zylo dalej i wygrywalo
w substytucji [TITLE]. Wyodrebniono applyEntityMetaToPage() jako pure-function
ktora zawsze nadpisuje meta_title/meta_keywords/meta_description encji
(nawet pustym/null), eliminujac wyciek.

5 nowych testow w LayoutEngineMetaTagsTest. Suita 846 testow zielona.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-13 22:38:02 +02:00
parent 255456dcc5
commit 6c924ae542
11 changed files with 741 additions and 35 deletions

View File

@@ -39,6 +39,7 @@ Status: Planning
| 15 | Scontainers edit saves as new record | 1 | Done | 2026-04-18 |
| 17 | Cart summary transport cost fix | 1 | Done | 2026-04-20 |
| 18 | Google feed permutation URL fix | 1 | Done | 2026-04-30 |
| 19 | Frontend meta tags fix (category + product) | 1 | Done | 2026-05-13 |
## Feature
@@ -132,5 +133,11 @@ Status: Planning
**Scope:** Zmienić separator z `/` na `_` w generatorze feedu (`ProductRepository::appendCombinationToXml`), rozszerzyć regex routingu o `_` (`Helpers`), dodać konwersję `_``|` w warstwie front (`LayoutEngine`), preselekcja wartości atrybutu w partialu na podstawie `permutation_hash` z URL. Plus unit testy regex + generator linku.
### Phase 19 — Frontend meta tags fix
**Problem:** Strony kategorii (np. `/sen-i-otulenie`) i strony produktów (np. `/kocyk-niemowlaka-szczeniak-z-balonikiem-fuksja`) renderują `<title>` strony głównej oraz literalne wartości `content="keywords"`/`content="description"` zamiast właściwych metatagów SEO z bazy. Niepoprawne meta blokują indeksację Google i Merchant Center.
**Scope:** Diagnostyka (pp_routes + meta w DB + sesyjny $page), checkpoint:decision z 4 opcjami fixu (routes/engine/data/session), implementacja wybranej opcji w `LayoutEngine.php` lub `index.php`, test jednostkowy, human-verify na 3 URL-ach.
---
*Last updated: 2026-04-30 (Phase 18 complete)*
*Last updated: 2026-05-13 (Phase 19 complete)*