SlideShare una empresa de Scribd logo
1 de 67
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoostBrian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
+ AMP
BRIAN TA / GIL BIRMAN / 11-2017
PART 1
AIRBNB
WHAT IS AIRBNB?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
P1
HOME PAGE
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
P2
SEARCH RESULTS PAGE
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
P3
LISTING PAGES
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
PART 2
AMP
WHAT IS AMP?
AMP Demo
————————>
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoostBrian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
AMP is not
available on desktop
Mobile devices
get AMP
results
www.google.de/search?q=airbnb+berlin
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
AMP
DIAGRAM
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
s/sf amp/s/sf
AMP Demo
————————>
WHAT SHOULD WE AMP?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Challenges
FIGURING OUT WHAT PAGE TO
AMP
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Impactfulness (Traffic)
• Page Volatility
• Technical Challenges (legacy system compatibility)
• Page Ownership
Guidebooks
THINGS TO DO
IN {CITY NAME}
PROS CONS
• Design is stable
• No one is working on it
• Low Traffic
• Low Impact
P1
HOMEPAGE
PROS CONS
• LOTS of Traffic
• High Impact
• Only 1 Page
• Making changes on P1
requires approval from higher-
ups
• Frequent Redesigns
P3
LISTING PAGE
PROS CONS
• Only 1 Team working on it
• Has poor SEO conversion rate
• In a state of flux/refactoring
• Owned by a different team
• Stuck on legacy framework
P2
SEARCH RESULTS
PROS CONS
• High Traffic
• High Impact
• A lot of people working on it
• Frequent design changes
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Organic Search
Traffic Breakdown
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
AMP MVP
MINIMUM VIABLE PRODUCT
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Basic Questions to
Answer
QUESTIONS THAT NEED TO BE
ANSWERED TO GET AMP OFF
THE GROUND
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• How does AMP work within our existing framework?
• How does AMPing P2 interfere with our website infrastructure?
• What does AMPing P2 do to the workflow of other developers in
the company?
• How does this impact design, experience, and the overall
product?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• How do we integrate this into a fully functioning product with
the rest of the company?
• How do we handle the added complexity?
• Getting buy in from other teams
• How do we integrate AMP into our experimentation
framework
• Dedicated team/owner - Who will maintain it?
Procrastination
ISSUES WE WON’T ADDRESS
UNTIL LATER
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
PART 3
AMP P2
OBSTACLES
[OBSTACLES]
SERVER-SIDE
PAGE RENDERING
TIMING OUT
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoostBrian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
3.86% 16.08%
AMP P2 Timeout Rate
(30min CDN Caching Enabled)
P2 Timeout Rate
Render Time Exceeds 500ms
When a Hypernova render exceeds 500ms in Monorail, it times out and renders blank.
https://app.datadoghq.com/screen/217059/gils-amp-p2-dashboard
Successful
vs
Timed out page
TIMEOUT===BLANK PAGE
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
When page renders blank,
Google is supposed to link to the canonical
page instead of the AMP page, but….
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Error Page
(Google Bug)
AMPED SEARCH RESULT
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
We implemented CDN caching (30
minutes) as a way of solving the
~16% timeout rate for AMP-rendered
pages.
Our Solution?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
[OBSTACLES]
NEW FEATURES
BROKE AMP
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• An <img /> tag broke our AMP
experience.
• As other engineers added new features
to P2, they did not always work well with
AMP.
• Images inside of a horizontal scrolling div
fail to load.
• >50k CSS Breaks AMP Validation
New Features Broke AMP
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
A particularly broken
experience
CONTENT DISAPPEARED!
PART 4
AMP
ARCHITECTUR
E
SOLUTIONS
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
SQUAD
GOALS
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Make our pages AMP-
compatible without having
to recreate them from
scratch.
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
WHY?
WHY DOES AMP REQUIRE SO
MANY CODE CHANGES?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• AMP page is displayed inside of an
iframe on google.com.
• NO custom JavaScript.
• NO inline styles.
Security
• NO layout reflows
• LIMIT of 50kb CSS
Performance
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• AMP doesn’t support !important
😭 Aphrodite (open-source CSS framework) adds !important to every style
• AMP doesn’t support inline styles.
😭 We use them lots (React!)
• AMP only supports style tags which appear in the <head>
😭 Aphrodite styles are appended to the <body>
• AMP limits CSS size to 50kb
😭 Our page had too many styles!
ARCHITECTURAL CHALLENGES
OUR EXISTING FRAMEWORK WAS INCOMPATIBLE WITH AMP
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
IMPORTANT!
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
<div {…css(styles.mainTitle)}> Hello World </div>
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
aphrodite css() function
style definition
• Added a node environment variable, process.env.AMP
• Created a custom css() function that conditionally disables !important when process.env.AMP is
enabled
<div class=“mainTitle_j2dz”> Hello World </div>
INLINE STYLES
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Inline Styles
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
To class-based styles:
We can convert
inline styles:
… but it is too slow 😞
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Inline Styles
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Usage:
Update cache:
Cache key
from style object:
<HEAD><STYLE…></HEAD
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
hypernova
OUR OPEN-SOURCE SERVER-SIDE RENDERING PLATFORM
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
hypernova
• User makes page request
• Rails renders an ERB template
• An ERB template may call render_react_component()
• hypernova handles rendering react components
(RUBY)
(NODEJS)
Rails ERB
Template
aphrodite inserts styles here
no way to insert styles here
ERB template for AMP pages
entire page is rendered in hypernova (node service)
50KB CSS LIMIT
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Can CSS be
eliminated?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Aphrodite does not generate extra CSS
• However, AMP pages never use responsive styles above
our medium breakpoint (744px)
• We modified the css() function to eliminate responsive
styles
• responsive styles below the responsive breakpoint
are inserted without their @media queries
• responsive styles above the responsive breakpoint
are culled
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Class name
minification
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• We added this feature via a PR to aphrodite
.helloStyle_x3hn
BEFORE
._x3hn
AFTER
PART 5
PRODUCT
ISSUES WITH
AMP
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• AMP works perfectly for logged out/first time visitors
• Logged in users are dropped in a very confusing experience
• Initial page load is a “logged out” experience
• How do they get to the “logged in” experience of the P2
page?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Userflows
LOGGED IN/LOGGED OUT
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Google does not open deeplink when
clicking on an AMP search result
• Users have to perform a second click in
order to get directed to the app
experience
• Polarizing opinions on this behavior
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Deeplinking
APP INSTALLED VS. NOT
INSTALLED
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• AMP makes it difficult to iterate different product ideas on it in
an efficient manner
• Airbnb has an in-house experimental framework that can’t be
integrated with AMP
• Experimentation on another domain is extremely difficult
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Iteration
YOUR PRODUCT IS NEVER
PERFECTED
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Multiple experiments and features were launched that
affected AMP experimentation
• It’s hard to keep a close eye on AMP and make sure that
new features don’t change the core experience
• We can check for broken features, but it’s not as easy to
detect newly added features
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Stability
CHANGES FROM OTHER TEAMS
CAN DRASTICALLY ALTER THE
PAGE
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Communication with external teams is challenging
• Technical hurdles have been overcome or mitigated
• The experience as a whole feels fractured
• As a product, AMP P2 doesn’t work.
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
What did we learn?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• The big problem is the overall experience is fractured, the
design of the page isn’t there and the product we were
AMPing was suboptimal *unpack P2 problems*
• How do we address these problems so that we can solve
them in one swoop?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Coalescence
EXPERIENCE, DESIGN,
PRODUCT
MAGIC CARPET
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
MAGIC CARPET
We created a page
specifically tailored
to first-time search engine users.
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Magic Carpet
THE P2 LANDING PAGE FOR
SEO
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
P2 Magic Carpet
Filter Controls
Results
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Userflow
Limited Exposure
Focused Product Design
Polished Experience
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Magic Carpet
WHAT WE OPTIMIZED
WHAT’S NEXT?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
serviceworker
WHAT IS IT?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
serviceworker
USER JOURNEY
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Google Search
Results
AMPed P2 App Shell
pre-render install serviceworker load content
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
AMP provides the only user
journey that pre-installs the
serviceworker. In all other cases, a
serviceworker only provides value as
a result of a repeat visit.
Value Prop
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Where to next?
FIGURING OUT WHAT PAGE TO
AMP
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Experimentation
• Worldwide Launch
• Getting metrics into our core data
WHAT DIDN’T WE TALK
ABOUT?
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
What didn’t we
cover?
ALL THE THINGS WE CHOSE
NOT TO TELL YOU
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
• Experiment Results
• Logging Issues
• Experimentation Issues
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
Thanks!
brian.ta@airbnb.com
gil.birman@airbnb.com
Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost

