techseo boost 2017: seo best practices for javascript t-based websites

27
Max Prin | @maxxeight #TechSEOBoost SEO Best Practices For JavaScript-Based Websites How to make sure search engines can “understand” your website

Upload: catalyst

Post on 22-Jan-2018

3.970 views

Category:

Marketing


0 download

TRANSCRIPT

Page 1: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

SEO Best Practices

For JavaScript-Based Websites

How to make sure search engines can “understand” your website

Page 2: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Page 3: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

How (Advanced) Search Engines Work

Render “Understanding web pages better”

Page 4: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Rendering On Google Search

Googlebot uses a web rendering service (WRS) that is based on Chrome 41 (M41).

However:

• Some features and APIs, such as IndexedDB or Service Workers, are disabled.

• The Search team is working on updating the WRS so it’s always based on the latest available Chrome version.

Page 5: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Web Development Technologies

Page 6: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

No page title

No content

Etc.

Page 7: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

It’s in the DOM!

Page 8: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

HOWEVER…

Page 9: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

HOWEVER…

• Unique URL (SPA)

• Unique HTML document (with duplicated <head> section)

• Blocked resources

• Links structure

• Rendering delays

• User interactions

• JavaScript errors

• Etc.

Page 10: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

CRAWLING

Page 11: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

URL Structure

Fragment Identifier: example.com/#url

Hashbang: example.com/#!url (pretty URL)• Google and Bing will request:

example.com/?_escaped_fragment_=url (ugly URL)

• The escaped_fragment URL should return an HTML snapshot

Page 12: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

AJAX-Crawling Scheme

• 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

• Google has deprecated this recommendation in October 2015

• Won’t be supported by ~Q2 2018

Page 13: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

URL Structure

Fragment Identifier: example.com/#url

Hashbang: example.com/#!url (pretty URL)• Google and Bing will request:

example.com/?_escaped_fragment_=url (ugly URL)

• The escaped_fragment URL should return an HTML snapshot

Clean URL: example.com/url• Leveraging the pushState function of the History API

Page 14: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Internal Linking

onclick + window.location

≠<a href=”link.html”>

Page 15: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

RENDERING

Page 16: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Blocked Resources (robots.txt)

Page 17: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Content Loading

Page 18: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Content Loading

Page 19: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

HTML Snapshots (“pre-rendering”)

AJAX-crawling scheme

User-agent (bot) detection

Hybrid rendering / Isomorphic JavaScript

Page 20: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

INDEXING

Page 21: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Main content gets

rendered here

Same title, description,

canonical tag, etc. for

every URL

Duplicated Meta Info Across URLs

Page 22: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

TOOLS

Page 23: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Google Search Console – Fetch & Render

Page 24: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

TechnicalSEO.com – Fetch & Render

Page 25: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

SEO Crawlers

Page 26: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

Chrome Dev Tools: Console - Lighthouse

Page 27: TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites

Max Prin | @maxxeight #TechSEOBoost

THANK YOU!

@maxxeight