NEWWorld's first AI visibility audit tool for Web3 is live.Run free audit →
PLAYBOOK Schema Last reviewed

Migrar schema Article para FinancialProduct em páginas de protocolos DeFi

A correção de schema de maior ROI em DeFi. Cerca de 88% das páginas de protocolos rodam schema Article por padrão. É assim que se migra de forma limpa sem quebrar validação.

Time
30-45 minutes
Difficulty
Beginner
Impact
High

Por que isso importa

Estado anterior (como o ruim se parece)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Aave - Decentralized Lending Protocol",
  "description": "Aave is a DeFi lending protocol...",
  "image": "https://example.com/aave-hero.png",
  "datePublished": "2024-01-15"
}
</script>

Paso a paso

Passo 1: Identifique todas as páginas de protocolo no seu site

Rode um crawl do site com Screaming Frog (grátis até 500 URLs) ou use o relatório Pages do Google Search Console. Filtre por URLs que descrevem um único protocolo DeFi: tipicamente /protocols/{nome}/, /defi/{nome}/, ou sua homepage se você É o protocolo. Documente a lista. Você vai precisar dela para migração por lotes.

Passo 2: Audite o schema atual nessas páginas

Abra o Schema.org Validator (validator.schema.org) e cole a URL de cada página de protocolo. Anote quais tipos de schema são emitidos. Achados mais prováveis: Article de Yoast/RankMath, mais BreadcrumbList do seu CMS, possivelmente Organization. A entrada Article é o que você está substituindo.

Passo 3: Sobrescreva o schema Article padrão do seu CMS

Se você está no WordPress com Yoast ou RankMath, os dois têm hooks para sobrescrever o schema. Adicione isso ao functions.php do seu tema para remover o schema Article em páginas de protocolo:

<?php
add_filter('rank_math/json_ld', function($data, $jsonld) {
    if (is_singular('protocol')) {  // adjust to your post type
        unset($data['richSnippet']);
    }
    return $data;
}, 10, 2);

// For Yoast equivalent:
add_filter('wpseo_schema_graph_pieces', function($pieces, $context) {
    if (is_singular('protocol')) {
        return array_filter($pieces, function($piece) {
            return !($piece instanceof \Yoast\WP\SEO\Generators\Schema\Article);
        });
    }
    return $pieces;
}, 11, 2);

Passo 4: Injete o schema FinancialProduct via JSON-LD personalizado

Adicione um bloco JSON-LD personalizado ao seu template de página de protocolo. Para WordPress, use um campo personalizado ou ACF (Advanced Custom Fields) para salvar data por protocolo, depois renderize no head. A abordagem de graph deixa você empilhar FinancialProduct + BreadcrumbList + FAQPage de forma limpa. Use o exemplo do "Estado posterior" acima como seu template.

Passo 5: Adicione schema FAQPage com 5+ perguntas

Na mesma página de protocolo, adicione schema FAQPage com as perguntas explícitas de confiança e como-funciona. Os motores IA extraem essas fortemente para recuperação. Empilhe com FinancialProduct via wrapper @graph compartilhado.

{
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is Aave safe to use?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aave has been audited 12+ times..."
      }
    }
  ]
}

Passo 6: Valide contra três validadores

Rode a página migrada através do Schema.org Validator (captura sintaxe), Google Rich Results Test (captura elegibilidade), e Bing Markup Validator (parsing mais estrito, importante porque ChatGPT usa Bing para recuperação). Passe nos três antes de fazer deploy. Schema.org primeiro porque os erros de sintaxe bloqueiam todo o resto.

Passo 7: Faça deploy e monitore no Search Console

Faça push para produção. Envie a URL atualizada na ferramenta GSC URL Inspection para solicitar reindexação. Monitore a aba "Enhancements" no Search Console durante os próximos 7-14 dias. Novos tipos de rich results devem aparecer (FAQ, Sitelinks). Acompanhe o tráfego orgânico na página durante 30/60/90 dias para o lift de ranking.

FREE WEB3 AUDIT

Veja onde esse playbook se aplica no seu site.

Rode uma auditoria Crawlux grátis antes de começar o playbook. Diz quais correções são mais urgentes.

Primeira auditoria grátis · Sem cadastro · 60 segundos · Full PDF report