Más contenido relacionado

Similar a TechSEO Boost 2017: AMPing Airbnb

GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab, Inc
 
Takeaways From Migrating to Git and Bitbucket Server
Takeaways From Migrating to Git and Bitbucket ServerTakeaways From Migrating to Git and Bitbucket Server
Takeaways From Migrating to Git and Bitbucket ServerAtlassian
 
BigML Release: Data Transformations
BigML Release: Data TransformationsBigML Release: Data Transformations
BigML Release: Data TransformationsBigML, Inc
 
Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...
Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...
Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...Startup Product Academy, LLC
 
WordCamp Philippines 2012 WordPress and SEO Presentation
WordCamp Philippines 2012 WordPress and SEO PresentationWordCamp Philippines 2012 WordPress and SEO Presentation
WordCamp Philippines 2012 WordPress and SEO PresentationKim Tyrone Agapito
 
TechSEO Boost 2021 - SEO Experimentation
TechSEO Boost 2021 - SEO ExperimentationTechSEO Boost 2021 - SEO Experimentation
TechSEO Boost 2021 - SEO ExperimentationCatalyst
 
Optimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialOptimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialCT Moore
 
Optimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialOptimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialiProspect Canada
 
Fairfax Sydney #mojo #mojocon Feb 2017 Meetup - 360 video production basics
Fairfax Sydney #mojo #mojocon Feb 2017 Meetup -  360 video production basicsFairfax Sydney #mojo #mojocon Feb 2017 Meetup -  360 video production basics
Fairfax Sydney #mojo #mojocon Feb 2017 Meetup - 360 video production basicsJamie Andrei
 
