MeteorJS 上的元标签实现

问题描述 投票:0回答:1

我正在维护一个 MeteorJS Web 应用程序,我需要在主页中添加一些特定的元标记。

我看到项目中有一个head.html,里面有所有信息,包括 现有的 og 元标记,我尝试在那里添加特定的元标记并重新启动服务器。

如果我在主页上右键查看源代码,我可以看到新添加的元标记。

但是,如果我尝试使用 Facebook 调试器来查看 FB Crawler 看到的内容,则机器人看不到新添加的元标记。事实上,机器人看到了一些项目中不存在的额外 Twitter 元标记。

进一步调查,我注意到该项目使用了一个名为

manuelschoebel:ms-seo
https://github.com/DerMambo/ms-seo

这个库在 Meteor.startup 中初始化如下:

Meteor.startup(function() {

  if(Meteor.isServer){
    if(Meteor.DEBUG){
      robots.addLine('Disallow: /');
    }
  
    robots.addLine('Disallow: /admin');
  }
  

  if(Meteor.isClient){

    // default SEO
    return SEO.config({
      title: '...',
      meta: {
        "description": "..."
      },
      og: {
        'image': '....' 
      }
    });
  }

现在我猜测这个 SEO 库是机器人在 head.html 中看不到新添加的元标记的原因。

以干净的方式添加新元标记的正确方法是什么?为什么这个 SEO 库不尊重项目中的 head.html?

meteor prerender
1个回答
0
投票

manuelschoebel:ms-seo
包动态地默认元标记,正如它的意图一样。

如果您只需要

head.html
中的一个全局元标记,则需要删除包中设置的默认设置。或者完全删除包装。

不确定为什么要这样做,因为您可以在包默认值中设置默认值,然后根据包说明动态覆盖特定路由/页面的默认值。

© www.soinside.com 2019 - 2024. All rights reserved.