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.

Una imagen incorrecta de og:image está apareciendo en los metadatos de la página.

En mi página [id].tsx tengo la siguiente estructura de etiquetas meta.


  
  
  {imageUrl && }

Sin embargo, en mi servidor de producción, cuando extraigo un artículo utilizando el depurador de Facebook, obtengo el siguiente error.

descripcion de la imagen

Pero cuando busco un artículo en mi servidor de desarrollo, la imagen adecuada se muestra a pesar de que el código es el mismo que en producción.

descripcion de la imagen

También tengo la siguiente línea en mi archivo _app.tsx que creo que puede estar causando el error, pero no estoy seguro.


Y lo más extraño es que si comparto enlaces de artículos de producción en Kakao, la imagen en miniatura se muestra correctamente, pero en Facebook y LinkedIn, la imagen en miniatura no aparece correctamente.

¿Alguien sabe por qué mis etiquetas meta se extraen de manera diferente en mis servidores de producción y desarrollo cuando el código aplicado es exactamente el mismo?


Cómo se genera mi imageUrl

Obtengo datos de archive de una API externa (strapi) utilizando useSWR

const { data: archive, error } = useSWR('/archives/' + router.query.id, (url) => {
    return axios.get(url).then(res => res.data)
  }, {
    initialData: props.data
  })

Luego obtengo mis images de los archives y si existen images, obtengo mi imageUrl

const images = archive.images
  let imageUrl = ''

  if (images && images.length > 0) {
    imageUrl = getCloundFrontUrl(images[0].url)
  }

Luego utilizo la función getCloundFrontUrl para reemplazar la url con mi CDN

export const getCloundFrontUrl = (url) => {
  return url ? url.replace('poomgo-homepage.s3.ap-northeast-2.amazonaws.com', 'cdn-hp.poomgo.com') : ''
}

A continuación se muestra la estructura de mis datos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución de problemas de raspado de etiquetas meta en el servidor de producción

    Descripción del problema

    Un experto en TI especializado en ReactJS, Next.js, SEO y Facebook-Opengraph está experimentando un problema con el raspado de etiquetas meta en su servidor de producción. La página [id].tsx del experto tiene una estructura específica de etiquetas meta para compartir artículos en plataformas de redes sociales como Facebook y LinkedIn. Las etiquetas meta funcionan perfectamente bien en su servidor de desarrollo, pero cuando el experto intenta hacer raspado de un artículo en su servidor de producción, las etiquetas meta no funcionan y obtiene un mensaje de error.

    Análisis del problema

    El experto sospecha que el problema podría estar en una línea de código específica de su archivo _app.tsx, que define la URL canónica del sitio web. Además, aunque las etiquetas meta no funcionan en Facebook y LinkedIn, parecen funcionar bien en Kakao.

    Solución

    Tras examinar cuidadosamente el código, el experto notó que el problema podría estar relacionado con la forma en que se genera la URL de la imagen en miniatura. La variable imageUrl se genera utilizando la función getCloundFrontUrl, que reemplaza la URL por un CDN si existe. La función reemplaza poomgo-homepage.s3.ap-northeast-2.amazonaws.com con cdn-hp.poomgo.com. Sin embargo, este reemplazo no funciona en el servidor de producción y la URL permanece sin cambios.

    Para resolver este problema, el experto debe investigar por qué la función getCloundFrontUrl no está funcionando como se esperaba. Puede comenzar agregando registros de la consola a la función y ver si los registros se muestran en el servidor de producción. Si no es así, el experto debe investigar más para ver por qué la función no se está llamando.

    Si la función se está llamando, el experto debe verificar si la URL se está reemplazando correctamente. Puede hacer esto agregando más registros de la consola a la función para mostrar la URL antes y después del reemplazo.

    Una vez que el experto haya encontrado el problema con getCloundFrontUrl, puede solucionarlo y volver a implementar el código en el servidor de producción. Después de eso, deberá probar el código nuevamente para asegurarse de que las etiquetas meta se estén raspando correctamente.

    Conclusión

    El problema de raspado de etiquetas meta en el servidor de producción estaba relacionado con la función getCloundFrontUrl, que no estaba reemplazando la URL por un CDN como se esperaba. Al investigar y solucionar el problema, el experto pudo resolver el problema y garantizar que las etiquetas meta funcionen correctamente en plataformas de redes sociales.

Comments are closed.