SlideShare uma empresa Scribd logo
1 de 69
#SMX #15A @PatrickStox
What SEOs Need To Know
SEO FOR JAVASCRIPT
FRAMEWORKS
#SMX #15A @PatrickStox
• Technical SEO for IBM - Opinions expressed are my own and not
those of IBM.
• I write, mainly for Search Engine Land
• I speak at some conferences like this one, Pubcon, TechSEO Boost
• Organizer for the Raleigh SEO Meetup (most successful in US)
• We also run a conference, the Raleigh SEO Conference
• Also the Beer & SEO Meetup (because beer)
• 2017 US Search Awards Judge, 2017 UK Search Awards Judge, 2018
Interactive Marketing Awards Judge
Who is Patrick Stox?
#SMX #15A @PatrickStox
Why do SEOs need to learn about JS?
#SMX #15A @PatrickStox
The content blocks make it into more of a page builder
https://testgutenberg.com/
WordPress is replacing their TinyMCE editor with
Gutenberg, built in React
#SMX #15A @PatrickStox
Many of these Developers haven’t worked with SEOs before and
many of the SEOs don’t understand how JavaScript works or how
search engines handle it.
What’s an SEO to do?
#SMX #15A @PatrickStox
Their focus is usually on functionality. Things like SEO and
Accessibility often aren’t their priority.
What about the Developers?
#SMX #15A @PatrickStox
#SMX #15A @PatrickStox
JS Things You Should Know
#SMX #15A @PatrickStox
Search Engines don’t interact with the Page
Content should be loaded by default, not based on a user
interaction like click, mouseover, or scroll
#SMX #15A @PatrickStox
Problem: with JS, you don’t actually have to change the
URL to change the Content
#SMX #15A @PatrickStox
AJAX Crawling Scheme – Deprecated in 2015
Support for this is ENDING – Google will render #! URL
Change URL structure: example.com/#url >> example.com/#!url
Google and Bing would request: example.com/?_escaped_fragment_=url
Server would return an HTML snapshot
Google and Bing index example.com/#!url with content from
example.com/?_escaped_fragment_=url
#SMX #15A @PatrickStox
You really want Clean URLS
To change URLs for different content, usually History API and
HTML5 pushstate() are used.
Most of the frameworks have a router allowing you to customize.
/en/us?Topics%5B0%5D%5B0%5D=cat.topic%3Ainfrastructure
Create patterns to match
/{language}/{country}/{category}/{slug}
#SMX #15A @PatrickStox
It’s hard to 404
You can add a noindex to any error pages along with a message.
Will be treated as a soft-404.
JS redirect to an actual 404 page that returns the status code.
Create a 404 Route.
#SMX #15A @PatrickStox
Links
You still *should use* <a href=
ng-click, onclick, href=“javascript:void(0);” – these won’t be seen as
links unless you include the <a href= also.
#SMX #15A @PatrickStox
Links
You still *should* use <a href=
ng-click, onclick, href=“javascript:void(0);” – these won’t be seen as
links unless you include the <a href= also.
In my experience, if it remotely looks like a link or has a / in it,
Google will probably crawl it.
#SMX #15A @PatrickStox
What’s the Setup?
#SMX #15A @PatrickStox
This one is the troublemaker.
Rendered in the users browser or by search engine.
Client-Side Rendering
#SMX #15A @PatrickStox
Longer to load and process but everything is available and can be
changed quickly. A loading image is typically used but you may see
a blank page.
Why Client-Side Rendering?
#SMX #15A @PatrickStox
#SMX #15A @PatrickStox
The server processes JS and sends the processed HTML to users or
search engines.
Slower TTFB unless you cache, will work for the ~2% of users with
JS disabled.
Server-Side Rendering (SSR)
#SMX #15A @PatrickStox
A headless browser records the DOM (Document Object Model)
and creates an HTML snapshot. Like SSR, but done pre-
deployment.
Prerender.io, BromBone, PhantomJS
May not serve the latest version, doesn’t allow for personalization,
will work for the ~2% of users with JS disabled.
Pre-Rendering
#SMX #15A @PatrickStox
Serves a rendered version
on load but then replaces
with JS for subsequent
loads.
This is probably the best
setup, but it can be a lot of
resources to load.
Hybrid Rendering – Isomorphic or Universal
#SMX #15A @PatrickStox
Send normal client side rendered content to users and sending SSR
content to search engines.
Dynamic Rendering – A Policy Change
#SMX #15A @PatrickStox
The content should probably match.
Isn’t that Cloaking???
#SMX #15A @PatrickStox
Puppeteer - Node JS library to control headless Chrome
developers.google.com/web/tools/puppeteer/
Rendertron - Dockerized headless Chrome rendering solution
github.com/GoogleChrome/rendertron
Tools for Dynamic Rendering
#SMX #15A @PatrickStox
What about other Search Engines?
#SMX #15A @PatrickStox
Bing
Bing confirmed support for JSON-LD
https://searchengineland.com/bing-confirmed-support-json-ld-
formatted-schema-org-markup-293508
Fabrice Canel of Bing said at Pubcon Vegas 2017 that Bing
processes JS.
#SMX #15A @PatrickStox
Bing
#SMX #15A @PatrickStox
Bing
With JS
Without JS
#SMX #15A @PatrickStox
Yandex
#SMX #15A @PatrickStox
With JS
Without JS
Yandex
#SMX #15A @PatrickStox
So don’t use client-side rendered JS.
I’ve got maybe 5 examples of JS rendering on other
search engines and hundreds where it doesn’t
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
Try to avoid Client-side rendered JS. Other
options include:
– Server-side render
– Pre-render
– Hybrid render
– Dynamic render
#SMX #15A @PatrickStox
So you want to do Client-Side Rendering…
#SMX #15A @PatrickStox
Second Indexing
#SMX #15A @PatrickStox
Second Indexing?
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
There is a second wave of indexing for
client side rendered JS websites. The 1st is
an HTML snapshot and the second one
comes later, after the Web Rendering
Service (WRS) processes the code.
#SMX #15A @PatrickStox
What does Second Indexing mean for you?
• You may not find your content yet using site:domain/page “phrase”
#SMX #15A @PatrickStox
What does Second Indexing mean for you?
• You may not find your content yet using site:domain/page “phrase”
• You’ll see errors in the GSC HTML Improvements Report
#SMX #15A @PatrickStox
What does Second Indexing mean for you?
• You may not find your content yet using site:domain/page “phrase”
• You’ll see errors in the GSC HTML Improvements Report
• You might need to check the source code vs the DOM to see what
will change once the Web Rendering Service (WRS) renders the
page
#SMX #15A @PatrickStox
What does Second Indexing mean for you?
• You may not find your content yet using site:domain/page “phrase”
• You’ll see errors in the GSC HTML Improvements Report
• You might need to check the source code vs the DOM to see what
will change once the Web Rendering Service (WRS) renders the
page
• Nofollow added via JS is a bad idea because it may show as follow
before rendered
#SMX #15A @PatrickStox
What does Second Indexing mean for you?
• You may not find your content yet using site:domain/page “phrase”
• You’ll see errors in the GSC HTML Improvements Report
• You might need to check the source code vs the DOM to see what
will change once the Web Rendering Service (WRS) renders the
page
• Nofollow added via JS is a bad idea because it may show as follow
before rendered
• Internal links may not be picked up and added to crawl before the
render happens
#SMX #15A @PatrickStox
Canonical tags
Google says they don’t look at the canonical tag on the second
wave of indexing.
#SMX #15A @PatrickStox
Canonical tags
Were all those people who injected canonical tags with JS and
systems like Google Tag Manager wasting their time?
Let’s find out! I setup a test on a website that didn’t have a
canonical set and have injected a canonical that points to another
website. Is https://www.stoxseo.com/ indexed as
https://patrickstox.com/? Search Google for info:stoxseo.com
#SMX #15A @PatrickStox
Canonical tags
Stoxseo.com is being treated as patrickstox.com, so Google is
respecting my canonical inserted with JavaScript even though they
said at Google I/O 2018 that they don’t.
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
Does Google respect canonical tags
injected with JavaScript? They said at
Google I/O 2018 that they don’t, but my
test is live and shows they do. Search
Google for info:stoxseo.com cc: @johnmu
#SMX #15A @PatrickStox
https://developers.google.com/search/docs/guides/rendering
What’s the Web Rendering Service (WRS)?
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
Lots of things supported by modern
browsers aren’t supported by Chrome 41.
Graceful degradation and polyfills are
important for now, although Google hopes
to update to the latest Chrome this year.
https://caniuse.com/#compare=chrome+41
,chrome+69
#SMX #15A @PatrickStox
Googlebot and WRS only speaks HTTP/1.x and FTP, with and
without TLS.
WRS and Googlebot doesn't support WebSocket protocol
#SMX #15A @PatrickStox
Use feature detection to identify supported APIs and capabilities of
the WRS, and polyfills where applicable — just as you would for any
other browser — as the capabilities of WRS may update at any
time:
• IndexedDB and WebSQL interfaces are disabled.
• Interfaces defined by the Service Worker specification are
disabled.
• WebGL interface is disabled; 3D and VR content is not currently
indexed.
WRS disables some interfaces and capabilities
#SMX #15A @PatrickStox
WRS loads each URL, following server and client redirects, same as
a regular browser. 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.
Googlebot and WRS are stateless across page loads
#SMX #15A @PatrickStox
Any features that requires user consent are auto-declined by the
Googlebot. For a full list of affected features, refer to
the Permission Registry. For example, Camera API, Geolocation
API, and Notifications API.
WRS declines permission requests
#SMX #15A @PatrickStox
Googlebot is designed to be a good citizen of the web. Crawling is
its main priority, while making sure it doesn't degrade the
experience of users visiting the site. Googlebot and WRS
continuously analyze and identify resources that don’t contribute
to essential page content and may not fetch such resources. For
example, reporting and error requests that don’t contribute to
essential page content, and other similar types of requests are
unused or unnecessary to extract essential page content.
Googlebot and WRS prioritize essential page content
#SMX #15A @PatrickStox
Mostly crawls from West Coast US (Mountain View).
According to Gary Illyes at SMX Advanced 2017 they don’t throttle
speeds when checking mobile sites.
They are very aggressive with caching everything (you may want to
use file versioning). This can lead to some impossible states being
indexed if parts of old files are cached.
Other things to know about Googlebot and the WRS
#SMX #15A @PatrickStox
In fact, because of the caching and you know being a bot and all,
they actually run things as fast as they can with a sped up clock.
Check out this post from Tom Anthony
http://www.tomanthony.co.uk/blog/googlebot-javascript-random/
Googlebot runs fast
#SMX #15A @PatrickStox
Because of this experiment from Max Prin, most people believe
that Googlebot will only wait 5 seconds for a page to load.
https://maxxeight.com/tests/js-timer/
5 second rule
#SMX #15A @PatrickStox
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
There is no fixed timeout of 5 seconds for
Googlebot as is commonly believed for
JS. Between aggressive caching and
running things as fast as possible, there is
no known or fixed limit.
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
Googlebot renders with a long viewport.
Mobile screen size is 431 X 731 and
Google resizes to 12,140 pixels high, while
the desktop version is 768 X 1024 but
Google only resizes to 9,307 pixels high.
Credit to JR Oakes @jroakes
https://codeseo.io/console-log-hacking-for-
googlebot/
#SMX #15A @PatrickStox
Troubleshooting JS
#SMX #15A @PatrickStox
Both of these are raw HTML, before JS has been processed and
they’re unreliable.
Cache can process the JS as it was but it’s being processed in your
browser, making it deceptive. This isn’t what Google saw.
View Source and Google’s Cache
#SMX #15A @PatrickStox
Viewing the DOM shows you the HTML after the JS has been
processed.
If you want to make sure Google sees it, load in the DOM by default
without needing an action like click or scroll.
Inspect or Inspect Element
#SMX #15A @PatrickStox
Search Google: site:domain.com “snippet of text from your page”
If the second indexing hasn’t happened, this may not show a result.
To check indexing
#SMX #15A @PatrickStox
Google Search Console / Fetch and Render - renders a page with
Googlebot as either desktop or mobile and lists blocked /
unreachable resources. It does not show the processed DOM or
have a debug mode.
Lets you submit rendered pages to Google search for indexing. This
is stricter than the system normally used. Just because you submit
to index after fetch and render doesn’t mean the WRS has
processed the page for second indexing!
Render a page as Googlebot
#SMX #15A @PatrickStox
Google Mobile Friendly Test - renders a page with smartphone
Googlebot. It does have the processed DOM (source code) and a
debug mode (see page loading issues and JavaScript Console).
Render a page as Googlebot
#SMX #15A @PatrickStox
Share these #SMXInsights on your social channels!
#SMXInsights
Google’s Mobile Friendly Test
https://search.google.com/test/mobile-
friendly is currently the best way to see
what Google sees for a client-side rendered
JS website. It shows the processed DOM
and has a JavaScript Console.
#SMX #15A @PatrickStox
Google Rich Results Test shows rendered DOM (desktop)
Render a page as Googlebot
#SMX #15A @PatrickStox
Sometimes you may see another website that had the same basic
HTML as your website indexed instead of your own. Check with
info:domain/page as this will usually indicate the second indexing
hasn’t happened yet.
What about using the same raw HTML?
#SMX #15A @PatrickStox
LEARN MORE: UPCOMING @SMX EVENTS
THANK YOU!
SEE YOU AT THE NEXT #SMX

