SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
BY NICK SAMUEL – 17TH December 2019
TECHNICAL SEO DIRECTOR –
QUESTIONS
Agenda for today
2
Contents
1 Question 1: Body Shop (15 mins)
2 Question 2: ASOS (15 mins)
3 Appendix
4 Additional Questions (30 Minutes)
Question 1: The Body Shop
Question 1: The Body Shop
4
Headless Commerce and Single Page Applications (SPAs)
“The Body Shop are planning on implementing a headless
commerce solution with a SPA for the front end, what are
the key factors for SEO that need to be considered and
communicated to the client? (15 minutes)”
What will be covered
1. What is a Headless & SPA?
2. How does it differ from a traditional CMS?
3. Pros, Cons & Challenges
4. Googlebot: Indexation/Crawling
5. SEO Considerations
6. Potential Solutions
1.1 What is a Headless CMS…
5
“A headless CMS is a back-end only content management system (CMS) which makes content accessible via a
RESTful API for display on any device.”
The term “headless” comes from the concept of chopping the “head” (the front end) off the “body” (the back
end).
A headless or decoupled CMS is front-end framework agnostic, and usually the front-end involves a “Single Page
Application” powered by JavaScript.
…and what is their relationship with SPAs?
Body Shop currently uses
1.3.16
1.2 How does it differ from a traditional CMS?
6
Short answer: Client side vs Server Side
Headless CMS
1. A way to store data
2. A CRUD UI
3. An API to the data
4. Client Side
Regular CMS
1. A way to store data
2. A CRUD UI
3. Ways to display the data
4. Server Side
Admin
Interface
View
Layer
Database
Integration Integration
Write
Read
Read
Admin
Interface
Database
API
Read
Write, Update
Offline
Store
WWW
iOS
App
Single Page App != Headless CMS
7
BUT it usually follows…
It’s arguably represents a natural evolution and the easiest way of interacting with a headless CMS
A single-page application (SPA) is a web app or site that interacts with the user by dynamically rewriting the
current page rather than loading entire new pages from a server.
In an SPA all necessary code (HTML, JavaScript, and CSS) is retrieved with a single page load. The name SPA is
in contrast to a traditional CMS or multi-page application (MPA).
1.3 Pros and Cons: Headless VS Traditional CMS
8
Warning: Every point is context dependent
Advantages
• Front-end Agnostic
• APIs
• Future-Proof
Disadvantages
• Fragmentation of Tech Stack
• More Niche
• Less Marketing Friendly
Challenges
• SEO Efficiency
• Client Side Rendering
1.4 A Quick Googlebot Primer – Indexation/Crawling
9
This is where client vs server side comes into play…
• The first wave requests source code,
crawls and indexes any present
HTML/CSS, and adds any present links
to the crawl queue.
1. Initial
Crawl
• On a client side rendered site however,
there’s basically nothing for Google to
index in the source code during this first
wave.
2. HTML
Render
• URLs in the second wave join a queue
and Google returns when resources are
available to fully render and index the JS
generated content.
3. JavaScript
Render
HTML
RENDER
INITIAL
CRAWL
JAVASCRIPT
RENDER
Instant, first
wave of indexing
As rendering resources
become available
Second wave of
indexing
New links to be crawled
1.5 Key SEO Considerations
10
Relevant to both Body Shop and all SPA websites
Indexation/Crawling
Google doesn’t have finite
resources
5 Second time out rule
No user actions will be
triggered
</head> can break
On-site SEO
Each page needs a unique
URL
Links need to be rendered
with </a> tags
Creation of basic SEO
elements e.g. canonicals
Server response codes e.g.
404s & redirects
User Experience
Mobile First Indexing
JavaScript lives on CPU
Page Speed can be effected
Others bots not as adept as
Google
1.6 Overcoming Limitations
11
Thankfully most issues can be overcome by optimising delivery…
Option 1: Pre-
Rendering
• Serves up different versions of the site depending on user
agents
• Bots = HTML Snapshot, Users = JavaScript Experience
Option 2: Server-
Side Rendering
• Rendering logic offloaded to Node.JS backend
• Data retrieved with each new URL clicked
Option 3:
Isomorphic
• HTML sent for initial view, subsequent actions handled
client side
• Can also work like traditional JavaScript e.g. jQuery
Conclusion: JavaScript + SEO = OK
12
The Body Shop Website has survived so far with an Angular front-end
Atwood’s Law: “Any application that can be written in JavaScript, will eventually be written in JavaScript” –
2007
The rules of traditional SEO apply when dealing with a consistent Source & rendered DOM. This can be
achieved by a number of approaches, most notably “pre-rendering” and server side rendering.
Every SEO requirement can be accommodated by popular Frameworks; don’t confuse Bad SEO with JavaScript
Limitations. SEOs need to work closely with developers and vice versa!
Question 2: ASOS
Question Two: ASOS
14
My approach to supporting ASOS through Technical SEO
“ASOS are looking to focus on the Bridesmaid
Dress category in preparation for Summer,
what would your approach be to support this
initiative through technical SEO? (15
minutes)“
1. Key Considerations
2. Data Analysis + Benchmarking
3. Technical SEO Audit
4. Potential Quick Wins
5. Roadmap + Implementation
2.1 Key Considerations
15
How does a focus on Bridesmaids fit within the overall strategy?
Timing / Seasonality
Content / PPC / Cross-Channel Strategy
Existing Technical SEO Activities
Developer Roadmap
Links
Content
On-Page
Optimisation
Keyword Research
Technical SEO
2.2 Data Analysis + Benchmarking
16
What are the KPIs and does forecasting existing?
1. Traffic
YOY Organic
GSC Metrics
Visibility/Rankings
# of Products
2. Behaviour
(Conversions)
Pages Viewed
Site Speed
Mobile Vs Desktop
New vs Returning
3. Revenue
Conversion Rate
Total Sales
Number of orders
Average Value
2.3 Technical SEO Audit
17
As part of any “campaign” I would usually perform the following activities:
Ranking
Site Speed Checks
Internal Link
Opportunities
Schema Mark-up
Meta Data Review
& Creation
On-Page
Recommendations
Indexation
Meta Robots Canonicals
URL Pathways +
Site Structure
JavaScript Tests
Content/“Excerpt
search”
Crawling
XML Sitemap Robots.txt
Parameter
Exclusions
Server Log Analysis Hygiene (Links)
2.4 Potential Quick Wins
18
Based on previous experience I would investigate the following areas:
1. Pagination/Infinite Scroll – Indexation Clean-
up
2. Keyword Cannibalisation – Keyword Mapping
(minimum)
3. Category/Product Descriptions – more text!
4. Internal Link Reclamation + Breadcrumbs are
inconsistent
5. Site Speed = 21 score on Mobile – Defer
Offscreen images and render blocking JS
TECHNICAL CAN OF WORMS:
Error Response codes 400 vs 404
URL capitalisation and canonicalisation
Analytic Tracking Parameter Indexation e.g. CTAref= 99,200
results
2.5 Roadmap + Implementation
19
Below is a top level Technical SEO proposal “Bridesmaid category”
ACTIVITY WEEK 1 WEEK 2 WEEK 3 WEEK 4 WEEK 5 WEEK 6 HOURS
Crawling
Server
Log
Analysis
(16)
Website
Crawl (16)
48
Benchmar
king (8)
On-Page Audit + Analysis
(8)
Indexation Internal Link + Content
Recommendations (12)
16
JavaScript
Tests (4)
16
Ranking
Site Speed
(4)
Meta Data
Review
(8)
On-Page
Recommend
ations(4)
Total 24 24 8 6 14 4 80
Note: Timings designed to work with business as usual activities e.g. Monthly Reporting
Appendix
Glossary / Additional Terms
21
Here is a glossary of terms referenced but not explicitly covered:
API (General) - An application program interface (API) is a set of routines, protocols, and tools for building software applications. Basically,
an API specifies how software components should interact - https://www.webopedia.com/TERM/A/API.html
Client Side Rendering - Client-side means that the action takes place on the user’s (the client’s) computer. Server-side means that the action
takes place on a web server - https://skillcrush.com/2012/07/30/client-side-vs-server-side/
CRUD - In computer programming, create, read, update, and delete (CRUD) are the four basic functions of persistent storage/interacting with
databases - https://www.codecademy.com/articles/what-is-crud
Front-end Frameworks - A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the
development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy
web applications on the World Wide Web - https://en.wikipedia.org/wiki/Web_framework
RESTful API - A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data -
https://searchapparchitecture.techtarget.com/definition/RESTful-API
Source Code and DOM - The source is the raw HTML that is unadulterated by any client-side scripts. It is the direct response of the HTTP request
to the server. The DOM, on the other hand, is the same HTML structure that has been modified by JavaScript -
https://stackoverflow.com/questions/29273391/what-is-the-difference-between-source-code-and-dom?noredirect=1&lq=1
Status Codes/404 Error - For every HTTP request the server provides a response code depending on the nature of the response. A 200 response
means the request was successful, 301 a redirect and a 404 means a page was not found - https://moz.com/learn/seo/http-status-codes
Further Reading
22
Here are the sources used in assembling this presentation:
1. Headless CMS and Decoupled CMS in .NET Core - https://www.hanselman.com/blog/HeadlessCMSAndDecoupledCMSInNETCore.aspx
2. What is a headless CMS? https://medium.com/@dominikangerer/headless-cms-explained-in-5-minutes-450f063850f7
3. Headless CMS vs Decoupled CMS: The Ultimate Guide - https://www.coredna.com/blogs/headless-vs-decoupled-cms
4. Headless CMS explained in 5 minutes - https://www.storyblok.com/tp/headless-cms-explained
5. WhiteHat Security Introduces Dynamic Single-page Application Scanning for an Automated, Seamless Customer Experience -
https://www.businesswire.com/news/home/20181009005239/en/WhiteHat-Security-Introduces-Dynamic-Single-page-Application-Scanning
6. Priorities for diagnosing JavaScript-powered websites - https://searchengineland.com/priorities-for-diagnosing-javascript-powered-websites-299519
7. Single-page application vs. multiple-page applicationt - https://medium.com/@NeotericEU/single-page-application-vs-multiple-page-application-
2591588efe58
8. JavaScript SEO: Server Side Rendering vs. Client Side Rendering - https://medium.com/@benjburkholder/javascript-seo-server-side-rendering-vs-
client-side-rendering-bc06b8ca2383
9. The Ultimate Guide to JavaScript SEO - https://www.onely.com/blog/ultimate-guide-javascript-seo/
10. JavaScript & SEO: Making Your Bot Experience As Good As Your User Experience - https://moz.com/blog/javascript-seo
11. JavaScript SEO: Server Side Rendering vs. Client Side Rendering- https://medium.com/@benjburkholder/javascript-seo-server-side-rendering-vs-
client-side-rendering-bc06b8ca2383
12. What’s Server Side Rendering and do I need it? - https://medium.com/@baphemot/whats-server-side-rendering-and-do-i-need-it-cb42dc059b38
13. Isomorphic JavaScript: The Future of Web App - https://medium.com/airbnb-engineering/isomorphic-javascript-the-future-of-web-apps-
10882b7a2ebc
14. @JohnMu Twitter - https://twitter.com/johnmu/status/894901485238190080
Thanks / Questions?
By Nick Samuel

