# Etapa 1 — Inventarul conținutului din `cinova`

**Proiect:** `C:\OpenServer\domains\localhost\cinova` (Yii2 2.0.45, app id `basic`, DB `cinova`)
**Pattern de urmat:** `_analiza/01-pattern-ecaterina.md`
**Scop:** lista entităților de creat, cu câmpurile și textele reale, astfel încât după
refactorizare site-ul să arate **identic**, dar tot conținutul să vină din DB.

> Toate textele din acest document sunt copiate **verbatim** din view-uri, cu numărul de linie.
> Nimic nu e rescris, nimic nu e tradus, nimic nu e „curățat".

---

## 1. STAREA ACTUALĂ A PROIECTULUI

### 1.1 Ce există

cinova **nu** e HTML static — e o aplicație Yii2 completă, cu design-ul deja integrat 1:1
(portat anterior din `ion-project`) și cu un modul de admin funcțional pentru o parte din entități.

```
cinova/
    assets/          AppAsset.php (design), AdminAsset.php
    components/widgets/  HeaderWidget.php, FooterWidget.php (+ views/)
    config/          web.php, console.php, db.php, params.php
    constants/       EntityConstants.php
    controllers/     About, Blog, Contact, Faq, Home, Projects, Services + Site (rest de template)
    helpers/         DataProviderHelper, EntityHelper, EnumHelper, FileHelper, LanguageHelper,
                     ModelHelper, PageHelper, RecordHelper, SeoHelper, UrlHelper
    migrations/      24 fișiere, toate aplicate
    models/          blog/ contact/ faq/ Languages/ pages/ portfolio/ projects/ services/ users/
    modules/admin/   components/ controllers/ messages/ views/ web/ + Module.php
    traits/          TranslationTrait.php   (varianta ÎMBUNĂTĂȚITĂ, cu fallback + t())
    validators/      ActiveTranslationValidator.php
    views/           about/ blog/ common/ contact/ faq/ home/ layouts/ projects/ services/ site/
    web/core/        assests/ (67 fișiere design), styles/, js/, uploads/
```

### 1.2 Tabelele existente în DB `cinova`

| Tabel | Coloane | Rânduri | Stare |
|---|---|---|---|
| `services` + `services_translations` | 16 / 20 | 6 / 6 | **populat**, admin funcțional |
| `services_faqs` + `services_faqs_translations` | 9 / 9 | 0 / 0 | gol |
| `services_gallery` | — | — | model există, **tabel lipsă** |
| `projects` + `projects_translations` | 13 / 18 | 6 / 6 | **populat**, fără admin |
| `projects_gallery` | 10 | 18 | **populat**, fără admin |
| `blog` + `blog_translations` | 14 / 17 | 8 / 7 | **populat** (1 rând `test` preexistent) |
| `faq` + `faq_translations` | 9 / 11 | 20 / 20 | **populat**, fără admin |
| `pages` + `pages_translations` | 9 / 14 | 11 / **0** | rutele există, SEO **gol** |
| `portfolio` + section/gallery/faqs (6 tabele) | — | 1 | admin funcțional, **nefolosit pe frontend** |
| `contact` | 11 | 0 | formular, fără admin |
| `languages` | 8 | 33 (3 ACTIVE: RO, EN, RU) | |
| `users` | 13 | **0** | **niciun utilizator** |

### 1.3 Admin existent

`modules/admin/` cu controllere pentru: **blog, languages, pages, portfolio, services, users**.
Nu există CRUD pentru: **projects, faq, contact**, și nici pentru entitățile noi propuse mai jos.

⚠️ **`users` are 0 rânduri** și nu există tabele RBAC (`auth_*`) în `cinova`. Adminul e momentan
inaccesibil dacă se activează `AccessControl`. De rezolvat înainte de Etapa 4.

### 1.4 Ce e DEJA dinamic vs ce e hardcodat

Doar **4 bucle** peste entități există în tot frontend-ul:

