Empaques KreatUpE-commerce · SEO · Integrations · Medellín · 2026

Portfolio / WooCommerce store and search

A store that sells in packs of 25.

KreatUp makes cardboard packaging in Medellín: burger, hot dog and fries boxes bought by the pack in the store, and existing dies and custom designs quoted from 200 units. The site had a good catalogue and the wrong shape: 28 out of 100 for mobile performance, the theme's demo copy in every footer, an H1 that read “@KreatUp”, 32 products with no description and the brand spelled five different ways. The brief was to turn it into a store that can be understood without asking, takes payment without friction, tells the inventory only when the money is in, and shows up when someone searches — or asks an assistant — where to buy packaging in Colombia.

Client
Empaques KreatUp
Sector
Packaging manufacturing · Medellín, Colombia
Scope
Store, payments, integrations, SEO, GEO, AEO and analytics
Platform
WordPress · WooCommerce · Salient
Status
Live · empaqueskreatup.com
empaqueskreatup.com home page with a pink chocolate box and the text “All our seasonal references” with an “Available in store” button.

01The brief

A good catalogue in the wrong shape.

KreatUp doesn't have one buyer. There is the hot dog stand owner who needs 200 boxes by Friday and decides on size, material and unit price. There is the gift-basket entrepreneur who buys in December and decides on what fits and how it looks. And there is the brand that wants its logo printed and needs to talk to someone before paying. The store had to serve all three without any of them getting lost in another's journey.

The initial review, done on the live site without touching anything, found what a store accumulates when it grows by hand: duplicate products competing with each other, category names with a leading dash leaking into titles and schema, returns and privacy pages left in template English, a slider that took 18 seconds to paint the home page on a phone, and the buyer's ID number requested at checkout without anyone knowing whether it reached the order.

Work followed the order in which a sale is lost: first what stops people understanding the offer, then what stops them paying, then what stops them finding the store. Every change with a backup before and a check after, on the production site.

What it had to solve

  • 01Sell by the pack and show the unit price
  • 02Enforce minimums on the product, cart and checkout
  • 03Take payment through one provider and three methods
  • 04Deduct inventory only when payment clears
  • 05Send people to WhatsApp with context, not to a number
  • 06A product page that answers before anyone asks
  • 07Schema that Google and models read the same way
  • 08Measure what people do, not just how many arrive

Our role

SEO, GEO, AEO, performance and compliance audits; the product page standard and catalogue rewrite; pricing, pack and minimum logic; checkout and payments; integration with the inventory platform; contextual WhatsApp; the packaging calculator; advertising-material pages; schema, llms.txt and editorial content; Clarity events and analysis.

02The rule

What decided every product page.

A price typed by hand is already out of date.

Stock packaging is sold in packs of 25 and gets cheaper by volume. The tier table lives in a plugin; the product copy lives somewhere else. The first time the client changed a price, 32 descriptions would be quoting an old figure, and the page would be wrong about the very number the purchase hinges on.

So the price isn't written: it's calculated. Two shortcodes read the tiers live and print the unit price next to the button and the full table — packs, units, price per pack and per unit — inside the description. The same idea ordered the rest: pack size is product data, the minimum is validated on the server rather than stated in copy, and the business data in the schema and llms.txt comes from a single place.

MeasureCalculateShow

03Architecture

Three buyers, three doors.

The store was organised around how each buyer buys, not around how the factory is organised. Each door has its own minimum, its own way of paying and its own way of talking to KreatUp, and the packaging calculator connects them when someone doesn't know which door is theirs.

01 · Stock packaging

Into the cart, in packs of 25.

Ready-to-use boxes, trays, hot dog holders and bags, with visible volume pricing and direct purchase. It is the only door that closes the sale on the page: payment goes through Mercado Pago and the order reaches the inventory.

02 · Existing dies

Your brand on a die that already exists.

From 200 units, with no die cost. It's quoted, so the page explains which dies exist, what can be printed, and opens WhatsApp with the message already written.

03 · Custom and advertising

Your own design and size.

Custom packaging from 200 units, luxury cases and, since October, advertising material: large format from a single unit and lithography from 200, each with its own page, FAQ and service schema.

04Visual system

Two brand colours and thirty strays.

Navy

Headlines, copy, footer and dark bands

HEX
#1A154C
RGB
26 · 21 · 76
Magenta

Primary button and the logo's accent

