SlideShare a Scribd company logo
1 of 73
Download to read offline
DEVELOPING A SEO FRIENDLY
CMS FROM THE GROUND UP
Fabrizio Ballarini
@Pechnet
Link to slides
wi.se/seo-friendly-cms
WHAT IF I TOLD YOU
IT DEPENDS
What makes
the best
performing
website?
@Pechnet
How
important is
the CMS to
control your
site
performance?
@Pechnet
What is the
average
depth of
understanding
of CMSs among
SEO
professionals?
@Pechnet
The less control the highest chance to underperform vs plans!
@Pechnet
The choice is wide, not entirely SEOs fault
@Pechnet
Yet we have preferences
@Pechnet
We are asked to contribute to technical decisions
@Pechnet
Debug what is broken
@Pechnet
Produce guidelines and documentation, define
processes
@Pechnet
Choosing is not simple as some choices don’t have
immediate impact on SEO
@Pechnet
Every situation is different and you can’t simply
follow what’s recommended
@Pechnet
Your problems are unique to your business, so are
your processes
@Pechnet
Our landing page creation flow
We decided to build our own: Meet Lienzo
@Pechnet
Whatever is your setup keep an eye on the SEO
“DevMometer”
@Pechnet
Fresh start or migration to
new platform with prospect of
healthy collaboration
SEO team has no direct control on CMS
choice and product but has to pitch
changes to web/product team
Cms is already in place & there is
very little SEO team can change
Less friction the more your team** is full stack
@Pechnet
SEO Specialists Full Stack Devs Frontend Devs Designers Copywriters
Editors
Translators
Publishers
Analysts
**Credit for all the below actually goes to them, I simply do the talk :)
Simple basic growth levers
@Pechnet
CTR Conversion
Rate
Unique
Pages
Search
volume
Customers
3 years later on the content / SEO side of the team
@Pechnet
2 3 15 1712 3M
Custom
CMS
SEOs Content
specialists
CountriesLanguages Indexed
Pages
We growth at the speed at which we ship/optimise
pages
@Pechnet
3M INDEXED PAGES 🚀
Publishing via CMS doesn’t scale: go beyond basic SEO
checks and optimise operations!
Copywriters
Editors
Translators
Publishers
Keyword Data Unique page
@Pechnet
4 categories
of features
you should
invest
engineering on
Make search engines bots happy
Accessibility
Avoid screwing up
Monitoring
Improve team processes
Publishing Ops
Build automation
Scaling
@Pechnet
Accessibility
Development roadmap
Don't just give
developers
a list
of SEO features
Customize URLs
Meta data
Structured data
Canonicals and redirects
Indexing
Sitemaps
hreflang and geotargeting
Define what is must to build and what you can hack:
Our first xml sitemap after launching 1M+ URLs!
@Pechnet
Lorem 3
Put KPIs against
hacked process until
we realised we were
hitting scaling
issues and couldn’t
simply keep up.
TIme for engineers
to automate it.
Lorem 1
To save dev time we
worked harder on
building a strong
internal link structure
that bots could crawl
more efficiently.
Lorem 2
Built manually by
SEOs.
>>Dump list of URLs
from DB
>> Build static XML
sitemap
>> Upload regularly
Build itDo without Hack it
Human vs Platform
Define what is handled by the platform Vs what is
managed by users
@Pechnet
#1 Language/Country selector
#2 Unique page hreflang key
#3 Locale-mapping
Users only select language/country + unique key,
Platforms does the mapping to URL locales
@Pechnet
Language/Country selector Unique page hreflang key
Locale-mapping
Invest time defining ideal user roles and rights 🚧
@Pechnet
SEO
Social/PPC/Affiliate
Content Specialist
Regional Marketing
Manager
● Full admin access + API access
● Approve change from other profiles on SEO features
(indexing, canonicals, hreflang)
● Can duplicate SEO indexed pages, confined to non to
publish on folders that no index by default
● API access
● Restricted access to SEO features
● Require approval on editing/duplicating/deleting index SEO
pages if published on folders linked from main architecture
Monitoring
Why scraping a site you actually own?
@Pechnet
Everytime you press update on any page
changes get stored in your database. You
don’t need to crawl your site to find out!
Connect your data
@Pechnet
Connect your database to an easy to use BI server, such as Metabase,
Looker or similar.
Metabase is the easy, open source
way for everyone in your company to
ask questions and learn from data.
“Ranking Perpetrators” get instant notifications
@Pechnet
Process with external monitoring
Introduce
error
Crawl site Compile
report
Identify owner &
request fix
Publish fix
Process built into platform
Introduce
error
Instant
notification
Publish fix
@Pechnet
Publishing Ops
Faster operations
Plain content search capability
@Pechnet
We can now search ing content of each page directly into Looker
Example: We want to identify all blog articles that contain links to
sources that require regular updates.
Rendered content search capability
@Pechnet
We want to limit our team
scraping the site during their
day to day operations and
give them access to fast
insights.
Example: Find all comparison
tables where we have issues
with markdown that prevent
us from capturing feature
snippets.
#1 Locate the issue
@Pechnet
1. Replicate the issue
2. Inspect element
#2 Edit as HTML
@Pechnet
#3 Select the HTML rendered representation of the
table header
@Pechnet
#4 Filter in Looker ⚡
@Pechnet
1. Manipulate copied element to fit Looker avance match rules
2. Apply filter and identify pages affected in seconds
Better sync with SEO operations
Fine tune backend to achieve seamless workflow
@Pechnet
Easy access to brief &
draft from writers
Automatically track
keywords via API
The Average Handling time (AHT) is normalizing. In average it takes around 15-18 days for each of the
production stages. Overall it takes us 2 - 3 months to publish an article from the moment the brief for
it is created.
Measure time to publish KPIs to evaluate process
efficiency and value of adding features
Publishing
Analyst
Faster validation
https://developers.google.com/analytics/solutions/experim
ents-client-side
User friendly built in split testing 🚧
@Pechnet
Create pages in the way
you are used to do it
regularly, nothing
different.
A page for the control group:
https://transferwise.com/page-a
A page for the test group:
https://transferwise.com/page-b
Add experiment
key & launch test!
Scaling
Leverage APIs
Know your CMS, your content & structure data
@Pechnet
Learn how to use APIs
@Pechnet
Understand how your CMS works:
database, data format and structure
Example: our CMS is running on a
PostgreSQL database and each page is
stored in a JSON format.
Examples for other CMS:
https://developer.wordpress.org/rest-api/
Why would we do it? (Use cases)
@Pechnet
Creating and updating landing pages manually takes time and is
prone to errors.
Create 1000s of scalable landing
pages from scratch
Update out-of-date content, or fix
broken links in scale
Delete obsolete pages Clone existing pages at scale
Optimisation
Use case: Wrong canonical and optimise meta
elements
@Pechnet
Example:
We wanted to update values for meta titles on 200+ landing pages.
At the same time, some of the pages had incorrect value for
rel=canonical
#1: We have prepared our list of changes
@Pechnet
Prepare your changes in a simple csv - we also included a
path name for an extra check to make sure we have the
correct page ID
#2: We wrote a simple script in python
@Pechnet
We wrote a simple python script to
download a JSON response for
relevant page ID, make required
changes and then send the
updated JSON back to the API.
#3: Test locally & execute in production 🚀
@Pechnet
After first testing the changes in a local environment, we were ready to
run the script in production:
$ pipenv run python find-replace-request.py csv-filename public
200+ pages optimised!
Scaling launches and MVPs
Use case: create 1000 new landing pages
@Pechnet
Imagine you want to create 1000 new templated landing pages - for
example to sell different types of ice cream, in multiple languages.
Each page should contain information about different aspects of ice
cream:
- Its flavour
- Price
- And list of allergens
#1: Create a template
@Pechnet
In JSON format, create template matching the API schema
and map templated fields to variables.
#2: We have prepared our list of variables
@Pechnet
Prepare the values for templated fields in a csv like this one:
#3: We wrote a simple script in python
@Pechnet
We wrote two simple python scripts:
1. To generate JSON files based on variable values and template
2. To send JSON files as a POST request to our API
#4: Test locally & execute in production 🚀
@Pechnet
$ pipenv run python api-request.py csv-filename public
After first testing the changes in a local environment, we were ready to
run the script in production:
1000+ new pages launched!
We used to hack our Database 🙈, with API it’s safer
and way more efficient
@Pechnet
1000+
new
pages
DONE!
Step 1: We plugged our CMS to Metabase Step 2: Understand template in JSON
Step 3: Edit template, concatenate JSON Step 4: Inject data in in PosgreSQL
☢
Exceptionally powerful when combined with widgets
that leverage internal/product data
Frontend Widgets
Price Comparison
Service
Data
Collection
Service
Landing pages
@Pechnet
🤖 APIs beat Humans
🤖
@Pechnet
👨‍🔬👩‍🔬
What did we learn so far
🚨 Warnings 🚨: what we didn’t know 3 years ago
@Pechnet
Must do:
Escape technical dependencies from other teams, takes time but it’s worth
Don’t limit to just sending a SEO recommendation without knowing how
people will implement it in your organisation
Treat users of the platform as your customers and spend time working out
how they use it, put KPIs against usage
What could have been faster or gone better:
Don’t let your ability to develop the platform limit your growth
Don’t build features until you future proof them, iterating it’s ok but
shutting down stuff isn’t.
@Pechnet
Start with an empowered autonomous full-stack SE0 team…
1. Constantly redefine what SEO features are
handled by platform vs users
3. Invest in features to improve publishing
operations
2. Build monitoring into your platform
4. Leverage APIs to scale
@Pechnet
Link to slides >>
wi.se/seo-friendly-cms
Money without borders >>
wi.se/borderless
Join us >>
wi.se/seo-jobs
Thank you