| Fișier:linie | Buclă | Entitate |
|---|---|---|
| `views/services/index.php:42` | `foreach ($services as $service)` | Services |
| `views/projects/index.php:92` | `foreach ($projects as $project)` | Projects |
| `views/blog/index.php:40` | `foreach ($posts as $post)` | Blog |
| `views/faq/index.php:68` + `components/_faq_group.php:19` | `foreach ($faqGroups ...)` | Faq |

Câmpurile citite din traduceri, în tot proiectul (`->t('...')`), sunt doar acestea:

```
t('name') ×4   t('title') ×2   t('desc_min')   t('category')   t('category_name')
t('question')  t('answer_text')  t('group_name')
```

> ⚠️ **Descoperire majoră:** **paginile de detaliu afișează din DB DOAR titlul.**
> `views/services/view.php` (500 linii), `views/projects/view.php` (564 linii) și
> `views/blog/view.php` (140 linii) folosesc `$entity->t('name'|'title')` exclusiv pentru
> `$this->title`; **tot corpul paginii e text de design hardcodat.** Câmpurile
> `content_text_1`, `content_text`, `desc_min` din DB nu sunt randate nicăieri.
> Asta e cea mai mare parte a muncii de la Etapa 6.

**Totalul de conținut hardcodat:** ~3.400 de linii de view, din care ~2.900 sunt text și markup
de conținut editabil.

---

## 2. INVENTAR PE PAGINI

Rute (din `config/web.php`, `urlManager.rules`): `/`, `/about-us`, `/services`,
`/services/<id>/<slug>`, `/projects`, `/projects/<id>/<slug>`, `/blog`, `/blog/<id>/<slug>`,
`/contact-us`, `/faqs`, plus `home/error`.

### 2.1 HOME — `views/home/index.php` (1343 linii, 12 secțiuni)

| # | Secțiune (clasă CSS) | Linii | Conținut | Repetiții |
|---|---|---|---|---|
| 1 | `page-banner home-section` | 38–102 | hero + logo-uri „trusted by" | 5 logo-uri |
| 2 | `about-us home-section` | 103–199 | despre + card statistici | 1 |
| 3 | `our-service home-section` | 200–509 | carduri servicii | **5 carduri** |
| 4 | `our-feature home-section` | 510–586 | features | **3 carduri** |
| 5 | `our-projects home-section` | 587–710 | proiecte | **8 carduri** |
| 6 | `what-we-do home-section` | 711–818 | metrici + rating | 2 boxuri + 1 rating |
| 7 | `why-choose-us home-section` | 819–856 | beneficii | 2 `li` |
| 8 | `watch-story home-section` | 857–888 | video + marquee | 8 span-uri |
| 9 | `pricing-plan home-section` | 889–1122 | planuri de preț | **6 carduri** (3 unice × 2, slider) |
| 10 | `testimonials home-section` | 1123–1270 | testimoniale | **4 carduri** |
| 11 | `inform-us home-section` | 1271–1288 | newsletter CTA | 1 |
| 12 | `blog home-section` | 1289–1343 | articole | **3 carduri** |

**Texte exacte (selecție reprezentativă):**