HEX
#ED156E
RGB
237 · 21 · 110
Text magenta

The accent when it must read small

HEX
#C80F5B
RGB
200 · 15 · 91
Soft ink

Secondary copy and metadata

HEX
#4A4670
RGB
74 · 70 · 112
Deep lavender

Only with large white text

HEX
#6B5A8E
RGB
107 · 90 · 142
Surface

Alternate bands and product backgrounds

HEX
#F6F5FA
RGB
246 · 245 · 250
Line

Dividers and table borders

HEX
#DCD9E6
RGB
220 · 217 · 230

05The store

From catalogue to product, as it sells.

06The product page standard

One keyword per product.

September's 32 products were rewritten to a single standard, starting from Colombian search volume for each packaging type. The rule was that no product competes with another for the same query: the gift box, at 5,400 searches a month, can't fight the window box.

01 · The name

Type, trait, reference, size and pack.

“Burger box K01 – 10.5 × 11.5 × 8 cm (x25)”. It is the H1, the schema name and the text the buyer sees in the result. The slug was left alone so nothing already indexed was lost.

02 · The description

Seven parts, in the order people ask.

A direct answer, a spec table, what fits, automatic price by quantity, how to customise, four FAQs — unit price, grease, logo and shipping — and one or two links to related products.

03 · The title

Keyword, reference, size, x25.

Sixty characters at most, the brand at the end and one way of writing it: KreatUp. “Kreat Up”, “Kreat-Up”, “KREAT-UP” and “KreatUp” used to coexist on the same site, and a model can't tell whether they are the same company.

07From cart to inventory

What happens between the click and the paid order.

A purchase crosses six systems, and at every hop there is a business rule that used to depend on someone remembering it. The code applies it now.

  1. Product page

    Price tiers and pack size
  2. Cart

    Per-product minimums
  3. Block checkout

    ID number and invoice
  4. Mercado Pago

    Wallet, card and PSE
  5. Webhooks

    Orders and products
  6. Operations Hub

    Source of truth for stock
  1. 01

    Choose in packs

    The quantity selector counts packs, not units, and the price drops by tier. For delivery bags the pack is 500 and some options require two: the minimum is validated on the product page, in the cart and in the block checkout.

  2. 02

    Identify the buyer

    Checkout requires a national ID or tax number and asks whether an electronic invoice is needed. Orders were checked to confirm the value reaches them, which was the open question the project started with.

  3. 03

    Calculate shipping

    A flat rate by zone: $25.000 COP in Antioquia and $40.000 COP elsewhere in the country, plus in-store pickup. The same values travel in every product's schema.

  4. 04

    Take payment

    Mercado Pago with three methods: the Mercado Pago wallet, credit and debit card on the site, and PSE bank transfer with bank selection inside the checkout. One active gateway: the two Wompi plugins that coexisted are switched off.

  5. 05

    Deduct only what's paid

    WooCommerce also deducts stock on “on hold” orders. The agreed rule is different: there are no reservations, and whoever pays first gets the last pack. A custom module blocks the deduction until payment is confirmed.

  6. 06

    Tell the inventory

    Order and product webhooks carry every change to the operations platform, which is the source of truth for stock. In wp-admin the stock field is read-only, with a notice, so nobody corrects it by hand out of habit.

Packs of 25 · minimums on the server · deduction on payment · stock governed outside WordPress

08Payments and calculator

Pay without leaving, order without guessing.

09Integrations and automation

What happens without anyone asking.

Six custom modules run on the store, each in its own file, with a description of what it does and how to revert it. None of them touches the theme or the plugins, so they survive their updates.

01 · WhatsApp with context

One number, one message per button.

Three short links led to an old number. There is now one, and each button opens the chat with its own message: “Hola KreatUp, …” with blanks for the customer to fill in what the person answering needs. The floating button includes the title of the page the customer is writing from.

02 · Inventory and cart

Webhooks, stock rules and recovery.

Orders and products sync with the operations platform; stock is deducted on payment and is not edited in wp-admin. Abandoned carts are recorded for recovery, and Clarity tags every cart, checkout and purchase.

03 · The theme, in Spanish

A translation that survives updates.

Salient ships no Spanish translation, so “Learn more”, “Quick View” and “Skip to main content” appeared in English. A filter translates only those exact strings and leaves the admin alone. The footer's demo copy — “Wow! Que increible!” — is gone.