More Related Content

What's hot

Análisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDay
Análisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDayAnálisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDay
Análisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDayMJ Cachón Yáñez
 
SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019
SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019
SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019Fabrizio Ballarini
 
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...Isa Lavs
 
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...Aleyda Solís
 
Can you trust AI with your content?
Can you trust AI with your content?Can you trust AI with your content?
Can you trust AI with your content?Mat Bennett
 
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021Chris Green
 
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance FrameworkGoodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance FrameworkAleyda Solís
 
How to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google DiscoverHow to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google DiscoverFelipe Bazon
 
The most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDX
The most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDXThe most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDX
The most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDXAleyda Solís
 
SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022Nitin Manchanda
 
How to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptxHow to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptxAlexHickson3
 
Holistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First StrategyHolistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First StrategyArpunBhuhi
 
TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)
TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)
TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)Gianna Brachetti-Truskawa 🐙
 
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroRedefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroPaul Shapiro
 
SMX East: Recovering From Core Updates - Lily Ray
SMX East: Recovering From Core Updates - Lily RaySMX East: Recovering From Core Updates - Lily Ray
SMX East: Recovering From Core Updates - Lily RayLily Ray
 
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBeth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBethBarnham1
 
Google Sheets + SEO = 15 tips en 15 minutos #VamosTalegon
Google Sheets + SEO = 15 tips en 15 minutos #VamosTalegonGoogle Sheets + SEO = 15 tips en 15 minutos #VamosTalegon
Google Sheets + SEO = 15 tips en 15 minutos #VamosTalegonAleyda Solís
 
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdfCore Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdfSophie Gibson
 