```
L55    200+ startup chose SEO
L60    h1  Powerful SEO that delivers real results          (cu <span class="special-word">)
L63    Our SEO strategies are built to perform. From increasing your search engine rankings to
       driving qualified traffic and boosting conversions
L70    a   Talk to an Seo Expert!
L78    Trusted by 7000 + Brands That Value Real Results
L112   h3  Technical SEO Insights
L116   Crawl Errors / 87%
L127   Indexing Status / 93%
L162   Our expert SEO Team
L169   h3  About Us
L172   h2  Experts in results-driven SEO marketing
L173   With a deep understanding of search engine algorithms and user behavior, we create
       tailored SEO strategies that drive real results.
L183   h3  Results-Driven SEO Expert
L184   We drive rankings, traffic, conversions SEO solutions.
L189   a   Learn More About
L203   h3  Our Services
L204   h2  Grow faster with our proven SEO services
L208-240 li  Keyword Research | SEO Copywriting | Content Marketing | SEO Analytics |
             Technical SEO Audits            (tab-urile filtrului)
L506   <span>Free</span> Let's make something great work together. <a>Get Free Quote</a>
L513   h3  Our Feature
L514   h2  Comprehensive features for complete SEO success
L524   h3  Custom SEO reports with keyword and traffic insights
L530   a   Start Optimizing Now
L552   h3  AI-powered tools for smarter SEO content decisions
L567   h3  SEO content creation engage and convert visitors
L590   h3  Our Projects
L591   h2  Solving complex problems with smart scalable AI
L714   h3  What We Do
L715   h2  Our proven SEO approach that delivers results
L768   h3  4.9/5 Avarage Client Rating
L812   Join Millions Worldwide and Experience the. Transformative Power SEO Transformative Power SEO
L825   h3  Why choose us
L826   h2  Why businesses trust our proven SEO solutions
L827   Our SEO strategies are built on data, experience, and consistent results help businesses
       of all sizes climb search rankings, increase organic traffic.
L832   li  Dedicated Account Managers for Personalized Support
L833   li  Ongoing Optimization to Stay Ahead of Competitors
L838   a   Contact Us
L850   h3  25+ Years Experience
L861   h3  Watch Our Story
L862   h2  Discover the story behind our SEO success
L873-882 span  Keyword Research | Content Marketing | SEO Analytics | Technical Audits  (marquee ×2)
L892   h3  Pricing Plan
L893   h2  Transparent pricing for proven SEO solutions
L1129  h3  Testimonials
L1130  h2  Proven SEO result backed by client testimonials
L1131  From increased rankings to higher conversions, our SEO strategies deliver measurable
       success hear directly from the businesses.
L1264  <span>4.5</span> Customer review
L1276  h2  Say hello to future-ready SEO solutions
L1277  Stay ahead of the curve with smart, scalable strategies that boost growth.
L1282  button  Subscribe
L1293  h3  Latest blog
L1294  h2  Insights & strategies from our latest blogs
```

**Cele 3 planuri de preț (unice; se repetă de 2× în slider):**

| Nume | Subtitlu | Preț | Buton | Facilități (4 × `li`) |
|---|---|---|---|---|
| Basic Plan | Our SEO marketing easy plan | `$29` `/per month` | Get Started | Comprehensive website · Keyword research & analysis · Technical SEO optimization · Dedicated account manager |
| Growth Plan | Our SEO Marketing Easy plan | `$39` `/per month` | Get Started | idem |
| Enterprise Plan | Our SEO Marketing Easy plan | `$49` `/per month` | Get Started | idem |

**Cele 4 testimoniale:**

| Autor | Rol | Text |
|---|---|---|
| Ion | CEO | `“ We saw a 300% increase in organic traffic months SEO implemented truly transformed presence Professional.!”` |
| Dan | Marketing Team | idem |
| Julia | Junior Developer | idem |
| Maddie | Senior Developer | idem |

⚠️ Toate 4 au **exact același text**. Ghilimelele sunt `U+201C` / `U+201D`, nu `"`.

**Cele 5 carduri de servicii de pe home (L200–509)** au toate **același conținut placeholder**:

```
h3  Content Marketing
p   Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fugiat dolorum accusantium ducimus!
a   View Details
h3  What We Offer
li  Content Strategy & Planning | Blog & Article Writing | Website Content Creation |
    SEO Content Optimization
h3  28,100      p  Marketing Myths Debunked
```

**Cele 8 carduri de proiecte de pe home** au toate: categoria `enterprises` +
`Lorem ipsum dolor sit amet consectetur, adipisicing elit.`

### 2.2 ABOUT — `views/about/index.php` (368 linii, 6 secțiuni)

| # | Secțiune | Linii | Conținut |
|---|---|---|---|
| 1 | `page-banner` | 19–35 | `h1 About Us` + breadcrumb `Home / About Us` |
| 2 | `about-us home-section` | 36–132 | identic cu secțiunea 2 de pe home |
| 3 | `our-approach home-section` | 133–174 | **3 carduri**: Our Story / Our Vision / Our Values |
| 4 | `how-it-works home-section` | 175–238 | **4 pași**, toți „Increase Traffic" |
| 5 | `why-choose-us home-section` | 239–276 | identic cu secțiunea 7 de pe home |
| 6 | `faq home-section` | 277–368 | **5 întrebări** în acordeon |