Contenu connexe

Tendances

The API and APP-ification of the Web
The API and APP-ification of the WebThe API and APP-ification of the Web
The API and APP-ification of the Web3scale
 
Database Website on Django
Database Website on DjangoDatabase Website on Django
Database Website on DjangoHamdaAnees
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptEdureka!
 
2013 SPFest - Customizing Sites and Pages in SharePoint 2013
2013 SPFest - Customizing Sites and Pages in SharePoint 20132013 SPFest - Customizing Sites and Pages in SharePoint 2013
2013 SPFest - Customizing Sites and Pages in SharePoint 2013Wes Preston
 
Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...Jeff Haynie
 
IBM Websphere Portal | Portal Accelerators
IBM Websphere Portal  |  Portal AcceleratorsIBM Websphere Portal  |  Portal Accelerators
IBM Websphere Portal | Portal AcceleratorsJason Faszholz
 
Angular JS Basics
Angular JS BasicsAngular JS Basics
Angular JS BasicsMounish Sai
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentClint LaForest
 
School Website Development Presentation
School Website Development  PresentationSchool Website Development  Presentation
School Website Development PresentationKen Ouma
 
Using the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for MarketingUsing the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for MarketingAndreCharland
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web developmentChristian Heilmann
 
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesComposite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesMike Walker
 
