OG 标签不适用于 react-helmet 和 Netlify
OG tags not working with react-helmet and Netlify
我这辈子都弄不明白。以下站点托管在 Netlify 上并启用了预渲染。检查页面时,所有 OG 标签都是正确的。这些标签是使用 react-helmet 注入的。
https://browniepoints.africa/opportunities/volunteer-at-a-soup-kitchen-every-week-on-thursdays
在 Facebook 调试器上抓取上述 URL 时,它会响应:
The following required properties are missing: og:url, og:type, og:title, og:image, og:description, fb:app_id
唯一应该存在的 errors/warnings 是 app_id
,我不关心它。
我已经等了超过 48 小时才清除缓存,我尝试使用附加到 URL 的查询字符串进行抓取,并且图像具有绝对 URLs。但连描述标签都没有通过。
有人可以使用 react-helmet 和 Netlify 来解释这个问题吗?
虽然我不能告诉你确切原因。您的 SSR 无法正常工作。转到 Chrome DevTools 并单击 Console 旁边的 3 个垂直点:
Select网络条件,然后取消勾选Select自动输入Googlebot/2.1 (+http://www.google.com/bot.html)
:
现在刷新页面,您会注意到您在网站上看到的只是一些明文“html”,甚至您的 javascript 包也不见了。这是你的 html 的样子:
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="fragment" content="!">
<link rel="shortcut icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>Brownie Points</title>
<link href="/static/css/2.3bf0f3c5.chunk.css" rel="stylesheet">
</head>
<body><noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
请注意,Netlify SSR 处于测试阶段,但我个人没有遇到这些问题。除了启用它之外,您是否执行过任何其他步骤?我之前已经测试过它可以与 CRA 生成的应用程序一起使用。
这与已知的 prerendering issue 有关。
我的解决方法是从 index.html
文件中删除 <!DOCTYPE html>
声明作为临时解决方法,直到上述问题得到解决。
我这辈子都弄不明白。以下站点托管在 Netlify 上并启用了预渲染。检查页面时,所有 OG 标签都是正确的。这些标签是使用 react-helmet 注入的。
https://browniepoints.africa/opportunities/volunteer-at-a-soup-kitchen-every-week-on-thursdays
在 Facebook 调试器上抓取上述 URL 时,它会响应:
The following required properties are missing: og:url, og:type, og:title, og:image, og:description, fb:app_id
唯一应该存在的 errors/warnings 是 app_id
,我不关心它。
我已经等了超过 48 小时才清除缓存,我尝试使用附加到 URL 的查询字符串进行抓取,并且图像具有绝对 URLs。但连描述标签都没有通过。
有人可以使用 react-helmet 和 Netlify 来解释这个问题吗?
虽然我不能告诉你确切原因。您的 SSR 无法正常工作。转到 Chrome DevTools 并单击 Console 旁边的 3 个垂直点:
Select网络条件,然后取消勾选Select自动输入Googlebot/2.1 (+http://www.google.com/bot.html)
:
现在刷新页面,您会注意到您在网站上看到的只是一些明文“html”,甚至您的 javascript 包也不见了。这是你的 html 的样子:
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="fragment" content="!">
<link rel="shortcut icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>Brownie Points</title>
<link href="/static/css/2.3bf0f3c5.chunk.css" rel="stylesheet">
</head>
<body><noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
请注意,Netlify SSR 处于测试阶段,但我个人没有遇到这些问题。除了启用它之外,您是否执行过任何其他步骤?我之前已经测试过它可以与 CRA 生成的应用程序一起使用。
这与已知的 prerendering issue 有关。
我的解决方法是从 index.html
文件中删除 <!DOCTYPE html>
声明作为临时解决方法,直到上述问题得到解决。