# ✅ Validación Paso a Paso - Law Firm (lawfirm.bewpro.com)

Checklist de validación para verificar que el sistema esté completamente configurado y optimizado para el producto demo-law-firm-2.

---

## 📋 Paso 1: Configuración del Sistema Base

### ✅ `config/cd-system.php`

**Verificar**:
- [ ] `'demo' => 'demo-law-firm-2'` está configurado
- [ ] `'skin' => 'auto'` está configurado
- [ ] Módulos activos según requerimientos:
  - [ ] `blog` => `active: true`
  - [ ] `services` => `active: true`
  - [ ] `team` => `active: true`
  - [ ] `references` => `active: true`
  - [ ] `faqs` => `active: true`
  - [ ] `about` => `active: true`
  - [ ] `contact` => `active: true`
- [ ] Módulos desactivados:
  - [ ] `products` => `active: false`
  - [ ] `projects` => `active: false`
  - [ ] `gallery` => `active: false`
  - [ ] `newsletter` => `active: false`
  - [ ] `news` => `active: false`

**Comando de verificación**:
```bash
php artisan tinker
>>> config('cd-system.theme.demo')
=> "demo-law-firm-2"
>>> config('cd-system.modules.blog.active')
=> true
```

---

## 📋 Paso 2: Configuración de Identidad y SEO

### ✅ `config/site.php`

#### Identidad Básica
- [ ] `'name' => 'Law Firm'`
- [ ] `'url' => 'https://lawfirm.bewpro.com'`
- [ ] `'author' => 'Law Firm'`

#### SEO
- [ ] `'seo.keywords'` contiene palabras clave relevantes
- [ ] `'seo.description'` tiene descripción completa
- [ ] `'seo.title_template' => '{title} | {site_name}'`
- [ ] `'seo.language' => 'es_AR'`
- [ ] `'seo.robots' => 'index, follow'`
- [ ] `'seo.canonical' => true`

#### Schema JSON-LD
- [ ] `'seo.schema.enabled' => true`
- [ ] `'seo.schema.type' => 'LegalService'`
- [ ] `'seo.schema.name' => 'Law Firm'`
- [ ] `'seo.schema.url' => 'https://lawfirm.bewpro.com'`
- [ ] `'seo.schema.logo'` apunta a logo correcto
- [ ] `'seo.schema.contact_point.enabled' => true`
- [ ] `'seo.schema.contact_point.telephone` configurado
- [ ] `'seo.schema.contact_point.area_served` configurado

**Comando de verificación**:
```bash
php artisan tinker
>>> config('site.name')
=> "Law Firm"
>>> config('site.seo.schema.type')
=> "LegalService"
```

---

## 📋 Paso 3: Meta Tags - Open Graph

### ✅ Open Graph en `config/site.php`

- [ ] `'og.enabled' => true`
- [ ] `'og.type' => 'website'`
- [ ] `'og.title' => 'Law Firm | Bufete de Abogados'`
- [ ] `'og.description'` tiene descripción completa
- [ ] `'og.url' => 'https://lawfirm.bewpro.com'`
- [ ] `'og.site_name' => 'Law Firm'`
- [ ] `'og.image' => 'cd-project/img/meta-tags/og-image.png'`
- [ ] `'og.image_width' => 1200`
- [ ] `'og.image_height' => 630`
- [ ] `'og.image_type' => 'image/png'`
- [ ] `'og.image_alt' => 'Law Firm - Bufete de Abogados'`
- [ ] `'og.locale' => 'es_AR'`

**Verificación en HTML**:
```html
<meta property="og:type" content="website" />
<meta property="og:title" content="Law Firm | Bufete de Abogados" />
<meta property="og:description" content="..." />
<meta property="og:url" content="https://lawfirm.bewpro.com" />
<meta property="og:image" content="https://lawfirm.bewpro.com/cd-project/img/meta-tags/og-image.png" />
```

**Herramienta de validación**: [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/)

---

## 📋 Paso 4: Meta Tags - Twitter Card

### ✅ Twitter Card en `config/site.php`

- [ ] `'twitter.enabled' => true`
- [ ] `'twitter.card' => 'summary_large_image'`
- [ ] `'twitter.title' => 'Law Firm | Bufete de Abogados'`
- [ ] `'twitter.description'` tiene descripción completa
- [ ] `'twitter.image' => 'cd-project/img/meta-tags/twitter-image.png'`
- [ ] `'twitter.image_alt' => 'Law Firm - Bufete de Abogados'`

**Verificación en HTML**:
```html
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Law Firm | Bufete de Abogados" />
<meta name="twitter:description" content="..." />
<meta name="twitter:image" content="https://lawfirm.bewpro.com/cd-project/img/meta-tags/twitter-image.png" />
```