10Technical SEO

Before and after, across 108 URLs.

A full crawl of the sitemap on 18 September 2026, before and after the fixes. The Rank Math audit started at 86 out of 100.

85 → 0
URLs without breadcrumbs
112 → 0
URLs with a language other than es-CO
133 → ~40
Images without alt text
7 → 0
Noindex categories inside the sitemap

11Schema, AEO and GEO

What Google reads, what a model reads.

Rank Math builds the graph, but it built it with errors an assistant repeats: the home page was an article written by “admin”, products carried the site suffix in their name, and those without a price declared an invalid Product. A custom module corrects the graph before it is printed.

01 · Product

Brand, seller, shipping and returns.

A clean name, the KreatUp brand, a seller linked to the organisation, `shippingDetails` with both zone rates and `hasMerchantReturnPolicy` with the policy's 15 days. Products without a price no longer declare Product. The organisation is a physical store with an address in Medellín.

02 · Answers

Marked-up questions, answer on top.

Every new article opens with a summary box, uses real questions as headings and declares FAQPage; three guides also declare HowTo. The calculator and the advertising-material pages carry FAQPage too. Google no longer shows those accordions, but Bing, Copilot and assistants use them to extract the answer.

03 · Models

Open crawlers and a curated llms.txt.

GPTBot, ClaudeBot, PerplexityBot and Google-Extended get a 200. The llms.txt is generated from store data in the llmstxt.org format — summary, key facts, services, priced catalogue, guides, cases and policies — and skips anything noindex. Clarity already records visits arriving from ChatGPT and Gemini.

12Content

Pages that answer before anyone asks.

14Clarity · 30 days

The real conversion is a conversation.

Microsoft Clarity dashboard, last 30 days as of 27 October 2026: 978 sessions from 690 users, with 324 bot sessions excluded and the team's traffic kept out of the measurement. The events are the ones installed for this project.

89
Sessions with a WhatsApp click
36
Sessions that opened the cart
16
Sessions that added to cart
0.6%
Sessions with rage clicks

15Heatmaps

The home page, seen from a phone.

16What we read

Three readings, three decisions.

Clarity was found loading twice and recording the team alongside customers. It now loads once, internal traffic is excluded, and page-type tags plus eleven events are installed, with no personal data. That makes it possible to read what happens, not just how much.

01 · WhatsApp is the checkout

89 conversations against 16 carts.

For custom work and dies the purchase starts in a conversation, and the store now reflects it: WhatsApp at every door, with the message written and its origin recorded in Clarity. It's measured as a conversion, not as an outbound click.

02 · The slider costs the first screen

A static hero instead of Slider Revolution.

The scroll map confirms what Lighthouse said: 28/100 on mobile and 18.4 s LCP, mostly down to the slider. A static hero with a real H1 and a WebP image is the highest-impact change still pending.

03 · Quick backs

22% of sessions bounce straight back.

One in five sessions lands on a page and goes straight back. Recordings tagged with a cart or WhatsApp but no purchase are reviewed weekly to find where things stall, starting with the paginated shop.

17Status

What is done and what comes next.

The store is live at empaqueskreatup.com with 35 products — 12 of them variable — 26 categories and 29 articles. It takes payment through Mercado Pago, deducts inventory only when payment clears, notifies the operations platform by webhook and tracks eleven events in Clarity.

In search, the commercial queries where the store already ranked have moved to first place, and brand searches still bring most clicks. Local search is the next fight. On mobile performance the diagnosis is done and the fix defined, but not applied: it depends on approving the new hero's design.

Every change was made with a backup before and a check after, in modules that can be switched off one by one. That is what made it possible to work in production, on a store that sells every day.

Next phase

  • 01A static hero instead of the slider
  • 02“Custom packaging in Medellín” landing page
  • 03Business profile with hours and reviews
  • 04Serve llms.txt where the host currently intercepts it
  • 05Complete shipping coverage by department
  • 06Publish terms and policies under legal review

What this case doesn't claim

There are no sales, order or conversion-rate figures: that data belongs to the client. Rankings come from a three-month window that still includes weeks before the changes, and mobile performance is presented as a diagnosis, not as an improvement.

beleafdesign

Does your store sell, or just show products?

If your catalogue has rules — packs, minimums, quotes, inventory that lives somewhere else — we can make the store apply them on its own, take payment without friction and show up when people look for you.

Tell us about your project