JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

8
Jahia SEO Performance how to make crawlers your best friends Hayssam SALEH

Transcript of JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Page 1: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Jahia SEO Performance how to make crawlers your best friends

Hayssam SALEH

Page 2: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Summary

Why performance matters Doing more bring less Alternatives The architecture we used

Page 3: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Why Page speed matters

Page 4: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Doing more bring less

Page 5: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Alternatives Use EH-CACHE

What about the first time access ? How large should be my JVM memory ? What about the first time access ? How consuming is it to synchronize my servers ?

Use a front end cache How do I solve content updates in realtime ? What about Single Page Applications ?

Site duplication Create a JSP/HTML version of the site and route

the crawler to this dedicated version ? My boss loves this €€€ ☺

Page 6: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

How we did it The short answer

Put a browser on the server Preload the server-side browser with the Jahia

content End user access the server side browser

cache What did it solve

Solves The first access Content is preloaded in the browser cache

Solves the Single Page Application Browser cache content host the DOM exactly as it

is displayed

Page 7: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

The caching architecture Step 1

Build the full list of URLs from the JCR

Step 2 Request from PhantomJS the URLs

Step 3 Put the DOM content in cache

What is PhantomJS Webkit engine that render DOM as

Chrome / Safari would

Page 8: JahiaOne 2015 - Jahia SEO Performance or how to make crawlers your best friends by Hayssam Saleh

Benefits

First time access at full speed Preloading content in the cache

Support for Single Page Applications Build cache content with the Webkit

engine / PhantomJS What makes it possible

Modular and open Jahia Architecture