SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
With JavaScript SEO
We're crawling, rendering & indexing
Peter Mead @petermeadit
Disclaimer: bullet points kill robots…
Warning: Advanced SEO ahead, this will get dry.
About Peter Mead
● Began developing websites and playing with
Search engines in 1997
● Major focus on Technical SEO
● Advocate for the SEO Community
● Called the Godfather by some
PeterMead.com
StudioHawk.com.au
SEOCollective.org
Peter Mead @petermeadit
SEO Hero - Picture this scenario
Working on your/clients SEO for some time now
Getting some good SEO wins:
- rankings, traffic, conversions, woohoo!
You're the SEO hero!
Wait what? Time to build a new website…
In JavaScript!
Let’s be heroes again?
What is JavaScript SEO?
https://moz.com/blog/JavaScript-seo-guide
JavaScript frameworks
Some popular frameworks include:
● Angular by Google
● React by Facebook
● Vue by Evan You
There’s lots of ways developers can make
JavaScript websites, and loads of frameworks...
React is a popular framework
It’s about crawling, rendering, and indexing your site
That’s just how we... crawl!
How Googlebot processes JavaScript
Googlebot processes JavaScript in three main phases:
1. Crawling
2. Rendering
3. Indexing
https://developers.google.com/search/docs/guides/JavaScript-seo-basics
Lets go…
Down the
rabbit hole.
Crawling, discovering resources and pages
Since mobile-first indexing, it will likely be Googlebot smartphone crawler
1. Crawler sends GET requests to server
2. Server gives response headers, & file contents
3. These are saved for processing
Requests usually come from Mountain View, CA, USA
Google will crawl and store ALL resources to build the page, HTML pages,
Javascript files, CSS, APIs.
This begins to build the Crawl queue, with its own specific crawl budget emerging.
Processing, preparing HTML & Resources for rendering
1. Finds Resources and Links to pages and files needed to build the page.
2. These are added to the crawl queue and cached.
3. Prioritising and scheduling is is based on the crawl queue.
Google looks for <a> tags with a href attribute.
Looks for Resources (CSS, JS, Img, etc.) and Links (to Pages) to later build the
page and provide relevance and context.
Javascript links to Resources and Pages may not get crawled or processed.
Most restrictive directives are chosen from either HTML or Javascript version.
Eg. noindex overrides index, and noindex in HTML skips rendering.
Rendering, seeing Pages the way users see them
Web Rendering Service (WRS) Processed pages are placed in Render queue
- Renders changes made to the Document Object Model (DOM) by Javascript
- Renders Using “evergreen” headless Chrome
Rendering the web is mega resource intensive, so Google needs shortcuts.
Rendering all resources caches during Processing stage
May cause unexpected results if the state of any shared resources has changed.
E.g timer for a popover shared in cache.
There’s no fixed 5 second timeout, rather, uses inactivity or blocked processing.
Indexing and crawling content in two waves
Rendering is expensive
Rendering can
take longer
Than 5 seconds
But needs to
be rendered
before it can
be indexed
Pages may not
get indexed
https://www.youtube.com/watch?v=LXF8bM4g-J4
Recommended render timeout
Google hasn't published anything official about render timeout
5 seconds is 'about right.'
This is roughly what Google may be seeing
https://sitebulb.com/resources/guides/how-to-crawl-javascript-websites/
So what does Google want to see rendered?
All our non-interaction on-page content
- Title tags,
- Meta descriptions,
- Alt attributes,
- Meta robots tags,
- Internal links & Navigation
All normal SEO elements apply.
https://ahrefs.com/blog/JavaScript-seo/
BAD JavaScript SEO
Can cause page elements not to load or render:
● Rendered core content
● Hyperlinks and Navigation
● Lazy-loaded images
● Page load times
● Document Layouts
Doing BAD work…
Common Issues preventing Rendering
Your page is queued for rendering,
It may not render as expected.
A range of factors
can be preventing Google from
rendering your page properly,
such as:
Render, render…
Robots directives blocking resources
Robots directives blocking important .js resources, preventing Google from
crawling and therefore rendering the content.
Timeouts causing resources to become unreachable
Timeouts causing network resources to take a long time to become unreachable,
so Google gives up and does not render.
Errors within the execution of the code
Errors within the execution of the code resultant from state or network connectivity
issues, such that JavaScript is unable to return HTTP status code errors.
Lazy loading images
Lazy loading images and text or other content, which is integral for the content,
however, is not yet available in the cached render queue, due to slow JavaScript
execution.
Hyperlinks generated by JavaScript
Hyperlinks generated by JavaScript are not crawlable, because Google does not
click links, so use standard hyperlinks links for them to be rendered.
Google won't click links, it crawls hyperlinks
Crawlers will not click on links or buttons or interact with the page the way users
do. They crawl and process the <a> tags.
Wont crawl this:
Or this:
Will crawl this:
Common Rendering Methods
Some of the most common JavaScript rendering methods include the following:
Pre-rendering
Client-side rendering
Server-side rendering
Dynamic rendering
Hybrid rendering
Isomorphic JavaScript
Google recommended rendering
Developers code changes may be costly.
What to recommend:
- Server side rendering
- Prerendering, or
- Dynamic rendering
Instead of client side rendering
...where possible
https://developers.google.com/search/docs/guides
/JavaScript-seo-basics
Dynamic rendering
Some common dynamic renderers are Puppeteer, Rendertron, and prerender.io.
Switches between client side and prerender for certain user agents.
Essentially showing a specific rendered version to Googlebot.
Content is crawled and indexed without having to execute JavaScript first.
https://developers.google.com/search/docs/guides/dynamic-rendering
Wait, isn’t dynamic rendering just cloaking?
Cloaking is against Google’s policies,
Can result in penalties if it’s implemented on your website.
Dynamic rendering methods are permitted and recommended by Google
However, make sure your rerendered version page does not show different
content to what is being served to users
Trisomorphic rendering, and the rest... woohoo
Many other ways to render, including streaming server rendering, if you prefer.
https://developers.google.com/web/updates/2019/02/rendering-on-the-web
https://www.deepcrawl.com/knowledge/ebooks/JavaScript-seo-guide/different-rendering-methods/
Consider the costs of DOM vs. vDOM
● Document Object Model (DOM) and Virtual DOM (vDOM)
● Vue and React use a Virtual Document Object Model (vDOM)
● Angular uses a real DOM
● Individual elements can be with a vDOM
● Don't need to update the entire DOM tree
● PageSpeed & Core Web Vitals are integral for Web development and SEO
alike.
● vDOM is considered faster than real DOM
● Pages built with Vue and React are often faster than Angular
View the DOM in Chrome Dev Tools
Identify JavaScript rendering
1. Just turn off JavaScript in your browser…
2. Do a Google search for specific on-page text you expect to be indexed
Devs and SEOs can use any number of the following tools:
Mobile friendly test
Basically shows you the pages the way we think Google sees it.
https://search.google.com/test/mobile-friendly
Inspect URL Search Console
Shows a screenshot and rendered HTML
Crawling JavaScript sites with Screaming frog
Configure rendering to ‘JavaScript’
Enable rendered screenshots
5 seconds for a render timeout
Select Googlebot Smartphone
https://www.screamingfrog.co.uk/crawl-JavaScript-seo/
Ensure external resources get crawled and rendered
Crawl & View Rendered Pages
You will get a list of Rendered Pages for easy analysis
Compare Raw & Rendered HTML
Allows us to check which HTML is being rendered
Important if content is missing
Helps identify missing links etc. within the DOM
Prerender test with screaming frog
Configure Screaming Frog User-Agent
Use a Googlebot crawler so the rerender triggers the crawler to look at the
prerendered version of the page.
(turn off JavaScript rendering options)
View Rendered Source
https://chrome.google.com/webstore/detail/view-rendered-source/ejgngohbdedoabanmclafpkoogegdpob?hl=en
JS Library Detector
https://chrome.google.com/webstore/detail/library-detector/cgaocdmhkmfnkdkbnckgmpopcbpaaejo?hl=en
Use BuiltWith to help
discover various frameworks
In use on your page
https://builtwith.com/
Lighthouse to identify JavaScript libraries
https://developers.google.com/web/tools/lighthouse
Google’s Steps for Devs fixing JavaScript SEO issues
1. Test with the Mobile-Friendly Test or the URL Inspection Tool
2. Make sure to prevent soft 404 errors
3. Expect Googlebot to decline user permission requests
4. Don't use fragment URLs to load different content
5. Don't rely on data persistence to serve content.
6. Use content fingerprinting to avoid caching issues with Googlebot.
7. Ensure that your application uses feature detection for all critical APIs that it needs and provide a fallback behavior
or polyfill where applicable.
8. Make sure your content works with HTTP connections.
9. Make sure your web components render as expected. Use the Mobile-Friendly Test or the URL Inspection Tool to
check if the rendered HTML has all content you expect.
10. After you fix the items in this checklist, test your page with the Mobile-Friendly Test or the URL inspection tool in
Search Console again.
If you fixed the issue, a green check mark appears and no errors display. If you still see errors, post in the JavaScript Sites in
Search Working Group.
https://developers.google.com/search/docs/guides/fix-search-JavaScript
1. Mobile-Friendly Test or the URL Inspection Tool
To test how Google crawls and renders a URL, use the Mobile-Friendly Test or the
URL Inspection Tool in Search Console.
You can see loaded resources, JavaScript console output and exceptions,
rendered DOM, and more information.
2. Make sure to prevent soft 404 errors
Make sure to prevent soft 404 errors.
In a single-page application (SPA), this can be very difficult.
To prevent error pages being indexed, use one or both of the following strategies:
● Redirect to a URL where the server responds with a 404 status code
● Add or change the robots meta tag to noindex
3. Googlebot to decline user permission requests
Features that require user permission don't make sense for Googlebot, or for all
users.
For example, if you make the Camera API required, Googlebot can't provide a
camera to you.
Instead, provide a way for users to access your content without being forced to
allow camera access.
4. Don't use fragment URLs to load different content
An SPA may use fragment URLs (for example https://example.com/#/products) for
loading different views.
The AJAX-crawling scheme has been deprecated since 2015, so you can't rely on
fragment URLs to work with Googlebot.
Recommend using the History API to load different content based on the URL in
an SPA.
5. Don't rely on data persistence to serve content
WRS loads each URL
However, WRS does not retain state across page loads:
● Local Storage and Session Storage data are cleared across page loads.
● HTTP Cookies are cleared across page loads.
6. Use content fingerprinting to avoid caching issues
Googlebot caches aggressively in order to reduce network requests and resource
usage.
WRS may ignore caching headers. This may lead WRS to use outdated
JavaScript or CSS resources.
Use content fingerprinting avoid this problem, it makes a fingerprint of the content
part of the filename, like main.2bb85.js.
The fingerprint is dependant on the content of the file, so updates generate a
different filename every time.
Check out the web.dev guide on long-lived caching strategies to learn more.
7. Use feature detection for all critical APIs
Use feature detection (to run browser dependant code) for all critical APIs, and
provide a fallback behavior or polyfill (to provide modern functionality on older browsers that do not
support it) where applicable.
Some web features may not be available with all user agents and some may
intentionally disable certain features.
For example, WebGL rendering of photo effects in the browser, feature detection
shows Googlebot doesn't support WebGL.
Fix this by removing the photo effect or use server-side rendering to prerender
photo effects, making content accessible to everyone, including Googlebot.
8. Make sure your content works over HTTP connections
Googlebot uses HTTP requests to retrieve content from your server.
Other types of connections, such as WebSockets or WebRTC are not supported
Provide an HTTP fallback to retrieve content
Also use robust error handling and feature detection to run different code of
browser does not support feature
9. Make sure web components render as expected
Use Mobile-Friendly Test or URL Inspection Tool to make sure the rendered HTML
has all content as expected.
WRS flattens light DOM and shadow DOM (to bundle CSS with markup)
If the web components you use aren't using <slot> (placeholders inside to be filled with
markup) consult the documentation, or use another web component instead
More information on best practices for web components.
10. Test your JavaScript fixes
After you fix the issues, test the page with:
● Mobile-Friendly Test
● URL inspection tool
Lean to speak Dev and SEO languages
fluent in over six million forms of communication…
… but that was getting rather dry
Your Dev + SEO Collaboration Journey
Devs and SEOs can agree JavaScript can cause SEO-related issues for crawling
and indexing your website’s content.
A collaborative JavaScript SEO approach can be about finding ways for Devs and
SEOs to get on the same page.
By working together we can make better-informed decisions about the rendering
approach that’s are best
Taking time to understand issues from both sides can help us get SEO success
JavaScript is not the devil
Jamie Alberico asks…
Is JavaScript the devil?
Nik Ranger says No!
Ulrika Viberg says no!
Kristina Azarenko says no!
Martin Splitt says hell no!
Although Devs + SEOs often have
Issues, when done well, JavaScript
SEO rocks!
https://www.youtube.com/watch?v=bjnrchJdqqw
Resources
Tools - https://www.searchenginejournal.com/JavaScript-tips-tools-testing-rendering/
More tools - https://www.searchenginejournal.com/JavaScript-seo-debugging-tools/
Screaming frog - https://www.screamingfrog.co.uk/crawl-JavaScript-seo/
Beginners guide - https://www.contentkingapp.com/academy/JavaScript-seo/
In depth crawling, rendering, indexing - https://ahrefs.com/blog/JavaScript-seo/
Official google documentation -
https://developers.google.com/search/docs/guides/JavaScript-seo-basics
Be the hero again! Devs and SEOs working together!
What?
@petermeadit
Questions?