```
L138  h3  Our Approuch          <- typo în design („Approuch"), de păstrat verbatim
L139  h2  Experts in results-driven SEO marketing
L145/155/164  h3  Our Story | Our Vision | Our Values
L146/156/165  p   Create valuable, engaging content that attracts, informs, and converts your
                  target audience to drive long-term SEO success.        (identic ×3)
L180  h3  How it work
L186  a   Learn More
L200/210/220/230  h3  Increase Traffic          (identic ×4)
L201/…            p   We drive rankings, traffic, conversions SEO solutions.
L294  h2  01. What SEO services does Rankio offer?
L308  h2  02. Why is SEO important for my business?
L322  h2  03. How long does it take to see SEO results?
L336  h2  4. Do I really need SEO if I already run paid ads?
L350  h2  5. What is SEO and how does it work?
```

⚠️ FAQ-urile de aici **duplică** conținutul din tabelul `faq` (grupul `faq-accordion-1`).
Numerotarea e inconsistentă în design: `01.`, `02.`, `03.`, apoi `4.`, `5.` — de păstrat verbatim.
⚠️ Textul conține brandul **„Rankio"** (din șablonul original), nu Cignova.

### 2.3 SERVICES listă — `views/services/index.php` (420 linii, 6 secțiuni)

| # | Secțiune | Linii | Sursă |
|---|---|---|---|
| 1 | `page-banner` | 21–37 | static: `h1 Our services`, breadcrumb `Home / Our Services` |
| 2 | `services-list-container` | 38–48 | **DIN DB** — `foreach ($services)` |
| 3 | `what-we-do home-section` | 49–156 | static (identic cu home §6) |
| 4 | `our-feature home-section` | 157–233 | static (identic cu home §4) |
| 5 | `why-choose-us home-section` | 234–271 | static (identic cu home §7) |
| 6 | `testimonials home-section` | 272–420 | static (identic cu home §10) |

### 2.4 SERVICES detaliu — `views/services/view.php` (500 linii)

**Din DB: doar `$service->t('name')` pentru `$this->title`.** Restul e static:

```
L45   h1  Content Marketing (or other topic)
L49   breadcrumb  Home / Services / Content Marketing
L72   Ready to grow your online presence with proven SEO strategies?
L76   a   info@domainname.com
L89   Content marketing is the backbone of successful digital growth. By crafting valuable,
      relevant, and engaging content, we help your brand connect with the right audience…
L93   we craft strategies that speak directly to your audience's needs…
L98   h2  Maximize reach with SEO solutions
L106  li  Targeted Organic Traffic
L107  We don't just bring traffic — we bring the right traffic…       (— = U+2014)
L111  li  Content Strategy & Planning
L125  h2  12.000+
L149  h2  Proven strategies deliver real result
L161/173  h3  Data-Driven Insights            (identic ×2)
L184  h2  SEO solutions that drive growth
L194  h2  Growth Strategy
L218  h2  Frequently asked question           + 5 întrebări (identice cu about)
L301  h3  Other Services      p  Lorem ipsum dolor sit amet consectetur, adipisicing elit.
L316-472  7 × service-item__card, toate „SEO Strategy & Consulting"
```

### 2.5 PROJECTS listă — `views/projects/index.php` (107 linii)

```
L26  h1  Our Project        L29  breadcrumb  Home / Project
L40-80  tab-uri filtru: All | Keyword Research | SEO Copywriting | Content Marketing |
                        SEO Analytics | Technical SEO Audits
L92  foreach ($projects)   <- DIN DB
L100-102  paginare statică: 1 | 2 | 3
```

### 2.6 PROJECTS detaliu — `views/projects/view.php` (564 linii)

**Din DB: doar `$project->t('name')` + `$project->gallery`.** Restul static — aceleași blocuri
ca services/view (L50–210), plus:

