{"id":18604,"date":"2026-11-05T18:16:24","date_gmt":"2026-11-05T21:16:24","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=18604"},"modified":"2026-11-05T19:02:29","modified_gmt":"2026-11-05T22:02:29","slug":"dados-estruturados","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/","title":{"rendered":"Dados estruturados: o que s\u00e3o e gerador de schema"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Dados estruturados s\u00e3o um c\u00f3digo, invis\u00edvel para o visitante, que conta ao Google o que a p\u00e1gina \u00e9: uma empresa com endere\u00e7o e hor\u00e1rio, um artigo com autor e data, uma organiza\u00e7\u00e3o com logo e redes sociais. Com o gerador abaixo, voc\u00ea preenche um formul\u00e1rio e copia o c\u00f3digo pronto, no formato JSON-LD, que \u00e9 o que o Google recomenda.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O gerador cria os quatro tipos mais comuns em sites de empresas e blogs e confere os campos que o Google pede. Se o seu site usa um plugin de SEO, como o Yoast ou o Rank Math, veja antes na se\u00e7\u00e3o sobre WordPress o que ele j\u00e1 faz sozinho.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gere o c\u00f3digo de dados estruturados<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Escolha o tipo, preencha o formul\u00e1rio e copie o c\u00f3digo. O gerador avisa quando falta um campo obrigat\u00f3rio ou quando algum dado est\u00e1 em um formato que o Google n\u00e3o aceita.<\/p>\n\n\n\n<div class=\"hh-sch\" id=\"hh-sch\" style=\"max-width:780px;margin:28px auto;border:1px solid #c9d2dd;border-radius:14px;padding:22px 24px;background:#f4f6f9;font-family:Arial,Helvetica,sans-serif;color:#0F172A;font-size:15px;box-sizing:border-box;\"><\/div>\n<script>(function () { var root0 = document.getElementById(\"hh-sch\"); if (!root0) { return; } var S2 = \"\/\" + \"\/\"; var PFX = \"hh-sch-\"; function U(n) { return String.fromCharCode(n); } var LT = U(60); var GT = U(62); var BS = U(92); var Q = U(34); var NL = U(10); var NAVY = \"#0b3d91\"; var LINK = \"color:#1d4ed8;font-weight:700;\"; var MONO = \"font-family:Consolas,Menlo,monospace;\"; var CTX = \"https:\" + S2 + \"schema.org\"; var RRT = \"https:\" + S2 + \"search.google.com\/test\/rich-results\"; var SMV = \"https:\" + S2 + \"validator.schema.org\/\"; var COL = {ok: [\"#15803d\", \"#e8f5ec\", U(10004)], warn: [\"#b45309\", \"#fff4e5\", U(9888)], err: [\"#b42318\", \"#fdecec\", U(10006)], info: [\"#1d4ed8\", \"#eef3ff\", U(8505)]}; var RANK = {err: 0, warn: 1, ok: 2, info: 3}; var INP = \"width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #9aa7b8;border-radius:8px;font-size:15px;background:#ffffff;color:#0F172A;margin:0;font-family:Arial,Helvetica,sans-serif;\"; var DAYS = [[\"Monday\", \"Segunda\"], [\"Tuesday\", \"Ter\" + U(231) + \"a\"], [\"Wednesday\", \"Quarta\"], [\"Thursday\", \"Quinta\"], [\"Friday\", \"Sexta\"], [\"Saturday\", \"S\" + U(225) + \"bado\"], [\"Sunday\", \"Domingo\"]]; var UFS = [\"\", \"AC\", \"AL\", \"AP\", \"AM\", \"BA\", \"CE\", \"DF\", \"ES\", \"GO\", \"MA\", \"MT\", \"MS\", \"MG\", \"PA\", \"PB\", \"PR\", \"PE\", \"PI\", \"RJ\", \"RN\", \"RS\", \"RO\", \"RR\", \"SC\", \"SP\", \"SE\", \"TO\"]; var LTYPES = [[\"LocalBusiness\", \"Outro tipo de empresa\"], [\"RealEstateAgent\", \"Ag\" + U(234) + \"ncia imobili\" + U(225) + \"ria\"], [\"TravelAgency\", \"Ag\" + U(234) + \"ncia de viagens\"], [\"LegalService\", \"Advocacia\"], [\"ExerciseGym\", \"Academia\"], [\"BarOrPub\", \"Bar\"], [\"HairSalon\", \"Barbearia ou cabeleireiro\"], [\"CafeOrCoffeeShop\", \"Cafeteria\"], [\"MedicalClinic\", \"Cl\" + U(237) + \"nica m\" + U(233) + \"dica\"], [\"AccountingService\", \"Contabilidade\"], [\"Dentist\", \"Dentista\"], [\"Electrician\", \"Eletricista\"], [\"Plumber\", \"Encanador\"], [\"Pharmacy\", \"Farm\" + U(225) + \"cia\"], [\"Florist\", \"Floricultura\"], [\"Hotel\", \"Hotel\"], [\"DryCleaningOrLaundry\", \"Lavanderia\"], [\"Store\", \"Loja\"], [\"ClothingStore\", \"Loja de roupas\"], [\"HardwareStore\", \"Material de constru\" + U(231) + U(227) + \"o\"], [\"AutoRepair\", \"Oficina mec\" + U(226) + \"nica\"], [\"Optician\", U(211) + \"tica\"], [\"Bakery\", \"Padaria\"], [\"PetStore\", \"Pet shop\"], [\"BedAndBreakfast\", \"Pousada\"], [\"Restaurant\", \"Restaurante\"], [\"BeautySalon\", \"Sal\" + U(227) + \"o de beleza\"], [\"GroceryStore\", \"Supermercado\"], [\"VeterinaryCare\", \"Veterin\" + U(225) + \"rio\"]]; var FOOD = {Restaurant: 1, CafeOrCoffeeShop: 1, Bakery: 1, BarOrPub: 1}; var st = {tab: \"local\", authors: [{name: \"\", url: \"\", type: \"Person\"}], faq: [{q: \"\", a: \"\"}, {q: \"\", a: \"\"}], logo: {}}; function el(id) { return document.getElementById(PFX + id); } function add(p, tag, text, style) { var n = document.createElement(tag); if (text) { n.textContent = text; } if (style) { n.setAttribute(\"style\", style); } p.appendChild(n); return n; } function gt(a, b) { return a === b ? false : Math.max(a, b) === a; } function lt(a, b) { return a === b ? false : Math.min(a, b) === a; } function ge(a, b) { return Math.max(a, b) === a; } function or(a, b) { return a ? a : b; } function has(s, x) { return String(s).indexOf(x) !== -1; } function val(id) { var e = el(id); return e ? String(or(e.value, \"\")).trim() : \"\"; } function digits(s) { var o = \"\"; for (var i = 0; i !== s.length; i++) { if (has(\"0123456789\", s.charAt(i))) { o += s.charAt(i); } } return o; } function isUrl(s) { if (has(s, \" \")) { return false; } var a = s.indexOf(\"https:\" + S2) === 0 ? 8 : (s.indexOf(\"http:\" + S2) === 0 ? 7 : 0); if (a === 0) { return false; } var host = s.slice(a).split(\"\/\")[0]; return has(host, \".\") ? gt(host.length, 3) : false; } function lines(s) { var r = []; var p = String(or(s, \"\")).split(NL); for (var i = 0; i !== p.length; i++) { var t = p[i].trim(); if (t) { r.push(t); } } return r; } function tm(s) { var p = String(s).split(\":\"); return Number(p[0]) * 60 + Number(or(p[1], 0)); } function fmtCep(s) { var d = digits(s); return d.length === 8 ? d.slice(0, 5) + \"-\" + d.slice(5) : \"\"; } function fmtTel(s, N, what) { if (!s) { return \"\"; } var d = digits(s); if (s.charAt(0) === \"+\") { return s; } if (d.indexOf(\"0800\") === 0) { return d.slice(0, 4) + \" \" + d.slice(4, 7) + \" \" + d.slice(7); } if (d.indexOf(\"55\") === 0 ? (d.length === 12 ? true : d.length === 13) : false) { d = d.slice(2); } if (d.charAt(0) === \"0\") { d = d.slice(1); } if (d.length === 10) { return \"+55 \" + d.slice(0, 2) + \" \" + d.slice(2, 6) + \"-\" + d.slice(6); } if (d.length === 11) { return \"+55 \" + d.slice(0, 2) + \" \" + d.slice(2, 7) + \"-\" + d.slice(7); } N.push([\"warn\", \"Confira o \" + what + \": use o DDD e o n\" + U(250) + \"mero, como (11) 3333-4444.\"]); return s; } function cnpjOk(d) { if (d.length !== 14) { return false; } var same = true; for (var k = 1; k !== 14; k++) { if (d.charAt(k) !== d.charAt(0)) { same = false; } } if (same) { return false; } function dv(len) { var w = len === 12 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]; var s = 0; for (var i = 0; i !== len; i++) { s += Number(d.charAt(i)) * w[i]; } var r = s % 11; return lt(r, 2) ? 0 : 11 - r; } return dv(12) === Number(d.charAt(12)) ? dv(13) === Number(d.charAt(13)) : false; } function urlField(o, key, v, N, label) { if (!v) { return; } if (isUrl(v)) { o[key] = v; if (v.indexOf(\"http:\" + S2) === 0) { N.push([\"info\", \"O endere\" + U(231) + \"o de \" + label + \" come\" + U(231) + \"a com http. Se o site tem SSL, use https.\"]); } } else { N.push([\"warn\", \"O endere\" + U(231) + \"o de \" + label + \" precisa ser completo, come\" + U(231) + \"ando com https:\" + S2 + \".\"]); } } function sameAs(o, v, N) { var L = lines(v); var ok = []; for (var i = 0; i !== L.length; i++) { if (isUrl(L[i])) { ok.push(L[i]); } else { N.push([\"warn\", \"Este perfil n\" + U(227) + \"o \" + U(233) + \" um endere\" + U(231) + \"o completo e ficou de fora: \" + L[i]]); } } if (ok.length) { o.sameAs = ok.length === 1 ? ok[0] : ok; } } function address(pre, N, needed) { var street = val(pre + \"street\"); var bairro = val(pre + \"bairro\"); var city = val(pre + \"city\"); var uf = val(pre + \"uf\"); var cep = val(pre + \"cep\"); if (!needed ? !(street ? true : (city ? true : cep)) : false) { return null; } var a = {\"@type\": \"PostalAddress\"}; if (street) { a.streetAddress = bairro ? street + \", \" + bairro : street; } if (city) { a.addressLocality = city; } if (uf) { a.addressRegion = uf; } if (cep) { var c = fmtCep(cep); if (c) { a.postalCode = c; } else { N.push([\"warn\", \"O CEP precisa ter 8 n\" + U(250) + \"meros.\"]); } } a.addressCountry = \"BR\"; return a; } function plain(s) { s = String(s).split(\"**\").join(\"\").split(U(96)).join(\"\"); var out = \"\"; var i = 0; while (lt(i, s.length)) { var c = s.charAt(i); if (c === \"[\") { var j = s.indexOf(\"](\", i); var k = j === -1 ? -1 : s.indexOf(\")\", j); if (j !== -1 ? k !== -1 : false) { out += s.slice(i + 1, j); i = k + 1; continue; } } out += c; i++; } return out.trim(); } function importFaq(txt) { var L = String(txt).split(NL); var res = []; var cur = null; for (var i = 0; i !== L.length; i++) { var l = plain(L[i]); if (!l) { continue; } if (l.charAt(l.length - 1) === \"?\") { cur = {q: l, a: \"\"}; res.push(cur); } else if (cur) { cur.a = cur.a ? cur.a + \" \" + l : l; } } return res; } function vLocal() { var N = []; var type = val(\"l-type\"); var o = {\"@context\": CTX, \"@type\": type}; var name = val(\"l-name\"); if (name) { o.name = name; } else { N.push([\"err\", \"Preencha o nome da empresa.\"]); } if (!val(\"l-street\") ? true : !val(\"l-city\")) { N.push([\"err\", \"Preencha a rua e a cidade. O Google exige o nome e o endere\" + U(231) + \"o da empresa.\"]); } var img = val(\"l-img\"); if (img) { urlField(o, \"image\", img, N, \"imagem\"); } else { N.push([\"info\", \"Uma foto da fachada ou do logo ajuda a identificar a empresa. Use um endere\" + U(231) + \"o de imagem completo.\"]); } o.address = address(\"l-\", N, true); var geo = val(\"l-geo\"); if (geo) { var g = geo.split(\",\"); var la = g.length === 2 ? Number(g[0].trim()) : NaN; var lo = g.length === 2 ? Number(g[1].trim()) : NaN; if (isNaN(la) ? true : isNaN(lo)) { N.push([\"warn\", \"As coordenadas precisam estar no formato latitude, longitude, como -23.55052, -46.63331.\"]); } else { o.geo = {\"@type\": \"GeoCoordinates\", latitude: la, longitude: lo}; var dl = has(g[0], \".\") ? g[0].trim().split(\".\")[1].length : 0; var dg = has(g[1], \".\") ? g[1].trim().split(\".\")[1].length : 0; if (lt(Math.min(dl, dg), 5)) { N.push([\"warn\", \"O Google pede pelo menos 5 casas decimais nas coordenadas. Copie o ponto exato no Google Maps.\"]); } } } urlField(o, \"url\", val(\"l-url\"), N, \"site\"); if (!val(\"l-url\")) { N.push([\"warn\", \"Informe o endere\" + U(231) + \"o do site ou da p\" + U(225) + \"gina da empresa.\"]); } var tel = fmtTel(val(\"l-tel\"), N, \"telefone\"); if (tel) { o.telephone = tel; } else { N.push([\"warn\", \"Informe o telefone, com DDD. Ele \" + U(233) + \" um dos campos recomendados pelo Google.\"]); } var pr = val(\"l-price\"); if (pr) { if (gt(pr.length, 99)) { N.push([\"warn\", \"A faixa de pre\" + U(231) + \"o precisa ter menos de 100 caracteres.\"]); } else { o.priceRange = pr; } } if (FOOD[type]) { urlField(o, \"menu\", val(\"l-menu\"), N, \"card\" + U(225) + \"pio\"); } var spec = hours(N); if (spec.length) { o.openingHoursSpecification = spec; } else { N.push([\"warn\", \"Marque os dias e os hor\" + U(225) + \"rios de funcionamento.\"]); } sameAs(o, val(\"l-same\"), N); N.push([\"info\", \"Use os mesmos nome, endere\" + U(231) + \"o e telefone do Perfil da Empresa no Google, para n\" + U(227) + \"o passar informa\" + U(231) + U(245) + \"es diferentes.\"]); return {o: o, N: N}; } function hours(N) { var lunch = el(\"l-lunch\").checked; var la = val(\"l-la\"); var lb = val(\"l-lb\"); var groups = {}; var order = []; for (var i = 0; i !== 7; i++) { if (!el(\"l-d\" + i).checked) { continue; } var a = val(\"l-o\" + i); var b = val(\"l-c\" + i); if (!a ? true : !b) { N.push([\"warn\", \"Preencha a abertura e o fechamento de \" + DAYS[i][1] + \".\"]); continue; } var iv = [[a, b]]; if (lunch ? (la ? (lb ? gt(tm(lb), tm(la)) : false) : false) : false) { if (gt(tm(la), tm(a)) ? lt(tm(lb), tm(b)) : false) { iv = [[a, la], [lb, b]]; } } var key = iv.map(function (x) { return x[0] + \"-\" + x[1]; }).join(\";\"); if (!groups[key]) { groups[key] = {iv: iv, days: []}; order.push(key); } groups[key].days.push(DAYS[i][0]); } if (lunch ? !(la ? (lb ? gt(tm(lb), tm(la)) : false) : false) : false) { N.push([\"warn\", \"Confira o hor\" + U(225) + \"rio de almo\" + U(231) + \"o: a volta precisa ser depois da sa\" + U(237) + \"da.\"]); } var out = []; for (var k = 0; k !== order.length; k++) { var gr = groups[order[k]]; for (var m = 0; m !== gr.iv.length; m++) { out.push({\"@type\": \"OpeningHoursSpecification\", dayOfWeek: gr.days.length === 1 ? gr.days[0] : gr.days, opens: gr.iv[m][0] + \":00\", closes: gr.iv[m][1] + \":00\"}); } } return out; } function vOrg() { var N = []; var o = {\"@context\": CTX, \"@type\": val(\"o-type\")}; var name = val(\"o-name\"); if (name) { o.name = name; } else { N.push([\"err\", \"Preencha pelo menos o nome da organiza\" + U(231) + U(227) + \"o.\"]); } var alt = val(\"o-alt\"); if (alt) { o.alternateName = alt; } var legal = val(\"o-legal\"); if (legal ? legal !== name : false) { o.legalName = legal; } urlField(o, \"url\", val(\"o-url\"), N, \"site\"); if (!val(\"o-url\")) { N.push([\"warn\", \"Informe o endere\" + U(231) + \"o do site. Ele ajuda o Google a identificar a organiza\" + U(231) + U(227) + \"o.\"]); } var logo = val(\"o-logo\"); if (logo) { urlField(o, \"logo\", logo, N, \"logo\"); var dim = st.logo[logo]; if (dim === \"err\") { N.push([\"warn\", \"N\" + U(227) + \"o consegui abrir o logo nesse endere\" + U(231) + \"o. Confira se a imagem est\" + U(225) + \" no ar.\"]); } else if (dim) { if (lt(Math.min(dim[0], dim[1]), 112)) { N.push([\"warn\", \"O logo tem \" + dim[0] + \" \" + U(215) + \" \" + dim[1] + \" px. O Google pede pelo menos 112 \" + U(215) + \" 112 px.\"]); } else { N.push([\"ok\", \"Logo com \" + dim[0] + \" \" + U(215) + \" \" + dim[1] + \" px, acima do m\" + U(237) + \"nimo de 112 \" + U(215) + \" 112 px.\"]); } } } else { N.push([\"info\", \"O logo ajuda o Google a escolher a imagem da marca nos resultados. Use uma imagem quadrada com pelo menos 112 \" + U(215) + \" 112 px.\"]); } var desc = val(\"o-desc\"); if (desc) { o.description = desc; } var mail = val(\"o-mail\"); if (mail) { if (has(mail, \"@\") ? has(mail.split(\"@\")[1], \".\") : false) { o.email = mail; } else { N.push([\"warn\", \"Confira o e-mail.\"]); } } var tel = fmtTel(val(\"o-tel\"), N, \"telefone\"); if (tel) { o.telephone = tel; } var adr = address(\"o-\", N, false); if (adr) { o.address = adr; } var cn = val(\"o-cnpj\"); if (cn) { var d = digits(cn); if (cnpjOk(d)) { o.taxID = d.slice(0, 2) + \".\" + d.slice(2, 5) + \".\" + d.slice(5, 8) + \"\/\" + d.slice(8, 12) + \"-\" + d.slice(12); } else { N.push([\"warn\", \"Esse CNPJ n\" + U(227) + \"o \" + U(233) + \" v\" + U(225) + \"lido. Confira os n\" + U(250) + \"meros.\"]); } } var fd = val(\"o-found\"); if (fd) { o.foundingDate = fd; } var ct = fmtTel(val(\"o-ctel\"), N, \"telefone do atendimento\"); var cm = val(\"o-cmail\"); if (ct ? true : cm) { var cp = {\"@type\": \"ContactPoint\", contactType: \"customer service\"}; if (ct) { cp.telephone = ct; } if (cm) { cp.email = cm; } o.contactPoint = cp; } sameAs(o, val(\"o-same\"), N); N.push([\"info\", \"Coloque esse c\" + U(243) + \"digo s\" + U(243) + \" na p\" + U(225) + \"gina inicial ou na p\" + U(225) + \"gina Quem somos. Ele n\" + U(227) + \"o precisa ir em todas as p\" + U(225) + \"ginas.\"]); return {o: o, N: N}; } function isoDate(v, tz) { if (!v) { return \"\"; } var s = v.length === 16 ? v + \":00\" : v; return s + tz; } function vArt() { var N = []; var o = {\"@context\": CTX, \"@type\": val(\"a-type\")}; var url = val(\"a-url\"); if (url) { if (isUrl(url)) { o.mainEntityOfPage = {\"@type\": \"WebPage\", \"@id\": url}; } else { N.push([\"warn\", \"O endere\" + U(231) + \"o da p\" + U(225) + \"gina precisa ser completo, come\" + U(231) + \"ando com https:\" + S2 + \".\"]); } } var h = val(\"a-head\"); if (h) { o.headline = h; if (gt(h.length, 110)) { N.push([\"info\", \"O t\" + U(237) + \"tulo tem \" + h.length + \" caracteres. T\" + U(237) + \"tulos longos podem ser cortados em alguns aparelhos.\"]); } } else { N.push([\"err\", \"Preencha o t\" + U(237) + \"tulo do artigo.\"]); } var imgs = lines(val(\"a-img\")); var ok = []; for (var i = 0; i !== imgs.length; i++) { if (isUrl(imgs[i])) { ok.push(imgs[i]); } else { N.push([\"warn\", \"Esta imagem n\" + U(227) + \"o \" + U(233) + \" um endere\" + U(231) + \"o completo e ficou de fora: \" + imgs[i]]); } } if (ok.length) { o.image = ok.length === 1 ? ok[0] : ok; } else { N.push([\"warn\", \"Informe pelo menos uma imagem do artigo. O Google recomenda imagens com pelo menos 50 mil pixels (largura \" + U(215) + \" altura), nas propor\" + U(231) + U(245) + \"es 16:9, 4:3 e 1:1.\"]); } var tz = val(\"a-tz\"); var dp = val(\"a-pub\"); var dm = val(\"a-mod\"); if (dp) { o.datePublished = isoDate(dp, tz); } else { N.push([\"warn\", \"Informe a data de publica\" + U(231) + U(227) + \"o.\"]); } if (dm) { o.dateModified = isoDate(dm, tz); if (dp ? lt(Date.parse(dm), Date.parse(dp)) : false) { N.push([\"warn\", \"A data de atualiza\" + U(231) + U(227) + \"o est\" + U(225) + \" antes da publica\" + U(231) + U(227) + \"o.\"]); } } var A = []; for (var j = 0; j !== st.authors.length; j++) { var au = st.authors[j]; var nm = String(au.name).trim(); if (!nm) { continue; } var x = {\"@type\": au.type, name: nm}; var u = String(au.url).trim(); if (u) { if (isUrl(u)) { x.url = u; } else { N.push([\"warn\", \"O link do autor \" + nm + \" precisa ser um endere\" + U(231) + \"o completo.\"]); } } A.push(x); } if (A.length) { o.author = A.length === 1 ? A[0] : A; } else { N.push([\"warn\", \"Informe o autor. No nome, coloque s\" + U(243) + \" o nome, sem cargo nem empresa.\"]); } var pn = val(\"a-pubname\"); if (pn) { var p = {\"@type\": \"Organization\", name: pn}; var pl = val(\"a-publogo\"); if (pl) { if (isUrl(pl)) { p.logo = {\"@type\": \"ImageObject\", url: pl}; } else { N.push([\"warn\", \"O logo da editora precisa ser um endere\" + U(231) + \"o completo.\"]); } } o.publisher = p; } N.push([\"info\", \"Se o site usa Yoast SEO ou Rank Math, eles normalmente j\" + U(225) + \" criam o schema de artigo. Confira o c\" + U(243) + \"digo da p\" + U(225) + \"gina antes de colar este, para n\" + U(227) + \"o duplicar.\"]); return {o: o, N: N}; } function vFaq() { var N = []; var o = {\"@context\": CTX, \"@type\": \"FAQPage\", mainEntity: []}; for (var i = 0; i !== st.faq.length; i++) { var q = String(st.faq[i].q).trim(); var a = String(st.faq[i].a).trim(); if (!q ? !a : false) { continue; } if (!q) { N.push([\"err\", \"A resposta \" + (i + 1) + \" est\" + U(225) + \" sem pergunta.\"]); continue; } if (!a) { N.push([\"err\", \"A pergunta \" + Q + q + Q + \" est\" + U(225) + \" sem resposta.\"]); continue; } o.mainEntity.push({\"@type\": \"Question\", name: q, acceptedAnswer: {\"@type\": \"Answer\", text: a}}); } if (!o.mainEntity.length) { N.push([\"err\", \"Preencha pelo menos uma pergunta com resposta.\"]); } N.push([\"info\", \"As perguntas e respostas precisam aparecer na p\" + U(225) + \"gina, com o mesmo texto. O Google n\" + U(227) + \"o aceita marca\" + U(231) + U(227) + \"o de conte\" + U(250) + \"do escondido.\"]); return {o: o, N: N}; } function notes(arr) { var box = el(\"notes\"); box.textContent = \"\"; arr = arr.slice().sort(function (a, b) { return RANK[a[0]] - RANK[b[0]]; }); for (var i = 0; i !== arr.length; i++) { var c = COL[arr[i][0]]; var d = add(box, \"div\", \"\", \"background:\" + c[1] + \";border-left:4px solid \" + c[0] + \";border-radius:6px;padding:7px 10px;margin:8px 0 0;font-size:14px;line-height:1.5;color:#0F172A;overflow-wrap:anywhere;\"); add(d, \"span\", c[2] + \" \", \"color:\" + c[0] + \";font-weight:800;\"); d.appendChild(document.createTextNode(arr[i][1])); } } function code(o) { return LT + \"script type=\" + Q + \"application\/ld+json\" + Q + GT + NL + JSON.stringify(o, null, 2).split(LT).join(BS + \"u003c\") + NL + LT + \"\/script\" + GT; } function update() { var r = st.tab === \"local\" ? vLocal() : (st.tab === \"org\" ? vOrg() : (st.tab === \"art\" ? vArt() : vFaq())); var bad = false; for (var i = 0; i !== r.N.length; i++) { if (r.N[i][0] === \"err\") { bad = true; } } notes(r.N); el(\"out\").style.display = bad ? \"none\" : \"block\"; el(\"wait\").style.display = bad ? \"block\" : \"none\"; if (!bad) { el(\"code\").textContent = code(r.o); } } function checkLogo() { var u = val(\"o-logo\"); if (!u ? true : !isUrl(u)) { return; } if (st.logo[u]) { return; } var im = new Image(); im.onload = function () { st.logo[u] = [im.naturalWidth, im.naturalHeight]; if (st.tab === \"org\") { update(); } }; im.onerror = function () { st.logo[u] = \"err\"; if (st.tab === \"org\") { update(); } }; im.src = u; } function field(p, label, id, opt) { opt = or(opt, {}); var w = add(p, \"div\", \"\", \"flex:\" + or(opt.flex, \"1 1 220px\") + \";min-width:0;\"); var l = add(w, \"label\", label, \"display:block;font-weight:700;font-size:13.5px;color:\" + NAVY + \";margin-bottom:4px;\"); l.setAttribute(\"for\", PFX + id); var e; if (opt.area) { e = add(w, \"textarea\", \"\", INP + \"min-height:\" + or(opt.h, \"76px\") + \";resize:vertical;line-height:1.45;\"); } else if (opt.sel) { e = add(w, \"select\", \"\", INP); for (var i = 0; i !== opt.sel.length; i++) { var o = add(e, \"option\", opt.sel[i][1]); o.value = opt.sel[i][0]; } } else { e = add(w, \"input\", \"\", INP); e.type = or(opt.type, \"text\"); e.setAttribute(\"autocomplete\", \"off\"); } e.id = PFX + id; if (opt.ph) { e.setAttribute(\"placeholder\", opt.ph); } if (opt.val) { e.value = opt.val; } if (opt.hint) { add(w, \"div\", opt.hint, \"font-size:12.5px;color:#475569;margin-top:3px;line-height:1.4;\"); } e.addEventListener(\"input\", function () { if (id === \"o-logo\") { checkLogo(); } update(); }); e.addEventListener(\"change\", function () { update(); }); return e; } function row(p) { return add(p, \"div\", \"\", \"display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;\"); } function sub(p, text) { return add(p, \"div\", text, \"font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:#475569;margin:18px 0 2px;\"); } function btn(p, text, primary) { var b = add(p, \"button\", text, primary ? \"padding:9px 18px;border:0;border-radius:8px;background:\" + NAVY + \";color:#ffffff;font-size:14.5px;font-weight:700;cursor:pointer;line-height:1.3;margin:0;\" : \"padding:6px 12px;border:1px solid \" + NAVY + \";border-radius:7px;background:#ffffff;color:\" + NAVY + \";font-size:13px;font-weight:700;cursor:pointer;line-height:1.3;margin:0;\"); b.type = \"button\"; return b; } function ufOpts() { var r = []; for (var i = 0; i !== UFS.length; i++) { r.push([UFS[i], UFS[i] ? UFS[i] : \"UF\"]); } return r; } function addrFields(p, pre) { var r1 = row(p); field(r1, \"Rua e n\" + U(250) + \"mero\", pre + \"street\", {ph: \"Rua das Flores, 123\", flex: \"2 1 260px\"}); field(r1, \"Bairro\", pre + \"bairro\", {ph: \"Centro\"}); var r2 = row(p); field(r2, \"Cidade\", pre + \"city\", {ph: \"S\" + U(227) + \"o Paulo\", flex: \"2 1 200px\"}); field(r2, \"Estado\", pre + \"uf\", {sel: ufOpts(), flex: \"0 1 110px\"}); field(r2, \"CEP\", pre + \"cep\", {ph: \"01000-000\", flex: \"1 1 140px\"}); } function buildLocal(p) { var r1 = row(p); field(r1, \"Tipo de neg\" + U(243) + \"cio\", \"l-type\", {sel: LTYPES}); field(r1, \"Nome da empresa\", \"l-name\", {ph: \"Padaria da Jo\" + U(227) + \"o\"}); sub(p, \"Endere\" + U(231) + \"o\"); addrFields(p, \"l-\"); sub(p, \"Contato e detalhes\"); var r3 = row(p); field(r3, \"Telefone\", \"l-tel\", {ph: \"(11) 3333-4444\", type: \"tel\"}); field(r3, \"Site\", \"l-url\", {ph: \"https:\" + S2 + \"www.seusite.com.br\", type: \"url\"}); var r4 = row(p); field(r4, \"Imagem (foto ou logo)\", \"l-img\", {ph: \"https:\" + S2 + \"www.seusite.com.br\/fachada.jpg\", type: \"url\"}); field(r4, \"Faixa de pre\" + U(231) + \"o\", \"l-price\", {ph: \"R$ 20-50 ou $$\", flex: \"1 1 160px\"}); var r5 = row(p); var mw = field(r5, \"Card\" + U(225) + \"pio\", \"l-menu\", {ph: \"https:\" + S2 + \"www.seusite.com.br\/cardapio\", type: \"url\"}); mw.parentNode.id = PFX + \"l-menuw\"; field(r5, \"Coordenadas (opcional)\", \"l-geo\", {ph: \"-23.55052, -46.63331\", hint: \"No Google Maps, clique com o bot\" + U(227) + \"o direito no local e copie os n\" + U(250) + \"meros.\"}); sub(p, \"Hor\" + U(225) + \"rio de funcionamento\"); add(p, \"div\", \"Marque os dias em que a empresa abre. Para 24 horas, use 00:00 at\" + U(233) + \" 23:59.\", \"font-size:12.5px;color:#475569;margin:4px 0 6px;\"); var hb = add(p, \"div\", \"\", \"background:#ffffff;border:1px solid #d5dce5;border-radius:10px;padding:4px 12px;\"); for (var i = 0; i !== 7; i++) { var hr = add(hb, \"div\", \"\", \"display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;\" + (i === 0 ? \"\" : \"border-top:1px solid #eef1f5;\")); var lb = add(hr, \"label\", \"\", \"display:flex;align-items:center;gap:6px;min-width:110px;font-size:14px;font-weight:700;color:#0F172A;cursor:pointer;\"); var cb = add(lb, \"input\", \"\", \"margin:0;width:17px;height:17px;\"); cb.type = \"checkbox\"; cb.id = PFX + \"l-d\" + i; cb.addEventListener(\"change\", update); lb.appendChild(document.createTextNode(DAYS[i][1])); var o1 = add(hr, \"input\", \"\", INP + \"width:auto;flex:0 1 120px;padding:6px 8px;\"); o1.type = \"time\"; o1.id = PFX + \"l-o\" + i; o1.value = \"08:00\"; o1.setAttribute(\"aria-label\", \"Abre \" + DAYS[i][1]); add(hr, \"span\", U(224) + \"s\", \"font-size:13px;color:#475569;\"); var c1 = add(hr, \"input\", \"\", INP + \"width:auto;flex:0 1 120px;padding:6px 8px;\"); c1.type = \"time\"; c1.id = PFX + \"l-c\" + i; c1.value = i === 5 ? \"12:00\" : \"18:00\"; c1.setAttribute(\"aria-label\", \"Fecha \" + DAYS[i][1]); o1.addEventListener(\"input\", update); c1.addEventListener(\"input\", update); } var lr = add(p, \"div\", \"\", \"display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;\"); var ll = add(lr, \"label\", \"\", \"display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#0F172A;cursor:pointer;\"); var lc = add(ll, \"input\", \"\", \"margin:0;width:17px;height:17px;\"); lc.type = \"checkbox\"; lc.id = PFX + \"l-lunch\"; lc.addEventListener(\"change\", update); ll.appendChild(document.createTextNode(\"Fecha para almo\" + U(231) + \"o, das\")); var l1 = add(lr, \"input\", \"\", INP + \"width:auto;flex:0 1 120px;padding:6px 8px;\"); l1.type = \"time\"; l1.id = PFX + \"l-la\"; l1.value = \"12:00\"; l1.setAttribute(\"aria-label\", \"Sa\" + U(237) + \"da para o almo\" + U(231) + \"o\"); add(lr, \"span\", U(224) + \"s\", \"font-size:13px;color:#475569;\"); var l2 = add(lr, \"input\", \"\", INP + \"width:auto;flex:0 1 120px;padding:6px 8px;\"); l2.type = \"time\"; l2.id = PFX + \"l-lb\"; l2.value = \"13:00\"; l2.setAttribute(\"aria-label\", \"Volta do almo\" + U(231) + \"o\"); l1.addEventListener(\"input\", update); l2.addEventListener(\"input\", update); var wk = btn(add(p, \"div\", \"\", \"margin-top:8px;\"), \"Marcar de segunda a sexta, 08:00 \" + U(224) + \"s 18:00\", false); wk.addEventListener(\"click\", function () { for (var d = 0; d !== 5; d++) { el(\"l-d\" + d).checked = true; el(\"l-o\" + d).value = \"08:00\"; el(\"l-c\" + d).value = \"18:00\"; } update(); }); sub(p, \"Redes sociais\"); var r6 = row(p); field(r6, \"Perfis da empresa (um por linha)\", \"l-same\", {area: true, ph: \"https:\" + S2 + \"www.instagram.com\/suaempresa\"}); el(\"l-type\").addEventListener(\"change\", function () { el(\"l-menuw\").style.display = FOOD[el(\"l-type\").value] ? \"block\" : \"none\"; }); el(\"l-menuw\").style.display = \"none\"; } function buildOrg(p) { var r1 = row(p); field(r1, \"Tipo\", \"o-type\", {sel: [[\"Organization\", \"Empresa ou organiza\" + U(231) + U(227) + \"o\"], [\"OnlineStore\", \"Loja virtual\"], [\"NGO\", \"ONG\"]]}); field(r1, \"Nome\", \"o-name\", {ph: \"Homehost\"}); var r2 = row(p); field(r2, \"Outro nome (opcional)\", \"o-alt\", {ph: \"Sigla ou nome popular\"}); field(r2, \"Raz\" + U(227) + \"o social (opcional)\", \"o-legal\", {ph: \"Empresa Exemplo Ltda.\"}); var r3 = row(p); field(r3, \"Site\", \"o-url\", {ph: \"https:\" + S2 + \"www.seusite.com.br\", type: \"url\"}); field(r3, \"Logo\", \"o-logo\", {ph: \"https:\" + S2 + \"www.seusite.com.br\/logo.png\", type: \"url\", hint: \"Imagem quadrada, de pelo menos 112 \" + U(215) + \" 112 px, que fique bem em fundo branco.\"}); var r4 = row(p); field(r4, \"Descri\" + U(231) + U(227) + \"o (opcional)\", \"o-desc\", {area: true, h: \"60px\", ph: \"O que a empresa faz, em uma ou duas frases.\"}); sub(p, \"Contato e registro\"); var r5 = row(p); field(r5, \"E-mail\", \"o-mail\", {ph: \"contato@seusite.com.br\", type: \"email\"}); field(r5, \"Telefone\", \"o-tel\", {ph: \"(11) 3333-4444\", type: \"tel\"}); var r6 = row(p); field(r6, \"CNPJ (opcional)\", \"o-cnpj\", {ph: \"00.000.000\/0000-00\"}); field(r6, \"Data de funda\" + U(231) + U(227) + \"o (opcional)\", \"o-found\", {type: \"date\"}); var r7 = row(p); field(r7, \"Telefone do atendimento (opcional)\", \"o-ctel\", {ph: \"0800 123 4567\", type: \"tel\"}); field(r7, \"E-mail do atendimento (opcional)\", \"o-cmail\", {ph: \"suporte@seusite.com.br\", type: \"email\"}); sub(p, \"Endere\" + U(231) + \"o (opcional)\"); addrFields(p, \"o-\"); sub(p, \"Redes sociais\"); var r8 = row(p); field(r8, \"Perfis da organiza\" + U(231) + U(227) + \"o (um por linha)\", \"o-same\", {area: true, ph: \"https:\" + S2 + \"www.linkedin.com\/company\/suaempresa\"}); } function authorRows() { var box = el(\"a-authors\"); box.textContent = \"\"; for (var i = 0; i !== st.authors.length; i++) { var r = add(box, \"div\", \"\", \"display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;\"); var n = add(r, \"input\", \"\", INP + \"flex:1 1 180px;width:auto;\"); n.type = \"text\"; n.value = st.authors[i].name; n.setAttribute(\"placeholder\", \"Nome do autor\"); n.setAttribute(\"aria-label\", \"Nome do autor \" + (i + 1)); n.setAttribute(\"data-i\", String(i)); n.setAttribute(\"data-k\", \"name\"); var u = add(r, \"input\", \"\", INP + \"flex:1 1 200px;width:auto;\"); u.type = \"url\"; u.value = st.authors[i].url; u.setAttribute(\"placeholder\", \"Link do perfil (opcional)\"); u.setAttribute(\"aria-label\", \"Link do autor \" + (i + 1)); u.setAttribute(\"data-i\", String(i)); u.setAttribute(\"data-k\", \"url\"); var t = add(r, \"select\", \"\", INP + \"flex:0 1 150px;width:auto;\"); add(t, \"option\", \"Pessoa\").value = \"Person\"; add(t, \"option\", \"Organiza\" + U(231) + U(227) + \"o\").value = \"Organization\"; t.value = st.authors[i].type; t.setAttribute(\"aria-label\", \"Tipo do autor \" + (i + 1)); t.setAttribute(\"data-i\", String(i)); t.setAttribute(\"data-k\", \"type\"); var on = function () { st.authors[Number(this.getAttribute(\"data-i\"))][this.getAttribute(\"data-k\")] = this.value; update(); }; n.addEventListener(\"input\", on); u.addEventListener(\"input\", on); t.addEventListener(\"change\", on); if (gt(st.authors.length, 1)) { var x = btn(r, \"Remover\", false); x.setAttribute(\"data-i\", String(i)); x.addEventListener(\"click\", function () { st.authors.splice(Number(this.getAttribute(\"data-i\")), 1); authorRows(); update(); }); } } } function buildArt(p) { var r1 = row(p); field(r1, \"Tipo\", \"a-type\", {sel: [[\"BlogPosting\", \"Post de blog\"], [\"Article\", \"Artigo\"], [\"NewsArticle\", \"Not\" + U(237) + \"cia\"]]}); field(r1, \"T\" + U(237) + \"tulo\", \"a-head\", {ph: \"Como escolher um bom nome de dom\" + U(237) + \"nio\", flex: \"2 1 260px\"}); var r2 = row(p); field(r2, \"Endere\" + U(231) + \"o da p\" + U(225) + \"gina (opcional)\", \"a-url\", {ph: \"https:\" + S2 + \"www.seusite.com.br\/blog\/artigo\/\", type: \"url\"}); var r3 = row(p); field(r3, \"Imagens (uma por linha)\", \"a-img\", {area: true, h: \"60px\", ph: \"https:\" + S2 + \"www.seusite.com.br\/imagem.jpg\", hint: \"Use imagens do artigo, n\" + U(227) + \"o o logo do site.\"}); var r4 = row(p); field(r4, \"Publicado em\", \"a-pub\", {type: \"datetime-local\"}); field(r4, \"Atualizado em (opcional)\", \"a-mod\", {type: \"datetime-local\"}); field(r4, \"Fuso hor\" + U(225) + \"rio\", \"a-tz\", {sel: [[\"-03:00\", \"Bras\" + U(237) + \"lia (-03:00)\"], [\"-04:00\", \"Amazonas e outros (-04:00)\"], [\"-05:00\", \"Acre (-05:00)\"], [\"-02:00\", \"Fernando de Noronha (-02:00)\"]], flex: \"1 1 180px\"}); sub(p, \"Autor\"); add(p, \"div\", \"No nome, coloque s\" + U(243) + \" o nome da pessoa, sem cargo, t\" + U(237) + \"tulo ou empresa.\", \"font-size:12.5px;color:#475569;margin-top:4px;\"); var ab = add(p, \"div\", \"\"); ab.id = PFX + \"a-authors\"; authorRows(); var aa = btn(add(p, \"div\", \"\", \"margin-top:8px;\"), \"+ Adicionar autor\", false); aa.addEventListener(\"click\", function () { st.authors.push({name: \"\", url: \"\", type: \"Person\"}); authorRows(); update(); }); sub(p, \"Editora (opcional)\"); var r5 = row(p); field(r5, \"Nome do site ou da empresa\", \"a-pubname\", {ph: \"Homehost\"}); field(r5, \"Logo\", \"a-publogo\", {ph: \"https:\" + S2 + \"www.seusite.com.br\/logo.png\", type: \"url\"}); } function faqRows() { var box = el(\"f-rows\"); box.textContent = \"\"; for (var i = 0; i !== st.faq.length; i++) { var w = add(box, \"div\", \"\", \"background:#ffffff;border:1px solid #d5dce5;border-radius:10px;padding:10px 12px;margin-top:8px;\"); var hd = add(w, \"div\", \"\", \"display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;\"); add(hd, \"div\", \"Pergunta \" + (i + 1), \"font-weight:800;font-size:13px;color:\" + NAVY + \";\"); if (gt(st.faq.length, 1)) { var x = btn(hd, \"Remover\", false); x.setAttribute(\"data-i\", String(i)); x.addEventListener(\"click\", function () { st.faq.splice(Number(this.getAttribute(\"data-i\")), 1); faqRows(); update(); }); } var q = add(w, \"input\", \"\", INP); q.type = \"text\"; q.value = st.faq[i].q; q.setAttribute(\"placeholder\", \"Pergunta\"); q.setAttribute(\"aria-label\", \"Pergunta \" + (i + 1)); q.setAttribute(\"data-i\", String(i)); q.addEventListener(\"input\", function () { st.faq[Number(this.getAttribute(\"data-i\"))].q = this.value; update(); }); var a = add(w, \"textarea\", \"\", INP + \"min-height:64px;resize:vertical;margin-top:6px;line-height:1.45;\"); a.value = st.faq[i].a; a.setAttribute(\"placeholder\", \"Resposta\"); a.setAttribute(\"aria-label\", \"Resposta \" + (i + 1)); a.setAttribute(\"data-i\", String(i)); a.addEventListener(\"input\", function () { st.faq[Number(this.getAttribute(\"data-i\"))].a = this.value; update(); }); } } function buildFaq(p) { var wb = add(p, \"div\", \"\", \"background:#fff4e5;border-left:4px solid #b45309;border-radius:6px;padding:8px 10px;margin:12px 0 0;font-size:14px;line-height:1.5;color:#0F172A;\"); add(wb, \"span\", U(9888) + \" \", \"color:#b45309;font-weight:800;\"); wb.appendChild(document.createTextNode(\"Desde 7 de maio de 2026, o Google n\" + U(227) + \"o mostra mais o resultado com perguntas frequentes. O c\" + U(243) + \"digo continua v\" + U(225) + \"lido e n\" + U(227) + \"o prejudica o site, mas n\" + U(227) + \"o gera destaque na busca do Google.\")); wb.id = PFX + \"f-warn\"; var imp = add(p, \"details\", \"\", \"background:#ffffff;border:1px solid #d5dce5;border-radius:10px;padding:10px 12px;margin-top:10px;\"); add(imp, \"summary\", \"Colar perguntas e respostas de uma vez\", \"cursor:pointer;font-weight:700;font-size:14px;color:\" + NAVY + \";\"); add(imp, \"div\", \"Cole o FAQ do artigo: cada linha que termina com ponto de interroga\" + U(231) + U(227) + \"o vira uma pergunta, e as linhas seguintes viram a resposta.\", \"font-size:12.5px;color:#475569;margin:8px 0 6px;line-height:1.45;\"); var ta = add(imp, \"textarea\", \"\", INP + \"min-height:110px;resize:vertical;line-height:1.45;\"); ta.id = PFX + \"f-paste\"; ta.setAttribute(\"aria-label\", \"Perguntas e respostas para importar\"); var ib = btn(add(imp, \"div\", \"\", \"margin-top:8px;\"), \"Importar\", false); ib.addEventListener(\"click\", function () { var r = importFaq(ta.value); if (r.length) { st.faq = r; faqRows(); update(); ta.value = \"\"; imp.open = false; } else { ta.setAttribute(\"style\", INP + \"min-height:110px;resize:vertical;line-height:1.45;border-color:#b42318;\"); } }); var rb = add(p, \"div\", \"\"); rb.id = PFX + \"f-rows\"; faqRows(); var fa = btn(add(p, \"div\", \"\", \"margin-top:8px;\"), \"+ Adicionar pergunta\", false); fa.addEventListener(\"click\", function () { st.faq.push({q: \"\", a: \"\"}); faqRows(); update(); }); } var TABS = [[\"local\", \"Empresa local\"], [\"org\", \"Organiza\" + U(231) + U(227) + \"o\"], [\"art\", \"Artigo\"], [\"faq\", \"FAQ\"]]; function tabStyle(on) { return \"flex:1 1 120px;padding:9px 12px;border:1px solid \" + NAVY + \";border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;margin:0;line-height:1.3;background:\" + (on ? NAVY : \"#ffffff\") + \";color:\" + (on ? \"#ffffff\" : NAVY) + \";\"; } function setTab(t) { st.tab = t; for (var i = 0; i !== TABS.length; i++) { var on = TABS[i][0] === t; var b = el(\"t-\" + TABS[i][0]); b.setAttribute(\"style\", tabStyle(on)); b.setAttribute(\"aria-pressed\", on ? \"true\" : \"false\"); el(\"p-\" + TABS[i][0]).style.display = on ? \"block\" : \"none\"; } update(); } add(root0, \"div\", \"Gerador de dados estruturados\", \"font-weight:800;font-size:19px;color:\" + NAVY + \";margin-bottom:4px;\"); add(root0, \"p\", \"Escolha o tipo, preencha o formul\" + U(225) + \"rio e copie o c\" + U(243) + \"digo JSON-LD pronto para colar no site. O gerador confere os campos que o Google pede e avisa o que falta.\", \"margin:0 0 12px;line-height:1.5;font-size:14.5px;\"); var tb = add(root0, \"div\", \"\", \"display:flex;flex-wrap:wrap;gap:8px;\"); for (var t0 = 0; t0 !== TABS.length; t0++) { var tbtn = add(tb, \"button\", TABS[t0][1], tabStyle(t0 === 0)); tbtn.type = \"button\"; tbtn.id = PFX + \"t-\" + TABS[t0][0]; tbtn.setAttribute(\"data-t\", TABS[t0][0]); tbtn.addEventListener(\"click\", function () { setTab(this.getAttribute(\"data-t\")); }); } var panels = add(root0, \"div\", \"\", \"margin-top:4px;\"); var BUILD = {local: buildLocal, org: buildOrg, art: buildArt, faq: buildFaq}; for (var t1 = 0; t1 !== TABS.length; t1++) { var pn = add(panels, \"div\", \"\", t1 === 0 ? \"\" : \"display:none;\"); pn.id = PFX + \"p-\" + TABS[t1][0]; BUILD[TABS[t1][0]](pn); } var nt = add(root0, \"div\", \"\", \"margin-top:12px;\"); nt.id = PFX + \"notes\"; nt.setAttribute(\"aria-live\", \"polite\"); var wt = add(root0, \"div\", \"Preencha os campos marcados acima para gerar o c\" + U(243) + \"digo.\", \"display:none;margin-top:12px;font-size:14px;color:#475569;\"); wt.id = PFX + \"wait\"; var out0 = add(root0, \"div\", \"\", \"display:none;\"); out0.id = PFX + \"out\"; add(out0, \"div\", \"C\" + U(243) + \"digo para o site\", \"font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:#475569;margin:18px 0 8px;\"); var pre = add(out0, \"pre\", \"\", \"margin:0;background:#ffffff;border:1px solid #d5dce5;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:#0F172A;max-height:420px;overflow:auto;\" + MONO); pre.id = PFX + \"code\"; var bt = add(out0, \"div\", \"\", \"display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center;\"); var cp = btn(bt, \"Copiar c\" + U(243) + \"digo\", true); cp.id = PFX + \"copy\"; cp.addEventListener(\"click\", function () { var txt = el(\"code\").textContent; function done() { cp.textContent = \"Copiado\"; setTimeout(function () { cp.textContent = \"Copiar c\" + U(243) + \"digo\"; }, 1500); } function manual() { cp.textContent = \"Selecione e copie\"; } if (navigator.clipboard ? navigator.clipboard.writeText : false) { navigator.clipboard.writeText(txt).then(done, manual); } else { manual(); } }); var a1 = add(bt, \"a\", \"Testar no Google\", \"display:inline-block;padding:6px 12px;border:1px solid \" + NAVY + \";border-radius:7px;background:#ffffff;color:\" + NAVY + \";font-size:13px;font-weight:700;text-decoration:none;line-height:1.3;\"); a1.href = RRT; a1.target = \"_blank\"; a1.rel = \"noopener\"; var a2 = add(bt, \"a\", \"Validar no Schema.org\", \"display:inline-block;padding:6px 12px;border:1px solid \" + NAVY + \";border-radius:7px;background:#ffffff;color:\" + NAVY + \";font-size:13px;font-weight:700;text-decoration:none;line-height:1.3;\"); a2.href = SMV; a2.target = \"_blank\"; a2.rel = \"noopener\"; add(out0, \"p\", \"No teste do Google, escolha a op\" + U(231) + U(227) + \"o C\" + U(243) + \"digo e cole o que voc\" + U(234) + \" copiou. No WordPress, cole o c\" + U(243) + \"digo em um bloco HTML personalizado da p\" + U(225) + \"gina que ele descreve.\", \"margin:10px 0 0;font-size:13.5px;color:#334155;line-height:1.5;\"); add(root0, \"p\", \"Tudo acontece no seu navegador: nada do que voc\" + U(234) + \" digita \" + U(233) + \" enviado para outro servidor.\", \"margin:16px 0 0;font-size:12.5px;color:#475569;line-height:1.5;\"); update(); })();<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">O que s\u00e3o dados estruturados<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O Google l\u00ea o texto das p\u00e1ginas, mas nem sempre tem certeza do que cada informa\u00e7\u00e3o significa. Os dados estruturados resolvem isso: em vez de deixar o Google deduzir que \u201cRua das Flores, 123\u201d \u00e9 um endere\u00e7o, o c\u00f3digo diz isso de forma expl\u00edcita, com um vocabul\u00e1rio padr\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse vocabul\u00e1rio \u00e9 o <a href=\"https:\/\/schema.org\/\">schema.org<\/a>, fundado por Google, Microsoft, Yahoo e Yandex. Ele define tipos, como empresa local, artigo e produto, e as propriedades de cada um, como nome, endere\u00e7o e hor\u00e1rio. Por isso, muita gente chama os dados estruturados simplesmente de schema. Eles fazem parte do lado t\u00e9cnico do <a href=\"https:\/\/www.homehost.com.br\/blog\/seo\/o-que-e-seo\/\">SEO<\/a>, junto com o t\u00edtulo, a meta descri\u00e7\u00e3o e a velocidade do site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo pode ser escrito em tr\u00eas formatos: JSON-LD, Microdata e RDFa. O Google aceita os tr\u00eas, mas recomenda o JSON-LD, porque ele fica em um bloco separado e n\u00e3o mexe no HTML da p\u00e1gina. \u00c9 o formato que o gerador usa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Bakery\",\n  \"name\": \"Padaria da Jo\u00e3o\",\n  \"telephone\": \"+55 11 3333-4444\"\n}\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O Google n\u00e3o promete uma posi\u00e7\u00e3o melhor por causa dos dados estruturados. O ganho est\u00e1 em ser entendido corretamente e, em alguns tipos, em aparecer na busca com mais informa\u00e7\u00f5es. Mesmo com o c\u00f3digo perfeito, o Google n\u00e3o garante que esses destaques apare\u00e7am, segundo as <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/sd-policies\">diretrizes gerais de dados estruturados<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Os tipos que o gerador cria<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Tipo<\/th><th>O que informa<\/th><th>Onde colocar<\/th><\/tr><\/thead><tbody><tr><td>Empresa local<\/td><td>Nome, endere\u00e7o, telefone, hor\u00e1rio, coordenadas<\/td><td>P\u00e1gina inicial ou p\u00e1gina de contato<\/td><\/tr><tr><td>Organiza\u00e7\u00e3o<\/td><td>Logo, site, redes sociais, contato, CNPJ<\/td><td>P\u00e1gina inicial ou p\u00e1gina Quem somos<\/td><\/tr><tr><td>Artigo<\/td><td>T\u00edtulo, imagens, datas de publica\u00e7\u00e3o e de atualiza\u00e7\u00e3o, autor<\/td><td>Em cada artigo<\/td><\/tr><tr><td>FAQ<\/td><td>Perguntas e respostas<\/td><td>Na p\u00e1gina que tem o FAQ vis\u00edvel<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/tipos-de-dados-estruturados-777x1024.png\" alt=\"Infogr\u00e1fico com os quatro tipos de dados estruturados, empresa local, organiza\u00e7\u00e3o, artigo e FAQ, e o que cada um informa\" class=\"wp-image-18606\" width=\"777\" height=\"1024\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/tipos-de-dados-estruturados-777x1024.png 777w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/tipos-de-dados-estruturados-228x300.png 228w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/tipos-de-dados-estruturados-768x1013.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/tipos-de-dados-estruturados.png 1092w\" sizes=\"(max-width: 777px) 100vw, 777px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Empresa local<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 o tipo de quem atende em um endere\u00e7o f\u00edsico: loja, restaurante, consult\u00f3rio, escrit\u00f3rio. O Google exige s\u00f3 o nome e o endere\u00e7o, mas recomenda tamb\u00e9m o telefone com DDD, o site, o hor\u00e1rio de funcionamento e as coordenadas, com pelo menos cinco casas decimais. O gerador tem uma lista de tipos espec\u00edficos, como padaria, dentista e oficina mec\u00e2nica, porque o Google pede que se use o tipo mais espec\u00edfico poss\u00edvel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use os mesmos nome, endere\u00e7o e telefone do Perfil da Empresa no Google. Dados diferentes em cada lugar confundem o Google e o cliente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Organiza\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Serve para qualquer empresa, inclusive as que s\u00f3 existem on-line. Nenhum campo \u00e9 obrigat\u00f3rio, mas o logo, o site e os perfis nas redes sociais ajudam o Google a escolher o logo e os dados que aparecem nos resultados e no painel da empresa. O logo precisa ter pelo menos 112 \u00d7 112 px e ficar bem em fundo branco. O c\u00f3digo vai s\u00f3 na p\u00e1gina inicial ou na p\u00e1gina Quem somos, e n\u00e3o em todas as p\u00e1ginas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Artigo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Diz ao Google qual \u00e9 o t\u00edtulo, quais s\u00e3o as imagens, quem escreveu e quando o texto foi publicado e atualizado. Para o autor, o Google pede s\u00f3 o nome da pessoa, sem cargo nem empresa, e um link para o perfil dela. As datas devem incluir o fuso hor\u00e1rio: o gerador acrescenta o de Bras\u00edlia, ou o que voc\u00ea escolher.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FAQ<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Marca as perguntas e respostas da p\u00e1gina. Em maio de 2026, o Google deixou de mostrar o resultado com perguntas frequentes, que desde 2023 j\u00e1 aparecia s\u00f3 para sites de governo e de sa\u00fade, e em junho tirou do ar a documenta\u00e7\u00e3o do recurso, segundo o <a href=\"https:\/\/developers.google.com\/search\/updates\">registro de atualiza\u00e7\u00f5es do Google Search<\/a>. O c\u00f3digo FAQPage continua v\u00e1lido no schema.org e n\u00e3o h\u00e1 indica\u00e7\u00e3o de que ele prejudique o site, mas ele n\u00e3o gera mais destaque na busca do Google.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como colocar o c\u00f3digo no site<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">No WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Abra a p\u00e1gina que o c\u00f3digo descreve, adicione um bloco <strong>HTML personalizado<\/strong> e cole o c\u00f3digo. O c\u00f3digo da empresa local ou da organiza\u00e7\u00e3o vai na p\u00e1gina inicial ou na p\u00e1gina de contato; o do artigo, no pr\u00f3prio artigo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes, confira o que o seu plugin de SEO j\u00e1 gera. O Yoast e o Rank Math normalmente criam sozinhos o schema da organiza\u00e7\u00e3o, do site e de cada artigo. Nesses casos, use o gerador para o que o plugin n\u00e3o cobre, como a empresa local, para n\u00e3o ter dois c\u00f3digos dizendo coisas diferentes sobre a mesma p\u00e1gina. Se ainda n\u00e3o usa um plugin de SEO, veja por que o <a href=\"https:\/\/www.homehost.com.br\/blog\/seo\/seo-marketing-20-dicas-subir-no-google\/\">Yoast vale a pena<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Em um site em HTML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cole o c\u00f3digo dentro do <code>&lt;head&gt;<\/code> ou do <code>&lt;body&gt;<\/code> da p\u00e1gina. O Google l\u00ea o JSON-LD nas duas posi\u00e7\u00f5es. Se o site tem v\u00e1rias p\u00e1ginas, coloque cada c\u00f3digo s\u00f3 na p\u00e1gina a que ele se refere.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como testar o c\u00f3digo<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Teste de pesquisa aprimorada:<\/strong> a <a href=\"https:\/\/search.google.com\/test\/rich-results\">ferramenta do Google<\/a> aceita o endere\u00e7o da p\u00e1gina ou o c\u00f3digo colado e mostra os erros e os recursos para os quais a p\u00e1gina est\u00e1 qualificada.<\/li>\n\n\n\n<li><strong>Validador do Schema.org:<\/strong> o <a href=\"https:\/\/validator.schema.org\/\">validador<\/a> confere qualquer tipo do vocabul\u00e1rio. \u00c9 o caminho para testar o FAQ, que deixou de ser um recurso do Google.<\/li>\n\n\n\n<li><strong>Search Console:<\/strong> depois que o c\u00f3digo est\u00e1 no ar, a Inspe\u00e7\u00e3o de URL e os relat\u00f3rios de melhorias mostram se o Google encontrou erros nas p\u00e1ginas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Erros comuns nos dados estruturados<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Marcar o que n\u00e3o aparece na p\u00e1gina.<\/strong> O Google n\u00e3o aceita dados estruturados de conte\u00fado escondido. Se o c\u00f3digo diz que a empresa abre aos s\u00e1bados, isso precisa estar escrito no site.<\/li>\n\n\n\n<li><strong>Ter dois c\u00f3digos para a mesma coisa.<\/strong> \u00c9 o caso t\u00edpico de quem cola um schema de artigo em um site que j\u00e1 tem o Yoast fazendo o mesmo.<\/li>\n\n\n\n<li><strong>Usar imagens que o Google n\u00e3o consegue acessar.<\/strong> O endere\u00e7o da imagem precisa funcionar e n\u00e3o pode estar <a href=\"https:\/\/www.homehost.com.br\/blog\/seo\/robots-txt\/\">bloqueado no robots.txt<\/a>.<\/li>\n\n\n\n<li><strong>Deixar as datas sem fuso hor\u00e1rio.<\/strong> Sem ele, o Google usa o fuso dele, e a data pode mudar de dia.<\/li>\n\n\n\n<li><strong>Escolher o tipo gen\u00e9rico.<\/strong> Se existe um tipo para o seu neg\u00f3cio, como restaurante ou dentista, use ele em vez de empresa local.<\/li>\n\n\n\n<li><strong>Colocar cargo no nome do autor.<\/strong> \u201cDra. Ana Lima, editora-chefe\u201d deve virar s\u00f3 \u201cAna Lima\u201d.<\/li>\n<\/ul>\n\n\n\n<div style=\"max-width:780px;margin:24px auto;border:1px solid #c9d2dd;border-left:6px solid #0b3d91;border-radius:12px;padding:18px 22px;background:#f4f6f9;font-family:Arial,Helvetica,sans-serif;color:#0F172A;box-sizing:border-box;\">\n<div style=\"font-weight:800;font-size:17px;color:#0b3d91;margin-bottom:6px;\">Coloque seu site no ar na Homehost<\/div>\n<p style=\"margin:0 0 12px;line-height:1.6;font-size:15px;\">Hospedagem com servidores LiteSpeed e certificado SSL gr\u00e1tis, para o seu site carregar r\u00e1pido e com o cadeado de seguran\u00e7a.<\/p>\n<a href=\"https:\/\/www.homehost.com.br\/hospedagem-de-sites\/\" style=\"display:inline-block;margin:0 0 6px;padding:9px 18px;background:#0b3d91;color:#ffffff;border-radius:8px;font-weight:700;font-size:14.5px;text-decoration:none;\">Ver planos de hospedagem<\/a>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O que s\u00e3o dados estruturados?<\/strong><br>S\u00e3o um c\u00f3digo que descreve o conte\u00fado da p\u00e1gina em um formato padr\u00e3o, o schema.org, para que o Google e outros buscadores entendam o que cada informa\u00e7\u00e3o significa. Eles dizem, por exemplo, que um texto \u00e9 um endere\u00e7o, que um n\u00famero \u00e9 o telefone ou que uma data \u00e9 a da publica\u00e7\u00e3o de um artigo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dados estruturados melhoram a posi\u00e7\u00e3o no Google?<\/strong><br>O Google n\u00e3o promete isso. O que os dados estruturados fazem \u00e9 ajudar o Google a entender a p\u00e1gina e, em alguns tipos, permitir que ela apare\u00e7a com mais informa\u00e7\u00f5es nos resultados. Mesmo com o c\u00f3digo certo, o Google n\u00e3o garante esses destaques.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O schema FAQ ainda funciona no Google?<\/strong><br>O c\u00f3digo continua v\u00e1lido, mas o Google deixou de mostrar o resultado com perguntas frequentes em maio de 2026. Antes disso, desde 2023, ele j\u00e1 aparecia s\u00f3 para sites de governo e de sa\u00fade. Vale manter o FAQ na p\u00e1gina se ele ajuda o leitor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Qual formato usar: JSON-LD, Microdata ou RDFa?<\/strong><br>JSON-LD. O Google aceita os tr\u00eas, mas recomenda o JSON-LD, porque ele fica em um bloco separado do HTML e \u00e9 mais f\u00e1cil de criar e de corrigir. \u00c9 o formato que o gerador desta p\u00e1gina usa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Onde colocar o c\u00f3digo JSON-LD?<\/strong><br>Na p\u00e1gina que ele descreve, dentro do head ou do body. No WordPress, use um bloco HTML personalizado. O c\u00f3digo da organiza\u00e7\u00e3o vai s\u00f3 na p\u00e1gina inicial ou na p\u00e1gina Quem somos, e o de cada artigo, no pr\u00f3prio artigo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como saber se o site j\u00e1 tem dados estruturados?<\/strong><br>Teste o endere\u00e7o da p\u00e1gina no Teste de pesquisa aprimorada do Google ou no validador do Schema.org. Os dois mostram todos os c\u00f3digos que encontram. Se o site usa Yoast ou Rank Math, \u00e9 prov\u00e1vel que j\u00e1 exista o schema da organiza\u00e7\u00e3o e dos artigos.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"O que s\u00e3o dados estruturados?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"S\u00e3o um c\u00f3digo que descreve o conte\u00fado da p\u00e1gina em um formato padr\u00e3o, o schema.org, para que o Google e outros buscadores entendam o que cada informa\u00e7\u00e3o significa. Eles dizem, por exemplo, que um texto \u00e9 um endere\u00e7o, que um n\u00famero \u00e9 o telefone ou que uma data \u00e9 a da publica\u00e7\u00e3o de um artigo.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Dados estruturados melhoram a posi\u00e7\u00e3o no Google?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"O Google n\u00e3o promete isso. O que os dados estruturados fazem \u00e9 ajudar o Google a entender a p\u00e1gina e, em alguns tipos, permitir que ela apare\u00e7a com mais informa\u00e7\u00f5es nos resultados. Mesmo com o c\u00f3digo certo, o Google n\u00e3o garante esses destaques.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"O schema FAQ ainda funciona no Google?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"O c\u00f3digo continua v\u00e1lido, mas o Google deixou de mostrar o resultado com perguntas frequentes em maio de 2026. Antes disso, desde 2023, ele j\u00e1 aparecia s\u00f3 para sites de governo e de sa\u00fade. Vale manter o FAQ na p\u00e1gina se ele ajuda o leitor.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Qual formato usar: JSON-LD, Microdata ou RDFa?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"JSON-LD. O Google aceita os tr\u00eas, mas recomenda o JSON-LD, porque ele fica em um bloco separado do HTML e \u00e9 mais f\u00e1cil de criar e de corrigir. \u00c9 o formato que o gerador desta p\u00e1gina usa.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Onde colocar o c\u00f3digo JSON-LD?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Na p\u00e1gina que ele descreve, dentro do head ou do body. No WordPress, use um bloco HTML personalizado. O c\u00f3digo da organiza\u00e7\u00e3o vai s\u00f3 na p\u00e1gina inicial ou na p\u00e1gina Quem somos, e o de cada artigo, no pr\u00f3prio artigo.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Como saber se o site j\u00e1 tem dados estruturados?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Teste o endere\u00e7o da p\u00e1gina no Teste de pesquisa aprimorada do Google ou no validador do Schema.org. Os dois mostram todos os c\u00f3digos que encontram. Se o site usa Yoast ou Rank Math, \u00e9 prov\u00e1vel que j\u00e1 exista o schema da organiza\u00e7\u00e3o e dos artigos.\"\n      }\n    }\n  ]\n}\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dados estruturados s\u00e3o a forma de dizer ao Google, sem margem para d\u00favida, quem \u00e9 a empresa, onde ela fica, quando abre e quem escreveu cada artigo. O gerador cria esse c\u00f3digo a partir de um formul\u00e1rio e aponta o que falta. Depois de colar o c\u00f3digo no site, teste a p\u00e1gina e confira se o plugin de SEO n\u00e3o est\u00e1 gerando o mesmo schema. E lembre que o FAQ continua \u00fatil para o leitor, mas n\u00e3o gera mais destaque no Google.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dados estruturados s\u00e3o um c\u00f3digo, invis\u00edvel para o visitante, que conta ao Google o que a p\u00e1gina \u00e9: uma empresa com endere\u00e7o e hor\u00e1rio, um artigo com autor e data, uma organiza\u00e7\u00e3o com logo e redes sociais. Com o gerador abaixo, voc\u00ea preenche um formul\u00e1rio e copia o c\u00f3digo pronto, no formato JSON-LD, que \u00e9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":18605,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[24],"tags":[],"class_list":["post-18604","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dados estruturados: o que s\u00e3o e gerador de schema | Homehost<\/title>\n<meta name=\"description\" content=\"Entenda o que s\u00e3o dados estruturados e gere o c\u00f3digo JSON-LD de empresa local, organiza\u00e7\u00e3o, artigo e FAQ. Veja como testar e colocar no site.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dados estruturados: o que s\u00e3o e gerador de schema | Homehost\" \/>\n<meta property=\"og:description\" content=\"Entenda o que s\u00e3o dados estruturados e gere o c\u00f3digo JSON-LD de empresa local, organiza\u00e7\u00e3o, artigo e FAQ. Veja como testar e colocar no site.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-05T21:16:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-05T22:02:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Gustavo Gallas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gustavo Gallas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/\"},\"author\":{\"name\":\"Gustavo Gallas\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/df8002f43fc55e7f4e132abb2a6ddbc4\"},\"headline\":\"Dados estruturados: o que s\u00e3o e gerador de schema\",\"datePublished\":\"2026-11-05T21:16:24+00:00\",\"dateModified\":\"2026-11-05T22:02:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/\"},\"wordCount\":1716,\"publisher\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/dados-estruturados.png\",\"articleSection\":[\"SEO\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/\",\"url\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/\",\"name\":\"Dados estruturados: o que s\u00e3o e gerador de schema | Homehost\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/dados-estruturados.png\",\"datePublished\":\"2026-11-05T21:16:24+00:00\",\"dateModified\":\"2026-11-05T22:02:29+00:00\",\"description\":\"Entenda o que s\u00e3o dados estruturados e gere o c\u00f3digo JSON-LD de empresa local, organiza\u00e7\u00e3o, artigo e FAQ. Veja como testar e colocar no site.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/dados-estruturados.png\",\"contentUrl\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/dados-estruturados.png\",\"width\":1672,\"height\":941,\"caption\":\"P\u00e1gina de site ligada a um bloco de c\u00f3digo e \u00e0s etiquetas de empresa, artigo e organiza\u00e7\u00e3o, representando dados estruturados\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/seo\\\/dados-estruturados\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dados estruturados: o que s\u00e3o e gerador de schema\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#organization\",\"name\":\"Homehost\",\"url\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/logo-detalhes.png\",\"contentUrl\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/logo-detalhes.png\",\"width\":150,\"height\":48,\"caption\":\"Homehost\"},\"image\":{\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Homehost\\\/\",\"https:\\\/\\\/x.com\\\/Homehost\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.homehost.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/df8002f43fc55e7f4e132abb2a6ddbc4\",\"name\":\"Gustavo Gallas\",\"description\":\"Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do B\u00f3ris, seu pet de estima\u00e7\u00e3o. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos t\u00e9cnicos. Contato: gustavo.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dados estruturados: o que s\u00e3o e gerador de schema | Homehost","description":"Entenda o que s\u00e3o dados estruturados e gere o c\u00f3digo JSON-LD de empresa local, organiza\u00e7\u00e3o, artigo e FAQ. Veja como testar e colocar no site.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/","og_locale":"pt_BR","og_type":"article","og_title":"Dados estruturados: o que s\u00e3o e gerador de schema | Homehost","og_description":"Entenda o que s\u00e3o dados estruturados e gere o c\u00f3digo JSON-LD de empresa local, organiza\u00e7\u00e3o, artigo e FAQ. Veja como testar e colocar no site.","og_url":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2026-11-05T21:16:24+00:00","article_modified_time":"2026-11-05T22:02:29+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png","type":"image\/png"}],"author":"Gustavo Gallas","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Gustavo Gallas","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#article","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/"},"author":{"name":"Gustavo Gallas","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4"},"headline":"Dados estruturados: o que s\u00e3o e gerador de schema","datePublished":"2026-11-05T21:16:24+00:00","dateModified":"2026-11-05T22:02:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/"},"wordCount":1716,"publisher":{"@id":"https:\/\/www.homehost.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png","articleSection":["SEO"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/","url":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/","name":"Dados estruturados: o que s\u00e3o e gerador de schema | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png","datePublished":"2026-11-05T21:16:24+00:00","dateModified":"2026-11-05T22:02:29+00:00","description":"Entenda o que s\u00e3o dados estruturados e gere o c\u00f3digo JSON-LD de empresa local, organiza\u00e7\u00e3o, artigo e FAQ. Veja como testar e colocar no site.","breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png","width":1672,"height":941,"caption":"P\u00e1gina de site ligada a um bloco de c\u00f3digo e \u00e0s etiquetas de empresa, artigo e organiza\u00e7\u00e3o, representando dados estruturados"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/seo\/dados-estruturados\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Dados estruturados: o que s\u00e3o e gerador de schema"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","publisher":{"@id":"https:\/\/www.homehost.com.br\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.homehost.com.br\/blog\/#organization","name":"Homehost","url":"https:\/\/www.homehost.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/10\/logo-detalhes.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2022\/10\/logo-detalhes.png","width":150,"height":48,"caption":"Homehost"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Homehost\/","https:\/\/x.com\/Homehost"]},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4","name":"Gustavo Gallas","description":"Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do B\u00f3ris, seu pet de estima\u00e7\u00e3o. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos t\u00e9cnicos. Contato: gustavo.blog@homehost.com.br"}]}},"modified_by":"ad_hmhst","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/11\/dados-estruturados.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/18604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=18604"}],"version-history":[{"count":3,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/18604\/revisions"}],"predecessor-version":[{"id":18622,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/18604\/revisions\/18622"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/18605"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=18604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=18604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=18604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}