Mais conteúdo relacionado

Mais procurados

Better Safe Than Sorry with HTTPS - SMX East 2016 - Patrick Stox
Better Safe Than Sorry with HTTPS - SMX East 2016 - Patrick StoxBetter Safe Than Sorry with HTTPS - SMX East 2016 - Patrick Stox
Better Safe Than Sorry with HTTPS - SMX East 2016 - Patrick Stoxpatrickstox
 
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your LogsSearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your LogsDistilled
 
What's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick StoxWhat's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick StoxAhrefs
 
SMX Advanced 2018 Solving Complex SEO Problems by Patrick Stox
SMX Advanced 2018 Solving Complex SEO Problems by Patrick StoxSMX Advanced 2018 Solving Complex SEO Problems by Patrick Stox
SMX Advanced 2018 Solving Complex SEO Problems by Patrick Stoxpatrickstox
 
NLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEO
NLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEONLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEO
NLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEOpatrickstox
 
AMP for Enterprises - SMX West - Patrick Stox
AMP for Enterprises - SMX West - Patrick StoxAMP for Enterprises - SMX West - Patrick Stox
AMP for Enterprises - SMX West - Patrick Stoxpatrickstox
 
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019patrickstox
 
Page Experience Update TMC June 2021 Patrick Stox
Page Experience Update TMC June 2021 Patrick StoxPage Experience Update TMC June 2021 Patrick Stox
Page Experience Update TMC June 2021 Patrick Stoxpatrickstox
 
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 serviceGiacomo Zecchini
 
Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Bastian Grimm
 
