Binaryify / express-middleware-seo

Webpage pre-rendering middleware, base on headless chrome⚡️
12 stars 2 forks source link
chrome crawler express express-middleware nodejs seo

Npm Package Npm Downloads Dependency Status travis-ci

express-middleware-seo

SEO middleware for express base on chrome-render, a substitute for prerender.

Modern web app use technique like react.js vue.js which render html in browser, this lead to search engine can't crawl your page content.

This project want to solve this kind of problem in a general-purpose way, it detect request is from search engine crawler then use headless chrome to render out your modern web page and return to crawler.

Here is express-middleware-seo's architecture diagram: express-middleware-seo arch

Use

npm i express-middleware-seo

then use it:

const express = require('express')
const path = require('path')
const app = express()
const { seoMiddleware } = require('express-middleware-seo')

app.use(
  seoMiddleware({
    enable: true,
    render: {
      useReady: true,
      renderTimeout: 10000
    }
  })
)

app.use(express.static(__dirname + '/static'))

app.listen(3000)

you can download and run this complete demo

Notice

You should install Chrome 59+ in your servers before you use this middleware

Options

options come form chrome-render

Friends