Joomla in a world of ubiquitous computing
Joomla in a world of ubiquitous computingJoomla in a world of ubiquitous computing
Joomla in a world of ubiquitous computingChris Davenport
 
Resume - Parag Bhayani
Resume - Parag BhayaniResume - Parag Bhayani
Resume - Parag BhayaniParag Bhayani
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websiteswebsiteunlimited
 
Modern Web Development
Modern Web DevelopmentModern Web Development
Modern Web DevelopmentRobert Nyman
 

Tendances (20)

The API and APP-ification of the Web
The API and APP-ification of the WebThe API and APP-ification of the Web
The API and APP-ification of the Web
 
Database Website on Django
Database Website on DjangoDatabase Website on Django
Database Website on Django
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScript
 
2013 SPFest - Customizing Sites and Pages in SharePoint 2013
2013 SPFest - Customizing Sites and Pages in SharePoint 20132013 SPFest - Customizing Sites and Pages in SharePoint 2013
2013 SPFest - Customizing Sites and Pages in SharePoint 2013
 
Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...
 
IBM Websphere Portal | Portal Accelerators
IBM Websphere Portal  |  Portal AcceleratorsIBM Websphere Portal  |  Portal Accelerators
IBM Websphere Portal | Portal Accelerators
 
Angular JS Basics
Angular JS BasicsAngular JS Basics
Angular JS Basics
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
School Website Development Presentation
School Website Development  PresentationSchool Website Development  Presentation
School Website Development Presentation
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Rational HATS and HIS v8 Overview
Rational HATS and HIS v8 OverviewRational HATS and HIS v8 Overview
Rational HATS and HIS v8 Overview
 