BAWAT MGO330 Presentation.pptx
BAWAT MGO330 Presentation.pptxBAWAT MGO330 Presentation.pptx
BAWAT MGO330 Presentation.pptxtedlim11
 
Design Innovation
Design InnovationDesign Innovation
Design InnovationRob Keefer
 
Google Tag Manager - How to migrate to V2 interface
Google Tag Manager - How to migrate to V2 interfaceGoogle Tag Manager - How to migrate to V2 interface
Google Tag Manager - How to migrate to V2 interfacePhil Pearce
 
Legacy: A Retrospective - Open West 2016
Legacy: A Retrospective - Open West 2016Legacy: A Retrospective - Open West 2016
Legacy: A Retrospective - Open West 2016Jessica Mauerhan
 
Constantly Contributing Pretty Patches FLCD
Constantly Contributing Pretty Patches FLCDConstantly Contributing Pretty Patches FLCD
Constantly Contributing Pretty Patches FLCDMark Casias
 
Real Estate Listings In 4 Minutes
Real Estate Listings In 4 MinutesReal Estate Listings In 4 Minutes
Real Estate Listings In 4 Minutesmarissa louie
 

Similar a TechSEO Boost 2017: AMPing Airbnb (18)

GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast
 
Takeaways From Migrating to Git and Bitbucket Server
Takeaways From Migrating to Git and Bitbucket ServerTakeaways From Migrating to Git and Bitbucket Server
Takeaways From Migrating to Git and Bitbucket Server
 
BigML Release: Data Transformations
BigML Release: Data TransformationsBigML Release: Data Transformations
BigML Release: Data Transformations
 
From zero to git
From zero to gitFrom zero to git
From zero to git
 
Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...
Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...
Nov 14: Global Product Management Talk on Roadmapping w/Bill Galfano, Preside...
 
