Javascript 如何使用ms seo包在Meteor中实现更好的seo?
这个软件包在各个方面都很好,但遗憾的是,它的作者在编写自述时忘记了像我这样的新手。无论如何,作为一个从未对任何编码社区做出过任何贡献的人,我确信我的批评毫无价值,所以让我们继续前进 这位作者随软件包提供了一篇博文,这是一篇有趣的文章,但大部分内容与自述文件本身直接矛盾,因此我无法配置设置 这篇博文说: 您只需要在以下模式中添加seo数据: 我的猜测是,这个包为您创建了一个集合Javascript 如何使用ms seo包在Meteor中实现更好的seo?,javascript,meteor,Javascript,Meteor,这个软件包在各个方面都很好,但遗憾的是,它的作者在编写自述时忘记了像我这样的新手。无论如何,作为一个从未对任何编码社区做出过任何贡献的人,我确信我的批评毫无价值,所以让我们继续前进 这位作者随软件包提供了一篇博文,这是一篇有趣的文章,但大部分内容与自述文件本身直接矛盾,因此我无法配置设置 这篇博文说: 您只需要在以下模式中添加seo数据: 我的猜测是,这个包为您创建了一个集合SeoCollection,所以我只需要用一些种子数据填充它,为我的应用程序的每个路径插入一个。酷 哦,但是等等。。。自述
SeoCollection
,所以我只需要用一些种子数据填充它,为我的应用程序的每个路径插入一个。酷
哦,但是等等。。。自述文件说明了一些不同的内容:
您可以设置一些标准值。如果没有其他设置,则将设置此选项
可用
他是说,如果我不提供任何配置,即我的站点将被称为“Manuel Schoebel-MVP开发”,那么这些实际值将被设置吗?这和我必须做的插页有什么关系?为什么这会出现在客户机中?为什么没有路线名称
自述文件继续,并为SeoCollection.update
提供了一些示例代码,似乎也做了同样的事情!所以我应该使用update
,而不是insert
?我到底在哪里做这件事
但随后他谈到在Iron Router中使用onAfterHooks代替动态数据。所以我应该用它来代替上面的一些吗
我很想澄清一下。安装软件包后我需要做什么?我从未使用过此软件包,但这是我从阅读文档/代码中学到的: SEO.config 包能够为不同的路由呈现不同的头标签。因此,当您插入一个新的ms seo配置时,您通常会通过一个路由。但您也可以配置默认配置。这就是整个Meteor.startup
SEO.config
业务的内容
SeoCollection.update
文档中的update
调用将选项upsert
设置为true
。此选项使查询更新数据库条目(如果存在),并在不存在时插入它。这使得更改变得更容易,有了这一点,当您执行meteor reset时,ms seo的状态保持不变。上次他没有更新博客帖子
因此,我建议您使用文档化的update
语句。甚至,使用
配置可能是在客户端完成的,以便于更新
SEO.set
最后使用onAfterAction
钩子,这样您就不必手动指定当前路由。你可以从中看出这一点。SEO.set
调用与upsert
基本相同,它只是检查由iron:router
指定的路由。SEO.set
函数不会将设置保存到集合中。这意味着,它必须在每次加载站点时执行
总结
所以,如果你使用iron:router肯定会使用onAfterAction
和SEO.set
。当然,您仍然需要使用SEO.config
函数来设置默认设置
希望对您有所帮助。了解更新的自述非常有用!然而,你接着开始迷惑我!如果一件事和另一件事是一样的,为什么我需要两者都用呢?还是我?有趣的是,你说“当然你还想要……”而这对我来说离“当然”很远!(我的意思是,如果要覆盖它们,为什么我需要设置默认设置?)。对于某些页面,您可能无法或忘记编写描述。这就是为什么我会使用
SEO.config
。但据我从文件中所知,你不必使用它。你必须重写很多。这是一个非常糟糕的文件包。如果你不介意的话,我想问你最后一个问题:是否有任何方法可以检查这些方法是否有效?请查看。它可以为你做一些很酷的事情。顺便说一句,我同意,它的文档是可怕的,事实上,它是用咖啡脚本写的没有帮助。因此,对您来说,这可能是一个很好的第一个开源贡献,可以让文档变得更漂亮。这个软件包相当受欢迎,因此它会让你获得一些严肃的互联网信誉
SeoCollection.insert({
"route_name" : "home", // the name of the Iron-Router route
"title" : "Title of your home site",
"meta" : [
{"description": "This is the description of the document"},
// add more meta tags
],
"og" : [
{ "image": "http://your-domain.com/images/image.jpg" },
// add more open graph tags
]
})
Meteor.startup(function() {
if (Meteor.isClient) {
return SEO.config({
title: 'Manuel Schoebel - MVP Development',
meta: {
'description': 'Manuel Schoebel develops Minimal Viable Producs (MVP) for Startups'
},
og: {
'image': 'http://manuel-schoebel.com/images/authors/manuel-schoebel.jpg'
}
});
}
});
SeoCollection.upsert(
{
route_name: 'aboutMe'
},
{
$set: {
route_name: 'aboutMe',
title: 'About - Manuel Schoebel',
meta: {
'description': 'Manuel Schoebel is an experienced web developer and startup founder. He develops but also consults startups about internet topics.'
},
og: {
'title': 'About - Manuel Schoebel',
'image': 'http://manuel-schoebel.com/images/authors/manuel-schoebel.jpg'
}
}
}
);