SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
SEO for Single Page Applications
by Mark Fusco and Justin Gillespie
Roadmap
● Problem: SPA has exciting UX benefits and growing popularity, but SSR websites post higher
results
● So What: SEO: Challenge of getting your SPA to number one on SERP
● How to Solve: understanding How Googlebot crawls and indexes the web
● Bare Minimum Techniques to get crawled and indexed
● Best of Both Worlds Approach
● Tooling
Goal: High level understanding with specific techniques that are framework agnostic
Terminology
● Single Page Application(SPA): Allow you to simulate the work of desktop
apps and is arranged where all of the elements are sent on initial load. So
when you go to a new page, only a portion of the content is updated.
● SSR: Server Side Rendered
● SEO: Search Engine Optimization - the practice of increasing the quantity
and quality of traffic to your website through organic search engine results.
● SERP: Search Engine Results Page
● Organic traffic: Any traffic you don’t have to pay for.
Aimed at Google (800 lb gorilla), also applies across search engine platforms and is
always evolving
● Interactive user responsiveness
● Mobile applications
● Event based action / real time updates
○ Instant messaging
○ Push notification
○ Automatic feed update
● Technical benefits
○ High speed after initial load
○ Fast development / deployment (SPA only consists of index.html, js bundle, css bundle)
● Libraries make development easy
○ Caching
○ Local storage
○ Event processing
SPA Benefits
Problem
MPA (multi page applications) that are SSR (server-side rendered) websites
rank higher on Google then their client-side rendered counter parts.
Organic Results
Paid
● 75% of people never scroll
past the first page of search
engines.
● 70-80% of people ignore paid
search results, choosing to
only click on organic search
results.
Why is this important?
How Googlebot traditionally crawled the
web
● Crawl: Scour the internet for content, looking
over the code/content for each URL they
find.
● Index: Store and organize the content found
during the crawling process. Once a page is
in the index, it’s in the running to be
displayed as a result to relevant queries.
● Rank: Provide the pieces of content that will
best answer a searcher’s query, which
means that results are ordered by most
relevant to least relevant.
Google pipeline
Total client-side
rendering
● It takes a lot longer to develop
mobile applications
● Usually have to code the server
from scratch
● Difficult to separate client and
server
Poor SEO - your pages do not get
indexed.
Total server-side
rendering
Minimum Requirements to get crawled and indexed
● Mobile first, Responsive Web Design that
optimizes for user devices / network
conditions
● Have original, high value content
● Write clean code otherwise it is index as
empty page
● Allowed by robots.txt
● Stable, canonical URL
● Respond with “200 OK” HTTP status codes
● Linked to from with site
● XML sitemap
● Keep file sizes down bundling, minification,CSS
sprite sheets, and beware of large js packages
● Fast scripts crawler gives 5 secs for scripts to
load, parse, and execute
● Each page should have a terse, specific <title>
tag, a brief but accurate summary in the meta
description and good structure: meaningful <h1>
and <h2> headings, meaningful link text, images
with good alt text, etc.
● Use structured data such as JSON-LD
Two-prong approach
● Best Performance Optimized Framework Practices to get through the crawlers extra rendering loop
● Selectively Server Side Rendering the high value content to the webcrawler to increase page rank
Client -Side Rendered Performance
Optimization
● Pre-rendering
○ Prerender SPA Plugin (commonly used with Vue.js, but framework agnostic)
○ React-snap and React-snapshot
○ react-helmet
● Lazy loading
● Update components only when necessary and required - React Hooks
Server Side Rendering
● Next.js is a JavaScript framework for creating static server-rendered apps.
● Gatsby.js React-based static site generator
● ReactDOMServer (React)
○ Renders components into HTML strings
○ Requires a lot of manual labor with React Router and Redux libraries to work under partial server/client application
rendering conditions
● Vue.js & Nuxt.js
○ Vue.js works like a glue between a Node.js server and SPA code
■ Hydration - Process of loading the Vue.js application in the browser
○ Nuxt.js is a framework for facilitating the creation of universal applications with Vue.js
■ Capable of configuring usage of server side rendering with Vue.js
● Angular Universal
○ Middleware that lives between Angular.js and Node.js
○ Server side rendering for Angular.js applications
■ Unifies high performance and UX of SPAs and SEO liability of a static site
● Ember Fastboot
○ Runs Ember web application over Node.js
○ Responds with initial HTML which is then run in browser
Tooling
Chrome Dev tools: Lighthouse
Open Source Dev tools: WebPageTest, Structured Data Testing Tool, Mobile Friendly Test, AMP
Test, and PageSpeed Insight
Third Party Prerendering services: Netlify, Prerender.io
Summary
● Increasing SPA rankings on SERP is vital to increasing traffic
● Googlebot generally crawls and indexes the web, and the indexed pages are then ranked.
● Client side rendering
○ Faster after the initial request
○ Doesn’t need to reload the whole page
● Server side rendering
○ Faster initial load times
○ Higher SEO rankings due to HTML content being visible before the JS is loaded
● Compromise
○ Include initial state of web application in HTML file, to allow fast indexing of important content
● Tooling
○ Lighthouse, WebPageTest, Structured Data Testing Tool, Mobile Friendly Test, AMP Test, and PageSpeed
Insight, Netlify, Prerender.io
Thank you
Githubs:
@jgillespie0715
@QuestionMark97
Sources:
https://moz.com/learn/seo/what-is-seo
https://merehead.com/blog/single-page-application-vs-multi-page-application/
https://www.webfx.com/blog/seo/2019-search-market-share/
https://www.greencodebusiness.com/blog/34-3-major-benefits-of-single-page-application
https://blog.angular-university.io/why-a-single-page-application-what-are-the-benefits-what-is-a-spa/
https://serp.co/seo/robots-txt/#comments
https://junto.digital/blog/seo-stats/
https://blog.searchmetrics.com/us/javascript-seo-server-side-rendering/
https://love2dev.com/seo/seo-developer/
https://shakuro.com/blog/in-the-name-of-seo-server-side-rendering-for-single-page-apps/
https://support.google.com/webmasters/answer/70897
https://support.google.com/webmasters/answer/7451184?hl=en
https://docs.kontent.ai/tutorials/develop-apps/optimize-your-app/seo-and-javascript
https://medium.com/compass-true-north/seo-for-software-engineers-bd18daca7cd4