WordCamp Philippines 2012 WordPress and SEO Presentation
WordCamp Philippines 2012 WordPress and SEO PresentationWordCamp Philippines 2012 WordPress and SEO Presentation
WordCamp Philippines 2012 WordPress and SEO Presentation
 
Future of social connectivity
Future of social connectivityFuture of social connectivity
Future of social connectivity
 
TechSEO Boost 2021 - SEO Experimentation
TechSEO Boost 2021 - SEO ExperimentationTechSEO Boost 2021 - SEO Experimentation
TechSEO Boost 2021 - SEO Experimentation
 
Optimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialOptimizing Wordpress for Search & Social
Optimizing Wordpress for Search & Social
 
Optimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialOptimizing Wordpress for Search & Social
Optimizing Wordpress for Search & Social
 
Fairfax Sydney #mojo #mojocon Feb 2017 Meetup - 360 video production basics
Fairfax Sydney #mojo #mojocon Feb 2017 Meetup -  360 video production basicsFairfax Sydney #mojo #mojocon Feb 2017 Meetup -  360 video production basics
Fairfax Sydney #mojo #mojocon Feb 2017 Meetup - 360 video production basics
 
BAWAT MGO330 Presentation.pptx
BAWAT MGO330 Presentation.pptxBAWAT MGO330 Presentation.pptx
BAWAT MGO330 Presentation.pptx
 
Building GitLab
Building GitLabBuilding GitLab
Building GitLab
 
Design Innovation
Design InnovationDesign Innovation
Design Innovation
 
Google Tag Manager - How to migrate to V2 interface
Google Tag Manager - How to migrate to V2 interfaceGoogle Tag Manager - How to migrate to V2 interface
Google Tag Manager - How to migrate to V2 interface
 
Legacy: A Retrospective - Open West 2016
Legacy: A Retrospective - Open West 2016Legacy: A Retrospective - Open West 2016
Legacy: A Retrospective - Open West 2016
 
Constantly Contributing Pretty Patches FLCD
Constantly Contributing Pretty Patches FLCDConstantly Contributing Pretty Patches FLCD
Constantly Contributing Pretty Patches FLCD
 
Real Estate Listings In 4 Minutes
Real Estate Listings In 4 MinutesReal Estate Listings In 4 Minutes
Real Estate Listings In 4 Minutes
 

Más de Catalyst

Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...
Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...
Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...Catalyst
 
TechSEO Boost 2021 - Cultivating a Product Mindset for Success
TechSEO Boost 2021 - Cultivating a Product Mindset for SuccessTechSEO Boost 2021 - Cultivating a Product Mindset for Success
TechSEO Boost 2021 - Cultivating a Product Mindset for SuccessCatalyst
 
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...Catalyst
 
TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...
TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...
TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...Catalyst
 
10 Trends Changing Programmatic
10 Trends Changing Programmatic10 Trends Changing Programmatic
10 Trends Changing ProgrammaticCatalyst
 
New Commerce Conference: Charting a Course to Success with Your Retail Media ...
New Commerce Conference: Charting a Course to Success with Your Retail Media ...New Commerce Conference: Charting a Course to Success with Your Retail Media ...
New Commerce Conference: Charting a Course to Success with Your Retail Media ...Catalyst
 
The New Commerce Conference: The Omni-channel Imperative
The New Commerce Conference: The Omni-channel ImperativeThe New Commerce Conference: The Omni-channel Imperative
The New Commerce Conference: The Omni-channel ImperativeCatalyst
 
New Commerce Commerce: All Things Instacart
New Commerce Commerce: All Things InstacartNew Commerce Commerce: All Things Instacart
New Commerce Commerce: All Things InstacartCatalyst
 
The Power of SEO: Protect Your Bottom Line & Future Proof Your Brand
The Power of SEO: Protect Your Bottom Line & Future Proof Your BrandThe Power of SEO: Protect Your Bottom Line & Future Proof Your Brand
The Power of SEO: Protect Your Bottom Line & Future Proof Your BrandCatalyst
 
The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...
The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...
The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...Catalyst
 
