SlideShare uma empresa Scribd logo
1 de 98
Baixar para ler offline
Challenges of building a search
engine like web rendering service
Giacomo Zecchini | Verve Search
@giacomozecchini
Hi, I’m Giacomo
Technical Director at
Technical background and
previous experiences in
development
Love: understanding how things work and Web
Performance
@giacomozecchini
@giacomozecchini
As always happens in all the
worst stories, everything started
with a website migration.
One of the largest brands in the
UK, with millions of pounds on the
line.
@giacomozecchini
The client was migrating platform,
moving from a Server Side
rendering website to a Client Side
Rendering one.
@giacomozecchini
..and of course SSR was going to
be put in place.
@giacomozecchini
But.. two days before the migration
the client told us “SSR is not
working”.
@giacomozecchini
We were already at code freeze.
@giacomozecchini
We implemented a short term
solution* static rendering the site
and using the user-agent to serve
the right content.
*A sort of customized Rendertron script.
@giacomozecchini
After the migration we helped the
client to move to a medium-long
term solution (Prerender.io).
@giacomozecchini
Implementation is always harder
than it seems.
@giacomozecchini
My curiosity made me start to
research web rendering services.
@giacomozecchini
* Icons made by Freepik from www.flaticon.com
In the past the html was the most important thing to
download in order to access the content of a page
@giacomozecchini
Today, JavaScript is a big part of the web and
makes everything more complex
* Icons made by Freepik from www.flaticon.com @giacomozecchini
In the past we had a Crawling-Indexing process
Crawler Processing Index
URLs
Crawl
Queue
URL HTML
@giacomozecchini
Now, we’ve moved to a
crawling-rendering-indexing process
https://developers.google.com/search/docs/guides/javascript-seo-basics
Crawler Processing Index
Renderer
URLs
Crawl
Queue
URL HTML
Render Queue
@giacomozecchini
Google calls the rendering element WRS
Crawler Processing Index
Renderer
URLs
Crawl
Queue
URL HTML
Render Queue
WRS
@giacomozecchini
Martin Splitt’s TechSEO Boost 2019 talk
https://www.youtube.com/watch?v=Qxd_d9m9vzo
In his presentation, Martin
covered a lot of interesting
implementation details.
If you’re interested in
Google’s WRS, this is the
presentation to watch.
@giacomozecchini
These are three of the most important thing you
can get from a Web Rendering Service
DOM Tree
Render Tree +
Layout
Rendered
HTML
@giacomozecchini
DOM Tree & Render Tree
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-tree-construction @giacomozecchini
Layout information
https://youtu.be/WjMSfTK1_SY?t=239
The layout information
helps to understand where
elements are positioned on
a page, their dimensions,
and their importance.
@giacomozecchini
The layout information is useful when it comes to:
- Understand the semantics of a page
- Check if a page is mobile friendly
- Find intrusive interstitials
- Understand above the fold content
https://youtu.be/WjMSfTK1_SY?t=239 @giacomozecchini
Crawler
Renderer
Render
queue
Fetch
Server
Cache
Server
Chrome
instances
Robots.txt
Server
DNS
Server
My toy web rendering service implementation
Fetchers
@giacomozecchini
Crawler
Renderer
Render
queue
Fetch
Server
Cache
Server
Chrome
instances
Robots.txt
Server
DNS
Server
It uses a first in first out queue
Fetchers
@giacomozecchini
Crawler
Renderer
Render
queue
Fetch
Server
Cache
Server
Chrome
instances
Robots.txt
Server
DNS
Server
...utilises Chrome DevTools Protocol
Fetchers
https://chromedevtools.github.io/devtools-protocol/ @giacomozecchini
Crawler
Renderer
Render
queue
Fetch
Server
Cache
Server
Chrome
instances
Robots.txt
Server
DNS
Server
I’m currently working on the fetch server
Fetchers
@giacomozecchini
Crawler
Renderer
Render
queue
Fetch
Server
Cache
Server
Chrome
instances
Robots.txt
Server
DNS
Server
It uses the cache when possible
Fetchers
@giacomozecchini
Crawler
Renderer
Render
queue
Fetch
Server
Cache
Server
Chrome
instances
Robots.txt
Server
DNS
Server
If the URL is not cached, the crawler fetches it
Fetchers
@giacomozecchini
The real problems start when you
have to make choices about the
actual rendering of pages!
@giacomozecchini
What about the viewport? Do you
want to limit the number of
fetches? Are you going to render a
page multiple times?
@giacomozecchini
Developing software is a matter
of choices and context.
@giacomozecchini
The same group of people in a
different context may end up
developing the same project in a
totally different way.
@giacomozecchini
You can’t replicate Google’s WRS
without having the same data they
have.
@giacomozecchini
This is where I began to realise
the case to build your own rather
than relying on tools.
@giacomozecchini
You can’t replicate Google’s WRS
but you can learn from it.
@giacomozecchini
Understanding Google's WRS behaviour
@giacomozecchini
Understanding Google's WRS behaviour
@giacomozecchini
If you need JavaScript console message data you
can use the Mobile Friendly test or Search Console
Live Test but be careful!
@giacomozecchini
Mobile-Friendly Test, Search
Console Live Test, AMP Test, and
Rich Results Test are using the
WRS infrastructure, but bypassing
cache, using shorter timeouts,
and few other differences.
@giacomozecchini
Hic sunt dracones / Here be Dragons
What follows is based on my own tests and
assumptions, results may be false positives.
Google can change implementation details at any
time without notice, explanation, or justification.
@giacomozecchini
How we’ll approach the edge cases
1. Define the edge case
2. Understand Google's WRS support and
behaviour (personal assumption)
3. Check for tools support and behaviour
4. Propose a solution
@giacomozecchini
Some of the tested tools
I did multiple tests for each edge case. @giacomozecchini
This is not an evaluation of those
tools, but just a comparison
between their results and those of
Google’s WRS.
@giacomozecchini
Edge Case #1
HTTPS/HTTP mixed content
@giacomozecchini
Mixed content occurs when initial
HTML is loaded over a secure
HTTPS connection, but other
resources are loaded over an
insecure HTTP connection.
https://youtu.be/WjMSfTK1_SY?t=239 @giacomozecchini
Website:
https://www.example.com
CSS:
http://www.example.com/style.css
@giacomozecchini
Chrome will automatically upgrade mixed content
from HTTP to HTTPS. If the fetch fails that asset
won’t be loaded.
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
* this was not the case until recently
@giacomozecchini
Google’s WRS seems to behave like Chrome
Tools support
10% of tests showed a
different result
@giacomozecchini
Solution
When visiting an HTTPS website, upgrade the
URLs of assets from HTTP to HTTPS.
Using Chromium-based browsers you should
already have the right solution in place.
@giacomozecchini
Edge Case #2
Infinite scrolling / Lazy loading
@giacomozecchini
@giacomozecchini
SCROLL
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
VIEWPORT
Google starts the rendering
using a fixed viewport:
Mobile: 412 X 732
Desktop: 1024 x 1024
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
VIEWPORT
PAGE
HEIGHT
Then calculate the new viewport:
Viewport = Page Height + pixels
The amount of additional pixels
depends on the page, it could be
thousands of pixels
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
VIEWPORT
PAGE
HEIGHT
A bigger viewport
triggers Infinite
loading or lazy loading
events.
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
10,000,000 px
This seems to be the maximum viewport height
@giacomozecchini
Tools support
95% of tests showed a
different result
* for very tall pages @giacomozecchini
Solution
Start with a fixed viewport
@giacomozecchini
Solution
Wait for an event:
onload
DOMContentLoaded
If you’re using puppeteer:
networkidle0
networkidle2
@giacomozecchini
Solution
VIEWPORT
PAGE
HEIGHT
Check for the page height
and compare it to the initial
viewport.
https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-getLayoutMetrics @giacomozecchini
Solution
VIEWPORT
PAGE
HEIGHT
If the viewport is shorter
than the page
Viewport = Page Height + pixels
@giacomozecchini
Solution
The simplest solution is then
to wait for X seconds and
stop rendering or check
viewport and Page Height
again.
VIEWPORT
PAGE
HEIGHT
* for more complex solutions you can look at ongoing requests or an
event-based approach. @giacomozecchini
Edge Case #3
Content-visibility
@giacomozecchini
https://web.dev/content-visibility/
content-visibility is a
CSS property that enables
the browser to skip an
element's rendering.
@giacomozecchini
https://web.dev/content-visibility/
content-visibility is used together
with contain-intrinsic-size,
a CSS property allow you to
specify natural size of an
element if the element is
affected by size containment.
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
VIEWPORT
Google starts the rendering
using a fixed viewport:
Mobile: 412 X 732
Desktop: 1024 x 1024
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
VIEWPORT
PAGE
HEIGHT
Viewport = Page Height + pixels
When the browser starts the
rendering the Page Height is
calculated using the
contain-intrinsic-size
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
VIEWPORT
PAGE
HEIGHT
A bigger viewport
makes the browser
rendering the element
affected by size
containment.
@giacomozecchini
Tools support
97% of tests showed a
different result
* for very tall pages @giacomozecchini
Solution
Start with a fixed viewport
@giacomozecchini
Solution
Wait for an event:
onload
DOMContentLoaded
If you’re using puppeteer:
networkidle0
networkidle2
@giacomozecchini
Solution
VIEWPORT
PAGE
HEIGHT
Check for the page height
and compare that to the
initial viewport.
https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-getLayoutMetrics @giacomozecchini
Solution
VIEWPORT
PAGE
HEIGHT
If the viewport is shorter
than the page
Viewport = Page Height + Pixels
@giacomozecchini
Solution
The simplest solution is then
to wait for X seconds and
stop rendering or check
viewport and Page Height
again.
VIEWPORT
PAGE
HEIGHT
@giacomozecchini
Edge Case #4
Shadow DOM
@giacomozecchini
Shadow DOM
https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM @giacomozecchini
Google is able to render
and use Shadow DOM content.
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow. @giacomozecchini
Tools support
?
93% of tests showed a
different result
@giacomozecchini
Solution
Using the document.documentElement.outerHTML
returns a DOMString containing an HTML
serialization of the element and its descendants
but not the Shadow DOM.
*Puppeter’s Page.content() returns the outerHTML
@giacomozecchini
Solution
The solution is to get
the DOM tree, traverse it
and serialize it into HTML.
https://www.w3schools.com/js/js_htmldom_navigation.asp @giacomozecchini
Solution
Document
HTML
BODY
DIV
P
P
Text
Text
HEAD
@giacomozecchini
Solution
dom2html library:
https://github.com/GoogleChromeLabs/dom2html
Chrome DevTools Protocol:
DOM.getDocument
DOMSnapshot.getSnapshot
DOMSnapshot.captureSnapshot
https://chromedevtools.github.io/devtools-protocol/
* If interested in Shadow DOM, have a look at: https://web.dev/declarative-shadow-dom/
@giacomozecchini
Edge Case #5
Iframe
@giacomozecchini
IFRAME
Page A
Page B
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
Google is able to render
an Iframe inlining the <body>
content in a <div>.
@giacomozecchini
N.B. These are just personal assumptions based on tests.
Tests could be wrong and implementation details may change tomorrow.
If the page included through the
Iframe has a noindex, the content
is not included in the page.
@giacomozecchini
Iframe - Tools support
?
95% of tests showed a
different result
@giacomozecchini
Solution
Get the DOM tree, traverse it, and serialize it into
HTML.
N.B. When traversing the DOM you only need the
content of <body>, remove other HTML elements
and tags such as the <head>. Remember to check
for the noindex.
@giacomozecchini
Solution
dom2html library:
https://github.com/GoogleChromeLabs/dom2html
Chrome DevTools Protocol:
DOM.getDocument
DOMSnapshot.getSnapshot
DOMSnapshot.captureSnapshot
https://chromedevtools.github.io/devtools-protocol/ @giacomozecchini
Are those the only problems that
exist?
@giacomozecchini
Web rendering services
What we can learn from this?
@giacomozecchini
Sometimes you should reinvent
the wheel.
It’s fun and you can learn a lot
from that!
@giacomozecchini
When you change the way you look
at things, the things you look at
change.
Understanding these limitations
should change, in those edge cases,
the advice that you provide.
@giacomozecchini
Don’t use tools blindly!
Tools are great and save us a huge
amount of time in all our tasks. The
majority of pages on the web are
not affected by those edge cases.
@giacomozecchini
If your website uses or is affected
by one of the mentioned edge
cases, you can open a support
ticket to check with your tool
provider if they are already covering
that.
@giacomozecchini
Thank You!
Got questions? DM on Twitter are open @giacomozecchini

