如何使用Express for Google重定向不同的语言

时间:2019-06-13 13:00:24

标签: node.js express http seo multilingual

我正在使用两种语言运行Web应用程序。一切正常,但Google不会为我的语言目录编制索引。 Google只是显示domain.com而不是domain.com/en/或domain.com/de/。

我正在使用express js处理301重定向,但不确定为什么Google不会为其编制索引。

app.get('/', function (req, res) {
    const language = req.acceptsLanguages()[0].slice(0, 2).toLowerCase();
    if (language === 'de') {
        res.redirect(301, '/de/');
    } else if (language === 'en') {
        res.redirect(301, '/en/');
    } else {
        res.redirect(301, '/en/');
    }
});

// provide german
app.get('/de/', function (req, res) {
    res.status(200).sendFile(path.join(__dirname, '/views/de/index.html'));
});

// provide english
app.get('/en/', function (req, res) {
    res.status(200).sendFile(path.join(__dirname, '/views/en/index.html'));
});

因此重定向ist可以正常工作,但是索引失败。我该如何更改代码?

1 个答案:

答案 0 :(得分:0)

Google搜寻器将仅访问通过链接可用的页面。应用逻辑会将各种语言页面隐藏在搜寻器中。

但是我建议您使用NodeJS的现有国际化模块,例如i18n:https://www.npmjs.com/package/i18n