使用 jQuery 设置动态元标签和 Open Graph 标签
Set dynamic Meta Tags and Open Graph tags using jQuery
我正在尝试使用 jQuery 添加动态标签,但它似乎不起作用。我在加载页面后直接加载我的脚本。
这是我的HTML
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
</body>
</html>
这就是我在 jQuery 上添加标签的方式。
$(function() {
$('head').append('<meta property="og:type" content="profile"/>');
$('head').append('<meta property="og:url" content=""/>');
$('head').append("<meta property='og:title' content="+text+"'/>");
$('head').append("<meta property='og:image' content="+imageUrl+"'/>");
});
我为什么要这样做?用户访问页面后 example.com/?link=HDI635
我想简要介绍一下内容。因此,我使用 jQuery
进行了 API 调用,之后我想将 API 响应中的值添加到 Open Graph 标签。
如果您的标签的目的是在 Facebook 等网站上生成内容预览,那么使用 jQuery 可能不起作用,因为大多数网络爬虫不会 运行 JavaScript,它们只需下载 HTML 并按原样阅读即可。
要使其正常工作,您需要在服务器端生成标签。
您可以使用 Facebook 的共享调试器调试您的标签:
https://developers.facebook.com/tools/debug/
正如 Alan 所说,大多数网络爬虫不会 运行 JavaScript,它们只是下载 HTML 并按原样阅读。到今天为止,FB 爬虫还没有。
一个好的解决方案是让服务器(nginx 就足够了)来检测访问者的用户代理,如果它是 Facebook 的用户代理(https://developers.facebook.com/docs/sharing/webmasters/crawler/),则提供一个简单的 HTML OG标签。否则,提供网络应用程序。
您可以像这样使用 JavaScript 更新元标记:
const title = "your title;
const description = "your description";
$('meta[name="description"]').attr('content', description);
$('meta[property="og:title"]').attr('content', title);
$('meta[property="og:description"]').attr('content', description);
// etc.
Google 确实读取和 运行 JavaScript 东西,它至少读取元名称标签。参见 https://developers.google.com/search/docs/guides/javascript-seo-basics
我正在尝试使用 jQuery 添加动态标签,但它似乎不起作用。我在加载页面后直接加载我的脚本。
这是我的HTML
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
</body>
</html>
这就是我在 jQuery 上添加标签的方式。
$(function() {
$('head').append('<meta property="og:type" content="profile"/>');
$('head').append('<meta property="og:url" content=""/>');
$('head').append("<meta property='og:title' content="+text+"'/>");
$('head').append("<meta property='og:image' content="+imageUrl+"'/>");
});
我为什么要这样做?用户访问页面后 example.com/?link=HDI635
我想简要介绍一下内容。因此,我使用 jQuery
进行了 API 调用,之后我想将 API 响应中的值添加到 Open Graph 标签。
如果您的标签的目的是在 Facebook 等网站上生成内容预览,那么使用 jQuery 可能不起作用,因为大多数网络爬虫不会 运行 JavaScript,它们只需下载 HTML 并按原样阅读即可。
要使其正常工作,您需要在服务器端生成标签。
您可以使用 Facebook 的共享调试器调试您的标签: https://developers.facebook.com/tools/debug/
正如 Alan 所说,大多数网络爬虫不会 运行 JavaScript,它们只是下载 HTML 并按原样阅读。到今天为止,FB 爬虫还没有。
一个好的解决方案是让服务器(nginx 就足够了)来检测访问者的用户代理,如果它是 Facebook 的用户代理(https://developers.facebook.com/docs/sharing/webmasters/crawler/),则提供一个简单的 HTML OG标签。否则,提供网络应用程序。
您可以像这样使用 JavaScript 更新元标记:
const title = "your title;
const description = "your description";
$('meta[name="description"]').attr('content', description);
$('meta[property="og:title"]').attr('content', title);
$('meta[property="og:description"]').attr('content', description);
// etc.
Google 确实读取和 运行 JavaScript 东西,它至少读取元名称标签。参见 https://developers.google.com/search/docs/guides/javascript-seo-basics