koa SEO middleware
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Npm Package Build Status Npm Downloads Dependency Status


SEO middleware for koa 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 koa-seo's architecture diagram: koa-seo arch


npm i koa-seo

then use it:

const Koa = require('koa');
const seoMiddleware = require('koa-seo');
const app = new Koa();

    render: {
        // use `window.isPageReady=1` to notify chrome-render page has ready
        useReady: true,


you can download and run this complete demo


For more flexible use case see koa-chrome-render.