我正在使用Ember 3.0.0创建一个预订网站。标题和元标记是通过ember-cli-meta-tags处理的,当网页在web浏览器中打开时,它们似乎被正确地呈现。
然而,Googlebot拒绝正常呈现应用程序。不管我做什么,它只是呈现一个空白的index.html页面。我试图缩短加载模型的时间,但是即使是非动态页面(在模型中没有Ember数据请求)也不会呈现。
下面是我网站上的一个例子:
<!-- begin snippet: js hide: false console: false babel: false -->
<!-- language: lang-js -->
import {
schedule
} from '@ember/runloop';
import {
get,
set
} from '@ember/object';
import ENV from '../config/environment';
import Route from '@ember/routing/route';
export default Route.extend({
title: 'Tandblekning i praktiken: Allt du behöver veta',
patientPortal: ENV.APP.patientPortal,
headTags: function() {
return [{
type: 'link',
tagId: 'canonical-link',
attrs: {
rel: 'canonical',
href: get(this, 'patientPortal') + '/tandblekning'
}
}, {
type: 'meta',
tagId: 'meta-description-tag',
attrs: {
name: 'description',
content: 'Konkret och praktisk guide för tandblekning som gör att du sparar pengar, minskar risk för skador och får vitare tänder.'
}
}];
},
titleToken: function() {
return 'Tandblekning i praktiken: Allt du behöver veta';
},
setupController(controller, model) {
this._super(controller, model);
schedule('afterRender', this, function() {
set(controller, 'after_render', true);
});
}
});
<!-- end snippet -->在另一个仿真器站点上测试此页面时,我得到的呈现与在index.html上以及在谷歌搜索结果中搜索tandblekning site:muntra.se的结果相同。
发布于 2018-09-09 08:17:11
我们最终使用预录制解决了这一问题:
使用此解决方案,当Google正常工作时,在搜索中显示标题和元描述,并在爬行中包含页面内容。此外,我们没有对最初的Ember应用程序做任何修改,这消除了破坏它的风险。
https://webmasters.stackexchange.com/questions/117459
复制相似问题