SlideShare a Scribd company logo
Debugging rendering
problems at scale
Giacomo Zecchini | Verve Search
SLIDESHARE.NET/GIACOMOZECCHINI
@GIACOMOZECCHINI
Hi, I’m Giacomo. Technical
Director at Verve Search.
Technical background and
previous experiences in
development.
@giacomozecchini
#brightonSEO
Today we are going to talk about
rendering errors, the challenges
of debugging at scale and a new
approach to solve these issues.
@giacomozecchini
#brightonSEO
The search engine's rendering
process is very similar to
Schrödinger's cat paradox.
https://en.wikipedia.org/wiki/Schrödinger's_cat
@giacomozecchini
#brightonSEO

Recommended for you

BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise WebsitesBrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites

For every website on the internet, Google has a fixed budget for how many pages their bots can and are willing to crawl. The internet is a big place, so Googlebot can only spend so much time crawling and indexing our websites. Crawl budget optimization is the process of ensuring that the right pages of our websites end up in Google’s index and are ultimately shown to searchers. Google’s recommendations for optimizing crawl budget are rather limited, because Googlebot crawls through most websites without reaching its limit. But enterprise-level and ecommerce sites with thousands of landing pages are at risk of maxing out their budget. A 2018 study even found that Google’s crawlers failed to crawl over half of the webpages of larger sites in the experiment. Influencing how crawl budget is spent can be a more difficult technical optimization for strategists to implement. But for enterprise-level and ecommerce sites, it’s worth the effort to maximize crawl budget where you can. With a few tweaks, site owners and SEO strategists can guide Googlebot to regularly crawl and index their best-performing pages.

seobrightonseocrawl budget optimization
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

I want you to go away after this with a really clear view on why less definitely is more, what you can do to decide what actually is too much content to have on your site, and how to go about reducing the number of pages you’ve got. Ultimately, you’re here to find out how to reduce the amount of work you have to do in the long-run to get the same amount or more traffic.

How to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google DiscoverHow to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google Discover

In this talk you will learn how search intent can help you benefit from the growing popularity of Google Discover. You’ll get actionable tips, a case study example and exclusive data from SEMrush.

seosearch intentsearch engine optimization
A hypothetical cat page may be
considered simultaneously both
alive correctly rendered and
dead not correctly rendered.
@giacomozecchini
#brightonSEO
Let me explain..
@giacomozecchini
#brightonSEO
Search engines get web pages
and put them in web rendering
services.
https://developers.google.com/search/docs/guides/javascript-seo-basics
@giacomozecchini
#brightonSEO
Inside the web rendering
services, the pages are rendered
similarly to a browser.
https://developers.google.com/search/docs/guides/javascript-seo-basics
@giacomozecchini
#brightonSEO

Recommended for you

Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance FrameworkGoodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework

Learn how to avoid SEO F*ck ups by setting an SEO Quality framework by educating, validating and monitoring your SEO process activities.

search engine optimizationseosearch engine optimisation
Kleecks - AI-Martech as a game changer-DEF.pdf
Kleecks - AI-Martech as a game changer-DEF.pdfKleecks - AI-Martech as a game changer-DEF.pdf
Kleecks - AI-Martech as a game changer-DEF.pdf

This document discusses how AI and automation can revolutionize the SEO value chain. It argues that AI can enable a symbiotic relationship between SEO strategy and technical implementation by powering automated competitive analysis, strategy suggestions, and one-click fixes. This represents a new approach that can improve time-to-market and optimize implementation timescales through a no-code model.

seocroecommerce
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth SouthgateMartin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth Southgate

This document outlines an SEO strategy inspired by Gareth Southgate's plan to improve the England football team. It presents a three step target setting framework: 1) Be competitive in 6-12 months, 2) achieve tournament success in 1-2 years, and 3) be number one in 2-3 years. Key metrics such as visibility, site health, traffic, and time on page are identified and targets are set for each step. Accompanying tasks are mapped to the metrics and timeline to execute the plan, such as link campaigns, technical fixes, and content updates. The strategy aims to provide structure through measurable goals and accountability.

seomarketing strategysearch engine optimization
Then, the search engines can
extract all information they
need from those rendered
pages.
https://developers.google.com/search/docs/guides/javascript-seo-basics
@giacomozecchini
#brightonSEO
This is an oversimplification of a
complex process.
https://www.youtube.com/watch?v=Qxd_d9m9vzo
@giacomozecchini
#brightonSEO
If you want to know more about
this I’d suggest to watch Martin
Splitt’s TechSEO Boost 2019
talk.
https://www.youtube.com/watch?v=Qxd_d9m9vzo
@giacomozecchini
#brightonSEO
What’s the problem
with Web Rendering
Services?
@giacomozecchini
#brightonSEO

Recommended for you

BrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
BrightonSEO: How to generate 8 million SEO test ideas - Will CritchlowBrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
BrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow

In this talk, delivered at BrightonSEO in April 2023, Will Critchlow, founder and CEO of SearchPilot covers a method for generating practically-unlimited SEO A/B test ideas. Going on a journey from what SEO has been to what it needs to become, Will covers the mindset and strategy shifts needed, as well as the tactical implementation details. Download resources including detailed guides to SEO testing, and the free tool he uses to generate the ideas (plus explainer video).

testingseobrightonseo
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages

The document discusses optimizing product listing pages (PLPs) on ecommerce websites. It begins with the author describing their experience finding a website with little obvious "tech debt" issues to address. They then analyze which page templates drive the most revenue, finding PLPs account for 60% of organic revenue. The author breaks down PLPs into individual components and suggests prioritizing optimization of filters and internal linking. They argue for considering metrics beyond just search volume, like user behavior and conversion data, when deciding which page variants to focus on.

seotechnical seobrightonseo
SEO Tool Overload😱... Google Data Studio to the rescue
SEO Tool Overload😱... Google Data Studio to the rescueSEO Tool Overload😱... Google Data Studio to the rescue
SEO Tool Overload😱... Google Data Studio to the rescue

