Skip to content
jesusprodriguez.com

seo-local

SEO local: aparecer en tu ciudad

Ranking in your own city: business profile, NAP consistency, LocalBusiness JSON-LD and per-service pages with original content.

plugin:
Web
stack:
Local SEO
task:
Audit
version:
v1.0.0
updated:
size:
4.1 KB
read:
3 min
license:
CC-BY-4.0

When it fires

When publishing a local business site, or when it does not show up in searches for its area.

description: Posicionamiento local para un negocio con zona de servicio - perfil de empresa en Google, coherencia NAP, datos estructurados LocalBusiness y páginas por servicio y ciudad. Úsala al publicar la web de un negocio local o cuando no aparezca en las búsquedas de su zona.

  • Business profile
  • NAP consistency
  • LocalBusiness JSON-LD
  • What not to do

How you ask for it

> This site for a garage in Getafe does not show up for “garage Getafe”: tell me why.

Say this to the agent as it is: the skill loads itself from its description, you do not have to name it.

How to install one

/plugin marketplace add https://jesusprodriguez.com/skills/marketplace.json
/plugin install web@jprodriguez-toolkit

The native route, and the only one that updates itself: add the marketplace once and `/plugin marketplace update` brings in new versions. Skills get their own namespace (`azure-devops:azure-pr-review`).

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 h1 con 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.txt y canónicas correctas. Y una sola versión del dominio: con o sin www, 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.