如何在Sails JS
版本1.0
应用中设置元描述标记以进行SEO
优化?
我有一个Web应用程序,但是Google
中的指示不符合我的要求。链接下的描述对用户理解该页面允许我们执行的操作没有用。
我阅读了zugbruecke实现的元描述标签,但它适用于帆版本<1.0
,而且我不知道如何在版本1.0
中进行复制。
我的routes.js
文件是这样的:
module.exports.routes = {
// WEB PAGES
'GET /': { action: 'auth/view-homepage-or-redirect' },
'GET /login': { action: 'auth/view-login' },
'GET /register': { action: 'auth/view-register' },
...
...
...
如您所见,我使用的是Sails动作和标准的ejs
html模板。因此,我有一个layout.ejs
文件,其中包含所有其他页面(.ejs
)作为正文。
这是我的login.ejs
文件:
<div id="login" v-cloak>
<div class="container">
<h1 class="text-center"><%= __('Sign in to your account') %></h1>
<div class="login-form-container">
<hr/>
<form id="login-form">
<-- LOGIN FORM implementation !-->
</form>
<div class="text-center"><small><a href="/register"><%= __('Don\'t have an account?') %></a></small></div>
</div>
</div>
</div>
答案 0 :(得分:1)
您所链接的问题并没有太远,以至于在不做一些调整的情况下就无法在Sails v1中使用。
<meta>
标签将需要在HTML <head></head>
标签之间,因此,假设您有layout.ejs
或类似标签,我们将需要在其中添加一些内容。
<title>...</title>
<% if (typeof metaDescription !== 'undefined) { %>
<meta name="description" content="<%= metaDescription %>">
<% } %>
这应该确保如果设置了metaDescription
,那么它将被添加到HTML中,但是如果您没有为路由指定元描述,则应该避免任何未定义的错误。
您实际上可以通过几种方法来设置每个页面的描述。
在action2控制器中,您可以执行以下操作。如果您需要动态生成描述(的一部分),这可能会很有用。
return res.success({
metaDescription: '...',
otherViewVar: '...',
// ...
})
您还可以在config/routes.js
文件中设置值
module.exports.routes = {
'GET /': {
action: 'auth/view-homepage-or-redirect',
locals: {
metaDescription: '...'
}
},
// ...
}