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.
Add a filter into web.xml, and set its URL mapping to '/*'.
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.
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 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 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>
- 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!
The static site is generated by PhantomJS, so it need be installed on the server.
Click here for more details.
John Huang: [email protected]