Módulo 5 · 5.2
LocalBusiness: os dados da sua empresa em JSON-LD
Módulo 5: Dados estruturados · Tempo de leitura: 13 minutos
Objetivo de aprendizagem: Depois desta lição, saberá escrever e avaliar um bloco LocalBusiness em JSON-LD, com as propriedades obrigatórias e recomendadas segundo a Google e o subtipo correto do schema.org.
Conceitos chave: LocalBusiness, subtipo (Florist, Bakery, Dentist, ...), obrigatório: name e address, PostalAddress (streetAddress, postalCode, addressLocality, addressCountry), recomendado: telephone, url, openingHoursSpecification, geo, image, priceRange, sameAs, openingHours como texto, uma única fonte de verdade
Porque é que este bloco é importante
Na lição 5.1 viu que a Google utiliza dados estruturados para compreender a sua página. Para uma empresa com loja, consultório ou oficina, o bloco mais importante é LocalBusiness: quem é, onde está, como se liga para si, quando está aberto. A Google indica como utilização possível o painel de conhecimento na Pesquisa Google e no Maps, quando alguém procura a sua empresa.
O bloco não substitui o seu Perfil da Empresa no Google (módulo 6). É uma das fontes de onde os motores de pesquisa retiram os seus dados. Por isso, deve dizer exatamente o mesmo que o seu perfil, a sua página de contacto e as suas entradas em diretórios. A lição 6.4 volta a este tema.
Escolher o tipo certo
Comece pela pergunta: que tipo de empresa sou? No schema.org, LocalBusiness tem trinta subtipos diretos e, abaixo destes, muitos mais. Alguns exemplos:
| Empresa | Tipo | Caminho no schema.org |
|---|---|---|
| Florista | Florist | LocalBusiness > Store > Florist |
| Padaria | Bakery | LocalBusiness > FoodEstablishment > Bakery |
| Dentista | Dentist | LocalBusiness > Dentist |
| Cabeleireiro | HairSalon | LocalBusiness > HealthAndBeautyBusiness > HairSalon |
| Canalizador | Plumber | LocalBusiness > HomeAndConstructionBusiness > Plumber |
| Contabilista | AccountingService | LocalBusiness > FinancialService > AccountingService |
A Google pede o tipo mais específico que se aplique. Se não encontrar nenhum, utilize o próprio LocalBusiness. Se a sua empresa faz duas coisas (uma padaria com café), @type pode ser uma lista: ["Bakery", "CafeOrCoffeeShop"]. Atenção à escrita: os tipos começam com maiúscula e estão escritos exatamente assim no schema.org. Florista, florist ou Flower shop não existem; um leitor não reconhece esse tipo.
Procure um tipo através de https://schema.org/<Type> ou na lista completa. Se a página existir, o tipo existe.
Obrigatório e recomendado segundo a Google
Para uma empresa local, a Google indica apenas duas propriedades obrigatórias:
name: o nome da empresa, tal como aparece na sua fachada e no seu perfil;address: a localização física, comoPostalAddress. A Google pede que preencha o maior número possível de campos.
E uma série de propriedades recomendadas. As mais importantes para uma pequena empresa:
| Propriedade | O que deve conter | Atenção |
|---|---|---|
telephone | O número principal | Com indicativo do país e da zona, por exemplo +31 33 000 0000 |
url | O endereço da página deste estabelecimento | Endereço completo com https://, e tem de funcionar |
openingHoursSpecification | Horário de abertura por dia | Ver abaixo |
geo | GeoCoordinates com latitude e longitude | Números, com pelo menos 5 casas decimais |
image | Fotografia(s) da empresa | Endereços que a Google pode obter e indexar |
priceRange | Gama de preços, como €€ ou €10-25 | Menos de 100 caracteres |
menu, servesCuisine | Apenas para restauração |
Como LocalBusiness também é uma Organization, a Google recomenda seguir também os campos de Organization, como logo e sameAs (os endereços dos seus perfis noutros sites, por exemplo Instagram ou Facebook).
O que a Google não quer neste bloco: review e aggregateRating sobre a sua própria empresa. Estes destinam-se apenas a sites que reúnem avaliações sobre outras empresas. A lição 5.3 explica porquê.
O endereço como PostalAddress
O endereço é um objeto com um tipo próprio. Não uma única linha de texto, mas campos separados:
"address": {
"@type": "PostalAddress",
"streetAddress": "Rua do Exemplo, 12",
"postalCode": "3500-000",
"addressLocality": "Viseu",
"addressCountry": "PT"
}streetAddress: rua e número de porta, com complemento se existir.postalCode: o código postal.addressLocality: a localidade.addressCountry: o país, de preferência como código de país de duas letras (NL,BE,DE).addressRegion(província ou estado) é permitido, mas nos Países Baixos não é necessário.
Um erro frequente é "address": "Rua do Exemplo, 12, 3500-000 Viseu". Isto é texto; um leitor tem de adivinhar qual é o código postal. Utilize os campos separados.
Horário de abertura
A Google indica openingHoursSpecification: uma lista de blocos com dias, hora de abertura e hora de fecho.
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "17:00"
}
]As regras:
- Dias em inglês, como no schema.org: de
MondayaSunday(ou como endereço completo,https://schema.org/Monday). Nada demanemmaandag. - Horas no formato de 24 horas:
09:00, não9 uurnem9:00 AM. - Um dia que não esteja na lista conta como não descrito. Se quiser indicar explicitamente que está fechado durante todo o dia, defina
openseclosesambos como00:00. - Aberto dia e noite:
opens00:00ecloses23:59. - Aberto até depois da meia-noite (por exemplo, das 18:00 às 02:00): um único bloco com
opens18:00ecloses02:00. - Horários temporariamente diferentes, como um encerramento de inverno: o mesmo bloco com
validFromevalidThrough(datas como2026-12-24).
Existe também uma forma de escrita mais curta do schema.org: "openingHours": ["Tu-Fr 09:00-18:00", "Sa 09:00-17:00"], com os dias em inglês abreviados a duas letras. É válida no schema.org, mas não consta da lista da Google. Se puder escolher, utilize openingHoursSpecification.
O bloco completo para o Atelier Floral Beatriz
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Florist",
"name": "Atelier Floral Beatriz",
"url": "https://www.example.com/",
"telephone": "+351 232 000 000",
"image": "https://www.example.com/imagens/loja.jpg",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Rua do Exemplo, 12",
"postalCode": "3500-000",
"addressLocality": "Viseu",
"addressCountry": "PT"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.15617,
"longitude": 5.38763
},
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "18:00" },
{ "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" }
],
"sameAs": ["https://www.instagram.com/example"]
}
</script>Tenha em atenção duas coisas. latitude e longitude são números, sem aspas; a latitude situa-se entre -90 e 90 e a longitude entre -180 e 180. E o url aponta para o seu próprio site, não para o seu Instagram (esse pertence a sameAs).
Onde coloca o bloco? A Google diz: pode estar em qualquer página, mas o mais lógico é uma página com informações sobre a sua empresa, como a página inicial ou a página de contacto. Se tiver vários estabelecimentos, cada um recebe uma página própria com um bloco próprio e um url próprio.
Na prática: AI Builder e WordPress
O AI Builder da WebOké cria este bloco automaticamente, a partir dos dados da empresa que preenche no site: o tipo de empresa (uma lista de opções que inclui Florist, Bakery e HairSalon, ou o genérico LocalBusiness), nome, morada, código postal, localidade, telefone, e-mail, horário de abertura e os seus perfis sociais. O bloco aparece na página inicial e nas páginas com uma secção de contacto. Atualmente, o AI Builder escreve o horário na forma curta openingHours (por exemplo, Tu-Fr 09:00-18:00). No WordPress, os plugins de SEO fazem algo semelhante, muitas vezes numa secção própria para dados locais; noutros criadores de sites funciona da mesma forma.
Para todos os criadores de sites, vale o seguinte: o bloco é tão bom quanto aquilo que preenche. Se introduzir um número de telefone antigo no criador de sites, esse número antigo também aparece no seu JSON-LD. Mantenha os dados da sua empresa num único local e copie-os daí para o seu site, o seu perfil e as suas entradas em diretórios.
Resumo
- Escolha o tipo do schema.org mais específico que se aplique, escrito exatamente como no schema.org.
- Obrigatório segundo a Google:
nameeaddress(comoPostalAddresscom campos separados). - Recomendado:
telephonecom indicativo do país,urldo estabelecimento,openingHoursSpecification,geocomo números,image,priceRange. - Horário de abertura: nomes dos dias em inglês, horas no formato de 24 horas; fechado é
00:00a00:00, aberto dia e noite é00:00a23:59. - Nada de avaliações sobre a sua própria empresa neste bloco; garanta que tudo coincide com o seu perfil e a sua página de contacto.
Questionário
Exercício
Exercício A5.2: O seu bloco LocalBusiness está correto? Introduza o endereço da sua página inicial ou página de contacto e, além disso, o nome da sua empresa, o código postal e o número de telefone tal como constam do seu Perfil da Empresa. O programa procura o bloco da empresa no JSON-LD da página e verifica o tipo, os campos obrigatórios, a morada, o telefone, o horário de abertura, as coordenadas e o url, e compara o nome, o código postal e o telefone com o que introduziu. Não tem um site de empresa próprio? Utilize então o site de uma loja ou consultório perto de si e deixe os três campos de comparação vazios.
Para saber mais
Os passos destes artigos aplicam-se aos painéis da WebOké; noutros fornecedores funciona de forma semelhante.
- Manual do WebOké 8.1: AI Builder: criar o seu site
- Manual do WebOké 8.2: AI Builder: editar, versões e publicar
- Google Search Central, Dados estruturados para empresas locais (LocalBusiness): https://developers.google.com/search/docs/appearance/structured-data/local-business
- Google Search Central, Dados estruturados para organizações (Organization): https://developers.google.com/search/docs/appearance/structured-data/organization
- schema.org, LocalBusiness e todos os subtipos: https://schema.org/LocalBusiness
- schema.org, OpeningHoursSpecification: https://schema.org/OpeningHoursSpecification
- Os dados da sua empresa para o Google: dados estruturados (LocalBusiness)
- Curso gratuito de WordPress 9.2: Visibilidade nos motores de pesquisa: o básico