Using the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for MarketingUsing the Tools of Web 2.0 for Marketing
Using the Tools of Web 2.0 for Marketing
 
Intex seo audit report
Intex seo audit reportIntex seo audit report
Intex seo audit report
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web development
 
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesComposite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business Architectures
 
Joomla in a world of ubiquitous computing
Joomla in a world of ubiquitous computingJoomla in a world of ubiquitous computing
Joomla in a world of ubiquitous computing
 
Resume - Parag Bhayani
Resume - Parag BhayaniResume - Parag Bhayani
Resume - Parag Bhayani
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
 
Modern Web Development
Modern Web DevelopmentModern Web Development
Modern Web Development
 
Web engineering lecture 4
Web engineering lecture 4Web engineering lecture 4
Web engineering lecture 4
 

Similaire à iProspect - Tech SEO - Task - 17/12/2019

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
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?CodeValue
 
Online fast food django.docx
Online fast food django.docxOnline fast food django.docx
Online fast food django.docxvidhi184862
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by GoogleASG
 
Client Side Performance In Web Applications
Client Side Performance In Web ApplicationsClient Side Performance In Web Applications
Client Side Performance In Web Applicationsvladungureanu
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Todaybretticus
 
Angular webinar - Credo Systemz
Angular webinar - Credo SystemzAngular webinar - Credo Systemz
Angular webinar - Credo SystemzTraining Institute
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beastgueste918732
 
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - AltudoSUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudodharmeshharji
 
Word press with react – implementing headless wordpress with reactjs converted
Word press with react – implementing headless wordpress with reactjs convertedWord press with react – implementing headless wordpress with reactjs converted
Word press with react – implementing headless wordpress with reactjs convertedDaljeetSingh210
 
Browser core red bus presentation
Browser core red bus presentation Browser core red bus presentation
Browser core red bus presentation redBusTech
 
SearchEngineOptimization-TheFullProcess.pdf
SearchEngineOptimization-TheFullProcess.pdfSearchEngineOptimization-TheFullProcess.pdf
SearchEngineOptimization-TheFullProcess.pdfwellshop shopping
 
MCA Society Project Seminar.pptx
MCA Society Project Seminar.pptxMCA Society Project Seminar.pptx
MCA Society Project Seminar.pptxNomearod1
 

Similaire à iProspect - Tech SEO - Task - 17/12/2019 (20)

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
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
 
Online fast food django.docx
Online fast food django.docxOnline fast food django.docx
Online fast food django.docx
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
Client Side Performance In Web Applications
Client Side Performance In Web ApplicationsClient Side Performance In Web Applications
Client Side Performance In Web Applications
 
Benefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular jsBenefits of developing single page web applications using angular js
Benefits of developing single page web applications using angular js
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
 