Using Search Intent in our Link Building Efforts
Using Search Intent in our Link Building EffortsUsing Search Intent in our Link Building Efforts
Using Search Intent in our Link Building EffortsChris Czermak
 

What's hot (20)

Análisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDay
Análisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDayAnálisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDay
Análisis de Contenidos y Competencia: Screaming Frog y Xpath #SeoDay
 
SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019
SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019
SEMrush toolbox 9: SEO content template & SEO writing assistant - April 2019
 
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
How to be the ultimate double agent- PR and Link Builder Isa Lavahun BTNSEO S...
 
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
 
Can you trust AI with your content?
Can you trust AI with your content?Can you trust AI with your content?
Can you trust AI with your content?
 
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
 
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance FrameworkGoodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
Goodbye SEO fck ups! Learn to set an SEO Quality Assurance Framework
 
How to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google DiscoverHow to Use Search Intent to Dominate Google Discover
How to Use Search Intent to Dominate Google Discover
 
The most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDX
The most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDXThe most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDX
The most Damaging SEO Mistakes & Issues in 2021 and How to Avoid Them #EngagePDX
 
SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022
 
How to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptxHow to go viral on a budget using Digital PR.pptx
How to go viral on a budget using Digital PR.pptx
 
Holistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First StrategyHolistic Search - Developing An Organic First Strategy
Holistic Search - Developing An Organic First Strategy
 
