Cómo rompimos las limitaciones de WordPress para crear una arquitectura SEO a medida
WordPress no permite establecer de forma nativa jerarquías entre páginas y distintos tipos de contenido personalizado (CPT). Para superar esta limitación, hemos desarrollado una solución propia en PHP que permite crear una arquitectura SEO flexible, relacionar servicios, localidades y sectores profesionales, heredar estructuras de URL y gestionar redirecciones 301 sin duplicar contenidos ni depender de la organización interna de WordPress.

Cuando WordPress limita tu estrategia SEO: así hemos desarrollado nuestra propia solución
Una buena arquitectura SEO no debería estar condicionada por los tipos de contenido que utiliza WordPress. Durante la reorganización de nuestra web nos encontramos con una limitación que impedía relacionar páginas, localidades y sectores profesionales dentro de una misma estructura jerárquica. En lugar de adaptar nuestra estrategia a esa limitación, desarrollamos una solución personalizada en PHP que nos permite organizar los contenidos, generar sus URL y gestionar las relaciones entre diferentes tipos de publicaciones.
Y todo empezó con algo aparentemente sencillo: queríamos que una página de diseño web pudiera actuar como padre de otros contenidos.
Lo que parecía una pequeña modificación de WordPress terminó convirtiéndose en una herramienta para organizar buena parte de la arquitectura de nuestra web.
El problema no eran las URL, era cómo WordPress organizaba los contenidos
En nuestra web trabajamos con distintos tipos de contenido. Tenemos páginas convencionales para los servicios principales, tipos de contenido personalizados para localidades, otros para sectores profesionales y otros para proyectos realizados.
Esta separación tiene sentido desde el punto de vista de la administración. Nos permite gestionar cada grupo de contenidos de manera independiente, con sus propias características y campos.
Pero aparecía un problema cuando queríamos trasladar esa organización a una arquitectura SEO.
WordPress permite establecer jerarquías nativas entre páginas y entre determinados contenidos personalizados, pero no ofrece de forma estándar un sistema de padres entre diferentes tipos de contenido.
Por ejemplo, una localidad podía tener como padre otra localidad, pero no podíamos seleccionar nuestra página principal de «Diseño web» como padre de esa localidad utilizando el selector habitual.
Y eso nos obligaba a elegir entre mantener una estructura de URL que no respondía a nuestra planificación SEO o buscar soluciones alternativas.
Una arquitectura SEO debe responder a los servicios y a las intenciones de búsqueda
Imaginemos una empresa que ofrece diseño web, posicionamiento SEO y gestión de Google Ads.
Cada uno de esos servicios tiene su propia página principal. A partir de ahí, podemos desarrollar contenidos especializados para diferentes sectores profesionales, ubicaciones geográficas o necesidades concretas.
Una clínica dental que busca una empresa para diseñar su página web no necesita necesariamente la misma información que una academia que quiere captar alumnos mediante Internet.
De la misma manera, una empresa que busca posicionamiento SEO en Valdemoro tiene una intención distinta de otra que necesita una nueva página web en esa localidad.
Por eso, nuestra arquitectura debe permitirnos organizar contenidos alrededor de servicios e intenciones de búsqueda, no simplemente de las categorías administrativas que existen dentro de WordPress.
Queríamos poder construir estructuras como estas:
/diseno-web/clinicas-dentales//diseno-web/academias-y-centros-de-formacion//diseno-web/alicante/denia//posicionamiento-seo/madrid/valdemoro/
Todo ello sin crear páginas intermedias innecesarias ni convertir los contenidos personalizados en páginas convencionales.
Y, sobre todo, sin perder la capacidad de seguir administrando cada tipo de contenido de forma independiente.
Nuestra solución: conectar diferentes tipos de contenido dentro de una misma jerarquía

