【问题标题】:How do I change my canonical tag url on every page in EJS如何在 EJS 中的每个页面上更改我的规范标签 url
【发布时间】:2021-03-24 18:21:25
【问题描述】:

所以在我的 NodeJS 应用程序中,我想更改每个页面的规范链接,但问题是我在 EJS 中创建了一个标题组件并在每个页面中使用了它,这就是为什么如果我从标题更改 url 它会更改站点宽。

【问题讨论】:

  • 在这里遇到类似的问题。你找到解决办法了吗?
  • 没有人。我只是尝试用 java 脚本更改它,但网络爬虫不会爬取 java 脚本(大多数)

标签: html node.js ejs meta-tags canonical-link


【解决方案1】:

好吧,我完全忘记了我在寻找答案。我确实找到了解决方案。
获取规范的方法。

const getCanonicalUrl = (req) => {
   return ('https://' + req.get('host') + req.originalUrl).replace('www.', 
            '').toLowerCase(); 
}

在您的路线描述中

   router.get(`/${route.path}`, function (req, res) {
      const canonicalURL = getCanonicalUrl(req);

      .......

      res.render(`${route.layout}`, {
        canonicalURL,
      });
   });

在你的meta.ejs 模板中像

<% if (typeof canonicalURL != "undefined") { %>
  <link rel="canonical"
        href="<%= canonicalURL %>" />
<% } %>

如果有帮助请告诉我!

【讨论】:

    猜你喜欢
    • 2017-10-14
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    相关资源
    最近更新 更多