Google Sheet Template >>> http://bit.ly/seotooloverload-sheet Ask any person in SEO what tool they use, and you'll more likely than not get a list of tools answered. SEO's need different perspectives, the right tool for the right job, but with an explosion of data produced by these tools, things get overwhelming really fast. To be able to tie things together, Nils will explore ways to streamline the data from your tools and build a single source of truth with Google Data Studio, helping you to make the right decisions. You'll learn about using QUERY functions in Google Sheets, applying Machine Learning to do fuzzy matching on keywords and search queries, and much more... --- Want access to the Google Sheets and Google Data Studio TEMPLATES --> bit.ly/seotooloverload-sheet ---

seobrightonseodata
What happens inside the web
rendering services is something
hidden from our eyes, like in a
closed box.
@giacomozecchini
#brightonSEO
You don’t know if a page has
been correctly rendered until you
check it manually.
@giacomozecchini
#brightonSEO
Search engines are capable of
rendering your pages and most
of the time the process will be
fine.
@giacomozecchini
#brightonSEO
Nonetheless, some pages have
rendering problems.
@giacomozecchini
#brightonSEO

Recommended for you

How to leverage SEO and other channels to expand into Chinese market
How to leverage SEO and other channels to expand into Chinese marketHow to leverage SEO and other channels to expand into Chinese market
How to leverage SEO and other channels to expand into Chinese market

Going international but on a tight budget? Grace shared the marketing strategies for growing into the Chinese market. She talked about how to leverage SEO, Affiliate, PPC, Influencer and of course technology.

seodigital marketingchina
Don't be a cannibal
Don't be a cannibalDon't be a cannibal
Don't be a cannibal

The document discusses keyword cannibalization, which occurs when multiple pages on a website contain the same or similar keywords. This can hurt a website's search engine rankings, traffic from search engines, and conversions. The document provides tips on how to identify cannibalization issues, such as by monitoring keyword rankings and traffic share over time. It also gives recommendations for avoiding cannibalization, such as by regularly auditing content for duplicates and setting policies for user-generated content.

seo
The Quickest Win in SEO – How to do Internal Linking the Right Way
The Quickest Win in SEO – How to do Internal Linking the Right WayThe Quickest Win in SEO – How to do Internal Linking the Right Way
The Quickest Win in SEO – How to do Internal Linking the Right Way

This was a talk from BrightonSEO September 2021 and covers not only the importance of internal linking but also how to do it. It also covers a number of examples and additional tips.

seointernet marketingdigital marketing
When is a page not
correctly rendered?
@giacomozecchini
#brightonSEO
A page is “not correctly
rendered” when is not possible
for the WRS to get an asset or
when an error blocks the
process.
@giacomozecchini
#brightonSEO
Not only pages with Javascript
have problems!
@giacomozecchini
#brightonSEO
Let's have a look at a few
examples...
@giacomozecchini
#brightonSEO

Recommended for you

How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...

Traditional PR professionals are doing a lot of the heavy lifting when it comes to link building – without even realising it. This presentation reveals some practical tips on how to tweak ‘traditional’ PR practices, that will help supercharge securing those valuable links and show the SEO value of their work.

digital prseobtn
The Content & Buyer Show: Let's Map #WTSFest
The Content & Buyer Show: Let's Map #WTSFestThe Content & Buyer Show: Let's Map #WTSFest
The Content & Buyer Show: Let's Map #WTSFest

Do you sometimes find it difficult to create targeted content for a specific point in your buyer's journey? Well, maybe you are not using the right content. In this talk, we go through the different content formats there are and how those can be mapped to a specific buyer's journey.

content marketingcontentseo
How to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptxHow to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptx

The document discusses how to go viral on a budget using public relations (PR). It recommends tying a product or idea into a current trend, validating the trend, identifying the target audience, crafting a compelling pitch, and developing an effective outreach strategy. Specifically, it outlines how the author launched an unknown brand called "2020 Scent" that generated over £20,000 in revenue with a campaign costing under £10 by tying scented products to viral trends from that year.

digital marketing
HTTP / DNS / Network errors
@giacomozecchini
#brightonSEO
https://developers.google.com/search/docs/advanced/crawling/http-network-errors
Crawler
WRS
Cache
SEARCH ENGINE
* Icons made by Freepik from www.flaticon.com
Robots.txt blocks a resources
@giacomozecchini
#brightonSEO
https://developers.google.com/search/docs/advanced/robots/intro
Crawler
WRS
Cache
SEARCH ENGINE
* Icons made by Freepik from www.flaticon.com
Fetch timeout
@giacomozecchini
#brightonSEO
Crawler
WRS
Cache
SEARCH ENGINE
* this doesn’t seem very common,
but it can happen
* Icons made by Freepik from www.flaticon.com
https/http mixed content
@giacomozecchini
#brightonSEO
If your website has an HTTPS
URL but one of the Javascript
files has an HTTP URL and the
HTTPS version is not available,
the script won't be used!

Recommended for you

Hreflang tags: everything you need to know to start implementing them
Hreflang tags: everything you need to know to start implementing themHreflang tags: everything you need to know to start implementing them
Hreflang tags: everything you need to know to start implementing them

The takeaway: 1. Why/What/How of hreflang 2. Some examples of practical application 3. Canonical VS hreflang 4. Common hreflang mistakes 5. Is hreflang a ranking factor?

seo
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOndergroundCómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground

Este documento describe cómo diagnosticar y recuperarse de una caída en el tráfico orgánico de SEO. Explica que la mayoría de las caídas son causadas por actualizaciones de Google u errores de implementación, y proporciona una guía paso a paso para identificar la causa específica y tomar las medidas correctivas adecuadas, como optimizar el contenido, corregir errores técnicos o crear nuevo contenido relevante. También enfatiza la importancia de establecer un marco de trabajo de SEO saludable con monitoreo y validación contin

seoposicionamiento en buscadores
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