Más contenido relacionado

Similar a Javascript SEO Devs and SEOs playing nicely

Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Kieran Headley
 
BrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering Budget
BrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering BudgetBrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering Budget
BrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering BudgetBotify
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?CodeValue
 
Myths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOMyths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOSara Moccand-Sayegh
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorDan Taylor
 
An SEO optimized website is best charged up.pdf
An SEO optimized website is best charged up.pdfAn SEO optimized website is best charged up.pdf
An SEO optimized website is best charged up.pdfMindfire LLC
 
SEO vs Angular
SEO vs AngularSEO vs Angular
SEO vs AngularFrançois
 
Javascript & SEO 2019
Javascript & SEO 2019Javascript & SEO 2019
Javascript & SEO 2019Edd Wilson
 
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
 
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
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slowdmethvin
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursSerge Esteves
 
Seo for Engineers
Seo for EngineersSeo for Engineers
Seo for EngineersCort Tafoya
 
Rendering: Or why your perfectly optimized content doesn't rank
Rendering: Or why your perfectly optimized content doesn't rankRendering: Or why your perfectly optimized content doesn't rank
Rendering: Or why your perfectly optimized content doesn't rankWeLoveSEO
 
WordPress North East (Jan 2021) ~ SEO Fundamentals For WordPress
WordPress North East (Jan 2021) ~ SEO Fundamentals For WordPressWordPress North East (Jan 2021) ~ SEO Fundamentals For WordPress
WordPress North East (Jan 2021) ~ SEO Fundamentals For WordPressDan Taylor
 

