The whole file
This is exactly what you download: no summaries, nothing trimmed.
Heads-up: the skill file itself is written in Spanish. Agents read it fine and answer in your language, but the prose below is not translated.
SEO local: aparecer en tu ciudad
Para un negocio local, la web casi nunca es el primer resultado: lo es su ficha en el mapa. El orden de esfuerzo es ficha → coherencia de datos → contenido de la web, y se hace en ese orden.
1. El perfil de empresa en Google
Es lo que más mueve la aguja y no depende del código:
- Categoría principal exacta —la que más pesa— y las secundarias justas.
- Zona de servicio si no se atiende al público en el local; dirección real si sí. Una dirección inventada para “aparecer en más sitios” es motivo de suspensión.
- Horario real y actualizado en festivos.
- Fotos propias del local, del equipo y de trabajos hechos. Las de banco de imágenes se notan y restan.
- Servicios y descripciones completos.
- Reseñas: pedirlas de forma sistemática tras cada trabajo, y responderlas todas, también las malas, sin discutir. Nunca comprarlas.
2. Coherencia NAP
Nombre, dirección y teléfono (name, address, phone) escritos exactamente igual en todas partes: web, Google, redes, directorios, facturas. “C/ Mayor 3” y “Calle Mayor, 3” son dos negocios distintos para un buscador que intenta cruzar fuentes. Si algo cambia, se cambia en todos los sitios el mismo día.
3. Datos estructurados
Un LocalBusiness en la home, con el tipo más específico que exista
(Plumber, Dentist, HairSalon, Restaurant… antes que el genérico):
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Nombre exacto del negocio",
"url": "https://ejemplo.com",
"telephone": "+34600000000",
"image": "https://ejemplo.com/local.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "Calle Mayor 3",
"addressLocality": "Sevilla",
"postalCode": "41001",
"addressCountry": "ES"
},
"geo": { "@type": "GeoCoordinates", "latitude": 37.38, "longitude": -5.99 },
"areaServed": ["Sevilla", "Dos Hermanas", "Alcalá de Guadaíra"],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00", "closes": "18:00"
}],
"sameAs": ["https://www.google.com/maps/place/…", "https://www.instagram.com/…"]
}
Los datos del JSON-LD deben coincidir con los visibles en la página. Marcar
reseñas propias con aggregateRating sin que estén publicadas en la web es
motivo de acción manual: no lo hagas.
4. La web
- Una página por servicio × zona, cuando de verdad hay demanda distinta:
/reparacion-de-calderas-sevilla. Y con contenido propio: veinte páginas clonadas cambiando el nombre de la ciudad es la forma más rápida de desaparecer. - Título y
h1con servicio + ciudad, en lenguaje humano. <title>de menos de 60 caracteres, meta descripción que sea un anuncio, no un resumen.- URLs cortas, en minúsculas y sin acentos.
- Dirección y teléfono en HTML de texto plano —no dentro de una imagen— y presentes en todas las páginas, normalmente en el pie.
- Mapa embebido: cárgalo bajo demanda, no en el primer render; cuesta más que el resto de la página junta.
sitemap.xml,robots.txty canónicas correctas. Y una sola versión del dominio: con o sinwww, con redirección 301 desde la otra.
5. Medir
Search Console verificado desde el día uno —sin él vas a ciegas— y el perfil de Google revisado cada mes. Las tres cifras que importan: llamadas desde la ficha, cómo-llegar y envíos del formulario. Las visitas totales no pagan facturas.
Lo que no se hace
Palabras clave repetidas hasta la náusea, texto blanco sobre fondo blanco, direcciones falsas para cubrir más ciudades, reseñas compradas y granjas de enlaces. Funcionan unas semanas y cuestan el negocio entero cuando dejan de funcionar.