Angular webinar - Credo Systemz
Angular webinar - Credo SystemzAngular webinar - Credo Systemz
Angular webinar - Credo Systemz
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beast
 
Beyond The MVC
Beyond The MVCBeyond The MVC
Beyond The MVC
 
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - AltudoSUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
 
Word press with react – implementing headless wordpress with reactjs converted
Word press with react – implementing headless wordpress with reactjs convertedWord press with react – implementing headless wordpress with reactjs converted
Word press with react – implementing headless wordpress with reactjs converted
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Browser core red bus presentation
Browser core red bus presentation Browser core red bus presentation
Browser core red bus presentation
 
SearchEngineOptimization-TheFullProcess.pdf
SearchEngineOptimization-TheFullProcess.pdfSearchEngineOptimization-TheFullProcess.pdf
SearchEngineOptimization-TheFullProcess.pdf
 
MCA Society Project Seminar.pptx
MCA Society Project Seminar.pptxMCA Society Project Seminar.pptx
MCA Society Project Seminar.pptx
 
CODE IGNITER
CODE IGNITERCODE IGNITER
CODE IGNITER
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
BikersPlanet.pptx
BikersPlanet.pptxBikersPlanet.pptx
BikersPlanet.pptx
 

Dernier

Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
horny (9316020077 ) Goa  Call Girls Service by VIP Call Girls in Goahorny (9316020077 ) Goa  Call Girls Service by VIP Call Girls in Goa
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goasexy call girls service in goa
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...sonatiwari757
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistKHM Anwar
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 

Dernier (20)

Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
horny (9316020077 ) Goa  Call Girls Service by VIP Call Girls in Goahorny (9316020077 ) Goa  Call Girls Service by VIP Call Girls in Goa
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization Specialist
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 