Estado posterior (como o bom se parece)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "FinancialProduct",
      "@id": "https://example.com/aave/#product",
      "name": "Aave",
      "description": "Aave is a DeFi lending protocol with $11.2B TVL across 11 chains.",
      "url": "https://example.com/aave/",
      "provider": {
        "@type": "Organization",
        "name": "Aave Companies",
        "url": "https://aave.com"
      },
      "termsOfService": "https://example.com/aave/terms/",
      "feeStructure": {
        "@type": "PriceSpecification",
        "description": "Variable APY based on utilization"
      },
      "audience": {
        "@type": "Audience",
        "audienceType": "DeFi users"
      },
      "additionalProperty": [
        {"@type": "PropertyValue", "propertyID": "totalValueLocked", "value": "11200000000"},
        {"@type": "PropertyValue", "propertyID": "auditedContract", "value": "0x..."}
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Inicio", "item": "https://example.com/"},
        {"@type": "ListItem", "position": 2, "name": "Protocols", "item": "https://example.com/protocols/"},
        {"@type": "ListItem", "position": 3, "name": "Aave"}
      ]
    }
  ]
}
</script>

Como validar a correção

Erros comuns

Pitfall

Esquecer de remover o schema Article antigo

Se você adiciona FinancialProduct sem remover Article, os dois emitem. O Google deduplica mal quando tipos de schema conflitantes descrevem a mesma entidade. Sempre remova o antigo primeiro.

Pitfall

Faltan propiedades requeridas

FinancialProduct exige name e description no mínimo. Os validadores vão marcar campos obrigatórios faltantes. Preencha todos.

Pitfall

Usar string para feeStructure

feeStructure deve ser PriceSpecification ou QuantitativeValue, não um string plano. Os strings planos falham na validação.

Pitfall

Pular o wrapper @graph

Usar @type de nível superior quando você empilha múltiplas entidades cria schema desordenado. Sempre use @graph: [...] quando você tem FinancialProduct + BreadcrumbList + FAQPage na mesma página.

Pitfall

No probar en HTML renderizado móvil

Se seu site usa CSR, rode validação no DOM realmente renderizado via Puppeteer, não o HTML inicial. O schema em script tags ainda deve funcionar, porém teste.

Si algo se rompe: rollback

Se o schema causa problemas pós-deploy: reverta o override do functions.php para restaurar o schema Article, remova a injeção FinancialProduct personalizada. O schema antigo volta em minutos. Sem perda de data porque o schema é apenas metadata.

Rode uma auditoria Crawlux grátis sobre essa correção

Crawlux valida as correções de schema, técnicas e AEO desse playbook automaticamente. Plano grátis em um domínio.

Executar auditoria gratuita →

FAQ

Por que FinancialProduct e não Service ou Product?

FinancialProduct estende Service na hierarquia do Schema.org e tem propriedades relevantes para crypto (feeStructure, termsOfService, identificadores de contratos auditados). Service é genérico demais. Product é para bens físicos ou software. FinancialProduct é construído a propósito para ofertas financeiras incluindo protocolos DeFi.

Isso vai danificar meus rankings existentes?

Não. As migrações de schema são mudanças de metadata. Levantam rankings quando feitas corretamente. O risco é sintaxe quebrada que quebre o parsing de schema completamente, por isso testar com três validadores é obrigatório antes do deploy.

Quanto tempo até ver impacto no ranking?

As correções de schema tipicamente aparecem em 2-4 semanas para crawl/recrawl, 30-60 dias para impacto completo no ranking. As citações AEO podem levantar mais rápido (2-4 semanas) porque os motores IA re-crawleiam frequentemente.

Posso fazer isso sem tocar em código?

Parcialmente. Schema App e ferramentas similares deixam você injetar schema via tag manager. Funciona, porém limitado. A migração completa exige ou hooks de CMS (filtros de Yoast/RankMath) ou trabalho de template personalizado. Faça um orçamento de 30-45 minutos se você tem acesso de dev; 2-4 horas se não.

E se meu CMS não suporta injeção JSON-LD personalizada?

Use Google Tag Manager ou um widget HTML personalizado no seu CMS para injetar o JSON-LD. Menos limpo que a injeção a nível de template, porém funciona. Único downside: dependente de execução JS o que significa que os crawlers SEO podem perdê-lo ocasionalmente.

Playbooks relacionados

Guias pilares

Módulos de auditoria

RUN YOUR FIRST AUDIT

Rode o playbook contra uma auditoria real.

Receba um relatório de auditoria Crawlux grátis e use-o como linha base para o trabalho nesse playbook.

Primeira auditoria grátis · Sem cadastro · 60 segundos · Full PDF report

Audit this fix → Free audit