Deep dive into session isolation and why search engines render pages in isolated rendering sessions to avoid having the rendering of one web page affect the functionality or the content of another. Web crawling tools aim to replicate search engines' crawling and rendering behaviours by implementing and using web rendering systems. This offers insights into what search engines might see when they are crawling and rendering web pages. While there is no defined standard for an automated rendering process, search engines (e.g. Google, Bing, Yandex) render pages in isolated rendering sessions. This way, they avoid having the rendering of one web page affect the functionality or the content of another. Isolated rendering sessions should have isolated storage and avoid cross-tab talking.

web crawlingweb renderingsearch engine
Cache mismatch, user
permission for specific
features (e.g. geolocation),
service worker registration,
Javascript syntax errors, etc.
@giacomozecchini
#brightonSEO
What if a page is not
correctly rendered?
@giacomozecchini
#brightonSEO
If WRS can’t get your CSS the
page layout won’t be correct and
you may also have Mobile
Usability issues.
@giacomozecchini
#brightonSEO
If WRS can’t get or execute your
JS files correctly, your page may
be blank or broken.
@giacomozecchini
#brightonSEO

Recommended for you

SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick StoxSMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox

The document discusses SEO considerations for JavaScript frameworks. It notes that SEOs need to understand how JavaScript works and how search engines handle it, as many developers are not familiar with SEO. It provides tips for SEOs, including that search engines don't interact with the page content in the same way users do, and content should be loaded by default without user interaction. It also discusses different approaches to rendering pages for search engines like server-side rendering versus client-side rendering.

seotechnical seojavascript
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"

Keeping up with the state of web technology is one of the biggest challenges for us developers today. We invent new tools; we define new best practices, everything’s new, always... And we do all that for good user experience! We do all that to build the best possible web – it’s all about our users. But is it, really? Or do developers like to play with technology secretly loving the new and shiny? Or do we only pretend that it’s about users, and behind closed doors, it’s developer experience that matters to us? Did we lose direction? Is it time for a critical look at the state of the web and the role JavaScript plays in it?

fwdaysjavascriptconference
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript

The document discusses the challenges of indexing JavaScript-powered websites by search engines. It notes that JavaScript rendering takes significant computational resources, straining crawlers' budgets. It also suggests that client-side rendered JavaScript websites have difficulties with search engine indexing and ranking, as content may be missed during Google's two-wave indexing process for JavaScript. The document recommends using server-side rendering, hybrid rendering, or prerendering to help search engines properly index JavaScript websites.

javascript seotechnical seoseo
Eventually, WRS may need to
render again your page, which
means slower indexing.
@giacomozecchini
#brightonSEO
Debugging at scale
@giacomozecchini
#brightonSEO
Manually checking page per
page might work on very small
websites.
@giacomozecchini
#brightonSEO
When you start having a lot of
pages.. That’s a problem!
@giacomozecchini
#brightonSEO

Recommended for you

SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf

Chrome DevTools are a set of free tools built directly into the Google Chrome browser, that offer developers and SEO specialists exceptional insights into underlying SEO issues. In this session, we will look at how to use it for technical SEO auditing, performance testing and crawlability, especially for JavaScript sites.

seo
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...

App-like websites can improve page speed and user engagement, but they also rely heavily on JavaScript and JS frameworks that can make many ‘SEO basics’ more technically complex. Emily will walk you through often-missed tactics to make web-apps indexable, optimised, and performant on mobile devices.

marketingdigital marketingprogressive web apps
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...

Roleplay as a fearless Technical SEO who must pass through Google's Web Rendering Service (WRS), a legendary construct, as part of a mission to protect site visibility. Panel: 'Think like a bot, rank like a boss' from BrightonSEO September 2019

javascriptseorendering
You can prioritise and group
pages with similar HTML and
resources together, but..
@giacomozecchini
#brightonSEO
..the rendering of a page can fail
regardless of what happens to
other similar pages.
@giacomozecchini
#brightonSEO
You still have to manually check
pages to be 100% sure those are
correctly rendered.
@giacomozecchini
#brightonSEO
WRS capabilities
vs Debugging
@giacomozecchini
#brightonSEO

Recommended for you

Javascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicelyJavascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicely

With JavaScript SEO, we're crawling, rendering & indexing. We want to work together with Devs and SEOs to get the best outcome for the client.

seojavascript seodevelopment
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017

This document contains the transcript of a presentation by Chris Heilmann on web development. Some of the key points discussed include: - The benefits of progressive enhancement and using HTML, CSS, and JavaScript together to build robust and accessible websites. - How limitations in early design can foster creativity. - The importance of error handling and defensive coding practices. - Embracing new technologies like Service Workers and Manifests to build Progressive Web Apps. - Rethinking the idea that JavaScript is unreliable and should not be depended on, as modern browsers have made it a capable tool.

pixelsjavascriptprogressivewebapps
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018

It's what it says, some of the problems we've seen with JS frameworks and some of the things to look at to figure out what's going on.

angularjavascriptreact
Understanding what a Web
Rendering Service can or can’t
do is a one time task.
@giacomozecchini
#brightonSEO
You can build a page with a
specific feature and test it. If it
works once it will work again on
other pages.
@giacomozecchini
#brightonSEO
When debugging issues you are
not focusing on a single feature
but on having an overall correct
rendering.
@giacomozecchini
#brightonSEO
View crawled page is the way.
@giacomozecchini
#brightonSEO

Recommended for you

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

London Web Performance Meetup - 10th November 2020 There is a lot of talk about web performance as a ranking signal in Search Engines and how important or not it is, but often people are overlooking how performance affects multiple phases of a search engine such as crawling, rendering, and indexing. In this talk, we'll try to understand how a search engine works and how some aspects of web performance affect the online presence of a website.

search enginesseocrawler
Prototyping user interactions in web apps
Prototyping user interactions in web appsPrototyping user interactions in web apps
Prototyping user interactions in web apps

This talk will guide you through the prototyping of javascript interactions in web applications using a great and fun tool called iXEdit.

uidesignbarcampprototyping
Mobile First Responsive Design
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive Design