Mais conteúdo relacionado

Mais procurados

BrightonSEO April 2023 Similar AI: Automation recipes for SEO success
BrightonSEO April 2023 Similar AI: Automation recipes for SEO successBrightonSEO April 2023 Similar AI: Automation recipes for SEO success
BrightonSEO April 2023 Similar AI: Automation recipes for SEO successDylan Fuler
 
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...Ahrefs
 
Turning A Neglected YouTube Channel into a Traffic Generation Machine
Turning A Neglected YouTube Channel into a Traffic Generation MachineTurning A Neglected YouTube Channel into a Traffic Generation Machine
Turning A Neglected YouTube Channel into a Traffic Generation MachinePhil Nottingham
 
10 most common mistakes when working from home
10 most common mistakes when working from home10 most common mistakes when working from home
10 most common mistakes when working from homeJo Blood
 
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...Ahrefs
 
Make SEO Audits that Matter & Get Implemented for Success
Make SEO Audits that Matter & Get Implemented for SuccessMake SEO Audits that Matter & Get Implemented for Success
Make SEO Audits that Matter & Get Implemented for SuccessAleyda Solís
 
How Search Works
How Search WorksHow Search Works
How Search WorksAhrefs
 
Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...
Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...
Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...Louise Ali
 
The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...
The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...
The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...James Brockbank
 
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptx
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptxSmall Tasks Make Big Changes - Shmulik Dorinbaum.pptx
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptxShmulik Dorinbaum
 
