SlideShare a Scribd company logo
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

More Related Content

Similar to 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 Server
Atlassian
 
BigML Release: Data Transformations
BigML Release: Data TransformationsBigML Release: Data Transformations
BigML Release: Data Transformations
BigML, Inc
 
From zero to git
From zero to gitFrom zero to git
From zero to git
Bruno Almeida
 
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 Presentation
Kim Tyrone Agapito
 
Future of social connectivity
Future of social connectivityFuture of social connectivity
Future of social connectivity
Proudly Represents
 
TechSEO Boost 2021 - SEO Experimentation
TechSEO Boost 2021 - SEO ExperimentationTechSEO Boost 2021 - SEO Experimentation
TechSEO Boost 2021 - SEO Experimentation
Catalyst
 
Optimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialOptimizing Wordpress for Search & Social
Optimizing Wordpress for Search & Social
CT Moore
 
Optimizing Wordpress for Search & Social
Optimizing Wordpress for Search & SocialOptimizing Wordpress for Search & Social
Optimizing Wordpress for Search & Social
iProspect 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 basics
Jamie Andrei
 
BAWAT MGO330 Presentation.pptx
BAWAT MGO330 Presentation.pptxBAWAT MGO330 Presentation.pptx
BAWAT MGO330 Presentation.pptx
tedlim11
 
Building GitLab
Building GitLabBuilding GitLab
Building GitLab
🌍 Job van der Voort
 
Design Innovation
Design InnovationDesign Innovation
Design Innovation
Rob 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 interface
Phil Pearce
 
Legacy: A Retrospective - Open West 2016
Legacy: A Retrospective - Open West 2016Legacy: A Retrospective - Open West 2016
Legacy: A Retrospective - Open West 2016
Jessica Mauerhan
 
Constantly Contributing Pretty Patches FLCD
Constantly Contributing Pretty Patches FLCDConstantly Contributing Pretty Patches FLCD
Constantly Contributing Pretty Patches FLCD
Mark Casias
 
Real Estate Listings In 4 Minutes
Real Estate Listings In 4 MinutesReal Estate Listings In 4 Minutes
Real Estate Listings In 4 Minutes
marissa louie
 

Similar to 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
 

More from 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 Success
Catalyst
 
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 Programmatic
Catalyst
 
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 Imperative
Catalyst
 
New Commerce Commerce: All Things Instacart
New Commerce Commerce: All Things InstacartNew Commerce Commerce: All Things Instacart
New Commerce Commerce: All Things Instacart
Catalyst
 
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
Catalyst
 
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 Reopening
Catalyst
 
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 Facebook
Catalyst
 
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
Catalyst
 
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
Catalyst
 
TechSEO Boost 2019: Research Competition
TechSEO Boost 2019: Research CompetitionTechSEO Boost 2019: Research Competition
TechSEO Boost 2019: Research Competition
Catalyst
 
NLP Powered Outreach Link Building
NLP Powered Outreach Link BuildingNLP Powered Outreach Link Building
NLP Powered Outreach Link Building
Catalyst
 
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
Catalyst
 
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
Catalyst
 
NLP for SEO
NLP for SEONLP for SEO
NLP for SEO
Catalyst
 

More from 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
 

Recently uploaded

Is AI-Generated Content the Future of Content Creation?
Is AI-Generated Content the Future of Content Creation?Is AI-Generated Content the Future of Content Creation?
Is AI-Generated Content the Future of Content Creation?
Cut-the-SaaS
 
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
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Playlist and Paint Event with Sony Music U
Playlist and Paint Event with Sony Music UPlaylist and Paint Event with Sony Music U
Playlist and Paint Event with Sony Music U
SemajahParker
 
How to Use AI to Write a High-Quality Article that Ranks
How to Use AI to Write a High-Quality Article that RanksHow to Use AI to Write a High-Quality Article that Ranks
How to Use AI to Write a High-Quality Article that Ranks
minatamang0021
 
May 2024 - VBOUT Partners Meeting Group Session
May 2024 - VBOUT Partners Meeting Group SessionMay 2024 - VBOUT Partners Meeting Group Session
May 2024 - VBOUT Partners Meeting Group Session
Vbout.com
 
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User JourneysMastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Search Engine Journal
 
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CROAI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
VWO
 
Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024
Andy Lambert
 
Digital Marketing Training In Bangalore
Digital Marketing Training In BangaloreDigital Marketing Training In Bangalore
Digital Marketing Training In Bangalore
syedasifsyed46
 
DMF Portfolio Piece Smart Goals - Artist Management.docx
DMF Portfolio Piece Smart Goals - Artist Management.docxDMF Portfolio Piece Smart Goals - Artist Management.docx
DMF Portfolio Piece Smart Goals - Artist Management.docx
TravisMalana
 
Generative AI - Unleash Creative Opportunity - Peter Weltman
Generative AI - Unleash Creative Opportunity - Peter WeltmanGenerative AI - Unleash Creative Opportunity - Peter Weltman
Generative AI - Unleash Creative Opportunity - Peter Weltman
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
ThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness ReportThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness Report
ThinkNow
 