JavaScript SEO Ungagged 2019 Patrick Stox
JavaScript SEO Ungagged 2019 Patrick StoxJavaScript SEO Ungagged 2019 Patrick Stox
JavaScript SEO Ungagged 2019 Patrick Stoxpatrickstox
 
Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Tom Anthony
 
Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014Bastian Grimm
 
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...Charly Wargnier
 
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO MeetupTroubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetuppatrickstox
 
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014Bastian Grimm
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018Bastian Grimm
 
SEO Tools of the Trade - Barcelona Affiliate Conference 2014
SEO Tools of the Trade - Barcelona Affiliate Conference 2014SEO Tools of the Trade - Barcelona Affiliate Conference 2014
SEO Tools of the Trade - Barcelona Affiliate Conference 2014Bastian Grimm
 
Data Visualization for SEO
Data Visualization for SEOData Visualization for SEO
Data Visualization for SEOAhrefs
 
Rendering SEO (explained by Google's Martin Splitt)
Rendering SEO (explained by Google's Martin Splitt)Rendering SEO (explained by Google's Martin Splitt)
Rendering SEO (explained by Google's Martin Splitt)Anton Shulke
 

Mais procurados (20)

Better Safe Than Sorry with HTTPS - SMX East 2016 - Patrick Stox
Better Safe Than Sorry with HTTPS - SMX East 2016 - Patrick StoxBetter Safe Than Sorry with HTTPS - SMX East 2016 - Patrick Stox
Better Safe Than Sorry with HTTPS - SMX East 2016 - Patrick Stox
 
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your LogsSearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
 
What's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick StoxWhat's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick Stox
 
SMX Advanced 2018 Solving Complex SEO Problems by Patrick Stox
SMX Advanced 2018 Solving Complex SEO Problems by Patrick StoxSMX Advanced 2018 Solving Complex SEO Problems by Patrick Stox
SMX Advanced 2018 Solving Complex SEO Problems by Patrick Stox
 
NLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEO
NLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEONLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEO
NLP Sitemap SMX 2016 Patrick Stox Latest In Advanced Technical SEO
 
AMP for Enterprises - SMX West - Patrick Stox
AMP for Enterprises - SMX West - Patrick StoxAMP for Enterprises - SMX West - Patrick Stox
AMP for Enterprises - SMX West - Patrick Stox
 
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
A Crash Course in Technical SEO from Patrick Stox - Beer & SEO Meetup May 2019
 
Page Experience Update TMC June 2021 Patrick Stox
Page Experience Update TMC June 2021 Patrick StoxPage Experience Update TMC June 2021 Patrick Stox
Page Experience Update TMC June 2021 Patrick Stox
 
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
 
Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019
 
JavaScript SEO Ungagged 2019 Patrick Stox
JavaScript SEO Ungagged 2019 Patrick StoxJavaScript SEO Ungagged 2019 Patrick Stox
JavaScript SEO Ungagged 2019 Patrick Stox
 
Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020
 
Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014
 
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
 
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO MeetupTroubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
 
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018
 
SEO Tools of the Trade - Barcelona Affiliate Conference 2014
SEO Tools of the Trade - Barcelona Affiliate Conference 2014SEO Tools of the Trade - Barcelona Affiliate Conference 2014
SEO Tools of the Trade - Barcelona Affiliate Conference 2014
 
Data Visualization for SEO
Data Visualization for SEOData Visualization for SEO
Data Visualization for SEO
 
Rendering SEO (explained by Google's Martin Splitt)
Rendering SEO (explained by Google's Martin Splitt)Rendering SEO (explained by Google's Martin Splitt)
Rendering SEO (explained by Google's Martin Splitt)
 

Semelhante a SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox

How Search Works
How Search WorksHow Search Works
How Search WorksAhrefs
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Hamlet Batista
 
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WESTDynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WESTOnely
 
Modern SEO Players Guide
Modern SEO Players GuideModern SEO Players Guide
Modern SEO Players GuideMichael King
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Bastian Grimm
 
Technical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdfTechnical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdfBluebash LLC
 
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 2014Bastian Grimm
 
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin
 
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesTechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesCatalyst
 
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
 
The latest in site speed: advanced #webperf 2018
The latest in site speed: advanced #webperf 2018The latest in site speed: advanced #webperf 2018
The latest in site speed: advanced #webperf 2018Anton Shulke
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisBastian Grimm
 
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...MobileMoxie
 
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...SEO Camp Association
 
JavaScript Tips & Tricks 2018 - SMX East
JavaScript Tips & Tricks 2018 - SMX EastJavaScript Tips & Tricks 2018 - SMX East
JavaScript Tips & Tricks 2018 - SMX EastOnely
 
From Web Site to Web App: Fantastic Optimisations and Where To Find Them
From Web Site to Web App: Fantastic Optimisations and Where To Find ThemFrom Web Site to Web App: Fantastic Optimisations and Where To Find Them
From Web Site to Web App: Fantastic Optimisations and Where To Find ThemMobileMoxie
 
International SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick Stox
International SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick StoxInternational SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick Stox
International SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick Stoxpatrickstox
 

Semelhante a SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox (20)

How Search Works
How Search WorksHow Search Works
How Search Works
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
 
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WESTDynamic Rendering - is this really an SEO silver bullet? SMX WEST
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
 
Modern SEO Players Guide
Modern SEO Players GuideModern SEO Players Guide
Modern SEO Players Guide
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
 
Technical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdfTechnical SEO Checklist For Developers.pdf
Technical SEO Checklist For Developers.pdf
 
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
 
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
 
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesTechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
 
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 ...
 
The latest in site speed: advanced #webperf 2018
The latest in site speed: advanced #webperf 2018The latest in site speed: advanced #webperf 2018
The latest in site speed: advanced #webperf 2018
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, Paris
 
Make Web Not War 2010
Make Web Not War 2010Make Web Not War 2010
Make Web Not War 2010
 
SEARCH Y - Bastian Grimm - Migrations Best Practices
SEARCH Y - Bastian Grimm -  Migrations Best PracticesSEARCH Y - Bastian Grimm -  Migrations Best Practices
SEARCH Y - Bastian Grimm - Migrations Best Practices
 
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
From Website to Web App - Indexing, Optimizing, and Auditing Experiences for ...
 
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
 
JavaScript Tips & Tricks 2018 - SMX East
JavaScript Tips & Tricks 2018 - SMX EastJavaScript Tips & Tricks 2018 - SMX East
JavaScript Tips & Tricks 2018 - SMX East
 
From Web Site to Web App: Fantastic Optimisations and Where To Find Them
From Web Site to Web App: Fantastic Optimisations and Where To Find ThemFrom Web Site to Web App: Fantastic Optimisations and Where To Find Them
From Web Site to Web App: Fantastic Optimisations and Where To Find Them
 
International SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick Stox
International SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick StoxInternational SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick Stox
International SEO: The Weird Technical Parts - Pubcon Vegas 2019 Patrick Stox
 

Mais de patrickstox

A crash course into SEO and what moves the needle with scalable processes
A crash course into SEO and what moves the needle with scalable processesA crash course into SEO and what moves the needle with scalable processes
A crash course into SEO and what moves the needle with scalable processespatrickstox
 
Where to focus your SEO efforts to have the most impact Digital Summit Atlant...
Where to focus your SEO efforts to have the most impact Digital Summit Atlant...Where to focus your SEO efforts to have the most impact Digital Summit Atlant...
Where to focus your SEO efforts to have the most impact Digital Summit Atlant...patrickstox
 
Raleigh seo-most-valuable-seo-presentation-patrick-stox
Raleigh seo-most-valuable-seo-presentation-patrick-stoxRaleigh seo-most-valuable-seo-presentation-patrick-stox
Raleigh seo-most-valuable-seo-presentation-patrick-stoxpatrickstox
 
Nofollow UGC Sponsored SEO From Home Patrick Stox Ahrefs
Nofollow UGC Sponsored SEO From Home Patrick Stox AhrefsNofollow UGC Sponsored SEO From Home Patrick Stox Ahrefs
Nofollow UGC Sponsored SEO From Home Patrick Stox Ahrefspatrickstox
 
Nofollow UGC Sponsored SMX West 2020 Patrick Stox
Nofollow UGC Sponsored SMX West 2020 Patrick StoxNofollow UGC Sponsored SMX West 2020 Patrick Stox
Nofollow UGC Sponsored SMX West 2020 Patrick Stoxpatrickstox
 
How to find other affiliates most successful content patrick stox
How to find other affiliates most successful content patrick stoxHow to find other affiliates most successful content patrick stox
How to find other affiliates most successful content patrick stoxpatrickstox
 
Data Visualization for SEO
Data Visualization for SEOData Visualization for SEO
Data Visualization for SEOpatrickstox
 
Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...
Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...
Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...patrickstox
 
Website Migrations at SMX Munich 2019 - Patrick Stox
Website Migrations at SMX Munich 2019 - Patrick StoxWebsite Migrations at SMX Munich 2019 - Patrick Stox
Website Migrations at SMX Munich 2019 - Patrick Stoxpatrickstox
 
Mobile First Indexing - SMX Advanced 2017 - Patrick Stox
Mobile First Indexing - SMX Advanced 2017 - Patrick StoxMobile First Indexing - SMX Advanced 2017 - Patrick Stox
Mobile First Indexing - SMX Advanced 2017 - Patrick Stoxpatrickstox
 
Google Tag Manager Can Do What
Google Tag Manager Can Do WhatGoogle Tag Manager Can Do What
Google Tag Manager Can Do Whatpatrickstox
 
Link Reclamation Strategies
Link Reclamation Strategies Link Reclamation Strategies
Link Reclamation Strategies patrickstox
 

Mais de patrickstox (12)

A crash course into SEO and what moves the needle with scalable processes
A crash course into SEO and what moves the needle with scalable processesA crash course into SEO and what moves the needle with scalable processes
A crash course into SEO and what moves the needle with scalable processes
 
Where to focus your SEO efforts to have the most impact Digital Summit Atlant...
Where to focus your SEO efforts to have the most impact Digital Summit Atlant...Where to focus your SEO efforts to have the most impact Digital Summit Atlant...
Where to focus your SEO efforts to have the most impact Digital Summit Atlant...
 
Raleigh seo-most-valuable-seo-presentation-patrick-stox
Raleigh seo-most-valuable-seo-presentation-patrick-stoxRaleigh seo-most-valuable-seo-presentation-patrick-stox
Raleigh seo-most-valuable-seo-presentation-patrick-stox
 
Nofollow UGC Sponsored SEO From Home Patrick Stox Ahrefs
Nofollow UGC Sponsored SEO From Home Patrick Stox AhrefsNofollow UGC Sponsored SEO From Home Patrick Stox Ahrefs
Nofollow UGC Sponsored SEO From Home Patrick Stox Ahrefs
 
Nofollow UGC Sponsored SMX West 2020 Patrick Stox
Nofollow UGC Sponsored SMX West 2020 Patrick StoxNofollow UGC Sponsored SMX West 2020 Patrick Stox
Nofollow UGC Sponsored SMX West 2020 Patrick Stox
 
How to find other affiliates most successful content patrick stox
How to find other affiliates most successful content patrick stoxHow to find other affiliates most successful content patrick stox
How to find other affiliates most successful content patrick stox
 
Data Visualization for SEO
Data Visualization for SEOData Visualization for SEO
Data Visualization for SEO
 
Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...
Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...
Things Google Tries To Correct For You - SMX Advanced 2019 Insights Sessions ...
 
Website Migrations at SMX Munich 2019 - Patrick Stox
Website Migrations at SMX Munich 2019 - Patrick StoxWebsite Migrations at SMX Munich 2019 - Patrick Stox
Website Migrations at SMX Munich 2019 - Patrick Stox
 
Mobile First Indexing - SMX Advanced 2017 - Patrick Stox
Mobile First Indexing - SMX Advanced 2017 - Patrick StoxMobile First Indexing - SMX Advanced 2017 - Patrick Stox
Mobile First Indexing - SMX Advanced 2017 - Patrick Stox
 
Google Tag Manager Can Do What
Google Tag Manager Can Do WhatGoogle Tag Manager Can Do What
Google Tag Manager Can Do What
 
Link Reclamation Strategies
Link Reclamation Strategies Link Reclamation Strategies
Link Reclamation Strategies
 

Último

BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Analysis of Sineing Website and how to fix
Analysis of Sineing Website and how to fixAnalysis of Sineing Website and how to fix
Analysis of Sineing Website and how to fixDHARMENDER PRATAP
 
Busty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Busty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Cash payment girl 9257726604 Hand ✋ to Hand over girl
Cash payment girl 9257726604 Hand ✋ to Hand over girlCash payment girl 9257726604 Hand ✋ to Hand over girl
Cash payment girl 9257726604 Hand ✋ to Hand over girlCall girl Jaipur
 
2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.com2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.comnmislamchannal
 
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of  Distribution Ad Network.pdfDistribution Ad Platform_ The Role of  Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of Distribution Ad Network.pdfTransports Advertising
 
Rise and fall of Kulula.com, an airline won consumers by different marketing ...
Rise and fall of Kulula.com, an airline won consumers by different marketing ...Rise and fall of Kulula.com, an airline won consumers by different marketing ...
Rise and fall of Kulula.com, an airline won consumers by different marketing ...ssusereaa7d9
 
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
 
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15SearchNorwich
 
25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...
25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...
25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...PsychicRuben LoveSpells
 
Brand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdfBrand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdftbatkhuu1
 
Social media, ppt. Features, characteristics
Social media, ppt. Features, characteristicsSocial media, ppt. Features, characteristics
Social media, ppt. Features, characteristicswasim792942
 
BDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
BDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Unlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich ManuscriptUnlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich Manuscriptelizabethella096
 
Unraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptxUnraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptxelizabethella096
 
personal branding kit for music business
personal branding kit for music businesspersonal branding kit for music business
personal branding kit for music businessbrjohnson6
 
Choosing the Right White Label SEO Services to Boost Your Agency's Growth.pdf
Choosing the Right White Label SEO Services to Boost Your Agency's Growth.pdfChoosing the Right White Label SEO Services to Boost Your Agency's Growth.pdf
Choosing the Right White Label SEO Services to Boost Your Agency's Growth.pdfAutus Digital
 

Último (20)

BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
 
Analysis of Sineing Website and how to fix
Analysis of Sineing Website and how to fixAnalysis of Sineing Website and how to fix
Analysis of Sineing Website and how to fix
 
Busty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 135 Noida Escorts >༒8448380779 Escort Service
 
Busty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Sector 49 Noida Escorts >༒8448380779 Escort Service
 
Cash payment girl 9257726604 Hand ✋ to Hand over girl
Cash payment girl 9257726604 Hand ✋ to Hand over girlCash payment girl 9257726604 Hand ✋ to Hand over girl
Cash payment girl 9257726604 Hand ✋ to Hand over girl
 
2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.com2024 Social Trends Report V4 from Later.com
2024 Social Trends Report V4 from Later.com
 
Buy Linkedin Sales Navigator at Cheap Price
Buy Linkedin Sales Navigator at Cheap PriceBuy Linkedin Sales Navigator at Cheap Price
Buy Linkedin Sales Navigator at Cheap Price
 
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of  Distribution Ad Network.pdfDistribution Ad Platform_ The Role of  Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
 
Rise and fall of Kulula.com, an airline won consumers by different marketing ...
Rise and fall of Kulula.com, an airline won consumers by different marketing ...Rise and fall of Kulula.com, an airline won consumers by different marketing ...
Rise and fall of Kulula.com, an airline won consumers by different marketing ...
 
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
 
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
Five Essential Tools for International SEO - Natalia Witczyk - SearchNorwich 15
 
25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...
25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...
25+ years’ experience (310) 882-6330 Love Spells in Wilmington, DE | black ma...
 
Brand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdfBrand experience Dream Center Peoria Presentation.pdf
Brand experience Dream Center Peoria Presentation.pdf
 
Social media, ppt. Features, characteristics
Social media, ppt. Features, characteristicsSocial media, ppt. Features, characteristics
Social media, ppt. Features, characteristics
 
BDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 44 Noida Escorts >༒8448380779 Escort Service
 
BDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 39 Noida Escorts Escorts >༒8448380779 Escort Service
 
Unlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich ManuscriptUnlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich Manuscript
 
Unraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptxUnraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptx
 
personal branding kit for music business
personal branding kit for music businesspersonal branding kit for music business
personal branding kit for music business
 
Choosing the Right White Label SEO Services to Boost Your Agency's Growth.pdf
Choosing the Right White Label SEO Services to Boost Your Agency's Growth.pdfChoosing the Right White Label SEO Services to Boost Your Agency's Growth.pdf
Choosing the Right White Label SEO Services to Boost Your Agency's Growth.pdf
 

SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox

  • 1. #SMX #15A @PatrickStox What SEOs Need To Know SEO FOR JAVASCRIPT FRAMEWORKS
  • 2. #SMX #15A @PatrickStox • Technical SEO for IBM - Opinions expressed are my own and not those of IBM. • I write, mainly for Search Engine Land • I speak at some conferences like this one, Pubcon, TechSEO Boost • Organizer for the Raleigh SEO Meetup (most successful in US) • We also run a conference, the Raleigh SEO Conference • Also the Beer & SEO Meetup (because beer) • 2017 US Search Awards Judge, 2017 UK Search Awards Judge, 2018 Interactive Marketing Awards Judge Who is Patrick Stox?
  • 3. #SMX #15A @PatrickStox Why do SEOs need to learn about JS?
  • 4. #SMX #15A @PatrickStox The content blocks make it into more of a page builder https://testgutenberg.com/ WordPress is replacing their TinyMCE editor with Gutenberg, built in React
  • 5. #SMX #15A @PatrickStox Many of these Developers haven’t worked with SEOs before and many of the SEOs don’t understand how JavaScript works or how search engines handle it. What’s an SEO to do?
  • 6. #SMX #15A @PatrickStox Their focus is usually on functionality. Things like SEO and Accessibility often aren’t their priority. What about the Developers?
  • 8. #SMX #15A @PatrickStox JS Things You Should Know
  • 9. #SMX #15A @PatrickStox Search Engines don’t interact with the Page Content should be loaded by default, not based on a user interaction like click, mouseover, or scroll
  • 10. #SMX #15A @PatrickStox Problem: with JS, you don’t actually have to change the URL to change the Content
  • 11. #SMX #15A @PatrickStox AJAX Crawling Scheme – Deprecated in 2015 Support for this is ENDING – Google will render #! URL Change URL structure: example.com/#url >> example.com/#!url Google and Bing would request: example.com/?_escaped_fragment_=url Server would return an HTML snapshot Google and Bing index example.com/#!url with content from example.com/?_escaped_fragment_=url
  • 12. #SMX #15A @PatrickStox You really want Clean URLS To change URLs for different content, usually History API and HTML5 pushstate() are used. Most of the frameworks have a router allowing you to customize. /en/us?Topics%5B0%5D%5B0%5D=cat.topic%3Ainfrastructure Create patterns to match /{language}/{country}/{category}/{slug}
  • 13. #SMX #15A @PatrickStox It’s hard to 404 You can add a noindex to any error pages along with a message. Will be treated as a soft-404. JS redirect to an actual 404 page that returns the status code. Create a 404 Route.
  • 14. #SMX #15A @PatrickStox Links You still *should use* <a href= ng-click, onclick, href=“javascript:void(0);” – these won’t be seen as links unless you include the <a href= also.
  • 15. #SMX #15A @PatrickStox Links You still *should* use <a href= ng-click, onclick, href=“javascript:void(0);” – these won’t be seen as links unless you include the <a href= also. In my experience, if it remotely looks like a link or has a / in it, Google will probably crawl it.
  • 17. #SMX #15A @PatrickStox This one is the troublemaker. Rendered in the users browser or by search engine. Client-Side Rendering
  • 18. #SMX #15A @PatrickStox Longer to load and process but everything is available and can be changed quickly. A loading image is typically used but you may see a blank page. Why Client-Side Rendering?
  • 20. #SMX #15A @PatrickStox The server processes JS and sends the processed HTML to users or search engines. Slower TTFB unless you cache, will work for the ~2% of users with JS disabled. Server-Side Rendering (SSR)
  • 21. #SMX #15A @PatrickStox A headless browser records the DOM (Document Object Model) and creates an HTML snapshot. Like SSR, but done pre- deployment. Prerender.io, BromBone, PhantomJS May not serve the latest version, doesn’t allow for personalization, will work for the ~2% of users with JS disabled. Pre-Rendering
  • 22. #SMX #15A @PatrickStox Serves a rendered version on load but then replaces with JS for subsequent loads. This is probably the best setup, but it can be a lot of resources to load. Hybrid Rendering – Isomorphic or Universal
  • 23. #SMX #15A @PatrickStox Send normal client side rendered content to users and sending SSR content to search engines. Dynamic Rendering – A Policy Change
  • 24. #SMX #15A @PatrickStox The content should probably match. Isn’t that Cloaking???
  • 25. #SMX #15A @PatrickStox Puppeteer - Node JS library to control headless Chrome developers.google.com/web/tools/puppeteer/ Rendertron - Dockerized headless Chrome rendering solution github.com/GoogleChrome/rendertron Tools for Dynamic Rendering
  • 26. #SMX #15A @PatrickStox What about other Search Engines?
  • 27. #SMX #15A @PatrickStox Bing Bing confirmed support for JSON-LD https://searchengineland.com/bing-confirmed-support-json-ld- formatted-schema-org-markup-293508 Fabrice Canel of Bing said at Pubcon Vegas 2017 that Bing processes JS.
  • 31. #SMX #15A @PatrickStox With JS Without JS Yandex
  • 32. #SMX #15A @PatrickStox So don’t use client-side rendered JS. I’ve got maybe 5 examples of JS rendering on other search engines and hundreds where it doesn’t
  • 33. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights Try to avoid Client-side rendered JS. Other options include: – Server-side render – Pre-render – Hybrid render – Dynamic render
  • 34. #SMX #15A @PatrickStox So you want to do Client-Side Rendering…
  • 37. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights There is a second wave of indexing for client side rendered JS websites. The 1st is an HTML snapshot and the second one comes later, after the Web Rendering Service (WRS) processes the code.
  • 38. #SMX #15A @PatrickStox What does Second Indexing mean for you? • You may not find your content yet using site:domain/page “phrase”
  • 39. #SMX #15A @PatrickStox What does Second Indexing mean for you? • You may not find your content yet using site:domain/page “phrase” • You’ll see errors in the GSC HTML Improvements Report
  • 40. #SMX #15A @PatrickStox What does Second Indexing mean for you? • You may not find your content yet using site:domain/page “phrase” • You’ll see errors in the GSC HTML Improvements Report • You might need to check the source code vs the DOM to see what will change once the Web Rendering Service (WRS) renders the page
  • 41. #SMX #15A @PatrickStox What does Second Indexing mean for you? • You may not find your content yet using site:domain/page “phrase” • You’ll see errors in the GSC HTML Improvements Report • You might need to check the source code vs the DOM to see what will change once the Web Rendering Service (WRS) renders the page • Nofollow added via JS is a bad idea because it may show as follow before rendered
  • 42. #SMX #15A @PatrickStox What does Second Indexing mean for you? • You may not find your content yet using site:domain/page “phrase” • You’ll see errors in the GSC HTML Improvements Report • You might need to check the source code vs the DOM to see what will change once the Web Rendering Service (WRS) renders the page • Nofollow added via JS is a bad idea because it may show as follow before rendered • Internal links may not be picked up and added to crawl before the render happens
  • 43. #SMX #15A @PatrickStox Canonical tags Google says they don’t look at the canonical tag on the second wave of indexing.
  • 44. #SMX #15A @PatrickStox Canonical tags Were all those people who injected canonical tags with JS and systems like Google Tag Manager wasting their time? Let’s find out! I setup a test on a website that didn’t have a canonical set and have injected a canonical that points to another website. Is https://www.stoxseo.com/ indexed as https://patrickstox.com/? Search Google for info:stoxseo.com
  • 45. #SMX #15A @PatrickStox Canonical tags Stoxseo.com is being treated as patrickstox.com, so Google is respecting my canonical inserted with JavaScript even though they said at Google I/O 2018 that they don’t.
  • 46. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights Does Google respect canonical tags injected with JavaScript? They said at Google I/O 2018 that they don’t, but my test is live and shows they do. Search Google for info:stoxseo.com cc: @johnmu
  • 48. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights Lots of things supported by modern browsers aren’t supported by Chrome 41. Graceful degradation and polyfills are important for now, although Google hopes to update to the latest Chrome this year. https://caniuse.com/#compare=chrome+41 ,chrome+69
  • 49. #SMX #15A @PatrickStox Googlebot and WRS only speaks HTTP/1.x and FTP, with and without TLS. WRS and Googlebot doesn't support WebSocket protocol
  • 50. #SMX #15A @PatrickStox Use feature detection to identify supported APIs and capabilities of the WRS, and polyfills where applicable — just as you would for any other browser — as the capabilities of WRS may update at any time: • IndexedDB and WebSQL interfaces are disabled. • Interfaces defined by the Service Worker specification are disabled. • WebGL interface is disabled; 3D and VR content is not currently indexed. WRS disables some interfaces and capabilities
  • 51. #SMX #15A @PatrickStox WRS loads each URL, following server and client redirects, same as a regular browser. 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. Googlebot and WRS are stateless across page loads
  • 52. #SMX #15A @PatrickStox Any features that requires user consent are auto-declined by the Googlebot. For a full list of affected features, refer to the Permission Registry. For example, Camera API, Geolocation API, and Notifications API. WRS declines permission requests
  • 53. #SMX #15A @PatrickStox Googlebot is designed to be a good citizen of the web. Crawling is its main priority, while making sure it doesn't degrade the experience of users visiting the site. Googlebot and WRS continuously analyze and identify resources that don’t contribute to essential page content and may not fetch such resources. For example, reporting and error requests that don’t contribute to essential page content, and other similar types of requests are unused or unnecessary to extract essential page content. Googlebot and WRS prioritize essential page content
  • 54. #SMX #15A @PatrickStox Mostly crawls from West Coast US (Mountain View). According to Gary Illyes at SMX Advanced 2017 they don’t throttle speeds when checking mobile sites. They are very aggressive with caching everything (you may want to use file versioning). This can lead to some impossible states being indexed if parts of old files are cached. Other things to know about Googlebot and the WRS
  • 55. #SMX #15A @PatrickStox In fact, because of the caching and you know being a bot and all, they actually run things as fast as they can with a sped up clock. Check out this post from Tom Anthony http://www.tomanthony.co.uk/blog/googlebot-javascript-random/ Googlebot runs fast
  • 56. #SMX #15A @PatrickStox Because of this experiment from Max Prin, most people believe that Googlebot will only wait 5 seconds for a page to load. https://maxxeight.com/tests/js-timer/ 5 second rule
  • 58. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights There is no fixed timeout of 5 seconds for Googlebot as is commonly believed for JS. Between aggressive caching and running things as fast as possible, there is no known or fixed limit.
  • 59. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights Googlebot renders with a long viewport. Mobile screen size is 431 X 731 and Google resizes to 12,140 pixels high, while the desktop version is 768 X 1024 but Google only resizes to 9,307 pixels high. Credit to JR Oakes @jroakes https://codeseo.io/console-log-hacking-for- googlebot/
  • 61. #SMX #15A @PatrickStox Both of these are raw HTML, before JS has been processed and they’re unreliable. Cache can process the JS as it was but it’s being processed in your browser, making it deceptive. This isn’t what Google saw. View Source and Google’s Cache
  • 62. #SMX #15A @PatrickStox Viewing the DOM shows you the HTML after the JS has been processed. If you want to make sure Google sees it, load in the DOM by default without needing an action like click or scroll. Inspect or Inspect Element
  • 63. #SMX #15A @PatrickStox Search Google: site:domain.com “snippet of text from your page” If the second indexing hasn’t happened, this may not show a result. To check indexing
  • 64. #SMX #15A @PatrickStox Google Search Console / Fetch and Render - renders a page with Googlebot as either desktop or mobile and lists blocked / unreachable resources. It does not show the processed DOM or have a debug mode. Lets you submit rendered pages to Google search for indexing. This is stricter than the system normally used. Just because you submit to index after fetch and render doesn’t mean the WRS has processed the page for second indexing! Render a page as Googlebot
  • 65. #SMX #15A @PatrickStox Google Mobile Friendly Test - renders a page with smartphone Googlebot. It does have the processed DOM (source code) and a debug mode (see page loading issues and JavaScript Console). Render a page as Googlebot
  • 66. #SMX #15A @PatrickStox Share these #SMXInsights on your social channels! #SMXInsights Google’s Mobile Friendly Test https://search.google.com/test/mobile- friendly is currently the best way to see what Google sees for a client-side rendered JS website. It shows the processed DOM and has a JavaScript Console.
  • 67. #SMX #15A @PatrickStox Google Rich Results Test shows rendered DOM (desktop) Render a page as Googlebot
  • 68. #SMX #15A @PatrickStox Sometimes you may see another website that had the same basic HTML as your website indexed instead of your own. Check with info:domain/page as this will usually indicate the second indexing hasn’t happened yet. What about using the same raw HTML?
  • 69. #SMX #15A @PatrickStox LEARN MORE: UPCOMING @SMX EVENTS THANK YOU! SEE YOU AT THE NEXT #SMX