Similar a Javascript SEO Devs and SEOs playing nicely (20)

Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018
 
BrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering Budget
BrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering BudgetBrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering Budget
BrightonSEO 2019 - Crawl Budget is dead, please welcome Rendering Budget
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
 
Myths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOMyths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEO
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
 
An SEO optimized website is best charged up.pdf
An SEO optimized website is best charged up.pdfAn SEO optimized website is best charged up.pdf
An SEO optimized website is best charged up.pdf
 
SEO vs Angular
SEO vs AngularSEO vs Angular
SEO vs Angular
 
Javascript & SEO 2019
Javascript & SEO 2019Javascript & SEO 2019
Javascript & SEO 2019
 
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
 
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...
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteurs
 
Web components api + Vuejs
Web components api + VuejsWeb components api + Vuejs
Web components api + Vuejs
 
Seo for Engineers
Seo for EngineersSeo for Engineers
Seo for Engineers
 
Web Design Trends: 2018 Edition
Web Design Trends: 2018 EditionWeb Design Trends: 2018 Edition
Web Design Trends: 2018 Edition
 
Rendering: Or why your perfectly optimized content doesn't rank
Rendering: Or why your perfectly optimized content doesn't rankRendering: Or why your perfectly optimized content doesn't rank
Rendering: Or why your perfectly optimized content doesn't rank
 