Marketing as a Primary Revenue Driver - Lee Levitt
Marketing as a Primary Revenue Driver - Lee LevittMarketing as a Primary Revenue Driver - Lee Levitt
How to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social PlatformsHow to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social Platforms
VWO
 
SEO as the Backbone of Digital Marketing
SEO as the Backbone of Digital MarketingSEO as the Backbone of Digital Marketing
SEO as the Backbone of Digital Marketing
Felipe Bazon
 
De-risk Your Digital Evolution - Hannah Grap
De-risk Your Digital Evolution - Hannah GrapDe-risk Your Digital Evolution - Hannah Grap
5 Big Bets for 2024 - Jamie A. Lee, Stripes Co
5 Big Bets for 2024 - Jamie A. Lee, Stripes Co5 Big Bets for 2024 - Jamie A. Lee, Stripes Co
10 Videos Any Business Can Make Right Now! - Shelly Nathan
10 Videos Any Business Can Make Right Now! - Shelly Nathan10 Videos Any Business Can Make Right Now! - Shelly Nathan
10 Videos Any Business Can Make Right Now! - Shelly Nathan
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Unlocking Everyday Narratives: The Power of Storytelling in Marketing - Chad...
Unlocking Everyday Narratives: The Power of Storytelling in Marketing  - Chad...Unlocking Everyday Narratives: The Power of Storytelling in Marketing  - Chad...
Unlocking Everyday Narratives: The Power of Storytelling in Marketing - Chad...
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 
Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...
Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...
Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...
DigiMarCon - Digital Marketing, Media and Advertising Conferences & Exhibitions
 

Recently uploaded (20)

Is AI-Generated Content the Future of Content Creation?
Is AI-Generated Content the Future of Content Creation?Is AI-Generated Content the Future of Content Creation?
Is AI-Generated Content the Future of Content Creation?
 
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
 
Playlist and Paint Event with Sony Music U
Playlist and Paint Event with Sony Music UPlaylist and Paint Event with Sony Music U
Playlist and Paint Event with Sony Music U
 
How to Use AI to Write a High-Quality Article that Ranks
How to Use AI to Write a High-Quality Article that RanksHow to Use AI to Write a High-Quality Article that Ranks
How to Use AI to Write a High-Quality Article that Ranks
 
May 2024 - VBOUT Partners Meeting Group Session
May 2024 - VBOUT Partners Meeting Group SessionMay 2024 - VBOUT Partners Meeting Group Session
May 2024 - VBOUT Partners Meeting Group Session
 
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User JourneysMastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
 
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CROAI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
 
Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024
 
Digital Marketing Training In Bangalore
Digital Marketing Training In BangaloreDigital Marketing Training In Bangalore
Digital Marketing Training In Bangalore
 
DMF Portfolio Piece Smart Goals - Artist Management.docx
DMF Portfolio Piece Smart Goals - Artist Management.docxDMF Portfolio Piece Smart Goals - Artist Management.docx
DMF Portfolio Piece Smart Goals - Artist Management.docx
 
Generative AI - Unleash Creative Opportunity - Peter Weltman
Generative AI - Unleash Creative Opportunity - Peter WeltmanGenerative AI - Unleash Creative Opportunity - Peter Weltman
Generative AI - Unleash Creative Opportunity - Peter Weltman
 
ThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness ReportThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness Report
 
Marketing as a Primary Revenue Driver - Lee Levitt
Marketing as a Primary Revenue Driver - Lee LevittMarketing as a Primary Revenue Driver - Lee Levitt
Marketing as a Primary Revenue Driver - Lee Levitt
 
How to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social PlatformsHow to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social Platforms
 
SEO as the Backbone of Digital Marketing
SEO as the Backbone of Digital MarketingSEO as the Backbone of Digital Marketing
SEO as the Backbone of Digital Marketing
 
De-risk Your Digital Evolution - Hannah Grap
De-risk Your Digital Evolution - Hannah GrapDe-risk Your Digital Evolution - Hannah Grap
De-risk Your Digital Evolution - Hannah Grap
 
5 Big Bets for 2024 - Jamie A. Lee, Stripes Co
5 Big Bets for 2024 - Jamie A. Lee, Stripes Co5 Big Bets for 2024 - Jamie A. Lee, Stripes Co
5 Big Bets for 2024 - Jamie A. Lee, Stripes Co
 
10 Videos Any Business Can Make Right Now! - Shelly Nathan
10 Videos Any Business Can Make Right Now! - Shelly Nathan10 Videos Any Business Can Make Right Now! - Shelly Nathan
10 Videos Any Business Can Make Right Now! - Shelly Nathan
 
Unlocking Everyday Narratives: The Power of Storytelling in Marketing - Chad...
Unlocking Everyday Narratives: The Power of Storytelling in Marketing  - Chad...Unlocking Everyday Narratives: The Power of Storytelling in Marketing  - Chad...
Unlocking Everyday Narratives: The Power of Storytelling in Marketing - Chad...
 
Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...
Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...
Your Path to Profits - The Game-Changing Power of a Marketing OS for Your Bus...
 

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

Editor's Notes

  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.