Portafolio / Catálogo y voz de marca
La marca ya existía. La tienda, no.
·opuesto·aqua es la línea de swimwear y teamwear de competencia de ·opuesto·, una marca que se define como lo opuesto de lo convencional. Llegó con brand book, manual de identidad y una matriz de empatía de su cliente — y con cero infraestructura de venta: 16 SKUs en una hoja de Excel y un theme de Elementor heredado de una tienda de calzado, con direcciones de Nueva York y nombres de staff que nunca existieron. Construimos el fundamento completo: arquitectura de catálogo, copy de marca en siete páginas, marco legal y base de SEO.

01El encargo
Identidad de sobra. Canal de venta, ninguno.
·opuesto· ya tenía lo difícil: arquetipo de marca, código de comportamiento —excentricidad, singularidad, audacia, surrealismo— y una lectura clara de su cliente, alguien que se siente libre, es curioso, le teme a la mediocridad y necesita ejecutar sus ideas sin que nadie se las edite. Ese ADN estaba escrito y era bueno. Lo que no existía era la traducción a algo que se pudiera comprar.
El encargo fue construir esa traducción entera para la sub-línea acuática: un catálogo que aguantara crecer, una voz de marca en cada página, un marco legal que reflejara cómo vende de verdad el negocio, y una base de SEO puesta desde el principio en vez de parcheada después.
Lo que ya existía
- 01Brand book y manual de identidad visual
- 02Matriz de empatía del cliente
- 03Catálogo 2026 con 16 SKUs en Excel
- 04Fotografía de producto y de equipos reales
- 05Un dominio con WordPress instalado
- 06Un theme de Elementor de otra industria
Nuestro rol
Arquitectura de catálogo en WooCommerce, mapeo de SKUs y atributos, copy de siete páginas con instrucciones de implementación, Términos y Condiciones a la medida del negocio, aplicación del sistema visual y estrategia de SEO integrada en cada guía de página.
02El diagnóstico
Un sitio que hablaba de zapatos.
La auditoría del sitio existente encontró tres problemas de distinto orden: uno de contenido, uno de datos y uno de estructura. Los tres había que resolverlos antes de escribir una sola línea de la marca.
Staff falso y una dirección inventada.
El template traía nombres de personas que no existen, una dirección de Nueva York que no es de nadie y referencias a calzado en los formularios. No era un sitio a medio hacer: era el sitio de otro negocio, con el logotipo cambiado.
Dieciséis SKUs en una hoja de cálculo.
El catálogo 2026 existía como Excel, no como tienda: sin categorías, sin atributos de variación, sin convención de SKU. Se procesó con Python para extraer y mapear los productos antes de escribir copy de ninguno.
Niño y adulto en el mismo campo.
Casi todos los productos existen en rango infantil y adulto a la vez. Meter ambos en un solo atributo de talla es la decisión que rompe los filtros de la tienda — y no se nota el día del lanzamiento, se nota seis meses después.
03La decisión
La que evita el desastre que llega después.
Youth y Adult no son el mismo atributo.
Un rashguard de competencia se vende en talla 4, 6, YXS, YS, YM, YL y también en XS, S, M, L, XL, XXL. Puestas en un solo campo son doce opciones sin jerarquía, y el filtro de la tienda deja de servir: el padre que busca para su hijo y el nadador que busca para sí mismo ven la misma lista revuelta.
Se separaron desde el primer producto. Cada ficha sirve tres selectores independientes —Child / Youth (4 · 6 · YXS · YS · YM · YL), Adult (XS · S · M · L · XL · XXL) y Color (Black · White)—, y de ahí salen las 36 variaciones que tiene cada producto en producción. Corregir esto después de lanzar significa reconstruir el catálogo entero.
MapearSepararEscalar
04Sistema visual
Agua de piscina, oro de podio.
Fondos claros y superficies de respiro
- HEX
- #C3E7F1
- RGB
- 195 · 231 · 241
Titulares de sección y acentos de navegación
- HEX
- #519CAB
- RGB
- 81 · 156 · 171
Titular de portada y superficies profundas
- HEX
- #050E35
- RGB
- 5 · 14 · 53
El acento que solo aparece cuando importa
- HEX
- #FFC64F
- RGB
- 255 · 198 · 79
Tipografía de producto y botones de la tienda
- HEX
- #000000
- RGB
- 0 · 0 · 0
05El sistema
De una fila de Excel a una ficha vendible.
El catálogo no se cargó a mano producto por producto. Se procesó como datos primero y se construyó después, que es la única forma de que los doce SKUs que faltan entren con la misma estructura que los cuatro que ya están.
Catálogo 2026
Excel con los SKUs de origenPython · pandas
Extracción y mapeoWooCommerce
Categorías y atributosElementor Pro
Páginas y bloques de copyRank Math
Meta, keyword y schemaFicha de producto
Variaciones y carrito
- 01
Leer el catálogo como datos
Los 16 SKUs de la hoja 2026 se extrajeron con Python y se mapearon a 4 categorías padre —teamwear, swimwear, accesorios y la línea de tienda— con slugs listos para WooCommerce.
- 02
Fijar la convención de SKU
Cada producto recibe un código de tres letras y cada variación se compone desde él: MRG, FRG, WTS, WBJ, BJT, JGR. La convención se define antes de crear el primer producto, no cuando ya hay cuarenta.
- 03
Separar los atributos de talla
Child / Youth y Adult entran como atributos distintos, más Color. De la combinación salen las variaciones sin que el comprador tenga que leer una lista de doce tallas mezcladas.
- 04
Escribir el copy contra la marca
Nada se redactó en genérico: cada bloque se contrastó contra el brand book y la matriz de empatía, y se entregó con la instrucción «Remove → Replace With» para que pegarlo en el widget correcto de Elementor no requiera interpretar nada.
- 05
Meter el SEO en la misma guía
Keyword foco, meta title, meta description y notas de schema viajan dentro de la guía de cada página, no en un documento aparte. Un anexo técnico separado es un anexo que nadie implementa.
- 06
Publicar la ficha
Cada producto queda como variable, con su galería, su descripción corta y larga, su SKU visible y su categoría. Los cuatro que están en producción sirven 36 variaciones cada uno.
16 SKUs mapeados · 4 productos construidos · 144 variaciones en producción
06Marco legal
Términos escritos para pedidos personalizados.
Catorce secciones redactadas sobre cómo vende este negocio de verdad, bajo jurisdicción de Medellín, Antioquia y la Ley 1480 de 2011. Una plantilla genérica de e-commerce habría dejado fuera las tres cosas que aquí sí generan disputa.
Un pedido puede ser de una pieza.
La política de cero mínimos es una ventaja comercial, pero cambia lo que significa cancelar: si cada pedido entra a producción a medida, el momento en que se vuelve vinculante hay que decirlo con precisión.
Quién responde por el logo que envías.
Un equipo manda su escudo, sus colores y su nombre. Si ese material infringe derechos de un tercero, el texto tiene que dejar claro de quién es la responsabilidad — y proteger a la vez los elementos gráficos propios de ·opuesto·.
Un traje personalizado no se revende.
La devolución estándar de e-commerce no aplica a una prenda hecha con el nombre de otro equipo. La política se escribió para eso, junto con la tabla de tallas de Child 4 a Adult XXXL y los tiempos reales de manufactura.
07Las piezas
El sitio construido, detrás del candado.