Reignite Your Business with Performance Marketing: 4 Ways to Fuel Your Reopening
Reignite Your Business with Performance Marketing: 4 Ways to Fuel Your ReopeningReignite Your Business with Performance Marketing: 4 Ways to Fuel Your Reopening
Reignite Your Business with Performance Marketing: 4 Ways to Fuel Your ReopeningCatalyst
 
Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...
Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...
Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...Catalyst
 
Evolve Your Social Commerce Strategy: Thinking Beyond Facebook
Evolve Your Social Commerce Strategy: Thinking Beyond FacebookEvolve Your Social Commerce Strategy: Thinking Beyond Facebook
Evolve Your Social Commerce Strategy: Thinking Beyond FacebookCatalyst
 
B2B SEO: Increase Traffic & Leads in 2020
B2B SEO: Increase Traffic & Leads in 2020B2B SEO: Increase Traffic & Leads in 2020
B2B SEO: Increase Traffic & Leads in 2020Catalyst
 
Keynote: Bias in Search and Recommender Systems
Keynote: Bias in Search and Recommender SystemsKeynote: Bias in Search and Recommender Systems
Keynote: Bias in Search and Recommender SystemsCatalyst
 
TechSEO Boost 2019: Research Competition
TechSEO Boost 2019: Research CompetitionTechSEO Boost 2019: Research Competition
TechSEO Boost 2019: Research CompetitionCatalyst
 
NLP Powered Outreach Link Building
NLP Powered Outreach Link BuildingNLP Powered Outreach Link Building
NLP Powered Outreach Link BuildingCatalyst
 
Generating Qualitative Content with GPT-2 in All Languages
Generating Qualitative Content with GPT-2 in All LanguagesGenerating Qualitative Content with GPT-2 in All Languages
Generating Qualitative Content with GPT-2 in All LanguagesCatalyst
 
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptAutomate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptCatalyst
 
NLP for SEO
NLP for SEONLP for SEO
NLP for SEOCatalyst
 

Más de Catalyst (20)

Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...
Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...
Closing the Gap: Adopting Omnichannel Strategies for Stronger Brand-Consumer ...
 
TechSEO Boost 2021 - Cultivating a Product Mindset for Success
TechSEO Boost 2021 - Cultivating a Product Mindset for SuccessTechSEO Boost 2021 - Cultivating a Product Mindset for Success
TechSEO Boost 2021 - Cultivating a Product Mindset for Success
 
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
 
TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...
TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...
TechSEO Boost 2021 - The Future Is The Past: Tagging And Tracking Through The...
 
10 Trends Changing Programmatic
10 Trends Changing Programmatic10 Trends Changing Programmatic
10 Trends Changing Programmatic
 
New Commerce Conference: Charting a Course to Success with Your Retail Media ...
New Commerce Conference: Charting a Course to Success with Your Retail Media ...New Commerce Conference: Charting a Course to Success with Your Retail Media ...
New Commerce Conference: Charting a Course to Success with Your Retail Media ...
 
The New Commerce Conference: The Omni-channel Imperative
The New Commerce Conference: The Omni-channel ImperativeThe New Commerce Conference: The Omni-channel Imperative
The New Commerce Conference: The Omni-channel Imperative
 
New Commerce Commerce: All Things Instacart
New Commerce Commerce: All Things InstacartNew Commerce Commerce: All Things Instacart
New Commerce Commerce: All Things Instacart
 
The Power of SEO: Protect Your Bottom Line & Future Proof Your Brand
The Power of SEO: Protect Your Bottom Line & Future Proof Your BrandThe Power of SEO: Protect Your Bottom Line & Future Proof Your Brand
The Power of SEO: Protect Your Bottom Line & Future Proof Your Brand
 
The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...
The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...
The Era of Omni-Commerce: New Insights for Dominating the Digital Shelf and B...
 
Reignite Your Business with Performance Marketing: 4 Ways to Fuel Your Reopening
Reignite Your Business with Performance Marketing: 4 Ways to Fuel Your ReopeningReignite Your Business with Performance Marketing: 4 Ways to Fuel Your Reopening
Reignite Your Business with Performance Marketing: 4 Ways to Fuel Your Reopening
 
Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...
Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...
Reignite Your Business with Performance Marketing: 4 Ways to Dial-Up Brand In...
 