Contenu connexe

Tendances

Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRafael Casuso Romate
 
Single page applications the basics
Single page applications the basicsSingle page applications the basics
Single page applications the basicsChris Love
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applicationsTom Martin
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQiCiDIGITAL
 
Single page application
Single page applicationSingle page application
Single page applicationArthur Fung
 
Word press optimizations
Word press optimizations Word press optimizations
Word press optimizations Shawn DeWolfe
 
Single page applications - TernopilJS #2
Single page applications - TernopilJS #2Single page applications - TernopilJS #2
Single page applications - TernopilJS #2Andriy Deren'
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech MeetupPresentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech MeetupKyle Mathews
 
A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)Gustaf Nilsson Kotte
 
Full stack devlopment using django main ppt
Full stack devlopment using django main pptFull stack devlopment using django main ppt
Full stack devlopment using django main pptSudhanshuVijay3
 
Web profiler in drupal 8
Web profiler in drupal 8Web profiler in drupal 8
Web profiler in drupal 8valuebound
 
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...Tarun Gehani
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page ApplicationKMS Technology
 
Google Searchable Ajaxed Content
Google Searchable Ajaxed ContentGoogle Searchable Ajaxed Content
Google Searchable Ajaxed ContentVarun Grover
 
Extending Your Reach with Career Portal and Search Engine Optimization
Extending Your Reach with Career Portal and Search Engine OptimizationExtending Your Reach with Career Portal and Search Engine Optimization
Extending Your Reach with Career Portal and Search Engine OptimizationJeremyOtt5
 