The document summarizes key techniques for responsible responsive web design, including building mobile-first responsive designs, keeping CSS images in their place, conditionally loading JavaScript based on screen size and capabilities, delivering different sized images at different screen sizes, and handling high-density images carefully. It also discusses debates around whether a one-size-fits-all responsive approach can compete with a tailored experience and ensuring responsive designs are optimized for performance.

fitc responsivedesign mobilefirst mobile rwd respo
A lot of information.
@giacomozecchini
#brightonSEO
But that’s not enough, you want
more. For instance, Javascript
console messages are
coalesced and not shown.
@giacomozecchini
#brightonSEO
Yes, you can get JavaScript
console errors from the Mobile
Friendly test or other live tests
but it’s not the same!
@giacomozecchini
#brightonSEO
Mobile-Friendly Test and the
other live tests bypass the
cache, have shorter timeouts,
and few other differences.
@giacomozecchini
#brightonSEO

Recommended for you

rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteurs

The document discusses the problem that web crawlers cannot see dynamic or AJAX content on websites that users see. It proposes a solution where web servers execute their JavaScript at crawl time and provide the same content to crawlers and users to make AJAX states crawlable and indexable. Major search engines and web servers would need to agree to adopt standards around modifying URLs and executing JavaScript at crawl time in order to solve this problem.

seo
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering service

SMX Advanced Europe, June 2021 - With the advent of new technologies and the massive use of Javascript on the internet, search engines have started using Web Rendering Services to better understand the content of pages on the internet. What are the difficulties in building a WRS? Are tools we use every day replicating what search engines do? In this session, Giacomo will drive you on a discovery journey digging in some techy implementation details of a search engine like web rendering service building process, covering edge cases such as infinite scrolling, iframe, web component, and shadow DOM and how to approach them.

web rendering servicessearch engines
HTML5 Intro
HTML5 IntroHTML5 Intro
HTML5 Intro

A basic introduction to HTML5 and it's new features. Created for the HTML5/CSS3 meetup Frankfurt in March 2010.

introhtml5canvas
A new hope
approach
@giacomozecchini
#brightonSEO
I started my research by getting
and printing the information I
needed on the page with some
Javascript, in a hidden <DIV>.
@giacomozecchini
#brightonSEO
<html>
…
<div id="info" style="display:none"></div>
…
<script>
…
function getInformation(){
// do stuff!
}
…
var div = document.getElementById("info");
var p = document.createElement("p");
p.innerText = getInformation();
div.appendChild(p);
…
</script>
…
</html>
@giacomozecchini
#brightonSEO
This prints the
information you need
in the DIV at
rendering time and
then you can get
them in Search
Console view crawled
page HTML.
But waiting for a page to be
crawled, rendered and indexed
again is time consuming and not
scalable.
@giacomozecchini
#brightonSEO

Recommended for you

Modern SEO Players Guide
Modern SEO Players GuideModern SEO Players Guide
Modern SEO Players Guide

This document discusses various tactics for improving SEO and site performance. It provides tips on keyword research using persona targeting, content strategy, internal linking to distribute link equity, log file analysis to understand crawl budget opportunities, auditing JavaScript sites, gaining real estate in SERPs through featured snippets and domain stacking, speed optimizations like code ordering and preloading/prerendering resources, and using analytics to better predict user behavior.

seoadvanced seomike king
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)

In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users. This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!

htmlcssprogressive enhancement
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014

My talk at #SEOZone 2014 in Istanbul covering various aspects of crawl space optimization such as crawler control & indexation strategies as well as site speed.

seotechnical seoperformance
It’s a nice way of discovering
new things but you still have to
manually check all pages.
@giacomozecchini
#brightonSEO
Then, I thought of using 1x1 px
images, appending errors or
information in the URL:
https://www.example.com/image.jpg
?u=page_url&e=error
@giacomozecchini
#brightonSEO
The idea was to look in the
server access log and find all
errors that occurred during the
rendering.
@giacomozecchini
#brightonSEO
But Google’s WRS doesn’t
download images during the
rendering of a page.
@giacomozecchini
#brightonSEO

Recommended for you

Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)

In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.

htmlcssprogressive enhancement
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference

We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner! We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too! Check out our proposed agenda below 👇👇 08:30 ☕ Welcome coffee (30') 09:00 Opening note/ Intro to UiPath Community (10') Cristina Vidu, Global Manager, Marketing Community @UiPath Dawid Kot, Digital Transformation Lead @Proservartner 09:10 Cloud migration - Proservartner & DOVISTA case study (30') Marcin Drozdowski, Automation CoE Manager @DOVISTA Pawel Kamiński, RPA developer @DOVISTA Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner 09:40 From bottlenecks to breakthroughs: Citizen Development in action (25') Pawel Poplawski, Director, Improvement and Automation @McCormick & Company Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company 10:05 Next-level bots: API integration in UiPath Studio (30') Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner 10:35 ☕ Coffee Break (15') 10:50 Document Understanding with my RPA Companion (45') Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath 11:35 Power up your Robots: GenAI and GPT in REFramework (45') Krzysztof Karaszewski, Global RPA Product Manager 12:20 🍕 Lunch Break (1hr) 13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30') Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance 13:50 Communications Mining - focus on AI capabilities (30') Thomasz Wierzbicki, Business Analyst @Office Samurai 14:20 Polish MVP panel: Insights on MVP award achievements and career profiling

#uipathcommunity#automation#automationdeveloper
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection

Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.

cybersecurityanomaly detectionadvanced techniques
But then..
@giacomozecchini
#brightonSEO
The answer was always in
front of my eyes:
Javascript + POST requests!
@giacomozecchini
#brightonSEO
Google’s WRS cache GET
requests.
@giacomozecchini
#brightonSEO
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET
But doesn’t cache POST
requests.
@giacomozecchini
#brightonSEO
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST

Recommended for you

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx

Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation

rpa in healthcarerpa in healthcare usarpa in healthcare industry
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf

Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.

infrastructure as codeclouddevops
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf

Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).