Evolve Your Social Commerce Strategy: Thinking Beyond Facebook
Evolve Your Social Commerce Strategy: Thinking Beyond FacebookEvolve Your Social Commerce Strategy: Thinking Beyond Facebook
Evolve Your Social Commerce Strategy: Thinking Beyond Facebook
 
B2B SEO: Increase Traffic & Leads in 2020
B2B SEO: Increase Traffic & Leads in 2020B2B SEO: Increase Traffic & Leads in 2020
B2B SEO: Increase Traffic & Leads in 2020
 
Keynote: Bias in Search and Recommender Systems
Keynote: Bias in Search and Recommender SystemsKeynote: Bias in Search and Recommender Systems
Keynote: Bias in Search and Recommender Systems
 
TechSEO Boost 2019: Research Competition
TechSEO Boost 2019: Research CompetitionTechSEO Boost 2019: Research Competition
TechSEO Boost 2019: Research Competition
 
NLP Powered Outreach Link Building
NLP Powered Outreach Link BuildingNLP Powered Outreach Link Building
NLP Powered Outreach Link Building
 
Generating Qualitative Content with GPT-2 in All Languages
Generating Qualitative Content with GPT-2 in All LanguagesGenerating Qualitative Content with GPT-2 in All Languages
Generating Qualitative Content with GPT-2 in All Languages
 
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptAutomate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
 
NLP for SEO
NLP for SEONLP for SEO
NLP for SEO
 

Último

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
 
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO SuccessBrighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO SuccessVarn
 
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxDigital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxZACGaming
 
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
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessAggregage
 
Defining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotlerDefining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotlerAmirNasiruog
 
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxUnraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxelizabethella096
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfVWO
 
Major SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalMajor SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalBanyanbrain
 
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
 
Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdftbatkhuu1
 
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
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...
VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...
VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...aditipandeya
 
Kraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationKraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationtbatkhuu1
 
personal branding kit for music business
personal branding kit for music businesspersonal branding kit for music business
personal branding kit for music businessbrjohnson6
 

Último (20)

Turn Digital Reputation Threats into Offense Tactics - Daniel Lemin
Turn Digital Reputation Threats into Offense Tactics - Daniel LeminTurn Digital Reputation Threats into Offense Tactics - Daniel Lemin
Turn Digital Reputation Threats into Offense Tactics - Daniel Lemin
 
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
 
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO SuccessBrighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
Brighton SEO April 2024 - The Good, the Bad & the Ugly of SEO Success
 
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptxDigital-Marketing-Into-by-Zoraiz-Ahmad.pptx
Digital-Marketing-Into-by-Zoraiz-Ahmad.pptx
 
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
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail Success
 
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
Generative AI Master Class - Generative AI, Unleash Creative Opportunity - Pe...
 
Defining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotlerDefining Marketing for the 21st Century,kotler
Defining Marketing for the 21st Century,kotler
 
How to Create a Social Media Plan Like a Pro - Jordan Scheltgen
How to Create a Social Media Plan Like a Pro - Jordan ScheltgenHow to Create a Social Media Plan Like a Pro - Jordan Scheltgen
How to Create a Social Media Plan Like a Pro - Jordan Scheltgen
 
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptxUnraveling the Mystery of the Hinterkaifeck Murders.pptx
Unraveling the Mystery of the Hinterkaifeck Murders.pptx
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdf
 
Major SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalMajor SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain Digital
 
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
 
Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdf
 
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
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...
VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...
VIP 7001035870 Find & Meet Hyderabad Call Girls Film Nagar high-profile Call ...
 
Creator Influencer Strategy Master Class - Corinne Rose Guirgis
Creator Influencer Strategy Master Class - Corinne Rose GuirgisCreator Influencer Strategy Master Class - Corinne Rose Guirgis
Creator Influencer Strategy Master Class - Corinne Rose Guirgis
 
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
 
Kraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentationKraft Mac and Cheese campaign presentation
Kraft Mac and Cheese campaign presentation
 
