10. Our service covers 1300+ routes and
offers 49 currencies.
There are 71 countries you can send
money to and 43 countries you can
send money from.
100+ competitors
@Pechnet
12. Adjust to existing organisation
Remove dependencies to increase
speed of execution
13. We had no acquisition built into our core product
@Pechnet
Built-in acquisitionNo acquisition
14. 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
15. Full stack SEO team
@Pechnet
Product
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 :)
17. More unique pages is often the most effective
answer
0 links Wikipedia
Produce
more
content
Produce
content
hardcore
Build links
first (audit
existing
content)
Produce
content
first
0 content
Ton of
content
@Pechnet
18. SEO Basic: Produce, Optimise and build links
Search
Volume
CustomersCTR Conversion
Rate
WhatSEOsDO?
Produce
more
content
Optimise
existing
content
Build
links
Optimise
existing
content
Easy to
measure
and scale
Harder to
measure and
scale
Optimise
Existing
content
@Pechnet
19. We growth at the speed at which we ship/optimise
pages
@Pechnet
3M INDEXED PAGES 🚀
23. We initially invested as less as we could in tech
@Pechnet
We didn’t port the main
Angular JS calculator to
our CMS, simply used an
iframe
All widgets are simple
text + images in a limited
number of layouts
We leverage bootstrap
of the main product for
styling and design
24. You can publish pages in minutes once you have
copy + creatives
@Pechnet
26. Don't just give
developers
a list
of SEO features
Customize URLs
Meta data
Structured data
Canonicals and redirects
Indexing
Sitemaps
hreflang and geotargeting
27. 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
28. Focused on features that could help us scaling
internationally
@Pechnet
#1 Language/Country selector
#2 Unique page hreflang key
#3 Locale-mapping
29. Users only select language/country + unique key,
Platforms does the mapping to URL locales
@Pechnet
Language/Country selector Unique page hreflang key
Locale-mapping
31. Optimal backend to achieve seamless workflow
@Pechnet
Easy access to brief &
draft from writers
Automatically track
keywords via API
32. 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.
We got faster at producing content but not fast
enough!
Publishing
Analyst @Pechnet
33. Publishing via CMS doesn’t scale, it’s constrained by number
of people in the team.
Copywriters
Editors
Translators
Publishers
Keyword Data Unique page
@Pechnet
34. We continue to grow linearly by publishing via
CMS
@Pechnet
35. The test page we quickly built proves to be successful,
time to scale it!
@Pechnet
37. 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
☢
40. 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/
41. 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
43. 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
44. #1: Create a template
@Pechnet
In JSON format, create template matching the API schema
and map templated fields to variables.
45. #2: We have prepared our list of variables
@Pechnet
Prepare the values for templated fields in a csv like this one:
46. #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
47. #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!
52. We already know what we are going to build in 2 years time
2019 2020 2021 2022
Core products
Validated MVPs (waiting for dev resources) Launch new products
@Pechnet
54. Master the relationship between search intents and
your product variables
@Pechnet
Product variables
{Source Currency}
{Target Currency}
Example of a cluster of
queries:
“Send money to
{Target Currency}”
55. 3 main layers that communicate with each other
@Pechnet
Backend
APIs
Frontend
Widgets
Frontend
Apps
Core
product
Quote
service
Pricing
Delivery
Estimation
Price
Comparison
Send
money
Calculator
Price
Comparison
Lienzo
(landing
page CMS)
Send
Money
Comparison
56. Data Collection service guides creation of landing
pages
Comparison Widget
Price Comparison
Service
Data
Collection
Service
Comparison Landing pages
@Pechnet
59. 2 years of testing….and still room for improvement!
@Pechnet
60. Data is the essential part of the product without
data we don’t have a product, not a 10x one.
@Pechnet
61. Build a 10x product that didn’t exist before
@Pechnet
62. Validate Acquisition Build scalable product
Launch MVP
via CMS
Scale via CMS
APIs
Launch
dedicated app
& scale via API
Improve
product
Improve
Conversion
Rate
@Pechnet
63. 2. Develop features for SEO and scale MVPs via
CMS
@Pechnet
Start with an empowered autonomous full-stack SE0 team…
1. Build/adopt a CMS trying to eliminate
dependencies and lunch pages in seconds
3. Automate with APIs what’s successful by
investing into stand alone products
64. @Pechnet
Link to slides >>
wi.se/self-driving-cms
Money without borders >>
wi.se/borderless
Join us >>
wi.se/seo-jobs
Thank you