Modern JavaScript and SEO
Modern JavaScript and SEOModern JavaScript and SEO
Modern JavaScript and SEO
 
WordPress North East (Jan 2021) ~ SEO Fundamentals For WordPress
WordPress North East (Jan 2021) ~ SEO Fundamentals For WordPressWordPress North East (Jan 2021) ~ SEO Fundamentals For WordPress
WordPress North East (Jan 2021) ~ SEO Fundamentals For WordPress
 
Core Web Vitals in Website Design.pdf
Core Web Vitals in Website Design.pdfCore Web Vitals in Website Design.pdf
Core Web Vitals in Website Design.pdf
 

Más de Peter Mead

Prioritising Impactful SEO Tasks
Prioritising Impactful SEO TasksPrioritising Impactful SEO Tasks
Prioritising Impactful SEO TasksPeter Mead
 
SMProfs 2019 Melbourne SEO Meetup
SMProfs 2019 Melbourne SEO MeetupSMProfs 2019 Melbourne SEO Meetup
SMProfs 2019 Melbourne SEO MeetupPeter Mead
 
SEMrush keyword game
SEMrush keyword gameSEMrush keyword game
SEMrush keyword gamePeter Mead
 
SERPS by DEJAN
SERPS by DEJANSERPS by DEJAN
SERPS by DEJANPeter Mead
 
Making WordPress Super Fast - Peter Mead - WordPress SEO Consultant
Making WordPress Super Fast - Peter Mead - WordPress SEO ConsultantMaking WordPress Super Fast - Peter Mead - WordPress SEO Consultant
Making WordPress Super Fast - Peter Mead - WordPress SEO ConsultantPeter Mead
 
Internal Linking Strategy by Peter Mead
Internal Linking Strategy by Peter MeadInternal Linking Strategy by Peter Mead
Internal Linking Strategy by Peter MeadPeter Mead
 
WordPress SEO Tips & Tricks - by Peter Mead
WordPress SEO Tips & Tricks - by Peter MeadWordPress SEO Tips & Tricks - by Peter Mead
WordPress SEO Tips & Tricks - by Peter MeadPeter Mead
 
WordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter MeadWordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter MeadPeter Mead
 
WordPress SEO Mistakes that Kill - BigDigital 2017 - Peter Mead
WordPress SEO Mistakes that Kill - BigDigital 2017 - Peter MeadWordPress SEO Mistakes that Kill - BigDigital 2017 - Peter Mead
WordPress SEO Mistakes that Kill - BigDigital 2017 - Peter MeadPeter Mead
 
WordPress SEO Traps - Peter Mead
WordPress SEO Traps - Peter MeadWordPress SEO Traps - Peter Mead
WordPress SEO Traps - Peter MeadPeter Mead
 
Website SEO Audit WordPress Checks
Website SEO Audit WordPress Checks Website SEO Audit WordPress Checks
Website SEO Audit WordPress Checks Peter Mead
 
Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016
Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016
Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016Peter Mead
 
Quality Link Building Tools and Processes
Quality Link Building Tools and ProcessesQuality Link Building Tools and Processes
Quality Link Building Tools and ProcessesPeter Mead
 
Top 10 local seo factors 2014 moz results
Top 10 local seo factors 2014 moz resultsTop 10 local seo factors 2014 moz results
Top 10 local seo factors 2014 moz resultsPeter Mead
 
SEO Ranking Factors - review of SearchMetrics 2014 Study
SEO Ranking Factors - review of SearchMetrics 2014 StudySEO Ranking Factors - review of SearchMetrics 2014 Study
SEO Ranking Factors - review of SearchMetrics 2014 StudyPeter Mead
 

Más de Peter Mead (15)

Prioritising Impactful SEO Tasks
Prioritising Impactful SEO TasksPrioritising Impactful SEO Tasks
Prioritising Impactful SEO Tasks
 
SMProfs 2019 Melbourne SEO Meetup
SMProfs 2019 Melbourne SEO MeetupSMProfs 2019 Melbourne SEO Meetup
SMProfs 2019 Melbourne SEO Meetup
 