«We are water driven» en condensada sobre la foto del nadador, y debajo el proceso en cuatro pasos: elegir categoría, elegir productos, personalizar el diseño, aprobar y recibir. La promesa de la marca y el modo de comprarle, en el mismo pantallazo.

La sección de equipos: chaqueta y pantalón de calentamiento sobre fondo de estudio, con el copy que separa uniforme de tecnología — «no es un uniforme, es la tecnología que potencia tu rendimiento».

La contraparte acuática, con el producto fotografiado en cuerpo entero. El titular en condensada se corta contra el borde de la imagen a propósito: es el gesto que la marca repite en cada sección.

Los cuatro productos construidos, con render de producto sobre fondo blanco y el patrón de olas cerrando la sección. Es la rejilla donde tienen que entrar los doce SKUs que faltan.

La ficha del Male Rashguard con los tres selectores separados —Child / Youth, Adult y Color— más el SKU y la categoría a la vista. Aquí es donde la decisión de arquitectura deja de ser teoría.

La landing de Swimwear, con el lockup ganando un descriptor bajo el logotipo y el patrón de olas como separador. La misma pieza gráfica ordena la jerarquía en todo el sitio.

Kits ya producidos para clubes —conjuntos, mochilas y toallas con el nombre del equipo—. Es la prueba que esta categoría necesita: no render, producto entregado y en uso.

