Я использовал:
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
var res = url.match(/\/t\/(.*?)\/(\w+)/);
if (res && res[2] > 0) {
var amp = 'domain/amp/t/'+res[2];
if (document.getElementById("amphtml")) document.getElementById("amphtml").href = amp;
else{
var link=document.createElement('link');
link.id='amphtml';
link.rel='amphtml';
link.href=amp;
document.getElementsByTagName('head')[0].appendChild(link);
}
}
});
</script>
Но при просмотре исходного кода он не отображается, он появляется только после выполнения JavaScript.
Как же сделать рендеринг с самого начала?
13.03.20
Я попытался изменить это, добавив <xhtml:link rel="amphtml" href="" /> в карту сайта.
Демо: GitHub - bcat95/discourse-sitemap: Generate XML sitemap for your Discourse forum. · GitHub
14.03.20
Успех: Google начал индексировать AMP-страницы