{"id":23793,"date":"2024-08-13T19:11:33","date_gmt":"2024-08-13T17:11:33","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=23793"},"modified":"2026-03-12T10:11:28","modified_gmt":"2026-03-12T09:11:28","slug":"implementar-datos-estructurados-en-wordpress","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/como-implementar-datos-estructurados-wordpress\/","title":{"rendered":"C\u00f3mo implementar datos estructurados en WordPress en 4 pasos"},"content":{"rendered":"<p>En el SEO, cualquier ventaja para <strong>destacar frente a la competencia<\/strong> es bienvenida. Una manera de hacer tu web m\u00e1s visual y atractiva en los resultados de b\u00fasqueda de Google es implementar <strong>datos estructurados<\/strong>.<\/p>\n<p>Gracias a ellos, los usuarios tendr\u00e1n <strong>m\u00e1s informaci\u00f3n<\/strong> sobre lo que se encontrar\u00e1n dentro de tu web, y el buscador tambi\u00e9n podr\u00e1 <strong>entender mejor c\u00f3mo se estructura tu contenido<\/strong>.<\/p>\n<p>\u00bfQuieres implementar estos datos estructurados en tu web WordPress? Hoy vas a aprender a hacerlo como un profesional.<\/p>\n<h2>Qu\u00e9 son los datos estructurados<\/h2>\n<p>Los datos estructurados son un formato estandarizado que permite <strong>ofrecer informaci\u00f3n adicional y espec\u00edfica a los usuarios<\/strong> en la p\u00e1gina de resultados de Google.<\/p>\n<p>Utilizan un vocabulario conocido como <strong>Schema<\/strong> y se suelen implementar en tu web mediante c\u00f3digo JSON-LD.<\/p>\n<p>Estos presentan una <strong>estructura clara y consistente<\/strong>, lo que permite a los motores de b\u00fasqueda interpretar y procesar la informaci\u00f3n de manera m\u00e1s efectiva.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-23794 size-full\" title=\"Qu\u00e9 son datos estructurados\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/que-son-datos-estructurados.webp\" alt=\"Qu\u00e9 son datos estructurados\" width=\"1200\" height=\"391\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/que-son-datos-estructurados.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/que-son-datos-estructurados-300x98.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/que-son-datos-estructurados-1024x334.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/que-son-datos-estructurados-768x250.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h2>Por qu\u00e9 los datos estructurados son importantes para el SEO<\/h2>\n<p>Los beneficios de aplicar datos estructurados en tu web van m\u00e1s all\u00e1 de contribuir a mejorar el SEO. Al implementarlos, notar\u00e1s que:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <strong>Aumenta la visibilidad de tu p\u00e1gina<\/strong>: al aparecer tu resultado de una forma m\u00e1s <strong>enriquecida<\/strong>, destacar\u00e1 m\u00e1s frente a otras webs en la p\u00e1gina de resultados de Google.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <strong>Incrementa la tasa de clics (CTR)<\/strong>: estos resultados de b\u00fasqueda enriquecidos son m\u00e1s llamativos y proporcionan informaci\u00f3n adicional en la p\u00e1gina de resultados de b\u00fasqueda, lo que transmite una mayor confianza al usuario y fomenta el clic.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <strong>Mejora la comprensi\u00f3n de tu web por parte de Google<\/strong>: Los datos estructurados permiten a los motores de b\u00fasqueda entender con mayor precisi\u00f3n el contexto de las p\u00e1ginas web, aclarando cualquier t\u00e9rmino <strong>ambiguo.<\/strong><\/li>\n<\/ul>\n<\/div>\n<p>Podr\u00e1s conseguir estos beneficios sea cual sea el sector de tu negocio, ya que hay una gran variedad de datos estructurados.<\/p>\n<p>M\u00e1s adelante en el art\u00edculo ver\u00e1s ejemplos de los datos estructurados m\u00e1s comunes, pero antes, \u00bfqu\u00e9 tal si te cuento c\u00f3mo debes implementarlos en tu WordPress en 4 sencillos pasos?<\/p>\n<p><span data-sheets-root=\"1\"><div id=\"brxe-5c527e\" class=\"brxe-block p-2 gap-15\"><div id=\"brxe-d69b57\" class=\"brxe-text-basic h3\">Descubre 6 t\u00e9cnicas sencillas (pero eficaces) para que las visitas de tu web crezcan m\u00e1s r\u00e1pido que la espuma de una cerveza mal tirada.\n<\/div><div id=\"brxe-445cc8\" class=\"brxe-text-basic\"><strong>Aunque no seas un experto en SEO<\/strong> ni puedas dedicarte mucho tiempo a esto.<\/div><div id=\"brxe-lbvkeh\" data-script-id=\"lbvkeh\" class=\"brxe-code incontent-form-html\"><style>@import url(https:\/\/fonts.bunny.net\/css?family=source-sans-pro:400,700);<\/style>\n<style>\n#_form_331_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_331_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_331_._form-top{top:0}#_form_331_._form-bottom{bottom:0}#_form_331_._form-left{left:0}#_form_331_._form-right{right:0}#_form_331_ input[type=\"text\"],#_form_331_ input[type=\"tel\"],#_form_331_ input[type=\"date\"],#_form_331_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_331_ textarea{resize:none}#_form_331_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}#_form_331_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_331_ ._submit.processing{position:relative}#_form_331_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#00C4A7, #00C4A7), conic-gradient(#00C4A7, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_331_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_331_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_331_ ._close-icon:before{position:relative}#_form_331_ ._form-body{margin-bottom:30px}#_form_331_ ._form-image-left{width:150px;float:left}#_form_331_ ._form-content-right{margin-left:164px}#_form_331_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_331_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_331_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_331_ ._form-label,#_form_331_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_331_._dark ._form-branding{color:#333}#_form_331_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_331_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_331_ ._form_element *{font-size:14px}#_form_331_ ._form_element._clear{clear:both;width:100%;float:none}#_form_331_ ._form_element._clear:after{clear:left}#_form_331_ ._form_element input[type=\"text\"],#_form_331_ ._form_element input[type=\"date\"],#_form_331_ ._form_element select,#_form_331_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_331_ ._field-wrapper{position:relative}#_form_331_ ._inline-style{float:left}#_form_331_ ._inline-style input[type=\"text\"]{width:150px}#_form_331_ ._inline-style:not(._clear){margin-right:20px}#_form_331_ ._form_element img._form-image{max-width:100%}#_form_331_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_331_ ._clear-element{clear:left}#_form_331_ ._full_width{width:100%}#_form_331_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_331_ input[type=\"text\"]._has_error,#_form_331_ textarea._has_error{border:#F37C7B 1px solid}#_form_331_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_331_ ._show_be_error{float:left}#_form_331_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_331_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_331_ ._error._below{padding-top:8px;top:100%;right:0}#_form_331_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_331_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_331_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_331_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_331_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_331_ ._button-wrapper ._error-inner._form_error{position:static}#_form_331_ ._error-inner._no_arrow{margin-bottom:10px}#_form_331_ ._error-arrow{position:absolute;width:0;height:0}#_form_331_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_331_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_331_ select.datetime_time{width:29%;display:inline;height:32px}#_form_331_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_331_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_331_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_331_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_331_ ._form-content{margin:0;width:100%}#_form_331_ ._form-inner{display:block;min-width:100%}#_form_331_ ._form-title,#_form_331_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_331_ ._form-title{font-size:1.2em}#_form_331_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_331_ ._form-element,#_form_331_ ._inline-style,#_form_331_ input[type=\"text\"],#_form_331_ label,#_form_331_ p,#_form_331_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_331_ ._row._checkbox-radio label{display:inline}#_form_331_ ._row,#_form_331_ p,#_form_331_ label{margin-bottom:0.7em;width:100%}#_form_331_ ._row input[type=\"checkbox\"],#_form_331_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_331_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_331_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_331_ ._form-image{max-width:100%;height:auto !important}#_form_331_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_331_ input[type=\"radio\"],#_form_331_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_331_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_331_ ._inline-style{margin:20px 0 0 !important}#_form_331_ ._inline-style input[type=\"text\"]{width:100%}}#_form_331_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_331_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_331_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_331_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_331_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_331_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_331_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_331_ .field-required{color:#FF0000}#_form_331_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0) !important;border-top:0px solid #737373 !important;border-right:0px solid #737373 !important;border-bottom:0px solid #737373 !important;border-left:0px solid #737373 !important;max-width:800px;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#000000}#_form_331_ ._show_be_error{min-width:100%}#_form_331_._inline-form,#_form_331_._inline-form ._form-content{font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._row span,#_form_331_._inline-form ._row label{font-family:Source Sans Pro;font-size:14px;font-weight:400;line-height:1.6em;color:#888 !important}#_form_331__inlineform input[type=\"text\"],#_form_331__inlineform input[type=\"date\"],#_form_331__inlineform input[type=\"tel\"],#_form_331__inlineform select,#_form_331__inlineform textarea:not(.g-recaptcha-response){font-family:Source Sans Pro;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_331_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_331_._inline-form .sms_consent_message,#_form_331_._inline-form ._form-thank-you{font-family:Source Sans Pro;font-size:14px;font-weight:400;color:#888 !important}#_form_331_._inline-form ._form-label,#_form_331_._inline-form ._form-emailidentifier,#_form_331_._inline-form ._form-checkbox-option-label{font-family:Source Sans Pro;font-size:14px;font-weight:700;line-height:1.6em;color:#888 !important}#_form_331_._inline-form ._submit{margin-top:12px;font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._html-code h1,#_form_331_._inline-form ._html-code h2,#_form_331_._inline-form ._html-code h3,#_form_331_._inline-form ._html-code h4,#_form_331_._inline-form ._html-code h5,#_form_331_._inline-form ._html-code h6,#_form_331_._inline-form ._form-title{font-family:Source Sans Pro;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_331_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_331_:before,#_form_331_:after{content:\" \";display:table}#_form_331_:after{clear:both}#_form_331_._inline-style{width:auto;display:inline-block}#_form_331_._inline-style input[type=\"text\"],#_form_331_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_331_._inline-style button._inline-style{position:relative;top:27px}#_form_331_._inline-style p{margin:0}#_form_331_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_331_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_331_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_331_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_331_ .iti{width:100%}#_form_331_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_331_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_331_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_331_ .iti__country-list--dropup{margin-bottom:4px}#_form_331_ .phone-error-hidden{display:none}#_form_331_ .phone-error{color:#E40E49}#_form_331_ .phone-input-error{border:1px solid #E40E49 !important}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_331_ ._submit{width:100%;font-family:\"Source Sans Pro\", Sans-serif !important;font-size:18px !important;font-weight:500 !important}#_form_331_ ._submit:hover{background-color:#04937E !important}#_form_331_ input#email{padding:3px 12px;background-color:#ffffff;border-radius:2px}#_form_331_._form{margin-top:-5px}#_form_331_ ._error._below{position:relative !important}#_form_331_ ._error._above{position:absolute !important}@media (min-width:320px) and (max-width:667px){#_form_331_ ._form_element{margin:0 0 0px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/deandelafuenteromero.activehosted.com\/proc.php\" id=\"_form_331_\" class=\"_form _form_331 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"789ef8b4693eba56cf9cd6622eca7a0e\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x74577619 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"Tu email...\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x87696446 _full_width \" >\n      <fieldset class=\"_form-fieldset\">\n        <div class=\"_row\">\n          <legend for=\"field[15][]\" class=\"_form-label\">\n          <\/legend>\n        <\/div>\n        <input data-autofill=\"false\" type=\"hidden\" id=\"field[15][]\" name=\"field[15][]\" value=\"~|\">\n        <div class=\"_row _checkbox-radio\">\n          <input id=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\" type=\"checkbox\" name=\"field[15][]\"\n          value=\"He le\u00eddo y acepto la pol\u00edtica de privacidad\"                                                                                 required                                >\n          <span>\n            <label for=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\">\n              He le\u00eddo y acepto la pol\u00edtica de privacidad<span class=\"field-required\">\n              *\n            <\/span>\n          <\/label>\n        <\/span>\n      <\/div>\n    <\/fieldset>\n  <\/div>\n  <div class=\"_form_element _x09639014 _full_width \" >\n    <input type=\"hidden\" name=\"field[121]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x64811239 _full_width \" >\n    <input type=\"hidden\" name=\"field[122]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x58860354 _full_width \" >\n    <input type=\"hidden\" name=\"field[123]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x23331849 _full_width \" >\n    <input type=\"hidden\" name=\"field[125]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x72046679 _full_width \" >\n    <input type=\"hidden\" name=\"field[126]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x41336277 _full_width \" >\n    <input type=\"hidden\" name=\"field[127]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_button-wrapper _full_width\">\n    <button id=\"_form_331_submit\" class=\"_submit\" type=\"submit\">\n      Ap\u00fantate aqu\u00ed\n    <\/button>\n  <\/div>\n  <div class=\"_clear-element\">\n  <\/div>\n<\/div>\n<div class=\"_form-thank-you\" style=\"display:none;\">\n<\/div>\n<\/form><script>\nwindow.cfields = {\"15\":\"poltica_privacidad\",\"121\":\"utm_campaign\",\"122\":\"utm_source\",\"123\":\"utm_medium\",\"125\":\"utm_content\",\"126\":\"utm_adset\",\"127\":\"utm_ad\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button[type=\"submit\"]'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner _show_be_error';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Administrar preferencias<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_331_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        const cacheBuster = new URL(window.location.href);\n        cacheBuster.searchParams.set('v', new Date().getTime());\n        window.location.href = cacheBuster.toString();\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_331_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Acorta tus respuestas y vuelve a intentarlo.\");\n            } else {\n                _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    var iti;\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n    var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_331_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat && acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' && (elem.type != 'checkbox' || elem.name === 'sms_consent')) {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found && elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Es necesario verificar %s\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            && (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Este campo es obligatorio.\");\n            }\n        }\n        if (no_error && elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida.\");\n            }\n        }\n        if (no_error && (elem.id == 'phone')) {\n            if (elem.value.trim() && typeof iti != 'undefined' && !iti.isValidNumber()) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Ingresa un n\u00famero de tel\u00e9fono v\u00e1lido.\");\n            }\n        }\n        if (no_error && \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una fecha v\u00e1lida.\");\n            }\n        }\n\n        if (no_error && elem.name === 'sms_consent') {\n            const elemShouldBeChecked = (!!elem.attributes.required && !elem.checked);\n            if (elemShouldBeChecked) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Marca esta casilla para continuar\");\n            } else {\n                elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true;\n        }\n        if((el.name === 'email' || el.id === 'phone') && el.value !== \"\"){\n            return true;\n        }\n\n        return false;\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time' || input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            function getElementsArray(name){\n                                const value =  form_to_submit.elements[name];\n                                if (Array.isArray(value)){\n                                    return value;\n                                }\n                                return [value];\n                            }\n                            var radios = getElementsArray(el.name);\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'change', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error && e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&\")};\n\n    const formSupportsPost = false;\n    var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            if(form_to_submit.querySelector('input[name=\"phone\"]') && typeof iti != 'undefined') {\n                form_to_submit.querySelector('input[name=\"phone\"]').value = iti.getNumber();\n            }\n            \/\/ use this trick to get the submit button & disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_331_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_331_')).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n                var formData = new FormData();\n                const searchParams = new URLSearchParams(serialized);\n                searchParams.forEach((value, key) => {\n                    if (key !== 'hideButton') {\n                        formData.append(key, value);\n                    }\n                });\n                let request = {\n                    headers: {\n                        \"Accept\": \"application\/json\"\n                    },\n                    body: formData,\n                    method: \"POST\"\n                };\n\n                let pageUrlParams = new URLSearchParams(window.location.search);\n                if (pageUrlParams.has('t')) {\n                    request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                }\n                const response = await fetch('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?jsonp=true', request);\n\n                return response.json();\n            }\n            if (formSupportsPost) {\n                submitForm().then((data) => {\n                    eval(data.js);\n                }).catch(() => {\n                    _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n                });\n            } else {\n                _load_script('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n            }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script><style>\/* Texto junto al checkbox: blanco y en l\u00ednea *\/\n._form_299 ._checkbox-radio label {\n  display: inline !important;\n  margin-left: 8px !important;\n}\n\n\/* Color blanco del texto \"Verifica que eres un humano\" *\/\n._form_299 label[for=\"ls\"],\n._form_299 ._form_element label._form-label {\n  color: #ffffff !important;\n  display: inline-block;\n  font-weight: 400 !important;\n  margin-left: 8px;\n}\n\n\/* Placeholder del campo de email *\/\n#_form_299_ #email::placeholder {\n  color: #002132 !important;\n}\n\n\/* Altura del campo de email reducida *\/\n#_form_299_ #email {\n  padding: 8px 12px !important;\n  height: 40px !important;\n  font-size: 14px !important;\n  line-height: 1.2 !important;\n  margin-bottom: 16px !important;\n}\n\nlabel {\n    display: inline;\n}<\/style><\/div><\/div><\/span><\/p>\n<h2>C\u00f3mo implementar datos estructurados en WordPress<\/h2>\n<p>Estos son los pasos que debes seguir si quieres a\u00f1adir datos estructurados para <a href=\"https:\/\/dinorank.com\/blog\/seo-para-wordpress\/\">mejorar tu SEO en WordPress<\/a>:<\/p>\n<ol>\n<li><a href=\"#paso1\">Descarga y activa un plugin de inserci\u00f3n de etiquetas<\/a><\/li>\n<li><a href=\"#paso2\">Accede a la configuraci\u00f3n del plugin<\/a><\/li>\n<li><a href=\"#paso3\">Inserta el fragmento de c\u00f3digo<\/a><\/li>\n<li><a href=\"#paso4\">Valida los datos estructurados<\/a><\/li>\n<\/ol>\n<p>Una de las formas m\u00e1s seguras y sencillas de implementar tus datos estructurados es recurrir a un plugin que te permita insertar scripts en el <strong>&lt;head&gt;<\/strong> de tu sitio sin necesidad de editar los archivos del tema.<\/p>\n<p>Te recomiendo utilizar el <strong>plugin gratuito<\/strong> <a href=\"https:\/\/es.wordpress.org\/plugins\/header-footer-code-manager\/\" target=\"_blank\" rel=\"noopener\">Header Footer Code Manager<\/a> debido a su facilidad de uso.<\/p>\n<p>No obstante la mayor\u00eda de plugins similares tienen un funcionamiento parecido, por lo que este tutorial tambi\u00e9n puede servir si optas por otras alternativas.<\/p>\n<h3 id=\"paso1\"><span style=\"color: #00937d;\">Paso 1<\/span>: Descarga y activa un plugin de inserci\u00f3n de etiquetas.<\/h3>\n<p>Puedes <strong>descargar el Header Footer Code Manager<\/strong>, tal y como he sugerido, o buscar otras <strong>alternativas<\/strong> como <a href=\"https:\/\/wordpress.org\/plugins\/code-snippets\/\" target=\"_blank\" rel=\"noopener\">Code Snippets<\/a> o <a href=\"https:\/\/wordpress.org\/plugins\/insert-headers-and-footers\/\" target=\"_blank\" rel=\"noopener\">WPCode<\/a>, aunque esta \u00faltima tiene funcionalidades de pago.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-23813 size-full\" title=\"Descargar y activar Header Footer Code Manager\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/descargar-activar-header-footer-code-manager.webp\" alt=\"Descargar y activar Header Footer Code Manager\" width=\"1200\" height=\"586\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/descargar-activar-header-footer-code-manager.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/descargar-activar-header-footer-code-manager-300x147.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/descargar-activar-header-footer-code-manager-1024x500.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/descargar-activar-header-footer-code-manager-768x375.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"paso2\"><span style=\"color: #00937d;\">Paso 2<\/span>: Accede a la configuraci\u00f3n del plugin<\/h3>\n<p>Para ello, debes dirigirte al panel de navegaci\u00f3n de WordPress, navegar a &#8220;<strong>HFCM<\/strong>&#8221; en la barra lateral y seleccionar &#8220;<strong>Add New<\/strong>&#8220;:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-23816 size-full\" title=\"Configuraci\u00f3n del plugin Header Footer Code Manager\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/configuracion-hfcm.webp\" alt=\"Configuraci\u00f3n del plugin Header Footer Code Manager\" width=\"1200\" height=\"586\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/configuracion-hfcm.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/configuracion-hfcm-300x147.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/configuracion-hfcm-1024x500.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/configuracion-hfcm-768x375.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Una vez ah\u00ed, debes rellenar los campos tal que as\u00ed:<\/p>\n<ol>\n<li><strong>Nombre del script<\/strong>: Por ejemplo, &#8220;<em>Datos estructurados art\u00edculos<\/em>&#8220;.<\/li>\n<li><strong>Tipo de fragmento de c\u00f3digo: <\/strong>Selecciona <em>JavaScript<\/em> en el men\u00fa desplegable.<\/li>\n<li><strong>Visualizaci\u00f3n en el sitio: <\/strong>Selecciona <em>Entradas espec\u00edficas<\/em>, o p\u00e1ginas espec\u00edficas en el caso de tratarse de datos estructurados para p\u00e1ginas. Tambi\u00e9n tienes la opci\u00f3n de aplicarlo para todas las entradas o todas las p\u00e1ginas.<\/li>\n<li><strong>Lista de entradas (p\u00e1ginas):\u00a0<\/strong>En el caso de que hayas seleccionado aplicar los datos estructurados a unas p\u00e1ginas o entradas en espec\u00edfico, selecciona aqu\u00ed las que son.<\/li>\n<li><strong>Ubicaci\u00f3n: <\/strong>Selecciona <em>Cabecera<\/em>.<\/li>\n<li><strong>Visualizaci\u00f3n en el dispositivo: <\/strong>Selecciona <em>All Devices<\/em> (o Mostrar en todos los dispositivos).<\/li>\n<li><strong>Estado<\/strong>: Aseg\u00farate de que est\u00e9 configurado como <em>Activo<\/em>.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23819 size-full\" title=\"HFCM ya configurado\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/hfcm-ya-configurado.webp\" alt=\"HFCM ya configurado\" width=\"1200\" height=\"656\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/hfcm-ya-configurado.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/hfcm-ya-configurado-300x164.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/hfcm-ya-configurado-1024x560.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/hfcm-ya-configurado-768x420.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h3 id=\"paso3\"><span style=\"color: #00937d;\">Paso 3<\/span>: Inserta el fragmento de c\u00f3digo<\/h3>\n<p>Una vez configurado el fragmento de c\u00f3digo, solo quedar\u00e1 insertarlo.<\/p>\n<p>Para ello, haz scroll hacia abajo y despl\u00e1zate a la secci\u00f3n &#8220;<strong>Fragmento de c\u00f3digo \/ C\u00f3digo<\/strong>&#8220;. Ah\u00ed podr\u00e1s pegar el c\u00f3digo JSON-LD que has generado con ChatGPT para fomentar la presencia de datos estructurados.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23820 size-full\" title=\"Inserta los fragmentos de c\u00f3digo para generar datos estructurados\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/insertar-fragmento-codigo-datos-estructurados.webp\" alt=\"Inserta los fragmentos de c\u00f3digo para generar datos estructurados\" width=\"1200\" height=\"586\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/insertar-fragmento-codigo-datos-estructurados.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/insertar-fragmento-codigo-datos-estructurados-300x147.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/insertar-fragmento-codigo-datos-estructurados-1024x500.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/insertar-fragmento-codigo-datos-estructurados-768x375.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Tras esto, aseg\u00farate de que todo est\u00e1 correcto y haz clic en <strong>guardar<\/strong>.<\/p>\n<h3 id=\"paso4\"><span style=\"color: #00937d;\">Paso 4<\/span>: Valida los datos estructurados<\/h3>\n<p>Antes de terminar, te aconsejo que compruebes <strong>si los datos estructurados se han implementado de forma adecuada<\/strong>.<\/p>\n<p>Para ello, puedes dirigirte de <strong>forma gratuita<\/strong> a la <a href=\"https:\/\/search.google.com\/test\/rich-results\/\" target=\"_blank\" rel=\"noopener\">Prueba de resultados enriquecidos<\/a> de Google e introducir la URL de la p\u00e1gina o entrada a la que le has insertado el fragmento de c\u00f3digo.<\/p>\n<p>Si todo ha ido bien, deber\u00e1 aparecer algo as\u00ed una vez analices la URL:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23822 size-full\" title=\"Prueba de resultados enriquecidos de Google para validar datos estructurados\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/prueba-resultados-enriquecidos-datos-estructurados.webp\" alt=\"Prueba de resultados enriquecidos de Google para validar datos estructurados\" width=\"1200\" height=\"586\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/prueba-resultados-enriquecidos-datos-estructurados.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/prueba-resultados-enriquecidos-datos-estructurados-300x147.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/prueba-resultados-enriquecidos-datos-estructurados-1024x500.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/prueba-resultados-enriquecidos-datos-estructurados-768x375.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Como puedes ver, detecta un elemento v\u00e1lido, en este caso de &#8220;<strong>art\u00edculo de noticias<\/strong>&#8220;, el cual es el que he insertado en este ejemplo.<\/p>\n<p>Si no te aparece algo similar, puede deberse a un error en la configuraci\u00f3n del fragmento o en el propio c\u00f3digo, por lo que es aconsejable que lo vuelvas a revisar.<\/p>\n<p><strong>A continuaci\u00f3n te dejo varios ejemplos de los datos estructurados m\u00e1s comunes y \u00fatiles para SEO (y tambi\u00e9n un video de c\u00f3mo puedes implementar el Schema Author en tus contenidos correctamente)<\/strong><\/p>\n<p><iframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/ahs4bHWd18k?si=tqIMpxpSx4A51oUo\" width=\"100%\" height=\"430\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span><\/iframe><\/p>\n<h2>C\u00f3mo generar distintos tipos de datos estructurados<\/h2>\n<ul>\n<li><a href=\"#articulos\">Art\u00edculos<\/a><\/li>\n<li><a href=\"#productos\">Productos<\/a><\/li>\n<li><a href=\"#eventos\">Eventos<\/a><\/li>\n<li><a href=\"#recetas\">Recetas<\/a><\/li>\n<li><a href=\"#rese\u00f1as\">Rese\u00f1as<\/a><\/li>\n<li><a href=\"#preguntas-frecuentes\">Preguntas frecuentes<\/a><\/li>\n<\/ul>\n<p>Para que te hagas una idea de la variedad de datos estructurados que existen, <a href=\"https:\/\/schema.org\/docs\/full.html\" target=\"_blank\" rel=\"noopener\">Schema.org<\/a> cuenta con m\u00e1s de 800 tipos de entidades y objetos espec\u00edficos en su vocabulario.<\/p>\n<p>Si no tienes conocimientos de c\u00f3digo JSON-LD, puedes recurrir a generarlos con la ayuda de la versi\u00f3n gratuita de ChatGPT.<\/p>\n<p>A continuaci\u00f3n te dir\u00e9 c\u00f3mo:<\/p>\n<h3 id=\"articulos\">1. Art\u00edculos<\/h3>\n<p>Los datos estructurados de art\u00edculo son utilizados para <strong>marcar contenido editorial<\/strong>, como noticias y blogs.<\/p>\n<p>En este caso, las clases m\u00e1s comunes ser\u00edan:<\/p>\n<ul>\n<li><strong><code>Article<\/code><\/strong>: Para contenido editorial general.<\/li>\n<li><strong><code>NewsArticle<\/code><\/strong>: Para noticias.<\/li>\n<li><strong><code>BlogPosting<\/code><\/strong>: Para publicaciones en blogs.<\/li>\n<li><strong><code>Report<\/code><\/strong>: Para informes.<\/li>\n<li><strong><code>HowTo<\/code><\/strong>: Si tu art\u00edculo tiene un paso a paso, con esta clase fomentar\u00e1s la aparici\u00f3n de dichos pasos en la p\u00e1gina de resultados.<\/li>\n<\/ul>\n<p>Por ejemplo, as\u00ed es c\u00f3mo se ver\u00eda una b\u00fasqueda con la clase <strong><code>Article<\/code><\/strong>:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23796 size-full\" title=\"Ejemplo de datos estructurados de Art\u00edculo\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-articulos.webp\" alt=\"Ejemplo de datos estructurados de Art\u00edculo\" width=\"1200\" height=\"781\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-articulos.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-articulos-300x195.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-articulos-1024x666.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-articulos-768x500.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h4>Ejemplo de c\u00f3mo generar datos estructurados de Art\u00edculo con ChatGPT<\/h4>\n<p>Si tu contenido se trata de un art\u00edculo, puedes pedirle a ChatGPT el siguiente prompt, sustituyendo los valores por los de tu art\u00edculo en cuesti\u00f3n:<\/p>\n<div style=\"background-color: #f7f7f8; border-radius: 20px; padding: 15px; color: #333333;\"><strong>Prompt<\/strong><br \/>\nGenera un c\u00f3digo JSON-LD para datos estructurados de un art\u00edculo titulado &#8220;Beneficios del Ejercicio Diario&#8221;. Los detalles son los siguientes:<br \/>\n&#8211; Autor: Mar\u00eda L\u00f3pez<br \/>\n&#8211; Fecha de publicaci\u00f3n: 2024-06-24<br \/>\n&#8211; Imagen: https:\/\/example.com\/images\/ejercicio.jpg<br \/>\n&#8211; Descripci\u00f3n: Un art\u00edculo detallando los beneficios f\u00edsicos y mentales del ejercicio diario.<br \/>\n&#8211; Publicado por: Revista Saludable<\/div>\n<p>La IA responder\u00e1 con el c\u00f3digo en formato JSON-LD para simplemente integrarlo en tu p\u00e1gina web:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23807 size-full\" title=\"C\u00f3mo generar datos estructurados para art\u00edculos con ChatGPT\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/como-generar-datos-estructurados-articulos-1-chatgpt.webp\" alt=\"C\u00f3mo generar datos estructurados para art\u00edculos con ChatGPT\" width=\"822\" height=\"800\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/como-generar-datos-estructurados-articulos-1-chatgpt.webp 822w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/como-generar-datos-estructurados-articulos-1-chatgpt-300x292.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/como-generar-datos-estructurados-articulos-1-chatgpt-768x747.webp 768w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/p>\n<p>Este es el c\u00f3digo generado. C\u00f3pialo y sustituye los valores de ejemplo anteriores por los de tu art\u00edculo:<\/p>\n<pre>&lt;script type=\"application\/ld+json\"&gt;\r\n{\r\n\"@context\": \"https:\/\/schema.org\",\r\n\"@type\": \"Article\",\r\n\"headline\": \"Beneficios del Ejercicio Diario\",\r\n\"author\": {\r\n\"@type\": \"Person\",\r\n\"name\": \"Mar\u00eda L\u00f3pez\"\r\n},\r\n\"datePublished\": \"2024-06-24\",\r\n\"image\": \"https:\/\/example.com\/images\/ejercicio.jpg\",\r\n\"publisher\": {\r\n\"@type\": \"Organization\",\r\n\"name\": \"Revista Saludable\",\r\n\"logo\": {\r\n\"@type\": \"ImageObject\",\r\n\"url\": \"https:\/\/example.com\/logo.png\"\r\n}\r\n},\r\n\"description\": \"Un art\u00edculo detallando los beneficios f\u00edsicos y mentales del ejercicio diario.\"\r\n}\r\n&lt;\/script&gt;<\/pre>\n<p>Otro aspecto positivo de este m\u00e9todo es que ChatGPT incluir\u00e1 las clases que se adapten a tu art\u00edculo, por lo que podr\u00e1s conseguir distintos datos estructurados y resultados enriquecidos.<\/p>\n<h3 id=\"productos\">2. Productos<\/h3>\n<p>En el caso de los productos, los datos estructurados son utilizados para aportar informaci\u00f3n sobre ellos, como su <strong>precio<\/strong> o <strong>disponibilidad<\/strong>.<\/p>\n<p>La clase de producto m\u00e1s utilizada es:<\/p>\n<ul>\n<li><strong><code>Product<\/code><\/strong>: Para productos generales.<\/li>\n<\/ul>\n<p>Si buscas &#8220;iPhone 15 Pro&#8221; en Google, te saldr\u00e1n varios resultados con una estructura similar a esta:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23797 size-full\" title=\"Ejemplo de datos estructurados de producto\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-productos.webp\" alt=\"Ejemplo de datos estructurados de producto\" width=\"1200\" height=\"336\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-productos.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-productos-300x84.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-productos-1024x287.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-productos-768x215.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Este caso es un claro ejemplo de una buena aplicaci\u00f3n del marcado Schema de producto.<\/p>\n<p>Ten en cuenta que <strong>si utilizas WooCommerce<\/strong>, lo m\u00e1s probable es que se agregue este comando de forma autom\u00e1tica.<\/p>\n<h4>Ejemplo de datos estructurados de Producto generados con ChatGPT<\/h4>\n<p>Si necesitas crear datos estructurados de producto, puedes utilizar este prompt sustituyendo con los datos de tu p\u00e1gina de producto:<\/p>\n<div style=\"background-color: #f7f7f8; border-radius: 20px; padding: 15px; color: #333333;\"><strong>Prompt<\/strong><br \/>\nGenera un c\u00f3digo JSON-LD para datos estructurados de un producto llamado &#8220;Cafetera Espresso&#8221;. Los detalles son los siguientes:<br \/>\n&#8211; Descripci\u00f3n: Cafetera espresso de alta calidad con m\u00faltiples funciones y dise\u00f1o elegante.<br \/>\n&#8211; Imagen: https:\/\/example.com\/images\/cafetera.jpg<br \/>\n&#8211; SKU: 12345<br \/>\n&#8211; Marca: MarcaEjemplo<br \/>\n&#8211; Precio: 199.99 USD<br \/>\n&#8211; Disponibilidad: InStock<br \/>\n&#8211; Calificaci\u00f3n: 4.5 de 5 basado en 24 rese\u00f1as.<\/div>\n<p>Y su c\u00f3digo ser\u00eda, en este caso:<\/p>\n<pre>&lt;script type=\"application\/ld+json\"&gt;\r\n{\r\n\"@context\": \"https:\/\/schema.org\",\r\n\"@type\": \"Product\",\r\n\"name\": \"Cafetera Espresso\",\r\n\"image\": \"https:\/\/example.com\/images\/cafetera.jpg\",\r\n\"description\": \"Cafetera espresso de alta calidad con m\u00faltiples funciones y dise\u00f1o elegante.\",\r\n\"sku\": \"12345\",\r\n\"brand\": {\r\n\"@type\": \"Brand\",\r\n\"name\": \"MarcaEjemplo\"\r\n},\r\n\"offers\": {\r\n\"@type\": \"Offer\",\r\n\"priceCurrency\": \"USD\",\r\n\"price\": \"199.99\",\r\n\"availability\": \"https:\/\/schema.org\/InStock\"\r\n},\r\n\"aggregateRating\": {\r\n\"@type\": \"AggregateRating\",\r\n\"ratingValue\": \"4.5\",\r\n\"reviewCount\": \"24\"\r\n}\r\n}\r\n&lt;\/script&gt;<\/pre>\n<h3 id=\"eventos\">3. Eventos<\/h3>\n<p>Si quieres incluir detalles sobre alg\u00fan acontecimiento, como su <strong>fecha<\/strong>, <strong>ubicaci\u00f3n<\/strong> y <strong>descripci\u00f3n<\/strong>, puedes utilizar los <strong>datos estructurados de evento<\/strong>.<\/p>\n<p>En funci\u00f3n del tipo de evento, podr\u00e1s aplicar una clase u otra:<\/p>\n<ul>\n<li><code><strong>Event<\/strong><\/code>: Para eventos generales.<\/li>\n<li><strong><code>BusinessEvent<\/code><\/strong>: Para eventos de negocios.<\/li>\n<li><strong><code>ChildrensEvent<\/code><\/strong>: Para eventos infantiles.<\/li>\n<li><strong><code>ComedyEvent<\/code><\/strong>: Para eventos de comedia.<\/li>\n<li><strong><code>CourseInstance<\/code><\/strong>: Para cursos.<\/li>\n<li><strong><code>DanceEvent<\/code><\/strong>: Para eventos de baile.<\/li>\n<li><strong><code>EducationEvent<\/code><\/strong>: Para eventos educativos.<\/li>\n<li><strong><code>ExhibitionEvent<\/code><\/strong>: Para exposiciones.<\/li>\n<li><strong><code>Festival<\/code><\/strong>: Para festivales.<\/li>\n<li><strong><code>FoodEvent<\/code><\/strong>: Para eventos gastron\u00f3micos.<\/li>\n<li><strong><code>LiteraryEvent<\/code><\/strong>: Para eventos literarios.<\/li>\n<li><strong><code>MusicEvent<\/code><\/strong>: Para eventos musicales.<\/li>\n<li><strong><code>SaleEvent<\/code><\/strong>: Para eventos de ventas.<\/li>\n<li><strong><code>SocialEvent<\/code><\/strong>: Para eventos sociales.<\/li>\n<li><strong><code>SportsEvent<\/code><\/strong>: Para eventos deportivos.<\/li>\n<li><strong><code>TheaterEvent<\/code><\/strong>: Para eventos teatrales.<\/li>\n<\/ul>\n<p>Un ejemplo de datos estructurados de evento es la b\u00fasqueda en Google de &#8220;festival de m\u00fasica en Barcelona&#8221;:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23799 size-full\" title=\"Ejemplo de datos estructurados de evento\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-evento-1.webp\" alt=\"Ejemplo de datos estructurados de evento\" width=\"1200\" height=\"747\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-evento-1.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-evento-1-300x187.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-evento-1-1024x637.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/datos-etructurados-evento-1-768x478.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>En este caso, lo m\u00e1s probable es que estas URLs han conseguido el resultado enriquecido gracias a la correcta implementaci\u00f3n del dato estructurado <strong><code>MusicEvent<\/code><\/strong>, lo que le ha permitido a Google entender mejor el contexto de la p\u00e1gina.<\/p>\n<h4>Utiliza este ejemplo de prompt en ChatGPT para generar datos estructurados de evento:<\/h4>\n<div style=\"background-color: #f7f7f8; border-radius: 20px; padding: 15px; color: #333333;\"><strong>Prompt<\/strong><br \/>\nGenera un c\u00f3digo JSON-LD para datos estructurados de un evento llamado &#8220;Concierto de Rock&#8221;. Los detalles son los siguientes:<br \/>\n&#8211; Fecha: 1 de diciembre de 2024, 19:30<br \/>\n&#8211; Ubicaci\u00f3n: Estadio Nacional, Calle Falsa 123, Ciudad Ejemplo<br \/>\n&#8211; Descripci\u00f3n: Un concierto de rock con las mejores bandas locales.<br \/>\n&#8211; Imagen: https:\/\/example.com\/images\/concierto.jpg<br \/>\n&#8211; Precio: 50.00 USD<br \/>\n&#8211; Disponibilidad: InStock<\/div>\n<p>El c\u00f3digo que nos devuelve la IA es el siguiente:<\/p>\n<pre>&lt;div itemscope itemtype=\"https:\/\/schema.org\/Event\"&gt;\r\n&lt;h1 itemprop=\"name\"&gt;Concierto de Rock&lt;\/h1&gt;\r\n&lt;p&gt;Fecha: &lt;time itemprop=\"startDate\" datetime=\"2024-12-01T19:30\"&gt;1 de diciembre de 2024, 19:30&lt;\/time&gt;&lt;\/p&gt;\r\n&lt;p itemprop=\"location\" itemscope itemtype=\"https:\/\/schema.org\/Place\"&gt;\r\nLugar: &lt;span itemprop=\"name\"&gt;Estadio Nacional&lt;\/span&gt;\r\n&lt;span itemprop=\"address\" itemscope itemtype=\"https:\/\/schema.org\/PostalAddress\"&gt;\r\n&lt;span itemprop=\"streetAddress\"&gt;123 Calle Falsa&lt;\/span&gt;\r\n&lt;span itemprop=\"addressLocality\"&gt;Ciudad&lt;\/span&gt;\r\n&lt;span itemprop=\"addressRegion\"&gt;Estado&lt;\/span&gt;\r\n&lt;span itemprop=\"postalCode\"&gt;12345&lt;\/span&gt;\r\n&lt;span itemprop=\"addressCountry\"&gt;ES&lt;\/span&gt;\r\n&lt;\/span&gt;\r\n&lt;\/p&gt;\r\n&lt;\/div&gt;<\/pre>\n<h3 id=\"recetas\">4. Recetas<\/h3>\n<p>Este marcado se utiliza para detallar <strong>ingredientes<\/strong>, <strong>tiempos de preparaci\u00f3n<\/strong> y m\u00e1s en cualquier tipo de receta alimentaria.<\/p>\n<p>En este caso, las clases m\u00e1s utilizadas son:<\/p>\n<ul>\n<li><strong><code>Recipe<\/code><\/strong>: Para describir una receta de cocina. Proporciona a los motores de b\u00fasqueda informaci\u00f3n detallada sobre la receta, como ingredientes, tiempo de preparaci\u00f3n, tiempo de cocci\u00f3n, instrucciones, etc.<\/li>\n<li><strong><code>HowToStep<\/code><\/strong>: Se usa para describir cada paso individual en el proceso de preparaci\u00f3n de la receta.<\/li>\n<li><strong><code>HowToSection<\/code><\/strong>: Agrupa varios pasos de una receta en secciones l\u00f3gicas, como, lavado, cortado, cocci\u00f3n&#8230;<\/li>\n<li><strong><code>NutritionInformation<\/code>: <\/strong>Proporciona detalles nutricionales sobre la receta, como calor\u00edas, grasas, prote\u00ednas, etc.<\/li>\n<\/ul>\n<p>Un ejemplo de correcta aplicaci\u00f3n de datos estructurados de receta son las siguientes p\u00e1ginas:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23800 size-full\" title=\"Ejemplo de datos estructurados de receta\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-recetas.webp\" alt=\"Ejemplo de datos estructurados de receta\" width=\"1200\" height=\"584\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-recetas.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-recetas-300x146.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-recetas-1024x498.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-recetas-768x374.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Los SEOs de estas 3 p\u00e1ginas han logrado implementar de forma correcta las clases <strong><code>Recipe<\/code><\/strong> y <strong><code>NutritionInformation<\/code><\/strong>.<\/p>\n<p>Gracias a ello, Google ha podido entender que su contenido trata recetas de &#8220;spaghettis a la carbonara&#8221; y que adem\u00e1s son bajos en grasas.<\/p>\n<h4>Ejemplo de datos estructurados de tipo Receta o <em>Recipe<\/em><\/h4>\n<p>Si quieres conseguir algo similar con tu contenido, puedes escribirle este mensaje a ChatGPT especificando los datos de tu negocio:<\/p>\n<div style=\"background-color: #f7f7f8; border-radius: 20px; padding: 15px; color: #333333;\"><strong>Prompt<\/strong><br \/>\nGenera un c\u00f3digo JSON-LD para datos estructurados de una receta llamada &#8220;Paella&#8221;. Los detalles son los siguientes:<br \/>\n&#8211; Descripci\u00f3n: Gu\u00eda paso a paso para hacer una deliciosa paella.<br \/>\n&#8211; Ingredientes: 2 tazas de arroz, 500g de mariscos, 1 pollo entero.<br \/>\n&#8211; Pasos: 1. Preparar los ingredientes. 2. Cocinar los mariscos y el pollo. 3. A\u00f1adir el arroz y el caldo. 4. Cocinar a fuego lento. 5. Servir y disfrutar.<br \/>\n&#8211; Tiempo de preparaci\u00f3n: 20 minutos.<br \/>\n&#8211; Tiempo de cocci\u00f3n: 40 minutos.<br \/>\n&#8211; Calor\u00edas: 500 kcal por porci\u00f3n.<\/div>\n<h4>Cuyo c\u00f3digo para que puedas copiar y pegar, sustituyendo por tus datos, es este:<\/h4>\n<pre>&lt;script type=\"application\/ld+json\"&gt;\r\n{\r\n\"@context\": \"https:\/\/schema.org\",\r\n\"@type\": \"HowTo\",\r\n\"name\": \"C\u00f3mo Hacer una Paella\",\r\n\"description\": \"Gu\u00eda paso a paso para hacer una deliciosa paella.\",\r\n\"step\": [\r\n{\r\n\"@type\": \"HowToStep\",\r\n\"name\": \"Paso 1: Preparar los Ingredientes\",\r\n\"text\": \"Re\u00fane todos los ingredientes necesarios: arroz, mariscos, pollo, azafr\u00e1n, etc.\"\r\n},\r\n{\r\n\"@type\": \"HowToStep\",\r\n\"name\": \"Paso 2: Cocinar los Mariscos y el Pollo\",\r\n\"text\": \"En una paellera, cocina los mariscos y el pollo hasta que est\u00e9n dorados.\"\r\n},\r\n{\r\n\"@type\": \"HowToStep\",\r\n\"name\": \"Paso 3: A\u00f1adir el Arroz y el Caldo\",\r\n\"text\": \"A\u00f1ade el arroz y el caldo, y deja cocinar a fuego lento.\"\r\n},\r\n{\r\n\"@type\": \"HowToStep\",\r\n\"name\": \"Paso 4: Cocinar a Fuego Lento\",\r\n\"text\": \"Cocina a fuego lento durante 20 minutos hasta que el arroz est\u00e9 tierno.\"\r\n},\r\n{\r\n\"@type\": \"HowToStep\",\r\n\"name\": \"Paso 5: Servir y Disfrutar\",\r\n\"text\": \"Sirve la paella caliente y disfruta.\"\r\n}\r\n]\r\n}\r\n&lt;\/script&gt;<\/pre>\n<h3 id=\"rese\u00f1as\">5. Rese\u00f1as<\/h3>\n<p>Si quieres mostrar las <strong>opiniones de los usuarios sobre un determinado contenido dentro de tu web<\/strong> en los resultados de b\u00fasqueda, puedes utilizar los datos estructurados de rese\u00f1as.<\/p>\n<p>Los m\u00e1s comunes son:<\/p>\n<ul>\n<li><strong><code>Review<\/code><\/strong>: Se utiliza para describir una evaluaci\u00f3n o comentario sobre un producto, servicio o entidad.<\/li>\n<li><code><strong>AggregateRating<\/strong><\/code>: Se utiliza para proporcionar una calificaci\u00f3n promedio basada en m\u00faltiples rese\u00f1as.<\/li>\n<li><strong><code>Person<\/code><\/strong>: Se utiliza para describir al autor de la rese\u00f1a, lo que aporta credibilidad, en especial de cara a <a href=\"https:\/\/dinorank.com\/blog\/que-es-eeat-y-como-trabajarlo-caso-real-seo\/\" target=\"_blank\" rel=\"noopener\">mejorar el EEAT<\/a>.<\/li>\n<li><strong><code>Organization<\/code><\/strong>: Si una organizaci\u00f3n publica la rese\u00f1a, gracias a esta clase se lo podr\u00e1s indicar a los motores de b\u00fasqueda.<\/li>\n<\/ul>\n<p>Para que veas lo que se puede llegar a lograr con una correcta aplicaci\u00f3n de datos estructurados de rese\u00f1as, te dejo el siguiente ejemplo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23801 size-full\" title=\"Ejemplo de datos estructurados de rese\u00f1as\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-resenas.webp\" alt=\"Ejemplo de datos estructurados de rese\u00f1as\" width=\"1200\" height=\"306\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-resenas.webp 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-resenas-300x77.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-resenas-1024x261.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-resenas-768x196.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h4>Este es un ejemplo de c\u00f3mo se ver\u00edan los datos estructurados para el tipo Rese\u00f1as<\/h4>\n<p>Para mostrar las rese\u00f1as de alg\u00fan contenido en los resultados de b\u00fasqueda, puedes utilizar este prompt de ChatGPT y aplicarlo en tu web:<\/p>\n<div style=\"background-color: #f7f7f8; border-radius: 20px; padding: 15px; color: #333333;\"><strong>Prompt<\/strong><br \/>\nGenera un c\u00f3digo JSON-LD para datos estructurados de una rese\u00f1a de un producto llamado &#8220;Cafetera Espresso&#8221;. Los detalles son los siguientes:<br \/>\n&#8211; Autor: Juan P\u00e9rez<br \/>\n&#8211; Calificaci\u00f3n: 4 de 5 estrellas<br \/>\n&#8211; Texto de la rese\u00f1a: La cafetera es excelente, hace un caf\u00e9 delicioso y es muy f\u00e1cil de usar.<br \/>\n&#8211; Publicado por: Revista de Tecnolog\u00eda<\/div>\n<p>Su respectivo c\u00f3digo ser\u00eda este:<\/p>\n<pre>&lt;script type=\"application\/ld+json\"&gt;\r\n{\r\n\"@context\": \"https:\/\/schema.org\",\r\n\"@type\": \"Review\",\r\n\"name\": \"Rese\u00f1a de la Cafetera Espresso\",\r\n\"reviewRating\": {\r\n\"@type\": \"Rating\",\r\n\"ratingValue\": \"4\",\r\n\"bestRating\": \"5\"\r\n},\r\n\"author\": {\r\n\"@type\": \"Person\",\r\n\"name\": \"Juan P\u00e9rez\"\r\n},\r\n\"reviewBody\": \"La cafetera es excelente, hace un caf\u00e9 delicioso y es muy f\u00e1cil de usar.\",\r\n\"publisher\": {\r\n\"@type\": \"Organization\",\r\n\"name\": \"Revista de Tecnolog\u00eda\"\r\n}\r\n}\r\n&lt;\/script&gt;<\/pre>\n<h3 id=\"preguntas-frecuentes\">6. Preguntas frecuentes<\/h3>\n<p>Si resuelves alguna pregunta frecuente en tu contenido, incluir este tipo de datos estructurados ayudar\u00e1 a aumentar tu visibilidad y tasa de clics. Adem\u00e1s, podr\u00e1s ser m\u00e1s resolutivo en las b\u00fasquedas por voz.<\/p>\n<p>Las clases de datos estructurados m\u00e1s comunes son:<\/p>\n<ul>\n<li><strong><code>FAQPage<\/code><\/strong>: Se utiliza para definir una p\u00e1gina que contiene una lista de preguntas frecuentes. Esto informa a los motores de b\u00fasqueda que la p\u00e1gina est\u00e1 estructurada como una serie de preguntas y respuestas.<\/li>\n<li><strong><code>Question<\/code><\/strong>: Se utiliza para marcar cada pregunta individual dentro de la p\u00e1gina de preguntas frecuentes. Esto permite a los motores de b\u00fasqueda entender cu\u00e1l es la pregunta espec\u00edfica que se est\u00e1 respondiendo.<\/li>\n<li><code><strong>Answer<\/strong><\/code>: Se utiliza para marcar la respuesta correspondiente a una pregunta espec\u00edfica. Esto ayuda a los motores de b\u00fasqueda a emparejar de forma correcta las preguntas con sus respuestas en los resultados de b\u00fasqueda.<\/li>\n<\/ul>\n<p>Aplicando estos diferentes tipos de marcado Schema, tendr\u00e1s la posibilidad de aparecer en las preguntas frecuentes de los resultados de b\u00fasqueda, tal y como se muestra aqu\u00ed:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23802 size-full\" title=\"Ejemplo de datos estructurados de preguntas frecuentes\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-faq.webp\" alt=\"Ejemplo de datos estructurados de preguntas frecuentes\" width=\"1165\" height=\"800\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-faq.webp 1165w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-faq-300x206.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-faq-1024x703.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/ejemplo-datos-estructurados-faq-768x527.webp 768w\" sizes=\"(max-width: 1165px) 100vw, 1165px\" \/><\/p>\n<p>Para generar el c\u00f3digo necesario con el que mostrar las preguntas frecuentes de tu web, puedes ped\u00edrselo a ChatGPT con este prompt:<\/p>\n<div style=\"background-color: #f7f7f8; border-radius: 20px; padding: 15px; color: #333333;\"><strong>Prompt<\/strong><br \/>\nGenera un c\u00f3digo JSON-LD para datos estructurados de preguntas frecuentes sobre Cafeter\u00eda Ejemplo. Las preguntas y respuestas son las siguientes:<br \/>\n1. \u00bfCu\u00e1l es el horario de apertura de Cafeter\u00eda Ejemplo?<br \/>\nRespuesta: Estamos abiertos de lunes a s\u00e1bado de 08:00 a 22:00.<br \/>\n2. \u00bfD\u00f3nde est\u00e1 ubicada Cafeter\u00eda Ejemplo?<br \/>\nRespuesta: Nos encontramos en Calle Falsa 123, Ciudad Ejemplo.<br \/>\n3. \u00bfOfrecen opciones veganas en su men\u00fa?<br \/>\nRespuesta: S\u00ed, ofrecemos varias opciones veganas en nuestro men\u00fa, incluyendo ensaladas, sopas y postres.<\/div>\n<p>Una vez hayas determinado el c\u00f3digo JSON-LD de los distintos datos estructurados de tu web, s\u00f3lo <strong>faltar\u00e1 implementarlo en tu web WordPress<\/strong> para que los motores de b\u00fasqueda puedan utilizarlos de forma \u00f3ptima.<\/p>\n<p>Y un BONUS Extra, para que veas c\u00f3mo lo hace Sergio Canales para aparecer SIEMPRE en Google:<\/p>\n<p><iframe title=\"C\u00f3mo Aparecer en Google SIEMPRE \ud83d\ude80\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/82cCgDJH6MY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h3>Ahora ya eres todo un PRO \u00a1comienza a implementar datos estructurados en tu proyecto!<\/h3>\n<p>Tras leer este art\u00edculo y seguir los pasos pertinentes, estar\u00e1s capacitado para implementar datos estructurados en WordPress tal y como lo har\u00eda un profesional, de forma gratuita y sin necesidad de tener conocimientos sobre c\u00f3digo.<\/p>\n<p>Gracias a su correcta instauraci\u00f3n, podr\u00e1s diferenciarte de tu competencia y mejorar de forma considerable el posicionamiento SEO de tu web.<\/p>\n<p>Pru\u00e9balo en las p\u00e1ginas de tu sitio web que creas que pueden beneficiarse de los datos estructurados y me cuentas c\u00f3mo te va \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el SEO, cualquier ventaja para destacar frente a la competencia es bienvenida. Una manera de hacer tu web m\u00e1s visual y atractiva en los resultados de b\u00fasqueda de Google es implementar datos estructurados. Gracias a ellos, los usuarios tendr\u00e1n m\u00e1s informaci\u00f3n sobre lo que se encontrar\u00e1n dentro de tu web, y el buscador tambi\u00e9n [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":23533,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-23793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aprender-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/23793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/comments?post=23793"}],"version-history":[{"count":22,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/23793\/revisions"}],"predecessor-version":[{"id":32744,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/23793\/revisions\/32744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/23533"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=23793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=23793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=23793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}