```
L223  h2  Project challenges & solutions
L233  h3  Scalability Under Pressure
L234  Ensuring the platform remained stable and responsive during high-traffic periods.
L237  li  Optimized server-side rendering for peak load conditions
L239  li  Implemented caching strategies to reduce database queries
L247  h3  Cross-Device Compatibility
L248  Delivering a seamless experience across all devices, browsers, and user conditions.
L251  li  Responsive design tested across 20+ device configurations
L253  li  Progressive enhancement for older browser support
L266  h2  Frequently asked question    + 5 întrebări
L346  h3  Gallery    p  Lorem ipsum dolor sit amet consectetur, adipisicing elit.
L415  h3  Other Projects
L430-535  6 × blog__card statice
```

### 2.7 BLOG — listă `views/blog/index.php` (55) + detaliu `views/blog/view.php` (140)

```
listă:   L26 h1 Our Blog   L29 Home / Our Blog   L40 foreach ($posts)   L48-50 paginare 1|2|3
detaliu: L34 h1 Content Marketing   L37 Home / Blog / Blog single
         L56-73  patru paragrafe de articol, hardcodate
         L81  h2 Boost visibility through smart SEO
         L87-91  5 × li (beneficii)
         L104 span  Tag: Explore Start Contact
```

### 2.8 CONTACT — `views/contact/index.php` (142 linii)

```
L25  h1  Contact Us      L28  Home / Contact Us
L41  h3  Our Approuch
L42  h2  Experts in results-driven SEO marketing
L43  With a deep understanding of search engine algorithms and user behavior…
L54  h3  Email       L55  info@domain.com
L65  h3  Location    L66  J123 Main Street, City, State
L83  Need Help!      L84  h3  (+123) 456 789
L93  h2  Send us a message
L122 button  Send Message
```

### 2.9 FAQ — `views/faq/index.php` (85 linii)

```
L27  h1  Frequently Asked Question    L28  Home / FAQs
L37-... foreach ($faqGroups)   <- DIN DB (20 întrebări, 4 grupuri × 5)
L52  Ready to grow your online presence with proven SEO strategies?
L56  a  info@domainname.com
```

### 2.10 HEADER — `views/common/header/` + `components/widgets/HeaderWidget.php`

Meniul principal (`_nav.php`), 5 elemente + un dropdown „Pages" cu 11:

| Poziție | Etichetă | Link |
|---|---|---|
| 1 | Home | `/home/index` |
| 2 | About Us | `/about/index` |
| 3 | Services | `/services/index` |
| 4 | Blog | `/blog/index` |
| 5 | Pages ▾ | dropdown |
| 5.1–5.11 | Home · About Us · Services · Service Single · Blog · Blog Single · Projects · Project Single · Contact Us · FAQ · Error 404 | rutele respective |
| 6 | Contact Us | `/contact/index` |

`_cta.php:7` → buton `Get Started Today!`
`_logo.php` → `core/assests/logo/logo-1.svg`

### 2.11 FOOTER — `views/common/footer/`

```
_cta.php:9        h2  Ready to talk?
_cta.php:12       h3  support@example.com
_cta.php:13       h2  (+123) 456 789
_about.php:12     Smart, scalable SEO solutions drive traffic and conversions fast.
_nav-quick.php:8  h3  Quick Links
_nav-quick.php    li  Home | About Us | Services | Blog
_nav-services.php:6  h3  Services
_nav-services.php    li  Keyword Research | SEO Copywriting | Content Marketing | Technical SEO Audits
_newsletter.php:6    h3  Subscribe Newsletter's
_newsletter.php:11   button  Subscribe
_newsletter.php:15   * Stay updated with the latest SEO tips trends, and insights—straight to your inbox.
_copyright.php:7     Copyright © 2025 All Rights Reserved.        (© = U+00A9)
```

### 2.12 MODAL DE CONTACT — `views/common/_contact_modal.php` (pe toate paginile)

```
L22  h3  Contact Us
L23  h2  Request a Consultation
L24  With a deep understanding of search engine algorithms and user behavior, we create
     tailored SEO strategies that drive real results.
L35  h3  Email      L36  info@domain.com
L46  h3  Location   L47  J123 Main Street, City, State
L57  h3  Phone      L58  +123456789
L94  button  Send Message
```

### 2.13 Imagini folosite (35 fișiere unice, toate în `web/core/assests/`)