04/2010 - Google App Engine
04/2010 - Google App Engine04/2010 - Google App Engine
04/2010 - Google App Enginedaveayan
 

Tendances (19)

Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend Developer
 
Single page applications the basics
Single page applications the basicsSingle page applications the basics
Single page applications the basics
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applications
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
 
Single page application
Single page applicationSingle page application
Single page application
 
Word press optimizations
Word press optimizations Word press optimizations
Word press optimizations
 
Check username availability using php ajax
Check username availability using php ajaxCheck username availability using php ajax
Check username availability using php ajax
 
Single page applications - TernopilJS #2
Single page applications - TernopilJS #2Single page applications - TernopilJS #2
Single page applications - TernopilJS #2
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech MeetupPresentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
 
A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)
 
Full stack devlopment using django main ppt
Full stack devlopment using django main pptFull stack devlopment using django main ppt
Full stack devlopment using django main ppt
 
Pwa with vue js
Pwa with vue jsPwa with vue js
Pwa with vue js
 
Web profiler in drupal 8
Web profiler in drupal 8Web profiler in drupal 8
Web profiler in drupal 8
 
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
How To Increase Your Website's Visibility - SEO Best Practices - LA2M Presena...
 
Google apps engine
Google apps engineGoogle apps engine
Google apps engine
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
 
Google Searchable Ajaxed Content
Google Searchable Ajaxed ContentGoogle Searchable Ajaxed Content
Google Searchable Ajaxed Content
 
Extending Your Reach with Career Portal and Search Engine Optimization
Extending Your Reach with Career Portal and Search Engine OptimizationExtending Your Reach with Career Portal and Search Engine Optimization
Extending Your Reach with Career Portal and Search Engine Optimization
 
04/2010 - Google App Engine
04/2010 - Google App Engine04/2010 - Google App Engine
04/2010 - Google App Engine
 

Similaire à Seo for single page applications

How to make React Applications SEO-friendly
How to make React Applications SEO-friendlyHow to make React Applications SEO-friendly
How to make React Applications SEO-friendlyFibonalabs
 
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
 
Demystifying JavaScript & SEO
Demystifying JavaScript & SEODemystifying JavaScript & SEO
Demystifying JavaScript & SEOBotify
 
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
 
Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerSuresh Patidar
 
East bay full stack developers meetup August 2019
East bay full stack developers meetup August 2019East bay full stack developers meetup August 2019
East bay full stack developers meetup August 2019Connor Leech
 
SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...
SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...
SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...SEARCH Y - Philippe Yonnet Evénements
 
From PHP to React - case study
From PHP to React - case studyFrom PHP to React - case study
From PHP to React - case studySparkbit
 
Clientside vs Serverside - SEO
Clientside vs Serverside  - SEOClientside vs Serverside  - SEO
Clientside vs Serverside - SEOAli Haris
 
Javascript & SEO 2019
Javascript & SEO 2019Javascript & SEO 2019
Javascript & SEO 2019Edd Wilson
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it worksIlya Grigorik
 
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsJuan Picado
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performanceAndrew Siemer
 
Page Experience: Google's New Search Algorithm Update
Page Experience: Google's New Search Algorithm UpdatePage Experience: Google's New Search Algorithm Update
Page Experience: Google's New Search Algorithm UpdateDBS Interactive
 
Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?Marshal Yung
 

Similaire à Seo for single page applications (20)

How to make React Applications SEO-friendly
How to make React Applications SEO-friendlyHow to make React Applications SEO-friendly
How to make React Applications SEO-friendly
 
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...
 
Demystifying JavaScript & SEO
Demystifying JavaScript & SEODemystifying JavaScript & SEO
Demystifying JavaScript & SEO
 
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
 