Speed up alt text generation without coding skills
Speed up alt text generation without coding skillsSpeed up alt text generation without coding skills
Speed up alt text generation without coding skillsMiracle Inameti-Archibong
 
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021Daniel Smullen
 
How to produce great multilingual content, even when you can't read it | Laur...
How to produce great multilingual content, even when you can't read it | Laur...How to produce great multilingual content, even when you can't read it | Laur...
How to produce great multilingual content, even when you can't read it | Laur...Oban International
 
[BrightonSEO October 2022] On-page SEO: from intention to conversion
[BrightonSEO October 2022] On-page SEO: from intention to conversion[BrightonSEO October 2022] On-page SEO: from intention to conversion
[BrightonSEO October 2022] On-page SEO: from intention to conversionFelipe Bazon
 
Measurefest 2021 - Data visualisation for SEO professionals
Measurefest 2021 - Data visualisation for SEO professionalsMeasurefest 2021 - Data visualisation for SEO professionals
Measurefest 2021 - Data visualisation for SEO professionalsMichael Van Den Reym
 
How to get more traffic with less content - BrightonSEO
How to get more traffic with less content - BrightonSEOHow to get more traffic with less content - BrightonSEO
How to get more traffic with less content - BrightonSEOAnna Gregory-Hall
 
How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...
How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...
How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...RebekahDunne
 
Holistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First StrategyHolistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First StrategyArpunBhuhi
 
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBeth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBethBarnham1
 
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...LazarinaStoyanova
 

Mais procurados (20)

BrightonSEO April 2023 Similar AI: Automation recipes for SEO success
BrightonSEO April 2023 Similar AI: Automation recipes for SEO successBrightonSEO April 2023 Similar AI: Automation recipes for SEO success
BrightonSEO April 2023 Similar AI: Automation recipes for SEO success
 
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
Most Valuable SEO Presentation - Advanced Search Summit - DMO Advanced 2021 -...
 
Turning A Neglected YouTube Channel into a Traffic Generation Machine
Turning A Neglected YouTube Channel into a Traffic Generation MachineTurning A Neglected YouTube Channel into a Traffic Generation Machine
Turning A Neglected YouTube Channel into a Traffic Generation Machine
 
10 most common mistakes when working from home
10 most common mistakes when working from home10 most common mistakes when working from home
10 most common mistakes when working from home
 
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
 
Make SEO Audits that Matter & Get Implemented for Success
Make SEO Audits that Matter & Get Implemented for SuccessMake SEO Audits that Matter & Get Implemented for Success
Make SEO Audits that Matter & Get Implemented for Success
 
How Search Works
How Search WorksHow Search Works
How Search Works
 
Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...
Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...
Brighton SEO: Self Esteem Optimisation - The most important type of SEO - Lou...
 
The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...
The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...
The ‘traditional approach’ to SEO is broken - how to prioritise your efforts ...
 
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptx
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptxSmall Tasks Make Big Changes - Shmulik Dorinbaum.pptx
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptx
 
Speed up alt text generation without coding skills
Speed up alt text generation without coding skillsSpeed up alt text generation without coding skills
Speed up alt text generation without coding skills
 
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
 
How to produce great multilingual content, even when you can't read it | Laur...
How to produce great multilingual content, even when you can't read it | Laur...How to produce great multilingual content, even when you can't read it | Laur...
How to produce great multilingual content, even when you can't read it | Laur...
 