Technical SEO: How Anomalies Are Your New Best Friend."
Technical SEO: How Anomalies Are Your New Best Friend." Technical SEO: How Anomalies Are Your New Best Friend."
Technical SEO: How Anomalies Are Your New Best Friend."
 
TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)
TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)
TECHNICAL SEO QA - SHINING A LIGHT ON INVISIBLE WORK (BrightonSEO April 2022)
 
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroRedefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
 
SMX East: Recovering From Core Updates - Lily Ray
SMX East: Recovering From Core Updates - Lily RaySMX East: Recovering From Core Updates - Lily Ray
SMX East: Recovering From Core Updates - Lily Ray
 
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBeth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
 
Google Sheets + SEO = 15 tips en 15 minutos #VamosTalegon
Google Sheets + SEO = 15 tips en 15 minutos #VamosTalegonGoogle Sheets + SEO = 15 tips en 15 minutos #VamosTalegon
Google Sheets + SEO = 15 tips en 15 minutos #VamosTalegon
 
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdfCore Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
 
Using Search Intent in our Link Building Efforts
Using Search Intent in our Link Building EffortsUsing Search Intent in our Link Building Efforts
Using Search Intent in our Link Building Efforts
 

Similar to Developing a SEO friendly CMS from the ground up - Digital Elite Day 19

SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...
SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...
SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...SearchLeeds
 
Continental Airlines 2009 Microsoft SharePoint Conference Presentation
Continental Airlines 2009 Microsoft SharePoint Conference PresentationContinental Airlines 2009 Microsoft SharePoint Conference Presentation
Continental Airlines 2009 Microsoft SharePoint Conference PresentationDenise Wilson
 
Sharepoint conference 3 - continental
Sharepoint conference 3 - continentalSharepoint conference 3 - continental
Sharepoint conference 3 - continentalMIchael Carey
 
Proper Connections Development for Proper Domino Developers
Proper Connections Development for Proper Domino DevelopersProper Connections Development for Proper Domino Developers
Proper Connections Development for Proper Domino DevelopersMark Myers
 
Advanced web application architecture - Talk
Advanced web application architecture - TalkAdvanced web application architecture - Talk
Advanced web application architecture - TalkMatthias Noback
 
Introducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationIntroducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationAlluxio, Inc.
 
Introduzione alla SEO Automation con Python
Introduzione alla SEO Automation con PythonIntroduzione alla SEO Automation con Python
Introduzione alla SEO Automation con PythonAndrea Baggio
 
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPROMai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPROMai Omar Desouki
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APIDavid Keener
 
Microsoft SharePoint in the Workplace
Microsoft SharePoint in the WorkplaceMicrosoft SharePoint in the Workplace
Microsoft SharePoint in the WorkplaceCTE Solutions Inc.
 
Performance tuning
Performance tuningPerformance tuning
Performance tuningEric Phan
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsInnoTech
 
How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)Safe Software
 
How to make React Applications SEO-friendly
How to make React Applications SEO-friendlyHow to make React Applications SEO-friendly
How to make React Applications SEO-friendlyFibonalabs
 

Similar to Developing a SEO friendly CMS from the ground up - Digital Elite Day 19 (20)

SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...
SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...
SearchLeeds 2019 - Fabrizio Ballarini - TransferWise - Building, hacking and ...
 
Continental Airlines 2009 Microsoft SharePoint Conference Presentation
Continental Airlines 2009 Microsoft SharePoint Conference PresentationContinental Airlines 2009 Microsoft SharePoint Conference Presentation
Continental Airlines 2009 Microsoft SharePoint Conference Presentation
 
Sharepoint conference 3 - continental
Sharepoint conference 3 - continentalSharepoint conference 3 - continental
Sharepoint conference 3 - continental
 
Proper Connections Development for Proper Domino Developers
Proper Connections Development for Proper Domino DevelopersProper Connections Development for Proper Domino Developers
Proper Connections Development for Proper Domino Developers
 
Advanced web application architecture - Talk
Advanced web application architecture - TalkAdvanced web application architecture - Talk
Advanced web application architecture - Talk
 
ER-カエルエックス
ER-カエルエックスER-カエルエックス
ER-カエルエックス
 
sudheer_resume
sudheer_resumesudheer_resume
sudheer_resume
 
Introducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationIntroducing the Hub for Data Orchestration
Introducing the Hub for Data Orchestration
 
Cake Php Consultant
Cake Php ConsultantCake Php Consultant
Cake Php Consultant
 
Introduzione alla SEO Automation con Python
Introduzione alla SEO Automation con PythonIntroduzione alla SEO Automation con Python
Introduzione alla SEO Automation con Python
 
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPROMai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPRO
 
Creating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services APICreating a World-Class RESTful Web Services API
Creating a World-Class RESTful Web Services API
 
Microsoft SharePoint in the Workplace
Microsoft SharePoint in the WorkplaceMicrosoft SharePoint in the Workplace
Microsoft SharePoint in the Workplace
 
Performance tuning
Performance tuningPerformance tuning
Performance tuning
 
Pronobesh_Resume
Pronobesh_ResumePronobesh_Resume
Pronobesh_Resume
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranets
 
Pronobesh resume
Pronobesh resumePronobesh resume
Pronobesh resume
 
How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)
 
How to make React Applications SEO-friendly
How to make React Applications SEO-friendlyHow to make React Applications SEO-friendly
How to make React Applications SEO-friendly
 

Recently uploaded

v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptxv100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptxjeromecuyos1
 
Fritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completaFritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completaEsteller
 
BLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational Gazzett
BLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational GazzettBLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational Gazzett
BLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational GazzettBalmerLawrie
 
Streamline Your Website Building, with Sahara agency
Streamline Your Website Building, with Sahara agencyStreamline Your Website Building, with Sahara agency
Streamline Your Website Building, with Sahara agencyAnton Shulke
 
Capstone Presentation Mangaldeep Kinjal Taletiya.pdf
Capstone Presentation Mangaldeep Kinjal Taletiya.pdfCapstone Presentation Mangaldeep Kinjal Taletiya.pdf
Capstone Presentation Mangaldeep Kinjal Taletiya.pdfkinjaltaletiya7298
 
AMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo EvangelistaAMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo Evangelistacrevangelista
 
Life between variants by Tomas Voves.pdf
Life between variants by Tomas Voves.pdfLife between variants by Tomas Voves.pdf
Life between variants by Tomas Voves.pdfVWO
 
Llanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation StrategyLlanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation StrategyMarianna Nakou
 
Catalogo Spyderco 2024 gama completa Spyderco
Catalogo Spyderco 2024 gama completa SpydercoCatalogo Spyderco 2024 gama completa Spyderco
Catalogo Spyderco 2024 gama completa SpydercoEsteller
 
Catalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleriaCatalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleriaEsteller
 
HAGAN_Katalog_Saison23-24_Overview_Preview
HAGAN_Katalog_Saison23-24_Overview_PreviewHAGAN_Katalog_Saison23-24_Overview_Preview
HAGAN_Katalog_Saison23-24_Overview_PreviewEsteller
 
Catálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa HydrapakCatálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa HydrapakEsteller
 
Catalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completaCatalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completaEsteller
 
Best Database provider in india. b2b database provider
Best Database provider in india. b2b database providerBest Database provider in india. b2b database provider
Best Database provider in india. b2b database providerashwanikanojia2
 
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...Valters Lauzums
 
TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...Social Samosa
 
Catalogo Benchmade 2024 con la gama completa
Catalogo Benchmade 2024 con la gama completaCatalogo Benchmade 2024 con la gama completa
Catalogo Benchmade 2024 con la gama completaEsteller
 
The Fall of Social Media Marketing :- Global brand magazine
The Fall of Social Media Marketing :- Global brand magazineThe Fall of Social Media Marketing :- Global brand magazine
The Fall of Social Media Marketing :- Global brand magazineglobalbrandmagazines1
 
Maximizing Your Website's Potential: Off-Page SEO Strategies
Maximizing Your Website's Potential: Off-Page SEO StrategiesMaximizing Your Website's Potential: Off-Page SEO Strategies
Maximizing Your Website's Potential: Off-Page SEO StrategiesUmeshChandra385380
 
Catálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compeltaCatálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compeltaEsteller
 

Recently uploaded (20)

v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptxv100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
v100 20-Year HyperMarketing Plan by Jerome Cuyos.pptx
 
Fritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completaFritschi Collection 2022/23 EN gama completa
Fritschi Collection 2022/23 EN gama completa
 
BLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational Gazzett
BLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational GazzettBLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational Gazzett
BLOG ISSUE 45_January 2024 - Balmer Lawrie Organisational Gazzett
 
Streamline Your Website Building, with Sahara agency
Streamline Your Website Building, with Sahara agencyStreamline Your Website Building, with Sahara agency
Streamline Your Website Building, with Sahara agency
 
Capstone Presentation Mangaldeep Kinjal Taletiya.pdf
Capstone Presentation Mangaldeep Kinjal Taletiya.pdfCapstone Presentation Mangaldeep Kinjal Taletiya.pdf
Capstone Presentation Mangaldeep Kinjal Taletiya.pdf
 
AMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo EvangelistaAMAZON Copywriting Portfolio by Cielo Evangelista
AMAZON Copywriting Portfolio by Cielo Evangelista
 
Life between variants by Tomas Voves.pdf
Life between variants by Tomas Voves.pdfLife between variants by Tomas Voves.pdf
Life between variants by Tomas Voves.pdf
 
Llanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation StrategyLlanai Buyer Persona & Segmentation Strategy
Llanai Buyer Persona & Segmentation Strategy
 
Catalogo Spyderco 2024 gama completa Spyderco
Catalogo Spyderco 2024 gama completa SpydercoCatalogo Spyderco 2024 gama completa Spyderco
Catalogo Spyderco 2024 gama completa Spyderco
 
Catalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleriaCatalogo Buck 2024 gama completa cuchilleria
Catalogo Buck 2024 gama completa cuchilleria
 
HAGAN_Katalog_Saison23-24_Overview_Preview
HAGAN_Katalog_Saison23-24_Overview_PreviewHAGAN_Katalog_Saison23-24_Overview_Preview
HAGAN_Katalog_Saison23-24_Overview_Preview
 
Catálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa HydrapakCatálogo HYD 2024 gama completa Hydrapak
Catálogo HYD 2024 gama completa Hydrapak
 
Catalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completaCatalogo Morakniv 2023 con la gama completa
Catalogo Morakniv 2023 con la gama completa
 
Best Database provider in india. b2b database provider
Best Database provider in india. b2b database providerBest Database provider in india. b2b database provider
Best Database provider in india. b2b database provider
 
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
Social Media Content Lecture for Advanced Digital & Social Media Strategy at ...
 
TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...
TAM Sports-IPL 17 Advertising Report- M01 - M07.xlsx - IPL 17 FCT (Commercial...
 
Catalogo Benchmade 2024 con la gama completa
Catalogo Benchmade 2024 con la gama completaCatalogo Benchmade 2024 con la gama completa
Catalogo Benchmade 2024 con la gama completa
 
The Fall of Social Media Marketing :- Global brand magazine
The Fall of Social Media Marketing :- Global brand magazineThe Fall of Social Media Marketing :- Global brand magazine
The Fall of Social Media Marketing :- Global brand magazine
 
Maximizing Your Website's Potential: Off-Page SEO Strategies
Maximizing Your Website's Potential: Off-Page SEO StrategiesMaximizing Your Website's Potential: Off-Page SEO Strategies
Maximizing Your Website's Potential: Off-Page SEO Strategies
 
Catálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compeltaCatálogo Sea To Summit 2024 gama compelta
Catálogo Sea To Summit 2024 gama compelta
 

Developing a SEO friendly CMS from the ground up - Digital Elite Day 19

  • 1. DEVELOPING A SEO FRIENDLY CMS FROM THE GROUND UP Fabrizio Ballarini
  • 3. WHAT IF I TOLD YOU IT DEPENDS
  • 4.
  • 6. How important is the CMS to control your site performance? @Pechnet
  • 7. What is the average depth of understanding of CMSs among SEO professionals? @Pechnet
  • 8. The less control the highest chance to underperform vs plans! @Pechnet
  • 9. The choice is wide, not entirely SEOs fault @Pechnet
  • 10. Yet we have preferences @Pechnet
  • 11. We are asked to contribute to technical decisions @Pechnet
  • 12. Debug what is broken @Pechnet
  • 13. Produce guidelines and documentation, define processes @Pechnet
  • 14. Choosing is not simple as some choices don’t have immediate impact on SEO @Pechnet
  • 15. Every situation is different and you can’t simply follow what’s recommended @Pechnet
  • 16. Your problems are unique to your business, so are your processes @Pechnet Our landing page creation flow
  • 17. We decided to build our own: Meet Lienzo @Pechnet
  • 18. Whatever is your setup keep an eye on the SEO “DevMometer” @Pechnet Fresh start or migration to new platform with prospect of healthy collaboration SEO team has no direct control on CMS choice and product but has to pitch changes to web/product team Cms is already in place & there is very little SEO team can change
  • 19. Less friction the more your team** is full stack @Pechnet SEO Specialists Full Stack Devs Frontend Devs Designers Copywriters Editors Translators Publishers Analysts **Credit for all the below actually goes to them, I simply do the talk :)
  • 20. Simple basic growth levers @Pechnet CTR Conversion Rate Unique Pages Search volume Customers
  • 21. 3 years later on the content / SEO side of the team @Pechnet 2 3 15 1712 3M Custom CMS SEOs Content specialists CountriesLanguages Indexed Pages
  • 22. We growth at the speed at which we ship/optimise pages @Pechnet 3M INDEXED PAGES 🚀
  • 23. Publishing via CMS doesn’t scale: go beyond basic SEO checks and optimise operations! Copywriters Editors Translators Publishers Keyword Data Unique page @Pechnet
  • 24. 4 categories of features you should invest engineering on Make search engines bots happy Accessibility Avoid screwing up Monitoring Improve team processes Publishing Ops Build automation Scaling @Pechnet
  • 27. Don't just give developers a list of SEO features Customize URLs Meta data Structured data Canonicals and redirects Indexing Sitemaps hreflang and geotargeting
  • 28. Define what is must to build and what you can hack: Our first xml sitemap after launching 1M+ URLs! @Pechnet Lorem 3 Put KPIs against hacked process until we realised we were hitting scaling issues and couldn’t simply keep up. TIme for engineers to automate it. Lorem 1 To save dev time we worked harder on building a strong internal link structure that bots could crawl more efficiently. Lorem 2 Built manually by SEOs. >>Dump list of URLs from DB >> Build static XML sitemap >> Upload regularly Build itDo without Hack it
  • 30. Define what is handled by the platform Vs what is managed by users @Pechnet #1 Language/Country selector #2 Unique page hreflang key #3 Locale-mapping
  • 31. Users only select language/country + unique key, Platforms does the mapping to URL locales @Pechnet Language/Country selector Unique page hreflang key Locale-mapping
  • 32. Invest time defining ideal user roles and rights 🚧 @Pechnet SEO Social/PPC/Affiliate Content Specialist Regional Marketing Manager ● Full admin access + API access ● Approve change from other profiles on SEO features (indexing, canonicals, hreflang) ● Can duplicate SEO indexed pages, confined to non to publish on folders that no index by default ● API access ● Restricted access to SEO features ● Require approval on editing/duplicating/deleting index SEO pages if published on folders linked from main architecture
  • 34. Why scraping a site you actually own? @Pechnet Everytime you press update on any page changes get stored in your database. You don’t need to crawl your site to find out!
  • 35. Connect your data @Pechnet Connect your database to an easy to use BI server, such as Metabase, Looker or similar. Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.
  • 36. “Ranking Perpetrators” get instant notifications @Pechnet
  • 37. Process with external monitoring Introduce error Crawl site Compile report Identify owner & request fix Publish fix Process built into platform Introduce error Instant notification Publish fix @Pechnet
  • 40. Plain content search capability @Pechnet We can now search ing content of each page directly into Looker Example: We want to identify all blog articles that contain links to sources that require regular updates.
  • 41. Rendered content search capability @Pechnet We want to limit our team scraping the site during their day to day operations and give them access to fast insights. Example: Find all comparison tables where we have issues with markdown that prevent us from capturing feature snippets.
  • 42. #1 Locate the issue @Pechnet 1. Replicate the issue 2. Inspect element
  • 43. #2 Edit as HTML @Pechnet
  • 44. #3 Select the HTML rendered representation of the table header @Pechnet
  • 45. #4 Filter in Looker ⚡ @Pechnet 1. Manipulate copied element to fit Looker avance match rules 2. Apply filter and identify pages affected in seconds
  • 46. Better sync with SEO operations
  • 47. Fine tune backend to achieve seamless workflow @Pechnet Easy access to brief & draft from writers Automatically track keywords via API
  • 48. The Average Handling time (AHT) is normalizing. In average it takes around 15-18 days for each of the production stages. Overall it takes us 2 - 3 months to publish an article from the moment the brief for it is created. Measure time to publish KPIs to evaluate process efficiency and value of adding features Publishing Analyst
  • 50. https://developers.google.com/analytics/solutions/experim ents-client-side User friendly built in split testing 🚧 @Pechnet Create pages in the way you are used to do it regularly, nothing different. A page for the control group: https://transferwise.com/page-a A page for the test group: https://transferwise.com/page-b Add experiment key & launch test!
  • 53. Know your CMS, your content & structure data @Pechnet
  • 54. Learn how to use APIs @Pechnet Understand how your CMS works: database, data format and structure Example: our CMS is running on a PostgreSQL database and each page is stored in a JSON format. Examples for other CMS: https://developer.wordpress.org/rest-api/
  • 55. Why would we do it? (Use cases) @Pechnet Creating and updating landing pages manually takes time and is prone to errors. Create 1000s of scalable landing pages from scratch Update out-of-date content, or fix broken links in scale Delete obsolete pages Clone existing pages at scale
  • 57. Use case: Wrong canonical and optimise meta elements @Pechnet Example: We wanted to update values for meta titles on 200+ landing pages. At the same time, some of the pages had incorrect value for rel=canonical
  • 58. #1: We have prepared our list of changes @Pechnet Prepare your changes in a simple csv - we also included a path name for an extra check to make sure we have the correct page ID
  • 59. #2: We wrote a simple script in python @Pechnet We wrote a simple python script to download a JSON response for relevant page ID, make required changes and then send the updated JSON back to the API.
  • 60. #3: Test locally & execute in production 🚀 @Pechnet After first testing the changes in a local environment, we were ready to run the script in production: $ pipenv run python find-replace-request.py csv-filename public 200+ pages optimised!
  • 62. Use case: create 1000 new landing pages @Pechnet Imagine you want to create 1000 new templated landing pages - for example to sell different types of ice cream, in multiple languages. Each page should contain information about different aspects of ice cream: - Its flavour - Price - And list of allergens
  • 63. #1: Create a template @Pechnet In JSON format, create template matching the API schema and map templated fields to variables.
  • 64. #2: We have prepared our list of variables @Pechnet Prepare the values for templated fields in a csv like this one:
  • 65. #3: We wrote a simple script in python @Pechnet We wrote two simple python scripts: 1. To generate JSON files based on variable values and template 2. To send JSON files as a POST request to our API
  • 66. #4: Test locally & execute in production 🚀 @Pechnet $ pipenv run python api-request.py csv-filename public After first testing the changes in a local environment, we were ready to run the script in production: 1000+ new pages launched!
  • 67. We used to hack our Database 🙈, with API it’s safer and way more efficient @Pechnet 1000+ new pages DONE! Step 1: We plugged our CMS to Metabase Step 2: Understand template in JSON Step 3: Edit template, concatenate JSON Step 4: Inject data in in PosgreSQL ☢
  • 68. Exceptionally powerful when combined with widgets that leverage internal/product data Frontend Widgets Price Comparison Service Data Collection Service Landing pages @Pechnet
  • 69. 🤖 APIs beat Humans 🤖 @Pechnet 👨‍🔬👩‍🔬
  • 70. What did we learn so far
  • 71. 🚨 Warnings 🚨: what we didn’t know 3 years ago @Pechnet Must do: Escape technical dependencies from other teams, takes time but it’s worth Don’t limit to just sending a SEO recommendation without knowing how people will implement it in your organisation Treat users of the platform as your customers and spend time working out how they use it, put KPIs against usage What could have been faster or gone better: Don’t let your ability to develop the platform limit your growth Don’t build features until you future proof them, iterating it’s ok but shutting down stuff isn’t.
  • 72. @Pechnet Start with an empowered autonomous full-stack SE0 team… 1. Constantly redefine what SEO features are handled by platform vs users 3. Invest in features to improve publishing operations 2. Build monitoring into your platform 4. Leverage APIs to scale
  • 73. @Pechnet Link to slides >> wi.se/seo-friendly-cms Money without borders >> wi.se/borderless Join us >> wi.se/seo-jobs Thank you