/AngularSEO

Java filter make AngularJS + JEE web site to be crawled by search engines

Primary LanguageCSS

What's AngularSEO

AngularSEO Filter is a SEO solution for AJAX frond-end sites with a JavaEE backend. The AJAX frond-end can be AngularJS, ReactJS and other AJAX framework.

How it works?

Integrate SEO filter on JEE server

Add a filter into web.xml, and set its URL mapping to '/*'.

Prerender static page snapshots

When server started, SEO filter will crawl self site and generate static page snapshot for each one with all the dynamic content fully rendered. It will update the snapshots regularly according your config.

Let crawlers see static content

SEO filter identify the crawl request by checking the User-Agent keyword . If it is Googlebot, bingbot, etc, filter will response with the pre-rendered static page from the snapshot. Other normal reqeusts will be passed to original service.

All hashbang URLs are well transformed

All hashbang URLs will be transformed to normal format which can be crawled more easily. So, you needn't care any speical rule of hashbang URL crawling specification.

e.g.
http://abc.com/#!/about -> http://abc.com/_23_21/about
http://abc.com/#/about -> http://abc.com/_23/about

When user click the transformed URLs from search engines, the filter will converte them back to the original format.

Original AngularJS page source VS Rendered static page source

Original AngularJS page source code:

<a href="#about"><div ng-bind="message"></div></a>

-> Rendered static page source code:

<a href="http://host/_23/about"><div ng-bind="message">the true message after binding</div></a>

Features

  • Easy setup: configure a filter only
  • Zero code change: needn't change any front-end and backend codes
  • Fast page loads: snapshot is prerendered & stored on the same server
  • Fully automated: it keeps working in the background after setup
  • It is FREE!
  • It is open source!

Requirements

The static site is generated by PhantomJS, so it need be installed on the server.

Guide

Click here for more details.

Contact

John Huang: john.h.cn@gmail.com