UCP status report
tripmilhas.com
tripmilhas.com responded, but its profile did not pass schema validation.
HTTP 200
Release none
Checked 23 Oct, 22:00 UTC
To fix first
Problem
Serve profile as application/json
The profile URL did not return parseable JSON. How to fix →
Also worth fixing
To fix
Fix broken spec or schema URLs
One or more spec/schema URLs declared in the profile do not resolve. How to fix →
To fix
Publish Organization schema (JSON-LD) on the homepage
No Organization-typed JSON-LD detected on your homepage. How to fix →
To fix
Publish a sitemap.xml
No sitemap.xml detected at the root of your domain. How to fix →
Passed
8 OK
HTTPS, AI bot access, llms.txt, Open Graph tags, Mobile viewport meta, Public keys published, No validation warnings, MCP transport reachable
Show all 8
- HTTPS: Profile URL uses https://
- AI bot access: robots.txt allows /.well-known/ucp
- llms.txt: Found at /llms.txt
- Open Graph tags: og:title and og:type/url present
- Mobile viewport meta: <meta name="viewport"> present
- Public keys published: Keys published at the top level
- No validation warnings: No outstanding validation issues
- MCP transport reachable: tools/list returned a JSON-RPC response in 211ms
Check trace
How tripmilhas.com answered our check
The five ways an agent can reach this store, what each one met, and every request we made.
1 of 5 open
6 requests · 592 ms at the store · public requests only
6 requests · 592 ms at the store · public requests only
-
Finding the profileOpen
-
Acting for the buyerNot offered
-
In the buyer's browserNot offered
-
Calling its servicesNone
-
Sending the buyer to the websiteNot declared
UCP Checkerpublic requests
- 2 requestsFinding the profile/.well-known/ucp · 200
- read from profileActing for the buyernot declared
- read from profileIn the buyer's browsernot declared
- 2 requestsCalling its servicesnone declared
- read from profileSending to the websitenot declared
- 2 requestsOutside UCPhomepage · /llms.txt
Open
01 · Finding the profile2 requests
Served at /.well-known/ucp with 200 OK, 4.2 KB. robots.txt allows /.well-known/ucp.
Not offered
02 · Acting for the buyerread from profile
The profile doesn't declare identity linking, so an agent can't act for a signed-in buyer.
Not offered
03 · In the buyer's browserread from profile
No Embedded service is declared.
None
04 · Calling its services2 requests
No services are declared.
Not declared
05 · Sending the buyer to the websiteread from profile
No permalink declared. Whether error replies carry a continue_url shows only in an agent run.
- 01 PROFILEGET /.well-known/ucp → 200, 4.2 KB of JSON218 ms
- 01 PROFILEGET /robots.txt → allows /.well-known/ucp–
- 01 PROFILEProfile did not pass schema validation: Response is not a valid JSON objectlocal
- 01 PROFILE6 of 12 spec and schema URLs in the profile resolvespec hosts
- 04 SERVICESGET www.wixapis.com/ecom/ucp/54d0f4c3-4ced-4d49-aac7-3ca24a16b2a7 → 404163 ms
- 04 SERVICESPOST www.wixapis.com/ecom/ucp/54d0f4c3-4ced-4d49-aac7-3ca24a16b2a7/mcp tools/list → 200211 ms
- OUTSIDE UCPGET / → 200, no Organization schema found–
- OUTSIDE UCPGET /llms.txt → 200, 1.1 KB–
UCP profile as served 4.0 KB · 61 lines
<!doctype html>
<!--
🔴 `lang` NÃO é cosmético: era "en" num app 100% em português, e foi essa divergência que fez o
Chrome traduzir a página sozinho (en->pt). O tradutor do Google troca text node por <font>, o
React perde a referência do irmão e `insertBefore` estoura na fase de commit - o cartão "Algo deu
errado ao carregar o site" que um assinante viu 6x em 14min em 17/08/2026. O cliente confirmou sem
saber: relatou que o programa "Smiles" aparecia como "Sorrisos". Ver site/CLAUDE.md -> "Crash do
cliente se denuncia sozinho".
-->
<html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- TODO: Set the document title to the name of your application -->
<title>Viagem | tripmilhas</title>
<meta name="description" content="A oportunidade de viagem certa para você" />
<meta name="author" content="tripmilhas" />
<!--
🔴 O `?v=` NÃO é enfeite e não se remove. Este caminho não tem hash no nome, e o bloco por
extensão do nginx serve .ico com `Cache-Control: immutable` de UM ANO. Em 03/09/2026 um
favicon errado foi ao ar por 8 minutos e ficou preso no browser de quem visitou nesse
intervalo: sem trocar a URL, deploy nenhum alcança essa pessoa, e recarregar não resolve
porque favicon o browser guarda num cache à parte. ⚠️ A regra do nginx SEGUE ASSIM (bloco por
extensão em /etc/nginx/sites-available/novo.tripmilhas.com.conf): enquanto ela não excluir os
ícones do `immutable`, toda troca de ícone exige subir este `?v=`.
O arquivo é o favicon histórico do site, `[tm]` preto sobre quadrado branco, 16/32/48.
-->
<link rel="icon" href="/favicon.ico?v=2" sizes="16x16 32x32 48x48" />
<!--
Fontes por <link>, não por `@import` no CSS (09/09/2026). O `@import` só é descoberto depois de o
browser baixar o CSS principal, e a página não pinta até a folha externa chegar: 120 a 240 ms
por folha, em toda página. Aqui o browser abre a conexão (`preconnect`) e pede as duas folhas
em paralelo com o CSS. Mesmas URLs e o mesmo `display=swap` de antes; nada muda de aparência.
⚠️ São as ÚNICAS folhas externas do site: o CSS do Leaflet vem do pacote npm, no chunk do mapa.
-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;700&display=swap" />
<!-- TODO: Update og:title to match your application name -->
<meta property="og:url" content="https://tripmilhas.com/" />
<meta property="og:title" content="Viagem | tripmilhas" />
<meta property="og:description" content="A oportunidade de viagem certa para você" />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://static.wixstatic.com/media/737a3b_0090c08e21ee4207be4d2add60b317c1~mv2.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@tripmilhas" />
<!--
🔴 O Meta Pixel (894538716849101) e o GA4 NÃO ficam aqui, e isso é decisão, não esquecimento.
Este app é SPA: o PageView do snippet da Meta roda uma vez só, na carga do
documento e a navegação de `/plans` -> `/checkout` -> `/checkout/retorno` acontece sem
recarregar página, então o funil inteiro ficaria invisível. E ID fixo aqui dispara em
`npm run dev` também, misturando tráfego local com o do cliente.
Os dois vivem em `src/lib/analytics.ts` e disparam POR ROTA em `components/ScrollToTop.tsx`.
⚠️ Colar o snippet aqui de novo faz a primeira tela contar duas vezes. `npm test` reprova.
-->
<meta name="twitter:image" content="https://static.wixstatic.com/media/737a3b_0090c08...
Is tripmilhas.com your store?
Claim it with one DNS record.
Why is tripmilhas.com's profile invalid?
We found a UCP profile, but it failed schema validation against the official spec. The findings on this page list what failed — usually missing required fields, wrong data types, or version mismatches. A UCP agent may not be able to use a profile that doesn't validate, so these are worth fixing first.
How can tripmilhas.com fix this?
Run the profile through our UCP Validator — it shows each problem and where it is in the file. Fix those, publish the profile again, then run a new check.
Does this mean tripmilhas.com is broken for shoppers?
No. This check looks only at the UCP profile, not at the website people shop on. It only affects UCP agents, which read the profile.
How was this UCP report for tripmilhas.com generated?
With public requests on 23 October 2026: we asked for
tripmilhas.com/.well-known/ucp and read its robots.txt, then validated the profile against the UCP release it declares and checked that its spec and schema links resolve. No sign-in, no purchase and no manual review. How we check.How do I get a newer result for tripmilhas.com?
This page shows the stored result of our last check (23 October 2026). To run a new one, enter tripmilhas.com on the Check page.
Why does this status matter?
Universal Commerce Protocol is an open standard that lets a UCP agent find out what a store sells, build a cart and check out through a published contract instead of reading web pages. A valid UCP profile is how a store declares that support.