SEMrush keyword game
SEMrush keyword gameSEMrush keyword game
SEMrush keyword game
 
SERPS by DEJAN
SERPS by DEJANSERPS by DEJAN
SERPS by DEJAN
 
Making WordPress Super Fast - Peter Mead - WordPress SEO Consultant
Making WordPress Super Fast - Peter Mead - WordPress SEO ConsultantMaking WordPress Super Fast - Peter Mead - WordPress SEO Consultant
Making WordPress Super Fast - Peter Mead - WordPress SEO Consultant
 
Internal Linking Strategy by Peter Mead
Internal Linking Strategy by Peter MeadInternal Linking Strategy by Peter Mead
Internal Linking Strategy by Peter Mead
 
WordPress SEO Tips & Tricks - by Peter Mead
WordPress SEO Tips & Tricks - by Peter MeadWordPress SEO Tips & Tricks - by Peter Mead
WordPress SEO Tips & Tricks - by Peter Mead
 
WordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter MeadWordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter Mead
 
WordPress SEO Mistakes that Kill - BigDigital 2017 - Peter Mead
WordPress SEO Mistakes that Kill - BigDigital 2017 - Peter MeadWordPress SEO Mistakes that Kill - BigDigital 2017 - Peter Mead
WordPress SEO Mistakes that Kill - BigDigital 2017 - Peter Mead
 
WordPress SEO Traps - Peter Mead
WordPress SEO Traps - Peter MeadWordPress SEO Traps - Peter Mead
WordPress SEO Traps - Peter Mead
 
Website SEO Audit WordPress Checks
Website SEO Audit WordPress Checks Website SEO Audit WordPress Checks
Website SEO Audit WordPress Checks
 
Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016
Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016
Paid Traffic with WordPress PPC Hacks - by Peter Mead for BigDigital 2016
 
Quality Link Building Tools and Processes
Quality Link Building Tools and ProcessesQuality Link Building Tools and Processes
Quality Link Building Tools and Processes
 
Top 10 local seo factors 2014 moz results
Top 10 local seo factors 2014 moz resultsTop 10 local seo factors 2014 moz results
Top 10 local seo factors 2014 moz results
 
SEO Ranking Factors - review of SearchMetrics 2014 Study
SEO Ranking Factors - review of SearchMetrics 2014 StudySEO Ranking Factors - review of SearchMetrics 2014 Study
SEO Ranking Factors - review of SearchMetrics 2014 Study
 

Último

Google 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best StrategiesGoogle 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best StrategiesSearch Engine Journal
 
Uncover Insightful User Journey Secrets Using GA4 Reports
Uncover Insightful User Journey Secrets Using GA4 ReportsUncover Insightful User Journey Secrets Using GA4 Reports
Uncover Insightful User Journey Secrets Using GA4 ReportsVWO
 
Social Media Marketing PPT-Includes Paid media
Social Media Marketing PPT-Includes Paid mediaSocial Media Marketing PPT-Includes Paid media
Social Media Marketing PPT-Includes Paid mediaadityabelde2
 
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Kraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationKraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationtbatkhuu1
 
What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?riteshhsociall
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessAggregage
 
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxDigital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxZACGaming
 
BLOOM_April2024. Balmer Lawrie Online Monthly Bulletin
BLOOM_April2024. Balmer Lawrie Online Monthly BulletinBLOOM_April2024. Balmer Lawrie Online Monthly Bulletin
BLOOM_April2024. Balmer Lawrie Online Monthly BulletinBalmerLawrie
 
Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdftbatkhuu1
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfVWO
 
Moving beyond multi-touch attribution - DigiMarCon CanWest 2024
Moving beyond multi-touch attribution - DigiMarCon CanWest 2024Moving beyond multi-touch attribution - DigiMarCon CanWest 2024
Moving beyond multi-touch attribution - DigiMarCon CanWest 2024Richard Ingilby
 
Enjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
April 2024 - VBOUT Partners Meeting Group
April 2024 - VBOUT Partners Meeting GroupApril 2024 - VBOUT Partners Meeting Group
April 2024 - VBOUT Partners Meeting GroupVbout.com
 

Último (20)

Google 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best StrategiesGoogle 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
 
Uncover Insightful User Journey Secrets Using GA4 Reports
Uncover Insightful User Journey Secrets Using GA4 ReportsUncover Insightful User Journey Secrets Using GA4 Reports
Uncover Insightful User Journey Secrets Using GA4 Reports
 
Social Media Marketing PPT-Includes Paid media
Social Media Marketing PPT-Includes Paid mediaSocial Media Marketing PPT-Includes Paid media
Social Media Marketing PPT-Includes Paid media
 
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 144 Noida Escorts >༒8448380779 Escort Service
 
Kraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationKraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentation
 
BUY GMAIL ACCOUNTS PVA USA IP INDIAN IP GMAIL
BUY GMAIL ACCOUNTS PVA USA IP INDIAN IP GMAILBUY GMAIL ACCOUNTS PVA USA IP INDIAN IP GMAIL
BUY GMAIL ACCOUNTS PVA USA IP INDIAN IP GMAIL
 
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
 
What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?What is Google Search Console and What is it provide?
What is Google Search Console and What is it provide?
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail Success
 
