My talk at November 2017 Search London Meetup.
Covering how we scaled organic search growth by building products together with full stack engineers & how we operate an autonomous & independent SEO team.
6. “Money without borders: instant,
convenient, & eventually free”
“We’re powering money for people and businesses: to pay,
to get paid, to spend, in any currency, wherever you are,
whatever you’re doing”
16. Tell the world about it: PR + Advertising!
Google Trends
Referring Domains
17. We also created content casualties! Content that
worked well for PR, Buzz and Advertising but was
not able to capture organic search demand.
Example of a piece of content that doesn’t
perform in Search
18. Ads + PR built strong brand search traffic/link
profile but we were not growing the number of
pages targeting non-brand keywords.
19. What did work well and what didn’t till year 4
0 pages targeting
non-brand search queries
All PR + Ads targeting 1
page (homepage)
1 domain serving a global
business but targeting
only UK
Strong domain (link
profile) on the back of
great PR & stunts
Growing brand Search
demand generated by
Advertising & WoM
10x product with strong
engagement metrics
21. We decided to not waste time building links as we had tons and
we keep acquiring them without SEO team working on it!
People talk about our
product
Our PR team promotes our
company
Our content team creates
content that helps our
customers who end up
linking to it.
22. We focused instead on what matters to our
customers & built the following products to cover
their search intents:
● 1 custom content management platform to scale landing pages
(“Lienzo”)
● 1 custom content management platform for long form content (aka
blog)
● 1 web directory
● 2 tools powered by APIs
● 1 single page application
● A set of custom SEO tools: “SEOWise” project
And have more in the pipeline….
23. Scaled from 7K to 1.7M index pages, across 20
markets & 10 languages less than 24 months
33. The person closest to the problem is best
placed to solve it
No-one tells the SEO team what to do (what
products to build, what to rank for ect.)
We come up with a plan to achieve our KPIs
and get feedback from the entire company
once a quarter. Ultimately we are trusted to
make the right decisions to drive growth”
35. No tickets to a web-dev team who
has got different KPIs & priorities
from your team
It’s hard, but you should educate
your company & clients on why it
matters
36. We removed dependencies
& increase velocity by embedding
all the resources to achieve growth
KPIs within the team
37. SEO TEAM
SEO Specialists Full Stack Devs Frontend Devs Designers Copywriters
Editors
Translators
Publishers
Product/Analysts
38. What SEO specialists do at TransferWise?
- Research search intents and validate impact on user acquisition
- Build tools that help SEO team scale their work
- Define technical specifications for microservices and CMS
- Working with content folks to build content and landing pages
- Work with engineers to develop products:
- Launch MVPs & run experiments
- Define SEO specs for new products: tech stack, link structure, hreflang,
canonicalisation directives, structured/meta data, content, page templates...
- Regularly audit crawling, indexation and optimise existing products
When hiring we look for skills that help us scale and facilitate work with product
engineers:
- Strong understanding of HTML, CSS, JavaScript, SQL, Python
- Strong understanding of crawling, indexing & web performance
- Experience with structured data, SERP features, advanced keyword research (queries
clustering & topic modeling).
Check out: Modern SEO player guide by Michael King @iPullRank - If you cover 90% of it you
can successfully claim a job in TransferWise SEO team with immediate start.
40. How many times companies approach SEO the
other way around?
- Building products that
users don’t search
- Sticking keywords on
existing products and
landing pages that are
not made to serve the
right search intent
- Choosing technology
before involving SEOs
- Designing systems that
don’t scale and locking
ability to cover more
search queries in future
41. How has the SEO team operated to date to build
search products?
1. Keyword research to identify what customers search for. Volume &
conversion rate opportunity estimation.
2. Build first MVP to validate search intent that answer what people
are searching for in basic way. Launch as soon as possible is essential
to build authority to acquire traffic in the future.
3. Build SEO into MVP: Make sure from early stage that the product is
built to for SEO but also optimise it later stage.
4. Wait for traffic ( Ranking takes time) & Analyse search data before
working on making the product better we take time to understand
search data. Search analytics API is our best friend.
5. Improve product and optimise for conversion when traffic is solid
so you can iterate faster and run significant a/b tests in shorter time.
6. Repeat step 3 & 5 based on which lever offers more opportunity for
growth.
42. Start from search data &
speaking to customers to
understand search intents.
43. Don’t rush into building stuff until you
have clear in mind how to cluster
search queries and match them with
product features.
Build tools to help you scale keyword
research and remove manual work.
44. SEOWise project
Check out: Using Natural Language APIs in SEO by Stephan Solomonidis @ssolomonidis
Under SEOWise we built a number tools that help us
scaling & automating our SEO operations:
● Keyword research & expansion tools (APIs from
AdWords & Keywordtool.io)
● Ranking reports (APIs from STAT & Authority Lab)
● Search Analytics API integration with Looker to
visualise data
● Monitoring solutions for content management
platforms + Slack bots to flag issues (coming soon)
● Log file monitoring solutions (coming soon)
45. Build custom platforms to
remove dependencies so you
can iterate faster and launch
MVPs in minutes
47. What is Lienzo?
Platform for creating/publishing landing pages. Spanish for “canvas”.
● Non-technical user can publish in minutes
● Choose the widgets then content and imagery
● Markdown, not markup. Another constraint.
● Not just consistency. Flexibility.
● Evolution of style guide, or widget designs, all pages benefit.
● Constraints aren’t always popular, but they are valuable.
● One of our teams worked out how they could hack this to use custom markup, wrong
approach.
● How do we handle the chaos? We are building a monitoring system able to spot issues
and police non SEO savvy users.
49. Price comparison the origins: First MVP to validate a search
intent
You don’t need an actual product to
validate a concept >> A landing page with a
static image can help you understanding
what your customers want!
Ranking can take time, add PPC to validate
faster your ideas!
50. Price comparison today: Modularised services to scale
faster across site components + API powered tools to scale
landing pages creation!
Frontend JS Widgets
Homepage
Landing Pages
Price Comparison tool
Comparison
Service
Data
Collection
Service
Site components
51. We created this open source library
Define which languages and
mappings (folders) you want
to have for your application
Adding new languages & countries: scaled hreflang
in 20 countries & 10 languages!
The library comes with a module for
Spring Boot, but you can use it for
plain Java.
You develop your site as always
without thinking about localisation
so basically having a url structure of
`/url` `/login` `/css/styles.css`…
Then add library and Crowdin
translation strings into the product.
Add open source library Configure your mapping Translate & go live!
Based on mapping
translation strings get
sent to translation team.
When translation is done
through Crowdin you can
push new product folders
live with no extra work!
53. Check out for reference our past work (old stuff): AngularJS & SEO - 2015 by Jack Cornwall
State of JS & SEO has evolved since 2015. Stay up to date & follow: @bart_goralewicz @badams
Don’t over complicate and blindly pick fancy technology
Day 1 (2015) out of the box solution
Angular 1.x SPA failed, 30k URLs but
only 1 indexed.
We added a proxy for Google Bot to a
machine that had an _embedded
browser_ (Phantom JS) to render the
page server-side before sending it to
Google.
Thanks to prerendering we got 27k URLs
indexed.
● Pre-render was extraordinarily slow,
added 500ms to 1s.
● Was slowing down indexation the more
we added countries and languages.
● We removed AngularJS as it was adding 0
value to the experience of that product,
customers were looking for a plain 2x6
HTML table.
● Moved from “PHP & SPA” to raw Java
backend >>Improved from 1200-2200ms
to just 20ms
● Googlebot loved it, crawled and indexed
1M URLs in less than 3 weeks.
Today we have almost 1M URLs indexed
across 20 countries and 10 languages.
54. Review and evolve your tech stack when it adds
value to your customers
PWA
Check out Google documentation - Follow Jake Archibald @jaffathecake & other Chrome devs
Search
Get
Push notifications“Install”
55. Build internal links, evaluate
crawling & canonicalisation
directives on a case by case!
Forget about best practices &
SEO checklists
56. Do what is best for your users > Googlebot will learn
what to do ***
What did we do within 2 weeks? We took a component of the site:
● Redirected 300K URLs from subdomain to subdirectory (on a 10k URLs site)
● Added other 500k URLs on a tool that was accounting for 4-5% of our monthly acquired
users. While core landing pages were driving majority of conversions.
● Changed drastically internal link structure to match search queries and build a better
product with a better site architecture that users could navigate.
● No xml sitemap >> to save dev time we worked harder on building a strong internal link
structure that bots could crawl more efficiently.
We did it because that was the best choice for that particular
situation & for customers that are using that tool. What happened?
● 3x more traffic the month we moved from subdomain to subdirectory and added 500K
URLs
● 10x more traffic after 1 year and keeps growing
*** other engines might not be as smart or have the same crawling resources as Googlebot ( At least in our case Bing didn’t and it’s
still indexing this site component after 1 year while Googlebot crawled & indexed it entirely in 2-3 weeks)
Check out: Matching Keywords to Pages - Information Architecture by@dom_woodman
57. Optimise internal link structure & canonicalisation
directives
Googlebot was wasting lots of crawl budget on very similar pages: each one had a ?city
param but the pages were very near-duplicates
63K pages X 17 countries = 1,071,000 URLs >>>> 26% of the pagerank flows through a param
that gets close 0 traffic.
1 - Crawled with Screaming Frog, exported all outlinks
2 - Run PageRank algorithm with Python or R
3- Fixed internal link structure & set correct canonicalisation directives to handle parameters
4- Google de-indexed 300k URLs that weren’t adding value to users but traffic went up :)
Check out: Duplicate Content Myths Types and Ways To Make It Work For You by
@dawnieando
As many of these pages were brand new, we didn’t need to adjust anything, but see Will
59. Don’t waste time building links*
Build products, content &
landing pages focusing on your
customers search intents
* This does apply only if your domain has got a strong link profile >> You need to have a 10x product that attracts links +
great PR & marketing teams which promote your company. If the core product of your company is poor don’t waste
time with SEO, content & links, it won’t help your business!
60. Forget about rigid SEO best
practices
Hire technical specialists & build
SEO into your products from the
first MVP