personal branding kit for music business
personal branding kit for music businesspersonal branding kit for music business
personal branding kit for music business
 

TechSEO Boost 2017: AMPing Airbnb

  • 1. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoostBrian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost + AMP BRIAN TA / GIL BIRMAN / 11-2017
  • 4. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost P1 HOME PAGE Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 5. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost P2 SEARCH RESULTS PAGE Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 6. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost P3 LISTING PAGES Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 10. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoostBrian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost AMP is not available on desktop Mobile devices get AMP results www.google.de/search?q=airbnb+berlin
  • 11. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost AMP DIAGRAM Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost s/sf amp/s/sf
  • 14. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Challenges FIGURING OUT WHAT PAGE TO AMP Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Impactfulness (Traffic) • Page Volatility • Technical Challenges (legacy system compatibility) • Page Ownership
  • 15. Guidebooks THINGS TO DO IN {CITY NAME} PROS CONS • Design is stable • No one is working on it • Low Traffic • Low Impact
  • 16. P1 HOMEPAGE PROS CONS • LOTS of Traffic • High Impact • Only 1 Page • Making changes on P1 requires approval from higher- ups • Frequent Redesigns
  • 17. P3 LISTING PAGE PROS CONS • Only 1 Team working on it • Has poor SEO conversion rate • In a state of flux/refactoring • Owned by a different team • Stuck on legacy framework
  • 18. P2 SEARCH RESULTS PROS CONS • High Traffic • High Impact • A lot of people working on it • Frequent design changes
  • 19. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Organic Search Traffic Breakdown Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 21. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Basic Questions to Answer QUESTIONS THAT NEED TO BE ANSWERED TO GET AMP OFF THE GROUND Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • How does AMP work within our existing framework? • How does AMPing P2 interfere with our website infrastructure? • What does AMPing P2 do to the workflow of other developers in the company? • How does this impact design, experience, and the overall product?
  • 22. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • How do we integrate this into a fully functioning product with the rest of the company? • How do we handle the added complexity? • Getting buy in from other teams • How do we integrate AMP into our experimentation framework • Dedicated team/owner - Who will maintain it? Procrastination ISSUES WE WON’T ADDRESS UNTIL LATER Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 25. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoostBrian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost 3.86% 16.08% AMP P2 Timeout Rate (30min CDN Caching Enabled) P2 Timeout Rate Render Time Exceeds 500ms When a Hypernova render exceeds 500ms in Monorail, it times out and renders blank. https://app.datadoghq.com/screen/217059/gils-amp-p2-dashboard
  • 27. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost When page renders blank, Google is supposed to link to the canonical page instead of the AMP page, but…. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 29. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost We implemented CDN caching (30 minutes) as a way of solving the ~16% timeout rate for AMP-rendered pages. Our Solution? Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 31. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • An <img /> tag broke our AMP experience. • As other engineers added new features to P2, they did not always work well with AMP. • Images inside of a horizontal scrolling div fail to load. • >50k CSS Breaks AMP Validation New Features Broke AMP Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 34. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost SQUAD GOALS Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Make our pages AMP- compatible without having to recreate them from scratch.
  • 35. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost WHY? WHY DOES AMP REQUIRE SO MANY CODE CHANGES? Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • AMP page is displayed inside of an iframe on google.com. • NO custom JavaScript. • NO inline styles. Security • NO layout reflows • LIMIT of 50kb CSS Performance
  • 36. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • AMP doesn’t support !important 😭 Aphrodite (open-source CSS framework) adds !important to every style • AMP doesn’t support inline styles. 😭 We use them lots (React!) • AMP only supports style tags which appear in the <head> 😭 Aphrodite styles are appended to the <body> • AMP limits CSS size to 50kb 😭 Our page had too many styles! ARCHITECTURAL CHALLENGES OUR EXISTING FRAMEWORK WAS INCOMPATIBLE WITH AMP Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 38. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost <div {…css(styles.mainTitle)}> Hello World </div> Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost aphrodite css() function style definition • Added a node environment variable, process.env.AMP • Created a custom css() function that conditionally disables !important when process.env.AMP is enabled <div class=“mainTitle_j2dz”> Hello World </div>
  • 40. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Inline Styles Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost To class-based styles: We can convert inline styles: … but it is too slow 😞
  • 41. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Inline Styles Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Usage: Update cache: Cache key from style object:
  • 43. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost hypernova OUR OPEN-SOURCE SERVER-SIDE RENDERING PLATFORM Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost hypernova • User makes page request • Rails renders an ERB template • An ERB template may call render_react_component() • hypernova handles rendering react components (RUBY) (NODEJS)
  • 44. Rails ERB Template aphrodite inserts styles here no way to insert styles here
  • 45. ERB template for AMP pages entire page is rendered in hypernova (node service)
  • 47. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Can CSS be eliminated? Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Aphrodite does not generate extra CSS • However, AMP pages never use responsive styles above our medium breakpoint (744px) • We modified the css() function to eliminate responsive styles • responsive styles below the responsive breakpoint are inserted without their @media queries • responsive styles above the responsive breakpoint are culled
  • 48. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Class name minification Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • We added this feature via a PR to aphrodite .helloStyle_x3hn BEFORE ._x3hn AFTER
  • 50. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • AMP works perfectly for logged out/first time visitors • Logged in users are dropped in a very confusing experience • Initial page load is a “logged out” experience • How do they get to the “logged in” experience of the P2 page? Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Userflows LOGGED IN/LOGGED OUT
  • 51. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Google does not open deeplink when clicking on an AMP search result • Users have to perform a second click in order to get directed to the app experience • Polarizing opinions on this behavior Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Deeplinking APP INSTALLED VS. NOT INSTALLED
  • 52. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • AMP makes it difficult to iterate different product ideas on it in an efficient manner • Airbnb has an in-house experimental framework that can’t be integrated with AMP • Experimentation on another domain is extremely difficult Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Iteration YOUR PRODUCT IS NEVER PERFECTED
  • 53. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Multiple experiments and features were launched that affected AMP experimentation • It’s hard to keep a close eye on AMP and make sure that new features don’t change the core experience • We can check for broken features, but it’s not as easy to detect newly added features Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Stability CHANGES FROM OTHER TEAMS CAN DRASTICALLY ALTER THE PAGE
  • 54. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Communication with external teams is challenging • Technical hurdles have been overcome or mitigated • The experience as a whole feels fractured • As a product, AMP P2 doesn’t work. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost What did we learn?
  • 55. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • The big problem is the overall experience is fractured, the design of the page isn’t there and the product we were AMPing was suboptimal *unpack P2 problems* • How do we address these problems so that we can solve them in one swoop? Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Coalescence EXPERIENCE, DESIGN, PRODUCT
  • 57. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost MAGIC CARPET We created a page specifically tailored to first-time search engine users. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 58. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Magic Carpet THE P2 LANDING PAGE FOR SEO Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost P2 Magic Carpet Filter Controls Results
  • 59. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Userflow Limited Exposure Focused Product Design Polished Experience Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Magic Carpet WHAT WE OPTIMIZED
  • 61. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost serviceworker WHAT IS IT? Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 62. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost serviceworker USER JOURNEY Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Google Search Results AMPed P2 App Shell pre-render install serviceworker load content
  • 63. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost AMP provides the only user journey that pre-installs the serviceworker. In all other cases, a serviceworker only provides value as a result of a repeat visit. Value Prop Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost
  • 64. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Where to next? FIGURING OUT WHAT PAGE TO AMP Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Experimentation • Worldwide Launch • Getting metrics into our core data
  • 65. WHAT DIDN’T WE TALK ABOUT?
  • 66. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost What didn’t we cover? ALL THE THINGS WE CHOSE NOT TO TELL YOU Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost • Experiment Results • Logging Issues • Experimentation Issues
  • 67. Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost Thanks! brian.ta@airbnb.com gil.birman@airbnb.com Brian Ta (@fanfavorite_bta), Gil Birman (@gilboxme) #TechSEOBoost

Notas del editor

  1. A timed out page is a blank page. To determine if a page successfully rendered and thus is suitable for caching, we check the markup.