Brand Strategy Master Class - Juntae DeLane
Brand Strategy Master Class - Juntae DeLaneBrand Strategy Master Class - Juntae DeLane
Brand Strategy Master Class - Juntae DeLane
 
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxDigital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
 
BLOOM_April2024. Balmer Lawrie Online Monthly Bulletin
BLOOM_April2024. Balmer Lawrie Online Monthly BulletinBLOOM_April2024. Balmer Lawrie Online Monthly Bulletin
BLOOM_April2024. Balmer Lawrie Online Monthly Bulletin
 
Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdf
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdf
 
Moving beyond multi-touch attribution - DigiMarCon CanWest 2024
Moving beyond multi-touch attribution - DigiMarCon CanWest 2024Moving beyond multi-touch attribution - DigiMarCon CanWest 2024
Moving beyond multi-touch attribution - DigiMarCon CanWest 2024
 
Enjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 4 Gurgaon >༒8448380779 Escort Service
 
Digital Strategy Master Class - Andrew Rupert
Digital Strategy Master Class - Andrew RupertDigital Strategy Master Class - Andrew Rupert
Digital Strategy Master Class - Andrew Rupert
 
No Cookies No Problem - Steve Krull, Be Found Online
No Cookies No Problem - Steve Krull, Be Found OnlineNo Cookies No Problem - Steve Krull, Be Found Online
No Cookies No Problem - Steve Krull, Be Found Online
 
The Future of Brands on LinkedIn - Alison Kaltman
The Future of Brands on LinkedIn - Alison KaltmanThe Future of Brands on LinkedIn - Alison Kaltman
The Future of Brands on LinkedIn - Alison Kaltman
 
April 2024 - VBOUT Partners Meeting Group
April 2024 - VBOUT Partners Meeting GroupApril 2024 - VBOUT Partners Meeting Group
April 2024 - VBOUT Partners Meeting Group
 