solar storms
Say welcome to the shiny new
Search Engine Rendering
Errors Logging framework!
@giacomozecchini
#brightonSEO
@giacomozecchini
#brightonSEO
Crawler
WRS
Cache
SEARCH ENGINE YOUR WEBSITE
Search Engines download or use the cache of
the resources they need to render your pages.
* Icons made by Freepik from www.flaticon.com
@giacomozecchini
#brightonSEO
CHROMIUM INSTANCE
SEARCH ENGINE
Crawler
INTERNET
During the rendering the website, WRS executes
Javascript and downloads additional resources
a website might need or request.
* Icons made by Freepik from www.flaticon.com
@giacomozecchini
#brightonSEO
CHROMIUM INSTANCE
* Icons made by Freepik from www.flaticon.com
SEARCH ENGINE
Crawler
SERVER
What if one of those Javascript sends a non
cacheable POST request to an external server?!
POST
REQUEST

Recommended for you

Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers

The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era. Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.

programmingcodingcivil engineering
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy

Not so much to say

Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure

Recent advancements in the NIST-JARVIS infrastructure: JARVIS-Overview, JARVIS-DFT, AtomGPT, ALIGNN, JARVIS-Leaderboard

jarvisjarvis-dftalignn
@giacomozecchini
#brightonSEO
There are multiple ways of
sending POST requests in JS:
Fetch API
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
Navigator.sendBeacon()
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon
XMLHttpRequest.send()
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send
{
"page":"https://www.example.com",
"timestamp": 1592568000000,
"category": "Fetch",
"error": "https://www.example.com/style.css"
}
@giacomozecchini
#brightonSEO
The message (or beacon) contains the information you want to store
in your database.
@giacomozecchini
#brightonSEO
TIME URL CATEGORY ERROR
25/10/1985 09:00:00 https://www.example.com Fetch https://www.example.com/style.css
21/10/2015 07:28:00 https://www.example.com/about.html Fetch https://www.example.com/app.js
12/11/1955 06:38:00 https://www.example.com Javascript File: https://www.example.com/app.js Line: 3 Col: 2
Error: Uncaught ReferenceError: APP is not defined
When you have everything in a database you can query the tables
and do all your analysis. You can also have automatic alerts, etc.
Debugging in
practice
@giacomozecchini
#brightonSEO

Recommended for you

20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024

Everything that I found interesting about engineering leadership last month

quantumfaxmachine
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM

Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.

quantum communicationsshannon's channel theoremclassical theory
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In

Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk. What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year? Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year. This webinar will review: - Key changes to privacy regulations in 2024 - Key themes in privacy and data governance in 2024 - How to maximize your privacy program in the second half of 2024

data privacyprivacy complianceai
!! Warning !!
Don’t use this code on your
website, these are just (bad)
examples.
@giacomozecchini
#brightonSEO
Debugging example #1
Check if a page has been
rendered
@giacomozecchini
#brightonSEO
<html>
…
<script>
sendMessageToServer();
</script>
…
</html>
@giacomozecchini
#brightonSEO
When the WRS executes the script, the
function sends a message back to the
server.
Debugging example #2
Know if there is a problem
downloading CSS or JS files
@giacomozecchini
#brightonSEO

Recommended for you

Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...

Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge. You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter. The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.

dartflutteropenssf
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf

To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.

data recoverydatadiskwarrior
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems

Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states. In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing. Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.

<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
…
window.addEventListener('error', function(err) {
if (isDownloadError(err)){
sendMessageToServer(err);
}
}, true);
…
</script>
…
</head>
…
</html>
@giacomozecchini
#brightonSEO
If there is an error and it's a CSS or
JS load error you can send a
message back to the server. This
works for HTTP/DNS/Network errors,
Robots.txt, fetch timeouts, etc.
Caveats
@giacomozecchini
#brightonSEO
There are some products out
there but all of them focus on
users and not on search
engines.
@giacomozecchini
#brightonSEO
Search engines are different
and you need to solve
different problems.
@giacomozecchini
#brightonSEO

Recommended for you

Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces

An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)

augmented realitycross realityvirtual reality
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf

Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.

neo4jneo4j webinarsgraph database
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024

This is a powerpoint that features Microsoft Teams Devices and everything that is new including updates to its software and devices for May 2024

microsoft teamsmicrosoft
You should be careful adding
new code to your website!
@giacomozecchini
#brightonSEO
Web Performance issues
You don’t want to slow down
the user experience with
something you need only for
search engines.
@giacomozecchini
#brightonSEO
Web Performance issues
Check for the User-Agent and
run the script only for search
engines.
@giacomozecchini
#brightonSEO
Crawl budget
You don’t want to consume
your crawl budget on these
requests.
@giacomozecchini
#brightonSEO

Recommended for you

BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL

Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.

blockchainweb3blockchain technology
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation

Java Servlet programs

Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides

If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights. During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to: - Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value - Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems - Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors - Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported - Look Ahead: Gain insights into where FME is headed with coordinate systems in the future Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!

Crawl budget
Host your debugging server on
a different domain or
subdomain.
@giacomozecchini
#brightonSEO
There are many other possible
problems, you just need to find
a solution for them.
@giacomozecchini
#brightonSEO
Conclusions
@giacomozecchini
#brightonSEO
The simpler a page is, the
more chances it will render
correctly. The majority of
pages are just fine.
@giacomozecchini
#brightonSEO

Recommended for you

If you work on big or complex
websites you may encounter
rendering problems.
@giacomozecchini
#brightonSEO
Debugging rendering
problems is a very time
consuming task..
@giacomozecchini
#brightonSEO
..but, if you use the right
approach you can cut down
the time it takes.
@giacomozecchini
#brightonSEO
You can use this approach as
a one time debugging script to
get more information or as a
monitoring system.
@giacomozecchini
#brightonSEO

Recommended for you

Thank You!
Got questions? DM me on Twitter.
@giacomozecchini

More Related Content

What's hot

Cost Effective Multilingual Content Optimization in An International SEO Process
Cost Effective Multilingual Content Optimization in An International SEO ProcessCost Effective Multilingual Content Optimization in An International SEO Process
Cost Effective Multilingual Content Optimization in An International SEO Process
Aleyda Solís
 