Para resolverlo desarrollamos un sistema personalizado en PHP que amplía las posibilidades de organización de WordPress.
La idea principal consiste en permitir que un contenido tenga como padre otro contenido público, aunque ambos pertenezcan a tipos diferentes.
Así, una página convencional puede actuar como padre de un sector profesional, de una localidad o de otro contenido personalizado.
Pero no queríamos quedarnos ahí.
También necesitábamos que la jerarquía se heredase automáticamente.
Por ejemplo, si configuramos Alicante como hija de «Diseño web» y Dénia ya es hija de Alicante, la estructura completa debe construirse sin tener que volver a editar manualmente todos los municipios.
De esta manera podemos trabajar con jerarquías de varios niveles, reutilizando las relaciones que ya existen dentro del gestor de contenidos.
El desarrollo también contempla la personalización del último segmento de las URL, la detección de relaciones circulares y la gestión de las redirecciones cuando un contenido cambia de ubicación.
Todo ello manteniendo el contenido original, sin tener que crear una nueva publicación para cada cambio de URL.
El verdadero reto técnico: que WordPress encuentre cada contenido
Generar una URL personalizada es relativamente sencillo. Lo complicado empieza cuando alguien intenta visitarla.
WordPress tiene que interpretar esa dirección, identificar qué contenido corresponde a ella y mostrarlo correctamente.
Y ahí es donde pueden aparecer conflictos.
Durante nuestras pruebas nos encontramos con un bucle de redirecciones provocado por la interacción con otro plugin que modificaba las bases de los tipos de contenido personalizados.
Una página se redirigía continuamente hacia sí misma.
Lo investigamos analizando las cabeceras HTTP, identificamos qué función estaba interviniendo y ajustamos el funcionamiento de las redirecciones.
También tuvimos que resolver otro problema: conseguir que las antiguas URL redirigieran a su nueva ubicación, en lugar de terminar en la página de inicio.
Esto nos llevó a revisar el momento en el que WordPress ejecutaba las redirecciones y cómo se relacionaban con las reglas de otros plugins.
El resultado de las primeras pruebas nos permitió tener contenidos accesibles desde sus nuevas rutas, con redirecciones permanentes y etiquetas canónicas coherentes.
Un trabajo que no se aprecia a simple vista, pero que resulta fundamental cuando modificamos una estructura de URL.
¿Qué aporta realmente esta solución al SEO?
Aquí conviene aclarar algo: cambiar una URL no hace que una página mejore automáticamente su posicionamiento.
Podemos tener una arquitectura de directorios impecable y seguir sin aparecer en Google si los contenidos no responden adecuadamente a las búsquedas, tenemos problemas de rastreo o no contamos con suficientes señales de relevancia.
La utilidad de este desarrollo está en lo que nos permite construir a partir de ahora.
Podemos organizar las páginas principales de nuestros servicios, desarrollar contenidos especializados alrededor de ellas y planificar relaciones temáticas más claras.
También podemos diseñar un enlazado interno coherente, facilitar la navegación entre contenidos relacionados y revisar los posibles solapamientos entre páginas que compiten por búsquedas similares.
Además, cuando necesitamos reorganizar una sección, ya no dependemos exclusivamente de las posibilidades que ofrece el editor de WordPress.
Eso no significa que el sistema genere por sí solo los enlaces internos, los breadcrumbs o una arquitectura SEO completa. Esas partes también deben planificarse e implementarse.
Lo importante es que ahora tenemos una base técnica que permite desarrollar la estrategia sin imponer estructuras artificiales.
Un ejemplo real: de una localidad aislada a un silo de diseño web

Una de nuestras primeras pruebas fue reorganizar la página de diseño web en Alicante y comprobar qué ocurría con las localidades que dependían de ella.
Antes, Dénia utilizaba esta dirección:
/alicante/denia/
Después de establecer la nueva relación jerárquica con la página de «Diseño web», conseguimos que el contenido estuviera disponible en:
/diseno-web/alicante/denia/
La localidad heredó la estructura de su padre, sin necesidad de volver a crear la página.
También aplicamos el sistema a una página sectorial dedicada al diseño web para academias y centros de formación.
En este caso, una publicación perteneciente al tipo de contenido «Sectores» pasó a utilizar una URL subordinada a nuestra página convencional de «Diseño web».
Son dos ejemplos de una misma solución técnica aplicada a necesidades diferentes.
Y esa es precisamente la parte interesante: no hemos desarrollado algo específico para Alicante o para academias, sino un mecanismo reutilizable para organizar distintos grupos de contenido.
El SEO técnico también consiste en desarrollar soluciones
Muchas veces se habla del SEO técnico como una lista de comprobaciones: velocidad de carga, etiquetas canónicas, indexación, encabezados, sitemaps o datos estructurados.
Todo eso es importante, pero hay otra parte menos visible.
La de comprender cómo funciona un gestor de contenidos, detectar sus limitaciones y desarrollar soluciones cuando la arquitectura que necesita una web no encaja con las posibilidades que ofrece de serie.
En nuestro caso, la solución no empezó buscando otro plugin.
Empezó definiendo cómo queríamos organizar los servicios, las localidades y los sectores profesionales de nuestra web.
Después estudiamos qué nos impedía construir esa estructura y desarrollamos una herramienta para resolverlo.
Porque una buena estrategia SEO no debería estar condicionada por las limitaciones del gestor de contenidos. La tecnología debería ayudarnos a llevarla a cabo.
En Javier Callejo trabajamos el diseño web, el desarrollo y el posicionamiento SEO como partes de un mismo proyecto. No solo diseñamos páginas para que tengan una buena apariencia: también trabajamos su estructura, sus contenidos y su evolución para que puedan contribuir a los objetivos de cada negocio.
Javier Callejo
En Javier Callejo ayudamos a empresas y negocios locales a mejorar su presencia online mediante diseño web en WordPress, SEO, contenidos y campañas de Google Ads orientadas a resultados.

