Javascript SEO Devs and SEOs playing nicely

  • 1.
  • 2. With JavaScript SEO We're crawling, rendering & indexing Peter Mead @petermeadit Disclaimer: bullet points kill robots… Warning: Advanced SEO ahead, this will get dry.
  • 3. About Peter Mead ● Began developing websites and playing with Search engines in 1997 ● Major focus on Technical SEO ● Advocate for the SEO Community ● Called the Godfather by some PeterMead.com StudioHawk.com.au SEOCollective.org Peter Mead @petermeadit
  • 4. SEO Hero - Picture this scenario Working on your/clients SEO for some time now Getting some good SEO wins: - rankings, traffic, conversions, woohoo! You're the SEO hero! Wait what? Time to build a new website… In JavaScript! Let’s be heroes again?
  • 5. What is JavaScript SEO? https://moz.com/blog/JavaScript-seo-guide
  • 6. JavaScript frameworks Some popular frameworks include: ● Angular by Google ● React by Facebook ● Vue by Evan You There’s lots of ways developers can make JavaScript websites, and loads of frameworks...
  • 7. React is a popular framework
  • 8. It’s about crawling, rendering, and indexing your site That’s just how we... crawl!
  • 9. How Googlebot processes JavaScript Googlebot processes JavaScript in three main phases: 1. Crawling 2. Rendering 3. Indexing https://developers.google.com/search/docs/guides/JavaScript-seo-basics Lets go… Down the rabbit hole.
  • 10. Crawling, discovering resources and pages Since mobile-first indexing, it will likely be Googlebot smartphone crawler 1. Crawler sends GET requests to server 2. Server gives response headers, & file contents 3. These are saved for processing Requests usually come from Mountain View, CA, USA Google will crawl and store ALL resources to build the page, HTML pages, Javascript files, CSS, APIs. This begins to build the Crawl queue, with its own specific crawl budget emerging.
  • 11. Processing, preparing HTML & Resources for rendering 1. Finds Resources and Links to pages and files needed to build the page. 2. These are added to the crawl queue and cached. 3. Prioritising and scheduling is is based on the crawl queue. Google looks for <a> tags with a href attribute. Looks for Resources (CSS, JS, Img, etc.) and Links (to Pages) to later build the page and provide relevance and context. Javascript links to Resources and Pages may not get crawled or processed. Most restrictive directives are chosen from either HTML or Javascript version. Eg. noindex overrides index, and noindex in HTML skips rendering.
  • 12. Rendering, seeing Pages the way users see them Web Rendering Service (WRS) Processed pages are placed in Render queue - Renders changes made to the Document Object Model (DOM) by Javascript - Renders Using “evergreen” headless Chrome Rendering the web is mega resource intensive, so Google needs shortcuts. Rendering all resources caches during Processing stage May cause unexpected results if the state of any shared resources has changed. E.g timer for a popover shared in cache. There’s no fixed 5 second timeout, rather, uses inactivity or blocked processing.
  • 13. Indexing and crawling content in two waves
  • 14. Rendering is expensive Rendering can take longer Than 5 seconds But needs to be rendered before it can be indexed Pages may not get indexed https://www.youtube.com/watch?v=LXF8bM4g-J4
  • 15. Recommended render timeout Google hasn't published anything official about render timeout 5 seconds is 'about right.' This is roughly what Google may be seeing https://sitebulb.com/resources/guides/how-to-crawl-javascript-websites/
  • 16. So what does Google want to see rendered? All our non-interaction on-page content - Title tags, - Meta descriptions, - Alt attributes, - Meta robots tags, - Internal links & Navigation All normal SEO elements apply. https://ahrefs.com/blog/JavaScript-seo/
  • 17. BAD JavaScript SEO Can cause page elements not to load or render: ● Rendered core content ● Hyperlinks and Navigation ● Lazy-loaded images ● Page load times ● Document Layouts Doing BAD work…
  • 18. Common Issues preventing Rendering Your page is queued for rendering, It may not render as expected. A range of factors can be preventing Google from rendering your page properly, such as: Render, render…
  • 19. Robots directives blocking resources Robots directives blocking important .js resources, preventing Google from crawling and therefore rendering the content.
  • 20. Timeouts causing resources to become unreachable Timeouts causing network resources to take a long time to become unreachable, so Google gives up and does not render.
  • 21. Errors within the execution of the code Errors within the execution of the code resultant from state or network connectivity issues, such that JavaScript is unable to return HTTP status code errors.
  • 22. Lazy loading images Lazy loading images and text or other content, which is integral for the content, however, is not yet available in the cached render queue, due to slow JavaScript execution.
  • 23. Hyperlinks generated by JavaScript Hyperlinks generated by JavaScript are not crawlable, because Google does not click links, so use standard hyperlinks links for them to be rendered.
  • 24. Google won't click links, it crawls hyperlinks Crawlers will not click on links or buttons or interact with the page the way users do. They crawl and process the <a> tags. Wont crawl this: Or this: Will crawl this:
  • 25. Common Rendering Methods Some of the most common JavaScript rendering methods include the following: Pre-rendering Client-side rendering Server-side rendering Dynamic rendering Hybrid rendering Isomorphic JavaScript
  • 26. Google recommended rendering Developers code changes may be costly. What to recommend: - Server side rendering - Prerendering, or - Dynamic rendering Instead of client side rendering ...where possible https://developers.google.com/search/docs/guides /JavaScript-seo-basics
  • 27. Dynamic rendering Some common dynamic renderers are Puppeteer, Rendertron, and prerender.io. Switches between client side and prerender for certain user agents. Essentially showing a specific rendered version to Googlebot. Content is crawled and indexed without having to execute JavaScript first. https://developers.google.com/search/docs/guides/dynamic-rendering
  • 28. Wait, isn’t dynamic rendering just cloaking? Cloaking is against Google’s policies, Can result in penalties if it’s implemented on your website. Dynamic rendering methods are permitted and recommended by Google However, make sure your rerendered version page does not show different content to what is being served to users
  • 29. Trisomorphic rendering, and the rest... woohoo Many other ways to render, including streaming server rendering, if you prefer. https://developers.google.com/web/updates/2019/02/rendering-on-the-web https://www.deepcrawl.com/knowledge/ebooks/JavaScript-seo-guide/different-rendering-methods/
  • 30. Consider the costs of DOM vs. vDOM ● Document Object Model (DOM) and Virtual DOM (vDOM) ● Vue and React use a Virtual Document Object Model (vDOM) ● Angular uses a real DOM ● Individual elements can be with a vDOM ● Don't need to update the entire DOM tree ● PageSpeed & Core Web Vitals are integral for Web development and SEO alike. ● vDOM is considered faster than real DOM ● Pages built with Vue and React are often faster than Angular
  • 31. View the DOM in Chrome Dev Tools
  • 32. Identify JavaScript rendering 1. Just turn off JavaScript in your browser… 2. Do a Google search for specific on-page text you expect to be indexed Devs and SEOs can use any number of the following tools:
  • 33. Mobile friendly test Basically shows you the pages the way we think Google sees it. https://search.google.com/test/mobile-friendly
  • 34. Inspect URL Search Console Shows a screenshot and rendered HTML
  • 35. Crawling JavaScript sites with Screaming frog Configure rendering to ‘JavaScript’ Enable rendered screenshots 5 seconds for a render timeout Select Googlebot Smartphone https://www.screamingfrog.co.uk/crawl-JavaScript-seo/
  • 36. Ensure external resources get crawled and rendered
  • 37. Crawl & View Rendered Pages You will get a list of Rendered Pages for easy analysis
  • 38. Compare Raw & Rendered HTML Allows us to check which HTML is being rendered Important if content is missing Helps identify missing links etc. within the DOM
  • 39. Prerender test with screaming frog Configure Screaming Frog User-Agent Use a Googlebot crawler so the rerender triggers the crawler to look at the prerendered version of the page. (turn off JavaScript rendering options)
  • 42. Use BuiltWith to help discover various frameworks In use on your page https://builtwith.com/
  • 43. Lighthouse to identify JavaScript libraries https://developers.google.com/web/tools/lighthouse
  • 44. Google’s Steps for Devs fixing JavaScript SEO issues 1. Test with the Mobile-Friendly Test or the URL Inspection Tool 2. Make sure to prevent soft 404 errors 3. Expect Googlebot to decline user permission requests 4. Don't use fragment URLs to load different content 5. Don't rely on data persistence to serve content. 6. Use content fingerprinting to avoid caching issues with Googlebot. 7. Ensure that your application uses feature detection for all critical APIs that it needs and provide a fallback behavior or polyfill where applicable. 8. Make sure your content works with HTTP connections. 9. Make sure your web components render as expected. Use the Mobile-Friendly Test or the URL Inspection Tool to check if the rendered HTML has all content you expect. 10. After you fix the items in this checklist, test your page with the Mobile-Friendly Test or the URL inspection tool in Search Console again. If you fixed the issue, a green check mark appears and no errors display. If you still see errors, post in the JavaScript Sites in Search Working Group. https://developers.google.com/search/docs/guides/fix-search-JavaScript
  • 45. 1. Mobile-Friendly Test or the URL Inspection Tool To test how Google crawls and renders a URL, use the Mobile-Friendly Test or the URL Inspection Tool in Search Console. You can see loaded resources, JavaScript console output and exceptions, rendered DOM, and more information.
  • 46. 2. Make sure to prevent soft 404 errors Make sure to prevent soft 404 errors. In a single-page application (SPA), this can be very difficult. To prevent error pages being indexed, use one or both of the following strategies: ● Redirect to a URL where the server responds with a 404 status code ● Add or change the robots meta tag to noindex
  • 47. 3. Googlebot to decline user permission requests Features that require user permission don't make sense for Googlebot, or for all users. For example, if you make the Camera API required, Googlebot can't provide a camera to you. Instead, provide a way for users to access your content without being forced to allow camera access.
  • 48. 4. Don't use fragment URLs to load different content An SPA may use fragment URLs (for example https://example.com/#/products) for loading different views. The AJAX-crawling scheme has been deprecated since 2015, so you can't rely on fragment URLs to work with Googlebot. Recommend using the History API to load different content based on the URL in an SPA.
  • 49. 5. Don't rely on data persistence to serve content WRS loads each URL However, WRS does not retain state across page loads: ● Local Storage and Session Storage data are cleared across page loads. ● HTTP Cookies are cleared across page loads.
  • 50. 6. Use content fingerprinting to avoid caching issues Googlebot caches aggressively in order to reduce network requests and resource usage. WRS may ignore caching headers. This may lead WRS to use outdated JavaScript or CSS resources. Use content fingerprinting avoid this problem, it makes a fingerprint of the content part of the filename, like main.2bb85.js. The fingerprint is dependant on the content of the file, so updates generate a different filename every time. Check out the web.dev guide on long-lived caching strategies to learn more.
  • 51. 7. Use feature detection for all critical APIs Use feature detection (to run browser dependant code) for all critical APIs, and provide a fallback behavior or polyfill (to provide modern functionality on older browsers that do not support it) where applicable. Some web features may not be available with all user agents and some may intentionally disable certain features. For example, WebGL rendering of photo effects in the browser, feature detection shows Googlebot doesn't support WebGL. Fix this by removing the photo effect or use server-side rendering to prerender photo effects, making content accessible to everyone, including Googlebot.
  • 52. 8. Make sure your content works over HTTP connections Googlebot uses HTTP requests to retrieve content from your server. Other types of connections, such as WebSockets or WebRTC are not supported Provide an HTTP fallback to retrieve content Also use robust error handling and feature detection to run different code of browser does not support feature
  • 53. 9. Make sure web components render as expected Use Mobile-Friendly Test or URL Inspection Tool to make sure the rendered HTML has all content as expected. WRS flattens light DOM and shadow DOM (to bundle CSS with markup) If the web components you use aren't using <slot> (placeholders inside to be filled with markup) consult the documentation, or use another web component instead More information on best practices for web components.
  • 54. 10. Test your JavaScript fixes After you fix the issues, test the page with: ● Mobile-Friendly Test ● URL inspection tool
  • 55. Lean to speak Dev and SEO languages fluent in over six million forms of communication… … but that was getting rather dry
  • 56. Your Dev + SEO Collaboration Journey Devs and SEOs can agree JavaScript can cause SEO-related issues for crawling and indexing your website’s content. A collaborative JavaScript SEO approach can be about finding ways for Devs and SEOs to get on the same page. By working together we can make better-informed decisions about the rendering approach that’s are best Taking time to understand issues from both sides can help us get SEO success
  • 57. JavaScript is not the devil Jamie Alberico asks… Is JavaScript the devil? Nik Ranger says No! Ulrika Viberg says no! Kristina Azarenko says no! Martin Splitt says hell no! Although Devs + SEOs often have Issues, when done well, JavaScript SEO rocks! https://www.youtube.com/watch?v=bjnrchJdqqw
  • 58. Resources Tools - https://www.searchenginejournal.com/JavaScript-tips-tools-testing-rendering/ More tools - https://www.searchenginejournal.com/JavaScript-seo-debugging-tools/ Screaming frog - https://www.screamingfrog.co.uk/crawl-JavaScript-seo/ Beginners guide - https://www.contentkingapp.com/academy/JavaScript-seo/ In depth crawling, rendering, indexing - https://ahrefs.com/blog/JavaScript-seo/ Official google documentation - https://developers.google.com/search/docs/guides/JavaScript-seo-basics
  • 59. Be the hero again! Devs and SEOs working together! What? @petermeadit Questions?