How to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress websiteHow to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress website
Indigo Tree Digital
 
Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]
Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]
Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]
Chloe Smith
 
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise WebsitesBrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
Manick Bhan
 
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
Anna Gregory-Hall
 
How to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google DiscoverHow to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google Discover
Felipe Bazon
 
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance FrameworkGoodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Aleyda Solís
 
Kleecks - AI-Martech as a game changer-DEF.pdf
Kleecks - AI-Martech as a game changer-DEF.pdfKleecks - AI-Martech as a game changer-DEF.pdf
Kleecks - AI-Martech as a game changer-DEF.pdf
Kleecks
 
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth SouthgateMartin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry
 
BrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
BrightonSEO: How to generate 8 million SEO test ideas - Will CritchlowBrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
BrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
Will Critchlow
 
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
Areej AbuAli
 
SEO Tool Overload😱... Google Data Studio to the rescue
SEO Tool Overload😱... Google Data Studio to the rescueSEO Tool Overload😱... Google Data Studio to the rescue
SEO Tool Overload😱... Google Data Studio to the rescue
Nils De Moor
 
How to leverage SEO and other channels to expand into Chinese market
How to leverage SEO and other channels to expand into Chinese marketHow to leverage SEO and other channels to expand into Chinese market
How to leverage SEO and other channels to expand into Chinese market
GraceWeiHou1
 
Don't be a cannibal
Don't be a cannibalDon't be a cannibal
Don't be a cannibal
Limor Barenholtz
 
The Quickest Win in SEO – How to do Internal Linking the Right Way
The Quickest Win in SEO – How to do Internal Linking the Right WayThe Quickest Win in SEO – How to do Internal Linking the Right Way
The Quickest Win in SEO – How to do Internal Linking the Right Way
Martin Hayman
 
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
Isa Lavs
 
The Content & Buyer Show: Let's Map #WTSFest
The Content & Buyer Show: Let's Map #WTSFestThe Content & Buyer Show: Let's Map #WTSFest
The Content & Buyer Show: Let's Map #WTSFest
Rejoice Ojiaku
 
How to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptxHow to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptx
AlexHickson3
 
Hreflang tags: everything you need to know to start implementing them
Hreflang tags: everything you need to know to start implementing themHreflang tags: everything you need to know to start implementing them
Hreflang tags: everything you need to know to start implementing them
Sara Moccand-Sayegh
 
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOndergroundCómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Aleyda Solís
 

What's hot (20)

Cost Effective Multilingual Content Optimization in An International SEO Process
Cost Effective Multilingual Content Optimization in An International SEO ProcessCost Effective Multilingual Content Optimization in An International SEO Process
Cost Effective Multilingual Content Optimization in An International SEO Process
 
How to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress websiteHow to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress website
 
Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]
Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]
Content Design & its Role in SEO and Accessibility [BrightonSEO Spring 2023]
 
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise WebsitesBrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
 
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 Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google DiscoverHow to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google Discover
 
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance FrameworkGoodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
 
Kleecks - AI-Martech as a game changer-DEF.pdf
Kleecks - AI-Martech as a game changer-DEF.pdfKleecks - AI-Martech as a game changer-DEF.pdf
Kleecks - AI-Martech as a game changer-DEF.pdf
 
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth SouthgateMartin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
 
BrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
BrightonSEO: How to generate 8 million SEO test ideas - Will CritchlowBrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
BrightonSEO: How to generate 8 million SEO test ideas - Will Critchlow
 
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
 
SEO Tool Overload😱... Google Data Studio to the rescue
SEO Tool Overload😱... Google Data Studio to the rescueSEO Tool Overload😱... Google Data Studio to the rescue
SEO Tool Overload😱... Google Data Studio to the rescue
 
How to leverage SEO and other channels to expand into Chinese market
How to leverage SEO and other channels to expand into Chinese marketHow to leverage SEO and other channels to expand into Chinese market
How to leverage SEO and other channels to expand into Chinese market
 
Don't be a cannibal
Don't be a cannibalDon't be a cannibal
Don't be a cannibal
 
The Quickest Win in SEO – How to do Internal Linking the Right Way
The Quickest Win in SEO – How to do Internal Linking the Right WayThe Quickest Win in SEO – How to do Internal Linking the Right Way
The Quickest Win in SEO – How to do Internal Linking the Right Way
 
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
 
The Content & Buyer Show: Let's Map #WTSFest
The Content & Buyer Show: Let's Map #WTSFestThe Content & Buyer Show: Let's Map #WTSFest
The Content & Buyer Show: Let's Map #WTSFest
 
How to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptxHow to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptx
 
Hreflang tags: everything you need to know to start implementing them
Hreflang tags: everything you need to know to start implementing themHreflang tags: everything you need to know to start implementing them
Hreflang tags: everything you need to know to start implementing them
 
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOndergroundCómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
Cómo Diagnosticar y Recuperar de una Caída de Tráfico SEO #SEOnderground
 

Similar to Debugging rendering problems at scale

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
Giacomo Zecchini
 
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick StoxSMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
patrickstox
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
Fwdays
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
Onely
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
Sara Moccand-Sayegh
 
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
Distilled
 
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
 
Javascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicelyJavascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicely
Peter Mead
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
patrickstox
 
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
Giacomo Zecchini
 
Prototyping user interactions in web apps
Prototyping user interactions in web appsPrototyping user interactions in web apps
Prototyping user interactions in web apps
Patrick NDJIENTCHEU
 
Mobile First Responsive Design
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive Design
Jason Grigsby
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteurs
Serge Esteves
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering service
Giacomo Zecchini
 
HTML5 Intro
HTML5 IntroHTML5 Intro
HTML5 Intro
PavingWays Ltd.
 
Modern SEO Players Guide
Modern SEO Players GuideModern SEO Players Guide
Modern SEO Players Guide
Michael King
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
Nicholas Zakas
 
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Bastian Grimm
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Nicholas Zakas
 