**Herramienta de validación**: [Twitter Card Validator](https://cards-dev.twitter.com/validator)

---

## 📋 Paso 5: Contacto y Redes Sociales

### ✅ Contacto en `config/site.php`

- [ ] `'contact.email' => 'contacto@lawfirm.bewpro.com'`
- [ ] `'contact.phone` configurado
- [ ] `'contact.address` configurado (si aplica)
- [ ] `'contact.schedule` configurado
- [ ] `'contact.form_title` configurado
- [ ] `'contact.form_subtitle` configurado

### ✅ Redes Sociales

- [ ] Redes sociales configuradas (si aplica)
- [ ] URLs de redes sociales válidas o `'active' => false`

---

## 📋 Paso 6: Assets Requeridos

### ✅ Logos

**Ubicación**: `public/cd-project/img/logos/`

- [ ] `logo.png` existe y es el logo principal
- [ ] `logo-2.png` existe (logo loader)
- [ ] `logo-alternative.png` existe (logo footer)

**Verificación**:
```bash
ls -la public/cd-project/img/logos/
```

### ✅ Favicons

**Ubicación**: `public/cd-project/img/favicon/`

- [ ] `favicon.ico` existe
- [ ] `apple-touch-icon.png` existe (180x180)
- [ ] `favicon.svg` existe
- [ ] `web-app-manifest-192x192.png` existe
- [ ] `web-app-manifest-512x512.png` existe

**Verificación**:
```bash
ls -la public/cd-project/img/favicon/
```

### ✅ Imágenes Meta Tags

**Ubicación**: `public/cd-project/img/meta-tags/`

- [ ] `og-image.png` existe (1200x630px)
- [ ] `twitter-image.png` existe (1200x630px)

**Verificación**:
```bash
ls -la public/cd-project/img/meta-tags/
file public/cd-project/img/meta-tags/og-image.png  # Verificar dimensiones
```

---

## 📋 Paso 7: Verificación en el Navegador

### ✅ Homepage

1. **Abrir**: `https://lawfirm.bewpro.com`
2. **Verificar**:
   - [ ] Página carga correctamente
   - [ ] Logo se muestra correctamente
   - [ ] Carousel funciona (si aplica)
   - [ ] Servicios se muestran
   - [ ] Equipo se muestra
   - [ ] Referencias se muestran
   - [ ] Blog se muestra

### ✅ Meta Tags en el HTML

**Inspeccionar código fuente** (`View Source` o `Ctrl+U`):

- [ ] `<title>` muestra "Law Firm | Bufete de Abogados" (o título específico de página)
- [ ] `<meta name="description">` tiene descripción completa
- [ ] `<meta name="keywords">` tiene keywords
- [ ] `<meta property="og:title">` está presente
- [ ] `<meta property="og:description">` está presente
- [ ] `<meta property="og:image">` apunta a imagen correcta
- [ ] `<meta name="twitter:card">` está presente
- [ ] `<link rel="canonical">` apunta a URL correcta

**Comando de verificación**:
```bash
curl -s https://lawfirm.bewpro.com | grep -E '<title>|<meta name="description"|<meta property="og:'
```

### ✅ Schema JSON-LD

**Inspeccionar código fuente**:

- [ ] `<script type="application/ld+json">` está presente
- [ ] Contiene `"@type": "LegalService"`
- [ ] Contiene `"name": "Law Firm"`
- [ ] Contiene `"url": "https://lawfirm.bewpro.com"`
- [ ] Contiene `contactPoint` si está habilitado

**Herramienta de validación**: [Google Rich Results Test](https://search.google.com/test/rich-results)

---

## 📋 Paso 8: Verificación de Módulos

### ✅ Módulos Activos Funcionan

**Blog**:
- [ ] `/blog` carga correctamente
- [ ] Posts se muestran
- [ ] Categorías funcionan

**Services**:
- [ ] `/services` carga correctamente
- [ ] Servicios se muestran
- [ ] Detalle de servicio funciona

**Team**:
- [ ] `/team` carga correctamente
- [ ] Miembros se muestran
- [ ] Perfil individual funciona

**References**:
- [ ] Referencias aparecen en homepage (marquee)
- [ ] Logos se cargan correctamente

**FAQs**:
- [ ] `/faqs` carga correctamente
- [ ] FAQs se muestran

**About**:
- [ ] `/about` carga correctamente
- [ ] Contenido se muestra

**Contact**:
- [ ] `/contact` carga correctamente
- [ ] Formulario funciona

---

## 📋 Paso 9: Validación SEO Externa

### ✅ Herramientas de Validación

**Google Search Console**:
- [ ] Sitio verificado
- [ ] Sitemap enviado
- [ ] Sin errores críticos

**Facebook Sharing Debugger**:
- [ ] URL probada: `https://lawfirm.bewpro.com`
- [ ] Open Graph tags se muestran correctamente
- [ ] Imagen OG se muestra correctamente

**Twitter Card Validator**:
- [ ] URL probada: `https://lawfirm.bewpro.com`
- [ ] Twitter Card se muestra correctamente

**Google Rich Results Test**:
- [ ] Schema JSON-LD válido
- [ ] Sin errores

**PageSpeed Insights**:
- [ ] Performance score aceptable
- [ ] SEO score aceptable

---

## 📋 Paso 10: Checklist Final

### ✅ Configuración Completa

- [ ] `config/cd-system.php` configurado correctamente
- [ ] `config/site.php` configurado correctamente
- [ ] Assets (logos, favicons, meta tags) presentes
- [ ] Meta tags se muestran en HTML
- [ ] Schema JSON-LD válido
- [ ] Módulos activos funcionan
- [ ] Homepage carga correctamente
- [ ] Todas las páginas principales funcionan
- [ ] SEO básico verificado
- [ ] Open Graph verificado
- [ ] Twitter Card verificado

---

## 🔧 Comandos Útiles

### Limpiar Cache
```bash
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
```

### Verificar Configuración
```bash
php artisan tinker
>>> config('site.name')
>>> config('cd-system.theme.demo')
>>> config('site.seo.schema.type')
```

### Verificar Assets
```bash
ls -la public/cd-project/img/logos/
ls -la public/cd-project/img/favicon/
ls -la public/cd-project/img/meta-tags/
```

---

## 📚 Referencias

- [Datos Requeridos para Proyecto](./06-datos-requeridos-proyecto.md)
- [Producto Law Firm 2](./03-producto-law-firm-2.md)
- [Configuraciones](./04-configuraciones.md)

---

**Última actualización**: 2025-01-XX  
**Versión**: 1.0.0