[BrightonSEO October 2022] On-page SEO: from intention to conversion
[BrightonSEO October 2022] On-page SEO: from intention to conversion[BrightonSEO October 2022] On-page SEO: from intention to conversion
[BrightonSEO October 2022] On-page SEO: from intention to conversion
 
Measurefest 2021 - Data visualisation for SEO professionals
Measurefest 2021 - Data visualisation for SEO professionalsMeasurefest 2021 - Data visualisation for SEO professionals
Measurefest 2021 - Data visualisation for SEO professionals
 
How to get more traffic with less content - BrightonSEO
How to get more traffic with less content - BrightonSEOHow to get more traffic with less content - BrightonSEO
How to get more traffic with less content - BrightonSEO
 
How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...
How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...
How to Create A Corporate Social Responsibility (CSR) Strategy (And Why it Ma...
 
Holistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First StrategyHolistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First Strategy
 
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBeth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
 
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
 

Semelhante a Challenges of building a search engine like web rendering service

Validating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data IntegrityValidating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data IntegrityGiacomo Zecchini
 
Website & Internet + Performance testing
Website & Internet + Performance testingWebsite & Internet + Performance testing
Website & Internet + Performance testingRoman Ananev
 
Page Speed Insights: The Ballad of Improving Performance
Page Speed Insights: The Ballad of Improving PerformancePage Speed Insights: The Ballad of Improving Performance
Page Speed Insights: The Ballad of Improving PerformanceJames McNulty
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 
Are you there Page Experience? It's Me, DevTools.
Are you there Page Experience? It's Me, DevTools.Are you there Page Experience? It's Me, DevTools.
Are you there Page Experience? It's Me, DevTools.Rachel Anderson
 
Are you there Page Experience? It's me, DevTools
Are you there Page Experience? It's me, DevToolsAre you there Page Experience? It's me, DevTools
Are you there Page Experience? It's me, DevToolsJamie Indigo
 
Web Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsWeb Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsGiacomo Zecchini
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorDan Taylor
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?Andy Davies
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...MilanAryal
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0Amir Zmora
 
Focus sur les PWA par Loic de Saint-Andrieu de Google
Focus sur les PWA par Loic de Saint-Andrieu de GoogleFocus sur les PWA par Loic de Saint-Andrieu de Google
Focus sur les PWA par Loic de Saint-Andrieu de GoogleThiga
 
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...Jamie Indigo
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generatorsFelipe Prado
 
Debugging rendering problems at scale
Debugging rendering problems at scaleDebugging rendering problems at scale
Debugging rendering problems at scaleGiacomo Zecchini
 
Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017
Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017
Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017Bartek Igielski
 
DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5Cameron Kilgore
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowWordPress
 

Semelhante a Challenges of building a search engine like web rendering service (20)

Validating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data IntegrityValidating Session Isolation for Web Crawling to Provide Data Integrity
Validating Session Isolation for Web Crawling to Provide Data Integrity
 
Website & Internet + Performance testing
Website & Internet + Performance testingWebsite & Internet + Performance testing
Website & Internet + Performance testing
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
 
Page Speed Insights: The Ballad of Improving Performance
Page Speed Insights: The Ballad of Improving PerformancePage Speed Insights: The Ballad of Improving Performance
Page Speed Insights: The Ballad of Improving Performance
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Are you there Page Experience? It's Me, DevTools.
Are you there Page Experience? It's Me, DevTools.Are you there Page Experience? It's Me, DevTools.
Are you there Page Experience? It's Me, DevTools.
 
Are you there Page Experience? It's me, DevTools
Are you there Page Experience? It's me, DevToolsAre you there Page Experience? It's me, DevTools
Are you there Page Experience? It's me, DevTools
 
Web Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsWeb Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankings
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
 
Frontend SPOF
Frontend SPOFFrontend SPOF
Frontend SPOF
 
Focus sur les PWA par Loic de Saint-Andrieu de Google
Focus sur les PWA par Loic de Saint-Andrieu de GoogleFocus sur les PWA par Loic de Saint-Andrieu de Google
Focus sur les PWA par Loic de Saint-Andrieu de Google
 
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
 
Debugging rendering problems at scale
Debugging rendering problems at scaleDebugging rendering problems at scale
Debugging rendering problems at scale
 
Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017
Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017
Magento 2 Front-end performance tips & tricks - Meet Magento Romania 2017
 
DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
 

Último

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Último (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Challenges of building a search engine like web rendering service