Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
#SMX @Bart_Goralewicz
With Bartosz Goralewicz
Dynamic Rendering
Is this really an
SEO silver bullet?
Experiences from setting up
the world's biggest
prerendering engine.
#SMX @Bart_Goralewicz
JavaScript
madness
#SMX @Bart_Goralewicz
…however
JavaScript SEO
is still massively
misunderstood
in 2019
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
But it gets
much easieronce you start learning
from the best. E.g. Google!
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Let’s see
if they practice
what they preach
#SMX @Bart_Goralewicz
April 2018 – the new version
of Google Flights
#SMX @BartGoralewicz#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
20,000+ visibility down to 48 (!)
#SMX @Bart_Goralewicz
Is it
indexed ?
#SMX @Bart_Goralewicz
Only
1 page
indexed in
Google
#SMX @Bart_Goralewicz
THE
PROBLEM
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Angular
Connect
conference
2015
#SMX @Bart_Goralewicz
ele.ph/angularU
If you search for any competitive keyword terms, it’s always going to
be server rendered sites. And the reason is because although
Google does index client-side rendered HTML it’s not perfect yet and
other search engines don’t do it as well. So if you care about SEO,
you still need to have server-rendered content.
Jeff Whelpley “Angular 2 Server Rendering”
Angular U conference, June 22-25, 2015,
#SMX @Bart_Goralewicz
v.2
Not indexed
#SMX @Bart_Goralewicz
HTML
JS
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
HTML
JS
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
HTML
JS
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
This is exactly why
we have 2 waves of
JavaScript indexing
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Source: Google I/O 2018
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
New links
to be crawled
Second wave
of indexing
#SMX @Bart_Goralewicz
Isomorphic,
universal, dynamic, hybrid,
hydrating with JavaScript, etc.
Latest nomenclature and solution
to make JavaScript SEO friendly.
#SMX @Bart_Goralewicz
Client-side Rendering
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Prerendering
Aka Dynamic
Rendering
an elephant in the room
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Google
is recommending
Dynamic Rendering
"Currently, it's difficult to process JavaScript (…)
in the meantime, we recommend dynamic rendering
as a workaround solution to this problem."
#SMX @Bart_Goralewicz
Google
is recommending
Dynamic Rendering
Dynamic Rendering
= WORKAROUND
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
prerendering
Key problems with
explained
#SMX @Bart_Goralewicz
Prerendering
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
queue
JavaScript
prerender
static
HTML
#SMX @Bart_Goralewicz
BLACK
FRIDAY
SCENARIO
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
New
product
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
What are
your options?
#SMX @Bart_Goralewicz
JÄVASCRIPT
On-the-fly rendering
Outdated
HTML
#SMX @Bart_Goralewicz
Serve stale/outdated HTML1.
Serve JavaScript and let
Google (try to) handle it
2.
Prerender on the fly3.
#SMX @Bart_Goralewicz
What if you HAVE TO do
prerendering
Plan your updates and deployments1.
Make sure that your prerendering setup is efficient2.
Remember that you need to crawl and optimize
both HTML and JavaScript versions of your website
3.
#SMX @Bart_Goralewicz
Most popular
Prerendering solutions
Chrome Headless/Phantom JS
Chrome Headless
Chrome Headless
Prerender.io
Puppeteer
Rendertron
#SMX @Bart_Goralewicz
Most popular
Prerendering solutions
Prerender.io
Puppeteer
Rendertron
Service/Free
Free
Free
#SMX @Bart_Goralewicz
Failed prerendering
case study
#SMX @Bart_Goralewicz
The Source Code vs. DOM
Source code DOM
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Source Code
(before JavaScript):
Disqus -The #1 way
to build your audience
Rendered website:
(after JavaScript):
Disqus -The #1 way to build an
audience on your website
#SMX @Bart_Goralewicz
Enter prerendering
#SMX @Bart_Goralewicz
What went
WRONG?
#SMX @Bart_Goralewicz
<html>
</head>
<body>
</body>
</html>
<head>
#SMX @Bart_Goralewicz
Why prerendering may not be
the best solution for your business?
#SMX @Bart_Goralewicz
It’s difficult to use
dynamic rendering
on websites using
geolocation
#SMX @Bart_Goralewicz
Not too dynamic (pun intended)
Creates two separate structures instead of one
Doesn’t improve UX.
Adds an extra layer of complexity
May work well BUT rarely does. Requires a very good SEO team maintaining it.
WORKAROUND!
Dynamic Rendering - summary
#SMX @Bart_Goralewicz
My personal beef
with dynamic rendering
It is only made for the sake of SEO.
It doesn’t improve anything for users…
#SMX @Bart_Goralewicz
… just like SEO ”containers” in some of the ecommerce stores.
#SMX @Bart_Goralewicz
(better)Alternatives
to prerendering
#SMX @Bart_Goralewicz
Server side
rendering
All of the rendering work
is done by your servers.
Google gets HTML.
SEO = OK
#SMX @Bart_Goralewicz
Alternatives
to prerendering
#SMX @Bart_Goralewicz
Server Side Rendering /
Hybrid Rendering
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
HYBRID
rendering
Prerendered HTML is sent to users
and the search engine.Then,
JavaScript runs on top of that.
#SMX @Bart_Goralewicz
https://www.searchenginejournal.com/javascript-seo-
like-peanut-butter-and-jelly-thanks-to-isomorphic-
js/183337/
https://www.searchenginejournal.com/javascript-seo-like-peanut-
butter-and-jelly-thanks-to-isomorphic-js/183337/
#SMX @Bart_Goralewicz
Which brands use
HYBRID
rendering?
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Yes, Google
recommends it!
„If you have engineering resources though,
I would highly recommend looking into
server-side rendering or even better,
hybrid rendering, because that yields
user experience benefits, as well.”
#SMX @Bart_Goralewicz
Next, Nuxt and Angular Universal
are the next (amazing joke) trend!
35% of JS developers
want to learn Next.js
#SMX @Bart_Goralewicz
Twitter migrated to
isomorphic JavaScript
in 2012
https://www.oreilly.com/library/view/building-isomorphic-
javascript/9781491932926/ch01.html
– Initial page load decreased 80% (!)
#SMX @Bart_Goralewicz
All the HTML files are built with data
BEFORE they are uploaded to a server
Static Site Rendering
Source: https://www.youtube.com/watch?v=3jeznGJHenI
GatsbyJS
NextJS
#SMX @Bart_Goralewicz
Pros of
static sites
1.Very fast (even during traffic surge)
2. Increased security
3.Version control
4. Cheap to host
Source: https://www.youtube.com/watch?v=3jeznGJHenI
#SMX @Bart_Goralewicz
Limitations
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
What if we just keep
CSR JavaScript ?
*Client Side Rendered
*
#SMX @Bart_Goralewicz#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Is
JavaScript
Evil?
#SMX @Bart_Goralewicz
#SMX @Bart_Goralewicz
Is
JavaScript
Evil?
#SMX @Bart_Goralewicz
No, it is way worse.
#SMX @Bart_Goralewicz
Is
JavaScript
Evil?
#SMX @Bart_Goralewicz
No, it is way worse. It is complex ☺
#SMX @Bart_Goralewicz
JavaScript SEO best practices
#SMX @Bart_Goralewicz
JavaScript
taming the beast in
3 easy steps
#SMX @BartGoralewicz
#SMX @Bart_Goralewicz
Step 1.
V.2
Choosing the right framework
#SMX @Bart_Goralewicz
Step 2.
Rendering JavaScript
Prerendering
Server Side Rendering
Universal/Isomorphic
Static site generators (Gatsby.js)
#SMX @Bart_Goralewicz
Step 3.
Enjoy your traffic!
#SMX @Bart_Goralewicz
Get the Starter
Package for FREE
Contact maria@elephate.com
Give the password ”Freelephate”
Within 15 minutes from this lecture
Total value of the package: $1000
Maria Cieślak
Head of SEO
#SMX @Bart_Goralewicz
ele.ph/smxwest
Download
my deck
#SMX @Bart_Goralewicz
THANK YOU!
SEE YOU AT THE NEXT #SMX
bartosz@goralewicz.com

More Related Content

Dynamic Rendering - is this really an SEO silver bullet? SMX WEST