Similar to Debugging rendering problems at scale (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
 
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick StoxSMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
 
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
 
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...
 
Javascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicelyJavascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicely
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
 
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
 
Prototyping user interactions in web apps
Prototyping user interactions in web appsPrototyping user interactions in web apps
Prototyping user interactions in web apps
 
Mobile First Responsive Design
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive Design
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteurs
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering service
 
HTML5 Intro
HTML5 IntroHTML5 Intro
HTML5 Intro
 
Modern SEO Players Guide
Modern SEO Players GuideModern SEO Players Guide
Modern SEO Players Guide
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
 

Recently uploaded

UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 

Recently uploaded (20)

UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 

Debugging rendering problems at scale

  • 1. Debugging rendering problems at scale Giacomo Zecchini | Verve Search SLIDESHARE.NET/GIACOMOZECCHINI @GIACOMOZECCHINI
  • 2. Hi, I’m Giacomo. Technical Director at Verve Search. Technical background and previous experiences in development. @giacomozecchini #brightonSEO
  • 3. Today we are going to talk about rendering errors, the challenges of debugging at scale and a new approach to solve these issues. @giacomozecchini #brightonSEO
  • 4. The search engine's rendering process is very similar to Schrödinger's cat paradox. https://en.wikipedia.org/wiki/Schrödinger's_cat @giacomozecchini #brightonSEO
  • 5. A hypothetical cat page may be considered simultaneously both alive correctly rendered and dead not correctly rendered. @giacomozecchini #brightonSEO
  • 7. Search engines get web pages and put them in web rendering services. https://developers.google.com/search/docs/guides/javascript-seo-basics @giacomozecchini #brightonSEO
  • 8. Inside the web rendering services, the pages are rendered similarly to a browser. https://developers.google.com/search/docs/guides/javascript-seo-basics @giacomozecchini #brightonSEO
  • 9. Then, the search engines can extract all information they need from those rendered pages. https://developers.google.com/search/docs/guides/javascript-seo-basics @giacomozecchini #brightonSEO
  • 10. This is an oversimplification of a complex process. https://www.youtube.com/watch?v=Qxd_d9m9vzo @giacomozecchini #brightonSEO
  • 11. If you want to know more about this I’d suggest to watch Martin Splitt’s TechSEO Boost 2019 talk. https://www.youtube.com/watch?v=Qxd_d9m9vzo @giacomozecchini #brightonSEO
  • 12. What’s the problem with Web Rendering Services? @giacomozecchini #brightonSEO
  • 13. What happens inside the web rendering services is something hidden from our eyes, like in a closed box. @giacomozecchini #brightonSEO
  • 14. You don’t know if a page has been correctly rendered until you check it manually. @giacomozecchini #brightonSEO
  • 15. Search engines are capable of rendering your pages and most of the time the process will be fine. @giacomozecchini #brightonSEO
  • 16. Nonetheless, some pages have rendering problems. @giacomozecchini #brightonSEO
  • 17. When is a page not correctly rendered? @giacomozecchini #brightonSEO
  • 18. A page is “not correctly rendered” when is not possible for the WRS to get an asset or when an error blocks the process. @giacomozecchini #brightonSEO
  • 19. Not only pages with Javascript have problems! @giacomozecchini #brightonSEO
  • 20. Let's have a look at a few examples... @giacomozecchini #brightonSEO
  • 21. HTTP / DNS / Network errors @giacomozecchini #brightonSEO https://developers.google.com/search/docs/advanced/crawling/http-network-errors Crawler WRS Cache SEARCH ENGINE * Icons made by Freepik from www.flaticon.com
  • 22. Robots.txt blocks a resources @giacomozecchini #brightonSEO https://developers.google.com/search/docs/advanced/robots/intro Crawler WRS Cache SEARCH ENGINE * Icons made by Freepik from www.flaticon.com
  • 23. Fetch timeout @giacomozecchini #brightonSEO Crawler WRS Cache SEARCH ENGINE * this doesn’t seem very common, but it can happen * Icons made by Freepik from www.flaticon.com
  • 24. https/http mixed content @giacomozecchini #brightonSEO If your website has an HTTPS URL but one of the Javascript files has an HTTP URL and the HTTPS version is not available, the script won't be used!
  • 25. Cache mismatch, user permission for specific features (e.g. geolocation), service worker registration, Javascript syntax errors, etc. @giacomozecchini #brightonSEO
  • 26. What if a page is not correctly rendered? @giacomozecchini #brightonSEO
  • 27. If WRS can’t get your CSS the page layout won’t be correct and you may also have Mobile Usability issues. @giacomozecchini #brightonSEO
  • 28. If WRS can’t get or execute your JS files correctly, your page may be blank or broken. @giacomozecchini #brightonSEO
  • 29. Eventually, WRS may need to render again your page, which means slower indexing. @giacomozecchini #brightonSEO
  • 31. Manually checking page per page might work on very small websites. @giacomozecchini #brightonSEO
  • 32. When you start having a lot of pages.. That’s a problem! @giacomozecchini #brightonSEO
  • 33. You can prioritise and group pages with similar HTML and resources together, but.. @giacomozecchini #brightonSEO
  • 34. ..the rendering of a page can fail regardless of what happens to other similar pages. @giacomozecchini #brightonSEO
  • 35. You still have to manually check pages to be 100% sure those are correctly rendered. @giacomozecchini #brightonSEO
  • 37. Understanding what a Web Rendering Service can or can’t do is a one time task. @giacomozecchini #brightonSEO
  • 38. You can build a page with a specific feature and test it. If it works once it will work again on other pages. @giacomozecchini #brightonSEO
  • 39. When debugging issues you are not focusing on a single feature but on having an overall correct rendering. @giacomozecchini #brightonSEO
  • 40. View crawled page is the way. @giacomozecchini #brightonSEO
  • 41. A lot of information. @giacomozecchini #brightonSEO
  • 42. But that’s not enough, you want more. For instance, Javascript console messages are coalesced and not shown. @giacomozecchini #brightonSEO
  • 43. Yes, you can get JavaScript console errors from the Mobile Friendly test or other live tests but it’s not the same! @giacomozecchini #brightonSEO
  • 44. Mobile-Friendly Test and the other live tests bypass the cache, have shorter timeouts, and few other differences. @giacomozecchini #brightonSEO
  • 46. I started my research by getting and printing the information I needed on the page with some Javascript, in a hidden <DIV>. @giacomozecchini #brightonSEO
  • 47. <html> … <div id="info" style="display:none"></div> … <script> … function getInformation(){ // do stuff! } … var div = document.getElementById("info"); var p = document.createElement("p"); p.innerText = getInformation(); div.appendChild(p); … </script> … </html> @giacomozecchini #brightonSEO This prints the information you need in the DIV at rendering time and then you can get them in Search Console view crawled page HTML.
  • 48. But waiting for a page to be crawled, rendered and indexed again is time consuming and not scalable. @giacomozecchini #brightonSEO
  • 49. It’s a nice way of discovering new things but you still have to manually check all pages. @giacomozecchini #brightonSEO
  • 50. Then, I thought of using 1x1 px images, appending errors or information in the URL: https://www.example.com/image.jpg ?u=page_url&e=error @giacomozecchini #brightonSEO
  • 51. The idea was to look in the server access log and find all errors that occurred during the rendering. @giacomozecchini #brightonSEO
  • 52. But Google’s WRS doesn’t download images during the rendering of a page. @giacomozecchini #brightonSEO
  • 54. The answer was always in front of my eyes: Javascript + POST requests! @giacomozecchini #brightonSEO
  • 55. Google’s WRS cache GET requests. @giacomozecchini #brightonSEO https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET
  • 56. But doesn’t cache POST requests. @giacomozecchini #brightonSEO https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
  • 57. Say welcome to the shiny new Search Engine Rendering Errors Logging framework! @giacomozecchini #brightonSEO
  • 58. @giacomozecchini #brightonSEO Crawler WRS Cache SEARCH ENGINE YOUR WEBSITE Search Engines download or use the cache of the resources they need to render your pages. * Icons made by Freepik from www.flaticon.com
  • 59. @giacomozecchini #brightonSEO CHROMIUM INSTANCE SEARCH ENGINE Crawler INTERNET During the rendering the website, WRS executes Javascript and downloads additional resources a website might need or request. * Icons made by Freepik from www.flaticon.com
  • 60. @giacomozecchini #brightonSEO CHROMIUM INSTANCE * Icons made by Freepik from www.flaticon.com SEARCH ENGINE Crawler SERVER What if one of those Javascript sends a non cacheable POST request to an external server?! POST REQUEST
  • 61. @giacomozecchini #brightonSEO There are multiple ways of sending POST requests in JS: Fetch API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch Navigator.sendBeacon() https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon XMLHttpRequest.send() https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send
  • 62. { "page":"https://www.example.com", "timestamp": 1592568000000, "category": "Fetch", "error": "https://www.example.com/style.css" } @giacomozecchini #brightonSEO The message (or beacon) contains the information you want to store in your database.
  • 63. @giacomozecchini #brightonSEO TIME URL CATEGORY ERROR 25/10/1985 09:00:00 https://www.example.com Fetch https://www.example.com/style.css 21/10/2015 07:28:00 https://www.example.com/about.html Fetch https://www.example.com/app.js 12/11/1955 06:38:00 https://www.example.com Javascript File: https://www.example.com/app.js Line: 3 Col: 2 Error: Uncaught ReferenceError: APP is not defined When you have everything in a database you can query the tables and do all your analysis. You can also have automatic alerts, etc.
  • 65. !! Warning !! Don’t use this code on your website, these are just (bad) examples. @giacomozecchini #brightonSEO
  • 66. Debugging example #1 Check if a page has been rendered @giacomozecchini #brightonSEO
  • 67. <html> … <script> sendMessageToServer(); </script> … </html> @giacomozecchini #brightonSEO When the WRS executes the script, the function sends a message back to the server.
  • 68. Debugging example #2 Know if there is a problem downloading CSS or JS files @giacomozecchini #brightonSEO
  • 69. <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script> … window.addEventListener('error', function(err) { if (isDownloadError(err)){ sendMessageToServer(err); } }, true); … </script> … </head> … </html> @giacomozecchini #brightonSEO If there is an error and it's a CSS or JS load error you can send a message back to the server. This works for HTTP/DNS/Network errors, Robots.txt, fetch timeouts, etc.
  • 71. There are some products out there but all of them focus on users and not on search engines. @giacomozecchini #brightonSEO
  • 72. Search engines are different and you need to solve different problems. @giacomozecchini #brightonSEO
  • 73. You should be careful adding new code to your website! @giacomozecchini #brightonSEO
  • 74. Web Performance issues You don’t want to slow down the user experience with something you need only for search engines. @giacomozecchini #brightonSEO
  • 75. Web Performance issues Check for the User-Agent and run the script only for search engines. @giacomozecchini #brightonSEO
  • 76. Crawl budget You don’t want to consume your crawl budget on these requests. @giacomozecchini #brightonSEO
  • 77. Crawl budget Host your debugging server on a different domain or subdomain. @giacomozecchini #brightonSEO
  • 78. There are many other possible problems, you just need to find a solution for them. @giacomozecchini #brightonSEO
  • 80. The simpler a page is, the more chances it will render correctly. The majority of pages are just fine. @giacomozecchini #brightonSEO
  • 81. If you work on big or complex websites you may encounter rendering problems. @giacomozecchini #brightonSEO
  • 82. Debugging rendering problems is a very time consuming task.. @giacomozecchini #brightonSEO
  • 83. ..but, if you use the right approach you can cut down the time it takes. @giacomozecchini #brightonSEO
  • 84. You can use this approach as a one time debugging script to get more information or as a monitoring system. @giacomozecchini #brightonSEO
  • 85. Thank You! Got questions? DM me on Twitter. @giacomozecchini