Developing high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web workerDeveloping high performance and responsive web apps using web worker
Developing high performance and responsive web apps using web worker
 
East bay full stack developers meetup August 2019
East bay full stack developers meetup August 2019East bay full stack developers meetup August 2019
East bay full stack developers meetup August 2019
 
SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...
SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...
SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...
 
From PHP to React - case study
From PHP to React - case studyFrom PHP to React - case study
From PHP to React - case study
 
Clientside vs Serverside - SEO
Clientside vs Serverside  - SEOClientside vs Serverside  - SEO
Clientside vs Serverside - SEO
 
How to Make React SEO-friendly
How to  Make React SEO-friendlyHow to  Make React SEO-friendly
How to Make React SEO-friendly
 
Javascript & SEO 2019
Javascript & SEO 2019Javascript & SEO 2019
Javascript & SEO 2019
 
Dust.js
Dust.jsDust.js
Dust.js
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web Vitals
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
What is Next js.pdf
What is Next js.pdfWhat is Next js.pdf
What is Next js.pdf
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
Page Experience: Google's New Search Algorithm Update
Page Experience: Google's New Search Algorithm UpdatePage Experience: Google's New Search Algorithm Update
Page Experience: Google's New Search Algorithm Update
 
Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?
 

Dernier

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Dernier (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

Seo for single page applications

  • 1. SEO for Single Page Applications by Mark Fusco and Justin Gillespie
  • 2. Roadmap ● Problem: SPA has exciting UX benefits and growing popularity, but SSR websites post higher results ● So What: SEO: Challenge of getting your SPA to number one on SERP ● How to Solve: understanding How Googlebot crawls and indexes the web ● Bare Minimum Techniques to get crawled and indexed ● Best of Both Worlds Approach ● Tooling Goal: High level understanding with specific techniques that are framework agnostic
  • 3.
  • 4. Terminology ● Single Page Application(SPA): Allow you to simulate the work of desktop apps and is arranged where all of the elements are sent on initial load. So when you go to a new page, only a portion of the content is updated. ● SSR: Server Side Rendered ● SEO: Search Engine Optimization - the practice of increasing the quantity and quality of traffic to your website through organic search engine results. ● SERP: Search Engine Results Page ● Organic traffic: Any traffic you don’t have to pay for.
  • 5. Aimed at Google (800 lb gorilla), also applies across search engine platforms and is always evolving
  • 6. ● Interactive user responsiveness ● Mobile applications ● Event based action / real time updates ○ Instant messaging ○ Push notification ○ Automatic feed update ● Technical benefits ○ High speed after initial load ○ Fast development / deployment (SPA only consists of index.html, js bundle, css bundle) ● Libraries make development easy ○ Caching ○ Local storage ○ Event processing SPA Benefits
  • 7. Problem MPA (multi page applications) that are SSR (server-side rendered) websites rank higher on Google then their client-side rendered counter parts.
  • 9. ● 75% of people never scroll past the first page of search engines. ● 70-80% of people ignore paid search results, choosing to only click on organic search results. Why is this important?
  • 10. How Googlebot traditionally crawled the web ● Crawl: Scour the internet for content, looking over the code/content for each URL they find. ● Index: Store and organize the content found during the crawling process. Once a page is in the index, it’s in the running to be displayed as a result to relevant queries. ● Rank: Provide the pieces of content that will best answer a searcher’s query, which means that results are ordered by most relevant to least relevant.
  • 12. Total client-side rendering ● It takes a lot longer to develop mobile applications ● Usually have to code the server from scratch ● Difficult to separate client and server Poor SEO - your pages do not get indexed. Total server-side rendering
  • 13. Minimum Requirements to get crawled and indexed ● Mobile first, Responsive Web Design that optimizes for user devices / network conditions ● Have original, high value content ● Write clean code otherwise it is index as empty page ● Allowed by robots.txt ● Stable, canonical URL ● Respond with “200 OK” HTTP status codes ● Linked to from with site ● XML sitemap ● Keep file sizes down bundling, minification,CSS sprite sheets, and beware of large js packages ● Fast scripts crawler gives 5 secs for scripts to load, parse, and execute ● Each page should have a terse, specific <title> tag, a brief but accurate summary in the meta description and good structure: meaningful <h1> and <h2> headings, meaningful link text, images with good alt text, etc. ● Use structured data such as JSON-LD
  • 14. Two-prong approach ● Best Performance Optimized Framework Practices to get through the crawlers extra rendering loop ● Selectively Server Side Rendering the high value content to the webcrawler to increase page rank
  • 15. Client -Side Rendered Performance Optimization ● Pre-rendering ○ Prerender SPA Plugin (commonly used with Vue.js, but framework agnostic) ○ React-snap and React-snapshot ○ react-helmet ● Lazy loading ● Update components only when necessary and required - React Hooks
  • 16. Server Side Rendering ● Next.js is a JavaScript framework for creating static server-rendered apps. ● Gatsby.js React-based static site generator ● ReactDOMServer (React) ○ Renders components into HTML strings ○ Requires a lot of manual labor with React Router and Redux libraries to work under partial server/client application rendering conditions ● Vue.js & Nuxt.js ○ Vue.js works like a glue between a Node.js server and SPA code ■ Hydration - Process of loading the Vue.js application in the browser ○ Nuxt.js is a framework for facilitating the creation of universal applications with Vue.js ■ Capable of configuring usage of server side rendering with Vue.js ● Angular Universal ○ Middleware that lives between Angular.js and Node.js ○ Server side rendering for Angular.js applications ■ Unifies high performance and UX of SPAs and SEO liability of a static site ● Ember Fastboot ○ Runs Ember web application over Node.js ○ Responds with initial HTML which is then run in browser
  • 17. Tooling Chrome Dev tools: Lighthouse Open Source Dev tools: WebPageTest, Structured Data Testing Tool, Mobile Friendly Test, AMP Test, and PageSpeed Insight Third Party Prerendering services: Netlify, Prerender.io
  • 18. Summary ● Increasing SPA rankings on SERP is vital to increasing traffic ● Googlebot generally crawls and indexes the web, and the indexed pages are then ranked. ● Client side rendering ○ Faster after the initial request ○ Doesn’t need to reload the whole page ● Server side rendering ○ Faster initial load times ○ Higher SEO rankings due to HTML content being visible before the JS is loaded ● Compromise ○ Include initial state of web application in HTML file, to allow fast indexing of important content ● Tooling ○ Lighthouse, WebPageTest, Structured Data Testing Tool, Mobile Friendly Test, AMP Test, and PageSpeed Insight, Netlify, Prerender.io
  • 19. Thank you Githubs: @jgillespie0715 @QuestionMark97 Sources: https://moz.com/learn/seo/what-is-seo https://merehead.com/blog/single-page-application-vs-multi-page-application/ https://www.webfx.com/blog/seo/2019-search-market-share/ https://www.greencodebusiness.com/blog/34-3-major-benefits-of-single-page-application https://blog.angular-university.io/why-a-single-page-application-what-are-the-benefits-what-is-a-spa/ https://serp.co/seo/robots-txt/#comments https://junto.digital/blog/seo-stats/ https://blog.searchmetrics.com/us/javascript-seo-server-side-rendering/ https://love2dev.com/seo/seo-developer/ https://shakuro.com/blog/in-the-name-of-seo-server-side-rendering-for-single-page-apps/ https://support.google.com/webmasters/answer/70897 https://support.google.com/webmasters/answer/7451184?hl=en https://docs.kontent.ai/tutorials/develop-apps/optimize-your-app/seo-and-javascript https://medium.com/compass-true-north/seo-for-software-engineers-bd18daca7cd4