/* ====== SEO Local — Elementor snippet ====== */
.jah-loc {
--c-primary: #1a2e4a;
--c-primary-2: #223a5e;
--c-accent: #2563eb;
--c-accent-soft: #e7efff;
--c-accent-light: #93c5fd;
--c-text: #0f172a;
--c-text-muted: #475569;
--c-bg: #ffffff;
--c-bg-light: #f7f8fa;
--c-border: #e2e8f0;
--c-alert: #dc2626;
--c-alert-soft: #fee2e2;
--c-gold: #f59e0b;
--c-white: #ffffff;
--radius: 12px;
--radius-lg: 20px;
--shadow-sm: 0 1px 3px rgba(15,23,42,0.06);
--shadow-md: 0 10px 30px -10px rgba(15,23,42,0.18);
--max-w: 1180px;
--font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
font-family: var(--font);
color: var(--c-text);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
.jah-loc *, .jah-loc *::before, .jah-loc *::after { box-sizing: border-box; }
.jah-loc p { margin: 0 0 1em; color: var(--c-text-muted); text-wrap: pretty; }
/* Default light-on-dark for dark sections (fix: avoids the .jah-loc p override) */
.jah-loc__hero p,
.jah-loc__cta-banner p,
.jah-loc__section--dark p { color: rgba(255,255,255,0.85); }
.jah-loc h1, .jah-loc h2, .jah-loc h3, .jah-loc h4 {
margin: 0;
letter-spacing: -0.02em;
line-height: 1.15;
color: var(--c-text);
text-wrap: balance;
}
.jah-loc__hero h1, .jah-loc__hero h2, .jah-loc__hero h3,
.jah-loc__cta-banner h2,
.jah-loc__section--dark h2,
.jah-loc__section--dark h3 { color: var(--c-white); }
.jah-loc h1 { font-size: clamp(2rem, 4.2vw, 3.2rem); font-weight: 700; }
.jah-loc h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 700; }
.jah-loc h3 { font-size: 1.18rem; font-weight: 600; }
.jah-loc h4 { font-size: 1.02rem; font-weight: 600; }
.jah-loc a { color: inherit; }
.jah-loc button { font-family: inherit; cursor: pointer; border: 0; }
.jah-loc__container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }
.jah-loc__section { padding: 96px 0; }
.jah-loc__section--light { background: var(--c-bg-light); }
.jah-loc__section--dark { background: var(--c-primary); color: var(--c-white); }
.jah-loc__tag {
display: inline-block;
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--c-accent);
margin-bottom: 18px;
}
.jah-loc__hero .jah-loc__tag,
.jah-loc__cta-banner .jah-loc__tag,
.jah-loc__section--dark .jah-loc__tag { color: var(--c-accent-light); }
.jah-loc__head { max-width: 800px; margin: 0 auto 56px; text-align: center; }
.jah-loc__head p { font-size: 1.05rem; }
/* ---------- Buttons ---------- */
.jah-loc__btn {
display: inline-flex; align-items: center; gap: 8px;
padding: 14px 24px;
border-radius: 10px;
font-weight: 600;
font-size: 0.98rem;
transition: transform .12s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
text-decoration: none;
border: 1px solid transparent;
cursor: pointer;
}
.jah-loc__btn--primary {
background: var(--c-accent);
color: var(--c-white);
box-shadow: 0 6px 18px rgba(37,99,235,0.30);
}
.jah-loc__btn--primary:hover { background: #1d4ed8; transform: translateY(-1px); box-shadow: 0 10px 26px rgba(37,99,235,0.40); }
.jah-loc__btn--outline {
background: transparent;
color: var(--c-white);
border-color: rgba(255,255,255,0.30);
}
.jah-loc__btn--outline:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.6); }
.jah-loc__btn--lg { padding: 16px 28px; font-size: 1.02rem; }
/* ---------- 1. HERO ---------- */
.jah-loc__hero {
background: linear-gradient(160deg, var(--c-primary) 0%, var(--c-primary-2) 100%);
color: var(--c-white);
padding: 112px 0;
position: relative;
overflow: hidden;
}
.jah-loc__hero::before {
content: "";
position: absolute; top: -180px; right: -120px;
width: 540px; height: 540px;
background: radial-gradient(circle, rgba(37,99,235,0.30), transparent 70%);
pointer-events: none;
}
.jah-loc__hero-grid {
display: grid;
grid-template-columns: 1.15fr 1fr;
gap: 64px;
align-items: center;
position: relative;
z-index: 1;
}
.jah-loc__hero-eyebrow {
display: inline-flex; align-items: center; gap: 10px;
padding: 6px 14px;
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.14);
border-radius: 999px;
font-size: 0.74rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: rgba(255,255,255,0.95);
margin-bottom: 24px;
}
.jah-loc__hero-eyebrow::before {
content: ""; width: 7px; height: 7px; border-radius: 50%;
background: var(--c-accent);
box-shadow: 0 0 0 4px rgba(37,99,235,0.22);
}
.jah-loc__hero h1 { margin-bottom: 22px; }
.jah-loc__hero h1 em { font-style: normal; color: var(--c-accent-light); }
.jah-loc__hero-sub {
font-size: 1.12rem;
max-width: 580px;
margin-bottom: 36px;
}
.jah-loc__hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
/* Hero visual: local pack card */
.jah-loc__map-card {
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.14);
border-radius: var(--radius-lg);
padding: 24px;
backdrop-filter: blur(6px);
max-width: 440px;
margin-left: auto;
box-shadow: 0 30px 80px -30px rgba(0,0,0,0.55);
}
.jah-loc__map-header {
display: flex; align-items: center; gap: 10px;
margin-bottom: 16px;
color: rgba(255,255,255,0.95);
font-size: 0.84rem;
font-weight: 600;
}
.jah-loc__map-header svg { width: 18px; height: 18px; color: var(--c-accent-light); }
.jah-loc__map-svg {
width: 100%;
height: 140px;
border-radius: 12px;
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.06);
margin-bottom: 16px;
display: block;
}
.jah-loc__pack {
list-style: none;
padding: 0; margin: 0;
display: flex; flex-direction: column;
gap: 8px;
}
.jah-loc__pack li {
display: grid;
grid-template-columns: 28px 1fr auto;
gap: 12px;
align-items: center;
padding: 12px 14px;
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 10px;
}
.jah-loc__pack li.is-you {
background: rgba(37,99,235,0.20);
border-color: rgba(147,197,253,0.50);
box-shadow: 0 0 0 1px rgba(147,197,253,0.20) inset;
}
.jah-loc__pack-rank {
width: 28px; height: 28px;
border-radius: 50%;
background: rgba(255,255,255,0.10);
color: rgba(255,255,255,0.95);
display: grid; place-items: center;
font-weight: 700;
font-size: 0.85rem;
}
.jah-loc__pack li.is-you .jah-loc__pack-rank {
background: var(--c-accent);
color: var(--c-white);
}
.jah-loc__pack-name {
font-size: 0.92rem;
color: var(--c-white);
font-weight: 500;
}
.jah-loc__pack-rating {
display: flex; align-items: center; gap: 4px;
font-size: 0.82rem;
color: rgba(255,255,255,0.85);
font-weight: 500;
}
.jah-loc__pack-rating svg { width: 14px; height: 14px; fill: var(--c-gold); color: var(--c-gold); }
/* ---------- 2. POR QUÉ ---------- */
.jah-loc__why-intro {
text-align: center;
max-width: 740px;
margin: 0 auto 48px;
font-size: 1.06rem;
}
.jah-loc__cards-3 {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 22px;
}
.jah-loc__benefit {
background: var(--c-white);
border: 1px solid var(--c-border);
border-radius: var(--radius);
padding: 30px 28px;
transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.jah-loc__benefit:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-md);
border-color: var(--c-accent);
}
.jah-loc__benefit-icon {
width: 48px; height: 48px;
border-radius: 12px;
background: var(--c-accent-soft);
color: var(--c-accent);
display: grid; place-items: center;
margin-bottom: 18px;
}
.jah-loc__benefit-icon svg { width: 22px; height: 22px; }
.jah-loc__benefit h3 { margin-bottom: 8px; }
.jah-loc__benefit p { font-size: 0.96rem; margin: 0; }
/* ---------- 3. PILARES ---------- */
.jah-loc__pillars {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
margin-bottom: 48px;
}
.jah-loc__pillar {
background: var(--c-white);
border: 1px solid var(--c-border);
border-radius: var(--radius);
padding: 28px 24px;
display: flex; flex-direction: column; gap: 12px;
transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.jah-loc__pillar:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-md);
border-color: var(--c-accent);
}
.jah-loc__pillar-icon {
width: 44px; height: 44px;
border-radius: 10px;
background: var(--c-accent-soft);
color: var(--c-accent);
display: grid; place-items: center;
}
.jah-loc__pillar-icon svg { width: 20px; height: 20px; }
.jah-loc__pillar h3 { font-size: 1.05rem; }
.jah-loc__pillar p { font-size: 0.92rem; margin: 0; }
.jah-loc__preview {
border: 1px solid var(--c-border);
border-radius: var(--radius-lg);
overflow: hidden;
background: var(--c-bg);
box-shadow: var(--shadow-md);
}
.jah-loc__preview img,
.jah-loc__preview svg {
width: 100%; height: auto; display: block;
}
.jah-loc__preview-caption {
font-size: 0.82rem;
color: var(--c-text-muted);
text-align: center;
padding: 14px 16px;
border-top: 1px solid var(--c-border);
background: var(--c-white);
}
/* ---------- 4. AUTORIDAD REGIONAL ---------- */
.jah-loc__authority {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 56px;
align-items: center;
}
.jah-loc__authority-list {
list-style: none;
padding: 0;
margin: 24px 0 0;
display: flex;
flex-direction: column;
gap: 18px;
}
.jah-loc__authority-list li {
display: flex;
gap: 14px;
align-items: flex-start;
font-size: 1.02rem;
color: var(--c-text);
font-weight: 500;
}
.jah-loc__check {
width: 28px; height: 28px;
border-radius: 50%;
background: var(--c-accent-soft);
color: var(--c-accent);
display: grid;
place-items: center;
flex: none;
margin-top: 1px;
}
.jah-loc__authority-visual {
background: var(--c-primary);
border-radius: var(--radius-lg);
padding: 40px 36px;
color: var(--c-white);
position: relative;
overflow: hidden;
}
.jah-loc__authority-visual::before {
content: "";
position: absolute; top: -60px; right: -40px;
width: 260px; height: 260px;
background: radial-gradient(circle, rgba(37,99,235,0.30), transparent 70%);
pointer-events: none;
}
.jah-loc__cities {
display: flex; flex-direction: column;
gap: 14px;
position: relative; z-index: 1;
}
.jah-loc__city {
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.14);
border-radius: 12px;
padding: 16px 18px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.jah-loc__city-name {
font-weight: 600;
font-size: 1.02rem;
display: flex; align-items: center; gap: 10px;
color: var(--c-white);
}
.jah-loc__city-name svg { width: 18px; height: 18px; color: var(--c-accent-light); }
.jah-loc__city-meta {
font-size: 0.82rem;
color: rgba(255,255,255,0.7);
font-feature-settings: "tnum";
}
/* ---------- 5. METODOLOGÍA ---------- */
.jah-loc__steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
position: relative;
}
.jah-loc__steps::before {
content: "";
position: absolute;
top: 36px;
left: 12%;
right: 12%;
height: 2px;
background: var(--c-border);
z-index: 0;
}
.jah-loc__step {
text-align: center;
padding: 0 18px;
position: relative;
z-index: 1;
}
.jah-loc__step-num {
width: 72px; height: 72px;
border-radius: 50%;
background: var(--c-white);
color: var(--c-accent);
font-size: 1.4rem;
font-weight: 700;
letter-spacing: -0.02em;
display: grid;
place-items: center;
border: 2px solid var(--c-accent);
margin: 0 auto 20px;
box-shadow: 0 6px 16px rgba(37,99,235,0.18);
}
.jah-loc__step h3 { font-size: 1.05rem; margin-bottom: 8px; }
.jah-loc__step p { font-size: 0.92rem; margin: 0; }
/* ---------- 6. CTA BANNER ---------- */
.jah-loc__cta-banner {
background: linear-gradient(160deg, var(--c-primary) 0%, var(--c-primary-2) 100%);
color: var(--c-white);
padding: 96px 0;
text-align: center;
position: relative;
overflow: hidden;
}
.jah-loc__cta-banner::before {
content: "";
position: absolute; left: 50%; top: -40%; transform: translateX(-50%);
width: 720px; height: 720px;
background: radial-gradient(circle, rgba(37,99,235,0.20), transparent 65%);
pointer-events: none;
}
.jah-loc__cta-banner-inner {
max-width: 760px; margin: 0 auto;
position: relative; z-index: 1;
}
.jah-loc__cta-banner h2 { margin-bottom: 16px; }
.jah-loc__cta-banner p { font-size: 1.1rem; margin-bottom: 32px; }
/* ---------- 8. FAQ ---------- */
.jah-loc__faq {
max-width: 820px;
margin: 0 auto;
border-top: 1px solid var(--c-border);
}
.jah-loc__faq details {
border-bottom: 1px solid var(--c-border);
padding: 4px 0;
}
.jah-loc__faq summary {
list-style: none;
cursor: pointer;
padding: 22px 0;
font-weight: 600;
font-size: 1.06rem;
color: var(--c-text);
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
transition: color .15s ease;
}
.jah-loc__faq summary::-webkit-details-marker { display: none; }
.jah-loc__faq summary:hover { color: var(--c-accent); }
.jah-loc__faq summary::after {
content: "";
width: 28px; height: 28px;
flex: none;
border: 1px solid var(--c-border);
border-radius: 50%;
background:
linear-gradient(currentColor, currentColor) center/12px 2px no-repeat,
linear-gradient(currentColor, currentColor) center/2px 12px no-repeat;
color: var(--c-accent);
transition: transform .25s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}
.jah-loc__faq details[open] summary::after {
background: linear-gradient(currentColor, currentColor) center/12px 2px no-repeat;
color: var(--c-white);
background-color: var(--c-accent);
border-color: var(--c-accent);
transform: rotate(180deg);
}
.jah-loc__faq details > p {
padding: 0 0 22px;
font-size: 0.98rem;
color: var(--c-text-muted);
margin: 0;
max-width: 92%;
}
/* ---------- Responsive ---------- */
@media (max-width: 768px) {
.jah-loc__section { padding: 72px 0; }
.jah-loc__hero { padding: 80px 0; }
.jah-loc__hero-grid { grid-template-columns: 1fr; gap: 48px; }
.jah-loc__map-card { margin: 0; }
.jah-loc__cards-3 { grid-template-columns: 1fr; }
.jah-loc__pillars { grid-template-columns: 1fr 1fr; }
.jah-loc__authority { grid-template-columns: 1fr; gap: 40px; }
.jah-loc__steps { grid-template-columns: 1fr; gap: 28px; }
.jah-loc__steps::before { display: none; }
.jah-loc__step { text-align: left; display: grid; grid-template-columns: 72px 1fr; gap: 18px; align-items: start; padding: 0; }
.jah-loc__step-num { margin: 0; }
.jah-loc__cta-banner { padding: 72px 0; }
.jah-loc__head { margin-bottom: 40px; }
}
@media (max-width: 480px) {
.jah-loc__pillars { grid-template-columns: 1fr; }
}
Especialista en Vallès Occidental
Estratega de SEO Local en Terrassa, Sabadell y Sant Cugat
Domina las búsquedas locales y atrae clientes de tu zona justo cuando te necesitan. Convierte tu presencia digital en el imán de ventas de tu ciudad.
Terrassa
Sabadell
Sant Cugat
-
1
Tu negocio
5.0 · 124 reseñas
Local Pack
-
2
Competidor del sector
4.6 · 78 reseñas
—
-
3
Competidor del sector
4.3 · 42 reseñas
—
Beneficios
¿Por qué tu negocio necesita SEO Local?
El 80% de las búsquedas locales terminan en una conversión. Si no estás en el mapa, no existes para tus vecinos.
Google Maps & Local Pack
Aparece en los tres primeros resultados del mapa cuando buscan tus servicios en tu zona geográfica.
Intención de compra
Conecta con usuarios que ya tienen la tarjeta en la mano y buscan una solución inmediata cerca de ellos.
Relevancia geográfica
Posiciónate como el referente absoluto en el Vallès Occidental, superando a la competencia local.
El sistema
Pilares Maestros de tu SEO Local
Cuatro frentes trabajados en paralelo: ficha, citaciones, reseñas y contenido geolocalizado. La combinación es lo que te lleva al Local Pack.
Google Business Profile
Optimización total de tu ficha: categorías, servicios, horarios y fotos que venden.
Citaciones locales
Consistencia de datos NAP (Nombre, Dirección, Teléfono) en todos los directorios relevantes.
Estrategia de reseñas
Generación activa de autoridad social y confianza mediante gestión de reseñas positivas.
Contenido local
Landings específicas para cada ciudad que responden a la intención de búsqueda local.
Dashboard SEO Local
Vallès Occidental · Mayo 2026
En directo
Tu cobertura geográfica
3 ciudades activas · Local Pack monitorizado
Terrassa
#1 Local Pack
Sabadell
#3 Local Pack
Sant Cugat
#5 Local Pack
POSICIÓN MEDIA · LOCAL PACK
#1.4
+0.8
vs. mes anterior
LLAMADAS DESDE GOOGLE MAPS
142
+38%
últimos 30 días
Local Pack · Terrassa
Top 3 resultados en Google Maps
1
Tu negocio
5.0 · 124 reseñas
DESTACADO
2
Competidor del sector
4.6 · 78 reseñas
3
Competidor del sector
4.3 · 42 reseñas
Dashboard de ejemplo · Posición en Local Pack, llamadas desde Google Maps y reseñas en tiempo real
Especialización local
Autoridad Regional en el Vallès Occidental
No trabajo con clientes de toda España de forma genérica. Me especializo en los mercados que conozco perfectamente: Terrassa, Sabadell y Sant Cugat del Vallès.
-
Conocimiento profundo del comportamiento del consumidor local.
-
Optimización para búsquedas "cerca de mí" en zonas industriales y urbanas.
-
Estrategias de interlazado local para potenciar tu web en el Vallès.
220.000 hab. · sede principal
Cómo trabajo
Metodología de trabajo
Cuatro fases con entregables concretos, sin opacidad ni "magia SEO".
01
Auditoría
Análisis profundo de tu presencia actual y la de tu competencia local.
02
Optimización
Ajustes técnicos en web y Google Business Profile para máxima visibilidad.
03
Contenido local
Creación de autoridad mediante reseñas y contenido geolocalizado.
04
Monitoreo
Seguimiento de posiciones, llamadas y visitas recibidas para ajustar estrategia.
Empecemos
Haz que tu negocio sea el primero en tu ciudad
No dejes que tu competencia se lleve los clientes que están a solo 5 minutos de tu puerta. Comienza hoy tu transformación local.
Solicitar mi auditoría local →
FAQ
Preguntas frecuentes
¿Cuánto tiempo tarda la auditoría técnica?
Para una web corporativa media, el proceso suele durar entre 10 y 15 días laborables desde la recepción de los accesos a Search Console y Analytics.
¿Qué herramientas se utilizan en el análisis?
Utilizo herramientas líderes de la industria como Screaming Frog y Google Search Console, además de scripts propios para análisis de logs.
¿En qué formato se entrega la auditoría?
Se entrega un documento PDF ejecutivo, un archivo Excel con todas las URLs afectadas y una videollamada de 60 minutos para explicar los hallazgos.