«Ready to Gear Your Team?» sobre el formulario de pedidos personalizados. El titular nuevo quedó publicado; los datos de contacto heredados del template todavía no se reemplazaron.
08El trabajo
Lo que está montado.
Cifras leídas de la API de la tienda el 25 de agosto de 2026, no del documento de entrega: es lo que hay cargado en el WordPress del cliente en este momento.
- 16
- SKUs mapeados desde el catálogo 2026
- 144
- Variaciones vivas entre los productos construidos
- 12
- Páginas publicadas, siete de ellas reescritas
- 14
- Secciones de Términos y Condiciones
09El stack
Lo que corre debajo.
Verificado contra los namespaces que expone la REST API del sitio. No es la lista de lo que se recomendó: es lo que está instalado y activo hoy.
WooCommerce · WooCommerce POS
Productos variables con atributos por producto, categorías, carrito y checkout. El módulo de punto de venta queda instalado para la venta presencial en eventos y clubes.
Elementor Pro · Slider Revolution
Elementor Pro sobre el theme Hello, que es el lienzo en blanco correcto cuando el diseño lo pone el builder. El copy se entregó en bloques pensados para pegarse widget por widget.
WP Rocket · Really Simple Security · WP Mail SMTP
Caché, capa de seguridad con doble factor y envío de correo autenticado, sobre hosting de Hostinger. Rank Math y Site Kit quedan conectados para medir desde el día que se abra.
10El estado
Todo montado. La puerta, cerrada.
opuestoaqua.com responde 503 con el modo mantenimiento activo: el sitio existe, está construido y se recorre entero con sesión iniciada, pero nunca se abrió al público. La decisión de publicar es del cliente y no llegó. Este caso documenta el fundamento entregado, no un lanzamiento.
Lo que queda es concreto y está listado: cargar los doce SKUs que faltan con la misma estructura variable de los cuatro que ya están, poner precios —hoy las fichas están en cero—, escribir el texto alternativo de las imágenes de producto, y reemplazar los datos de contacto que todavía sobreviven del template heredado. Ninguna de esas tareas exige rehacer nada: la arquitectura aguanta las cuatro.
Listo para publicar
- 014 categorías padre definidas con sus slugs
- 02Tabla de atributos globales lista para importar
- 034 productos variables construidos y navegables
- 047 páginas de copy con instrucciones de pegado
- 05Términos y Condiciones de 14 secciones, publicados
- 06Meta y keyword foco por página en Rank Math
Qué no afirma este caso
No hay cifras de tráfico, ventas ni posiciones, y no las habrá mientras el sitio no se abra: nadie de fuera lo ha visto todavía. Lo que se publica aquí son piezas construidas y verificables contra la API del propio sitio.
Sigue el trabajo
Un catálogo mal estructurado no falla el día uno. Falla el día que empieza a funcionar.
Moda, deporte, cualquier tienda con tallas y variantes: la decisión que decide si vas a poder crecer se toma antes de cargar el primer producto, y casi nunca se ve desde afuera.
Cuéntanos tu proyecto