```
logo/         logo-1.svg  logo-2.svg  logo-3.svg  logo-4.svg  company-logo-3.svg
people/       big-person.jpg  min-person-1..3.jpg  post-1..4.jpg  sidebar-cta-image.jpg
              service-growth-img  service-solution-img.jpg  what-we-do-image-3.jpg
              why-choose-image.png
projects/     project-1.jpg  project-2.jpg  project-3.jpg  project-4.jpg
chart/        approach-img-1..3.png  features-image-1-.png  features-image-2.png
              features-image-3.png  services-chart-image.png
icons/        icon.svg  icon-pricing-3.svg
award/        award-1.svg
background/   faqs-image.jpg
error/        404-error-img.png
video/        bg.mp4
```

⚠️ `people/service-growth-img` — **fără extensie** în sursă. De verificat pe disc la Etapa 5.

---

## 3. ENTITĂȚI PROPUSE

### 3.1 Entități noi de creat

| # | Entitate | Tabel | Câmpuri netraductibile | Câmpuri traductibile | Rânduri |
|---|---|---|---|---|---|
| 1 | **PricingPlans** | `pricing_plans` (+`_translations`) | `alias`, `icon_image`, `price`, `period`, `is_featured`, `sort_order`, `status` | `name`, `desc_min`, `button_text`, `features_text` | **3** |
| 2 | **Testimonials** | `testimonials` (+`_translations`) | `alias`, `avatar_image`, `rating`, `sort_order`, `status` | `author_name`, `author_role`, `content_text` | **4** |
| 3 | **Features** | `features` (+`_translations`) | `alias`, `main_image`, `icon_image`, `sort_order`, `status` | `name`, `desc_min`, `button_text` | **3** |
| 4 | **Steps** (how it works) | `steps` (+`_translations`) | `alias`, `icon_image`, `number`, `sort_order`, `status` | `name`, `desc_min` | **4** |
| 5 | **ApproachCards** (Story/Vision/Values) | `approach_cards` (+`_translations`) | `alias`, `icon_image`, `sort_order`, `status` | `name`, `desc_min` | **3** |
| 6 | **Partners** (logo-uri „trusted by") | `partners` | `alias`, `logo_image`, `url`, `sort_order`, `status` | — | **5** |
| 7 | **Benefits** (why-choose-us `li`) | `benefits` (+`_translations`) | `alias`, `sort_order`, `status` | `name` | **2** |
| 8 | **MarqueeItems** (banda watch-story) | `marquee_items` (+`_translations`) | `alias`, `sort_order`, `status` | `name` | **4** |
| 9 | **ProjectChallenges** | `project_challenges` (+`_translations`) | `project_id`, `sort_order`, `status` | `name`, `desc_min`, `points_text` | **2** |

### 3.2 Entități existente — de completat

| Entitate | Ce lipsește | Acțiune |
|---|---|---|
| **Services** | admin OK; **pagina de detaliu nu randează nimic din DB** | + câmpuri de conținut pe traducere (§2.4); randare în `services/view.php` |
| **Projects** | **fără CRUD în admin** | Etapa 4 — model complet, cu galerie |
| **Blog** | admin OK; **detaliul nu randează `content_text`** | randare în `blog/view.php` |
| **Faq** | **fără CRUD în admin** | Etapa 4 |
| **Pages** | `pages_translations` are **0 rânduri** → zero SEO pe tot site-ul | seed la Etapa 5 |

### 3.3 Setări globale (elemente unice, o singură instanță)

Propunere: tabel `settings` (`key`, `value`, `type`, `group`) + `settings_translations`
(`value_text`), pentru:

| Grup | Chei | Valoare actuală |
|---|---|---|
| contact | `email` | `info@domain.com` |
| contact | `email_footer` | `support@example.com` |
| contact | `email_faq` | `info@domainname.com` |
| contact | `phone` | `(+123) 456 789` |
| contact | `phone_modal` | `+123456789` |
| contact | `address` | `J123 Main Street, City, State` |
| footer | `about_text` | `Smart, scalable SEO solutions drive traffic and conversions fast.` |
| footer | `copyright` | `Copyright © 2025 All Rights Reserved.` |
| footer | `newsletter_note` | `* Stay updated with the latest SEO tips trends, and insights—straight to your inbox.` |
| footer | `cta_title` | `Ready to talk?` |
| header | `cta_button` | `Get Started Today!` |
| header | `logo` | `core/assests/logo/logo-1.svg` |
| stats | `crawl_errors_label` / `crawl_errors_value` | `Crawl Errors` / `87%` |
| stats | `indexing_label` / `indexing_value` | `Indexing Status` / `93%` |
| stats | `years_experience` | `25+ Years Experience` |
| stats | `client_rating` | `4.9/5 Avarage Client Rating` |
| stats | `customer_review` | `4.5` |

**Total ≈ 20 de chei.**

### 3.4 Titluri de secțiune (eyebrow + h2 + p)

Fiecare secțiune are un antet format din 3 elemente. Propunere: tabel `section_headers`
(`page_key`, `section_key`, `sort_order`) + `_translations` (`eyebrow`, `title`, `subtitle`),
cheia fiind perechea pagină + secțiune.

| page_key | section_key | eyebrow | title | subtitle |
|---|---|---|---|---|
| home | hero | `200+ startup chose SEO` | `Powerful SEO that delivers real results` | `Our SEO strategies are built to perform…` |
| home | about | `About Us` | `Experts in results-driven SEO marketing` | `With a deep understanding…` |
| home | services | `Our Services` | `Grow faster with our proven SEO services` | — |
| home | features | `Our Feature` | `Comprehensive features for complete SEO success` | — |
| home | projects | `Our Projects` | `Solving complex problems with smart scalable AI` | — |
| home | what_we_do | `What We Do` | `Our proven SEO approach that delivers results` | — |
| home | why_choose | `Why choose us` | `Why businesses trust our proven SEO solutions` | `Our SEO strategies are built on data…` |
| home | watch_story | `Watch Our Story` | `Discover the story behind our SEO success` | — |
| home | pricing | `Pricing Plan` | `Transparent pricing for proven SEO solutions` | — |
| home | testimonials | `Testimonials` | `Proven SEO result backed by client testimonials` | `From increased rankings…` |
| home | newsletter | — | `Say hello to future-ready SEO solutions` | `Stay ahead of the curve…` |
| home | blog | `Latest blog` | `Insights & strategies from our latest blogs` | — |
| about | approach | `Our Approuch` | `Experts in results-driven SEO marketing` | `With a deep understanding…` |
| about | how_it_works | `How it work` | `Experts in results-driven SEO marketing` | `With a deep understanding…` |
| services_view | other | `Other Services` | — | `Lorem ipsum dolor sit amet consectetur, adipisicing elit.` |
| projects_view | other | `Other Projects` | — | `Lorem ipsum dolor sit amet consectetur, adipisicing elit.` |
| projects_view | gallery | `Gallery` | — | `Lorem ipsum dolor sit amet consectetur, adipisicing elit.` |

**≈ 17 rânduri.**

### 3.5 Meniu

Propunere: tabel `menu_items` (`parent_id`, `location` ENUM(`HEADER`,`FOOTER_QUICK`,`FOOTER_SERVICES`),
`route`, `sort_order`, `status`) + `_translations` (`label`).

| Locație | Rânduri |
|---|---|
| HEADER (5 + 11 în dropdown) | 16 |
| FOOTER_QUICK | 4 |
| FOOTER_SERVICES | 4 |
| **Total** | **24** |

### 3.6 Banner de pagină (hero-ul fiecărei pagini interioare)

`h1` + breadcrumb există pe 6 pagini. Se poate lega de tabelul `pages` existent, adăugând pe
`pages_translations`: `banner_title`, `banner_breadcrumb`.

| Pagină | `h1` | breadcrumb |
|---|---|---|
| about-us | `About Us` | `Home / About Us` |
| services | `Our services` | `Home / Our Services` |
| projects | `Our Project` | `Home / Project` |
| blog | `Our Blog` | `Home / Our Blog` |
| contact-us | `Contact Us` | `Home / Contact Us` |
| faqs | `Frequently Asked Question` | `Home / FAQs` |

---

## 4. SINTEZĂ — VOLUM

| Categorie | Entități | Rânduri de seed |
|---|---|---|
| Entități noi (§3.1) | 9 | ~30 |
| Setări globale (§3.3) | 1 | ~20 |
| Titluri de secțiune (§3.4) | 1 | ~17 |
| Meniu (§3.5) | 1 | 24 |
| Banner de pagină (§3.6) | pe `pages` | 6 |
| Traduceri de pagină SEO | pe `pages` | 11 |
| **Total tabele noi** | **~24** (12 entități × 2) | **~110 rânduri** |

Plus completarea entităților existente (Services, Projects, Blog, Faq) cu câmpurile de conținut
care lipsesc din paginile de detaliu.

---

## 5. PROBLEME SEMNALATE ÎNAINTE DE ETAPA 2

1. **Conținut placeholder masiv.** Cardurile de servicii de pe home (5), proiectele de pe home (8),
   „Other Services" (7), „Other Projects"/blog (6) au **toate același text lorem ipsum**.
   Seed-ul le va reproduce identic (cerința: „identic caracter cu caracter"), dar rezultatul e o
   bază de date cu 26 de rânduri duplicate. **Confirmi că le seed-ăm așa, sau le legăm de
   entitățile reale existente** (Services 6 rânduri, Projects 6, Blog 7)? A doua variantă schimbă
   textul afișat — deci încalcă „site-ul arată identic".
2. **Duplicare pentru slider.** Cele 6 carduri de preț sunt 3 unice repetate ×2 (Swiper).
   Propun 3 rânduri în DB și dublarea în view, nu 6 rânduri.
3. **Brandul „Rankio"** apare în toate blocurile FAQ (about, services/view, projects/view) și în
   tabelul `faq` deja populat. Îl păstrăm verbatim sau îl înlocuim cu Cignova?
4. **Typo-uri în design** de păstrat verbatim: `Our Approuch`, `Avarage increase`,
   `Avarage Client Rating`, numerotarea FAQ `01. 02. 03. 4. 5.`
5. **`users` = 0 rânduri**, fără tabele RBAC în `cinova`. Adminul nu poate fi protejat cu
   `AccessControl` până nu există un utilizator cu rol. **Blochează Etapa 4.**
6. **`services_gallery`**: modelul `models/services/ServicesGallery.php` există, tabelul **nu**.
7. **Traduceri:** tot conținutul actual e **doar în engleză**. RO și RU sunt ACTIVE în `languages`.
   Conform cerinței („NU inventa traduceri"), seed-ul va completa **doar EN**, iar RO/RU rămân
   goale — deci `ActiveTranslationValidator` va bloca publicarea. **Cum procedăm:**
   (a) dezactivăm temporar RO/RU în `languages`, (b) seed-ăm RO/RU cu textul EN, sau
   (c) acceptăm entitățile INACTIVE până la traducere?
8. **`portfolio`** (6 tabele, admin funcțional) nu e folosit nicăieri pe frontend. Rămâne, se
   șterge, sau se unifică cu `projects`?
9. **Paginarea** de pe `/blog` și `/projects` (`1 | 2 | 3`) e statică. Ecaterina nu are paginare
   pe frontend. O implementăm sau lăsăm markup-ul static?

---

## 6. CE URMEAZĂ (Etapa 2)

Ordinea din `01-pattern-ecaterina.md` §8.4, aplicată celor 12 entități noi:
migrații (tabel + `_translations`, unic `(entity_id, language_id)`, FK CASCADE) →
`EntityConstants` → modele AR + traduceri → form objects varianta A → search models →
controllere admin (`BaseAdminCrudController` + `MainCrudTrait`) → cele 7 view-uri →
meniu lateral → mesaje ro/en/ru → frontend.

**Decizii deja luate** (v. `01-pattern-ecaterina.md` §5.3.1 și §9):
* limbi: **dropdown** în pagina formularului, o singură limbă pe pagină;
* ștergere: **fizică**, ca în ecaterina;
* `STATUS_DELETED`: declarat și exclus în search, deși nesetat — ca în ecaterina.
