es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo incluir un script de JSON-LD en Nuxt 3?

Estoy intentando agregar json-ld a mi página, pero todavía no funciona o no es lo que quiero.

Aquí está lo que he intentado hasta ahora:

  1. Usando useMeta()
useMeta({
    script: [
        {
            type: 'application/ld-json',
            json: jsonLd,
        },
    ],
});

Resultado: <script type="application/ld-json" json="[object Object]"></script>

  1. Usando la etiqueta <script>
<Script type="application/ld-json">
    {{ jsonLd }}
</script>

Resultado: <script type="application/ld+json"></script> valor vacío.

Y

<script type="application/ld-json" v-html="jsonLd"></script>

Resultado: <script type="application/ld-json" innerhtml="[object Object]"></script>

¿Me falta algo? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en json, vue.js y nuxtjs, sugiero seguir los siguientes pasos para resolver el problema:

    1. Verifique la variable jsonLd y asegúrese de que contenga un objeto JSON-LD válido.
    2. Utilice el método JSON.stringify() para convertir el objeto jsonLd en una cadena JSON antes de pasarlo a la propiedad json de la etiqueta useMeta() o <Script>.

    Por ejemplo:

    useMeta({
      script: [
        {
          type: 'application/ld+json',
          json: JSON.stringify(jsonLd),
        },
      ],
    });
    
    <Script type="application/ld+json">
      {{ JSON.stringify(jsonLd) }}
    </Script>
    
    1. Asegúrese de que el atributo type de la etiqueta <Script> esté configurado como application/ld+json en lugar de application/ld-json.
  2. Verifique el código fuente de su página web para ver si el script JSON-LD está incluido y en el formato correcto.

  3. Si ninguno de los pasos anteriores funciona, sería útil proporcionar más información sobre el problema, como mensajes de error o el contenido del objeto jsonLd.

Comments are closed.