У меня есть приложение Angular, размещенное на Firebase и пытающееся использовать prerender.io для улучшения SEO.
Вот довольно простая настройка промежуточного программного обеспечения prerender.io, которое я развертываю с использованием функций firebase
import * as functions from 'firebase-functions';
import * as express from 'express';
const app = express();
app.use(require('prerender-node').set('prerenderToken', 'myToken'));
app.get('**', function (req, res) {
res.sendFile('dist/browser/index.html', {'root': '.'});
});
export const myApp = functions.https.onRequest(app);
prerender-node
промежуточное программное обеспечение отображает страницы только для запросов сканеров. К сожалению, в первые дни ни один сканер не отправил запрос на мое приложение, поэтому я хочу проверить его самостоятельно.
Вот как я пытался смоделировать вызов на гусеничном шасси. Я посмотрел на prerender-node
исходный код и увидел, что есть метод shouldShowPrerenderedPage
, который проверяет user-agent
HTTP-заголовок, выполняется ли запрос сканером.
Я отправил http-запрос GET на мое приложение с User-Agent=googlebot
и получил ошибку
getaddrinfo ENOTFOUND service.prerender.io service.prerender.io:443
at errnoException (dns.js:28:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
Если я удаляю заголовок, все работает нормально, но никакой предварительной визуализации не происходит.
Кто-нибудь испытывал такую же проблему?
Спасибо за ваше время.