iProspect - Tech SEO - Task - 17/12/2019

  • 1. BY NICK SAMUEL – 17TH December 2019 TECHNICAL SEO DIRECTOR – QUESTIONS
  • 2. Agenda for today 2 Contents 1 Question 1: Body Shop (15 mins) 2 Question 2: ASOS (15 mins) 3 Appendix 4 Additional Questions (30 Minutes)
  • 3. Question 1: The Body Shop
  • 4. Question 1: The Body Shop 4 Headless Commerce and Single Page Applications (SPAs) “The Body Shop are planning on implementing a headless commerce solution with a SPA for the front end, what are the key factors for SEO that need to be considered and communicated to the client? (15 minutes)” What will be covered 1. What is a Headless & SPA? 2. How does it differ from a traditional CMS? 3. Pros, Cons & Challenges 4. Googlebot: Indexation/Crawling 5. SEO Considerations 6. Potential Solutions
  • 5. 1.1 What is a Headless CMS… 5 “A headless CMS is a back-end only content management system (CMS) which makes content accessible via a RESTful API for display on any device.” The term “headless” comes from the concept of chopping the “head” (the front end) off the “body” (the back end). A headless or decoupled CMS is front-end framework agnostic, and usually the front-end involves a “Single Page Application” powered by JavaScript. …and what is their relationship with SPAs? Body Shop currently uses 1.3.16
  • 6. 1.2 How does it differ from a traditional CMS? 6 Short answer: Client side vs Server Side Headless CMS 1. A way to store data 2. A CRUD UI 3. An API to the data 4. Client Side Regular CMS 1. A way to store data 2. A CRUD UI 3. Ways to display the data 4. Server Side Admin Interface View Layer Database Integration Integration Write Read Read Admin Interface Database API Read Write, Update Offline Store WWW iOS App
  • 7. Single Page App != Headless CMS 7 BUT it usually follows… It’s arguably represents a natural evolution and the easiest way of interacting with a headless CMS A single-page application (SPA) is a web app or site that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. In an SPA all necessary code (HTML, JavaScript, and CSS) is retrieved with a single page load. The name SPA is in contrast to a traditional CMS or multi-page application (MPA).
  • 8. 1.3 Pros and Cons: Headless VS Traditional CMS 8 Warning: Every point is context dependent Advantages • Front-end Agnostic • APIs • Future-Proof Disadvantages • Fragmentation of Tech Stack • More Niche • Less Marketing Friendly Challenges • SEO Efficiency • Client Side Rendering
  • 9. 1.4 A Quick Googlebot Primer – Indexation/Crawling 9 This is where client vs server side comes into play… • The first wave requests source code, crawls and indexes any present HTML/CSS, and adds any present links to the crawl queue. 1. Initial Crawl • On a client side rendered site however, there’s basically nothing for Google to index in the source code during this first wave. 2. HTML Render • URLs in the second wave join a queue and Google returns when resources are available to fully render and index the JS generated content. 3. JavaScript Render HTML RENDER INITIAL CRAWL JAVASCRIPT RENDER Instant, first wave of indexing As rendering resources become available Second wave of indexing New links to be crawled
  • 10. 1.5 Key SEO Considerations 10 Relevant to both Body Shop and all SPA websites Indexation/Crawling Google doesn’t have finite resources 5 Second time out rule No user actions will be triggered </head> can break On-site SEO Each page needs a unique URL Links need to be rendered with </a> tags Creation of basic SEO elements e.g. canonicals Server response codes e.g. 404s & redirects User Experience Mobile First Indexing JavaScript lives on CPU Page Speed can be effected Others bots not as adept as Google
  • 11. 1.6 Overcoming Limitations 11 Thankfully most issues can be overcome by optimising delivery… Option 1: Pre- Rendering • Serves up different versions of the site depending on user agents • Bots = HTML Snapshot, Users = JavaScript Experience Option 2: Server- Side Rendering • Rendering logic offloaded to Node.JS backend • Data retrieved with each new URL clicked Option 3: Isomorphic • HTML sent for initial view, subsequent actions handled client side • Can also work like traditional JavaScript e.g. jQuery
  • 12. Conclusion: JavaScript + SEO = OK 12 The Body Shop Website has survived so far with an Angular front-end Atwood’s Law: “Any application that can be written in JavaScript, will eventually be written in JavaScript” – 2007 The rules of traditional SEO apply when dealing with a consistent Source & rendered DOM. This can be achieved by a number of approaches, most notably “pre-rendering” and server side rendering. Every SEO requirement can be accommodated by popular Frameworks; don’t confuse Bad SEO with JavaScript Limitations. SEOs need to work closely with developers and vice versa!
  • 14. Question Two: ASOS 14 My approach to supporting ASOS through Technical SEO “ASOS are looking to focus on the Bridesmaid Dress category in preparation for Summer, what would your approach be to support this initiative through technical SEO? (15 minutes)“ 1. Key Considerations 2. Data Analysis + Benchmarking 3. Technical SEO Audit 4. Potential Quick Wins 5. Roadmap + Implementation
  • 15. 2.1 Key Considerations 15 How does a focus on Bridesmaids fit within the overall strategy? Timing / Seasonality Content / PPC / Cross-Channel Strategy Existing Technical SEO Activities Developer Roadmap Links Content On-Page Optimisation Keyword Research Technical SEO
  • 16. 2.2 Data Analysis + Benchmarking 16 What are the KPIs and does forecasting existing? 1. Traffic YOY Organic GSC Metrics Visibility/Rankings # of Products 2. Behaviour (Conversions) Pages Viewed Site Speed Mobile Vs Desktop New vs Returning 3. Revenue Conversion Rate Total Sales Number of orders Average Value
  • 17. 2.3 Technical SEO Audit 17 As part of any “campaign” I would usually perform the following activities: Ranking Site Speed Checks Internal Link Opportunities Schema Mark-up Meta Data Review & Creation On-Page Recommendations Indexation Meta Robots Canonicals URL Pathways + Site Structure JavaScript Tests Content/“Excerpt search” Crawling XML Sitemap Robots.txt Parameter Exclusions Server Log Analysis Hygiene (Links)
  • 18. 2.4 Potential Quick Wins 18 Based on previous experience I would investigate the following areas: 1. Pagination/Infinite Scroll – Indexation Clean- up 2. Keyword Cannibalisation – Keyword Mapping (minimum) 3. Category/Product Descriptions – more text! 4. Internal Link Reclamation + Breadcrumbs are inconsistent 5. Site Speed = 21 score on Mobile – Defer Offscreen images and render blocking JS TECHNICAL CAN OF WORMS: Error Response codes 400 vs 404 URL capitalisation and canonicalisation Analytic Tracking Parameter Indexation e.g. CTAref= 99,200 results
  • 19. 2.5 Roadmap + Implementation 19 Below is a top level Technical SEO proposal “Bridesmaid category” ACTIVITY WEEK 1 WEEK 2 WEEK 3 WEEK 4 WEEK 5 WEEK 6 HOURS Crawling Server Log Analysis (16) Website Crawl (16) 48 Benchmar king (8) On-Page Audit + Analysis (8) Indexation Internal Link + Content Recommendations (12) 16 JavaScript Tests (4) 16 Ranking Site Speed (4) Meta Data Review (8) On-Page Recommend ations(4) Total 24 24 8 6 14 4 80 Note: Timings designed to work with business as usual activities e.g. Monthly Reporting
  • 21. Glossary / Additional Terms 21 Here is a glossary of terms referenced but not explicitly covered: API (General) - An application program interface (API) is a set of routines, protocols, and tools for building software applications. Basically, an API specifies how software components should interact - https://www.webopedia.com/TERM/A/API.html Client Side Rendering - Client-side means that the action takes place on the user’s (the client’s) computer. Server-side means that the action takes place on a web server - https://skillcrush.com/2012/07/30/client-side-vs-server-side/ CRUD - In computer programming, create, read, update, and delete (CRUD) are the four basic functions of persistent storage/interacting with databases - https://www.codecademy.com/articles/what-is-crud Front-end Frameworks - A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web - https://en.wikipedia.org/wiki/Web_framework RESTful API - A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data - https://searchapparchitecture.techtarget.com/definition/RESTful-API Source Code and DOM - The source is the raw HTML that is unadulterated by any client-side scripts. It is the direct response of the HTTP request to the server. The DOM, on the other hand, is the same HTML structure that has been modified by JavaScript - https://stackoverflow.com/questions/29273391/what-is-the-difference-between-source-code-and-dom?noredirect=1&lq=1 Status Codes/404 Error - For every HTTP request the server provides a response code depending on the nature of the response. A 200 response means the request was successful, 301 a redirect and a 404 means a page was not found - https://moz.com/learn/seo/http-status-codes
  • 22. Further Reading 22 Here are the sources used in assembling this presentation: 1. Headless CMS and Decoupled CMS in .NET Core - https://www.hanselman.com/blog/HeadlessCMSAndDecoupledCMSInNETCore.aspx 2. What is a headless CMS? https://medium.com/@dominikangerer/headless-cms-explained-in-5-minutes-450f063850f7 3. Headless CMS vs Decoupled CMS: The Ultimate Guide - https://www.coredna.com/blogs/headless-vs-decoupled-cms 4. Headless CMS explained in 5 minutes - https://www.storyblok.com/tp/headless-cms-explained 5. WhiteHat Security Introduces Dynamic Single-page Application Scanning for an Automated, Seamless Customer Experience - https://www.businesswire.com/news/home/20181009005239/en/WhiteHat-Security-Introduces-Dynamic-Single-page-Application-Scanning 6. Priorities for diagnosing JavaScript-powered websites - https://searchengineland.com/priorities-for-diagnosing-javascript-powered-websites-299519 7. Single-page application vs. multiple-page applicationt - https://medium.com/@NeotericEU/single-page-application-vs-multiple-page-application- 2591588efe58 8. JavaScript SEO: Server Side Rendering vs. Client Side Rendering - https://medium.com/@benjburkholder/javascript-seo-server-side-rendering-vs- client-side-rendering-bc06b8ca2383 9. The Ultimate Guide to JavaScript SEO - https://www.onely.com/blog/ultimate-guide-javascript-seo/ 10. JavaScript & SEO: Making Your Bot Experience As Good As Your User Experience - https://moz.com/blog/javascript-seo 11. JavaScript SEO: Server Side Rendering vs. Client Side Rendering- https://medium.com/@benjburkholder/javascript-seo-server-side-rendering-vs- client-side-rendering-bc06b8ca2383 12. What’s Server Side Rendering and do I need it? - https://medium.com/@baphemot/whats-server-side-rendering-and-do-i-need-it-cb42dc059b38 13. Isomorphic JavaScript: The Future of Web App - https://medium.com/airbnb-engineering/isomorphic-javascript-the-future-of-web-apps- 10882b7a2ebc 14. @JohnMu Twitter - https://twitter.com/johnmu/status/894901485238190080
  • 23. Thanks / Questions? By Nick Samuel