使用 angularjs 设置元标记时不显示元标记
Metatags aren't displayed when set them with angularjs
Angularjs 中的元标记有一个问题。
在我的 html 文件中,我的元标记 content
属性 设置如下
{{ meta.siteName }}
,并且在每条路线上我都以编程方式设置这些标签。一切都很好,它正确地设置了这些标签,但是当我试图通过 skype/slack 等将 link 发送到某个页面时,它显示 {{ meta.siteName }}
和 {{ meta.description }}
而不是他们的实际值。抱歉我的语言不好。
这很可能是因为 Slack 和 Skype 机器人不执行 Javascript。因此,您的 angular 代码永远不会有机会替换模板中的 {{ meta.siteName }}
和 {{ meta.description }}
。
要使其正常工作,您必须在服务器端设置它们或使用预渲染(例如使用 https://prerender.io/)。
其他不执行 Javascript 的机器人也会出现此问题,例如 Facebook 和 Twitter 机器人。此外,尚不清楚 googlebot 执行了多少 Javascript,因此您的网站可能存在 SEO 问题。
Angularjs 中的元标记有一个问题。
在我的 html 文件中,我的元标记 content
属性 设置如下
{{ meta.siteName }}
,并且在每条路线上我都以编程方式设置这些标签。一切都很好,它正确地设置了这些标签,但是当我试图通过 skype/slack 等将 link 发送到某个页面时,它显示 {{ meta.siteName }}
和 {{ meta.description }}
而不是他们的实际值。抱歉我的语言不好。
这很可能是因为 Slack 和 Skype 机器人不执行 Javascript。因此,您的 angular 代码永远不会有机会替换模板中的 {{ meta.siteName }}
和 {{ meta.description }}
。
要使其正常工作,您必须在服务器端设置它们或使用预渲染(例如使用 https://prerender.io/)。
其他不执行 Javascript 的机器人也会出现此问题,例如 Facebook 和 Twitter 机器人。此外,尚不清楚 googlebot 执行了多少 Javascript,因此您的网站可能存在 SEO 问题。