All Roads Lead to Rome2Rio: An SEO Deep Dive

Rome2rio. One of the most helpful A-to-B websites you’ll find.

No matter how remote you are, or how little transport is available, if there is something, Rome2Rio will help you out.

I used them in Europe to help plan a Spain > Poland train trip (was meant to be to Estonia, but a 2am train swap via bus border crossing between Lithuania & Latvia didn’t sound enticing).

What makes Rome2Rio fascinating, though, isn’t just the product. It’s the way they’ve quietly built one of the strongest programmatic SEO machines on the web.

Everyone talks about Zapier as the poster child for programmatic SEO.

No one talks about Rome2Rio.

 

Overall Performance

They’ve been under solid growth for years, up until the middle of the last year where they’ve seen a big stall.

 

A third of their ranking URLs completely dropped off too, but as seen by previous behaviour in the charts, that’s a rather common occurrence. It does directly correlate with the December 2024 Core update though, as all the other movements do.

We’ll probably see another core update roll around and boom – those URLs will be back in there.

If we take a look at the overall ranking keyword counts, we get this;

Notice the most recent drop off? That drop was keywords ranking 51+. Overlaying this keyword count drop, with the URL drop, essentially the dropped URLs were a significant number of lower-ranked pages.

Possibly not even driving any traffic anyway.

There’s no organic traffic dropped off when those URLs dropped, just the trend downwards from whatever happened mid-May.

Taking a look at their top markets, we get;

India taking out top spot, but then followed by some extremely hot markets of the US, Spain & UK.

Australia coming in 8th, but I recently learned this is actually an Australian-based company – cool to know.

 

Site Sections

This is where Rome2Rio gets interesting.

The majority of their traffic is driven to a single page template.

They’ve got a handful of smaller sections, like;

  • a blog;

But that’s mostly company-focussed anyway.

  • A travel guides section;

  • A help/faq section;

 

They’re not major traffic drivers for this analysis, so I’ll focus on the primary templates.

Other than that, they have Location pages, To/From Trip pages, Transport type, and then nearby airport pages.

Unfortunately, many fall under the same /s/ sub-structure and can’t silo out the data.

We can see the full /s/ section performance though;

Essentially the same as the full site, as almost the entire site is under here.

Out of the sections, one drives the most. Let’s check them all out.

 

Location Pages

These are pages for each location.

They don’t create location pages for every location served on their to/from pages, which you can see here https://www.rome2rio.com/s/Nyah-West/Swan-Hill by visiting https://www.rome2rio.com/s/Nyah-West. Good way to keep the page count lower for less searched locations, but still being able to cover targeting for key cities to middle-of-nowhere location.

Let’s dive into their apparent top-performing location page, https://www.rome2rio.com/s/London.

NOTE: They appear to be making an update to these pages at the moment, and they may not look like the below.

CTA

The page kicks off with a nice large CTA that pushes users into their search function;

Their search is their money maker, so no matter how or why a person lands on the site, the goal will be to get them into the search funnel.

 

Location snippet

This is followed by a short snippet of the location.

Appears completely manual content, it gives a general overview of the location catered to the traveller’s view.

 

Important Airports

Next is their first internal linking widget, the important airports widget;

At first glance, you think – great, this is where they all are! But these are actually high-value links through to “London to <airport>” travel pages.

 

Hotels & things to do

These surprised me at first;

You think, oh cool – some recommended spots to stay and some great things to do. Rome2Rio have covered everything!

Well, those links all point off-site.

The hotel links point straight to booking.com (good for conversions, though), and the things to do point to various sites but mostly Wikipedia.

I guess it follows the “stay in your lane” methodology rather well, but there’s likely so much to gain by creating the ‘things to do’ pages.

Where else would a tourist want to go once they’re in the city?

Thing is, they actually have these pages – https://www.rome2rio.com/s/London/British-Museum

They’re just marked as another location, rather than flagged as a ‘thing to do’ and thus included here.

They even have them for the hotels – https://www.rome2rio.com/s/London/Hyatt-Regency-London-The-Churchill

 

FAQ

Then comes the FAQ;

This is much simpler than some of the previous checked sites, but it does the job of adding some basic questions to the page.

There’s an opportunity to lean harder into their own dataset, ie ‘Most popular trips from X’ or ‘Most visited spots in X.’

The FAQ is extended significantly on the to/from pages, so something more in-depth is definitely doable here.

 

Trips to/from

And then for the main linking widgets;

These are one of the core ways crawlers navigate deeper into the site.

You’d normally sort these by some sort of popularity or opportunity metric, but doesn’t appear so here.

#2 is to Iraq, and #3 to Turkey. No mention of a top one like “London to Paris”.

Maybe internal search data? Most recent locations? Or some sort of custom opportunity-based metric?

 

History

It doesn’t appear the page has changed much, if at all, since it was originally launched ~2019 based on when I can find the first page set in wayback;

https://web.archive.org/web/20191104195718/https://www.rome2rio.com/s/London

Interesting to see those internal linking widget links though!

It looks like it used to follow a popularity metric and has since shifted, or is using a different prioritisation signal now.

Many more recognisable locations in there.

The London page wasn’t even really performing until 2024;

And if we take a look at the top keywords for the page we see;

Oh.

The terms are predominantly branded, likely via sitelinks/navigational queries.

Makes sense why there were barely any of these location pages in the top pages report!

Wonder if we can find a performing location?

I exported the top 2,500 pages under /s/, threw them into Google Sheets, and then counted the “/” in a cell to determine page type.

4 means it’s probably a location page, 5 means it’s probably not.

Only two ‘location’ pages surfaced in that sample, including an oddly named one;

Yeap.

The only other city appearing in the list is https://www.rome2rio.com/s/Glory-Hole-Germany

Funnily enough, it isn’t even in Germany;

“Liberec is a city in the Czech Republic”

Ranks for all the keywords you’d expect too;

Was this an Easter Egg left by a dev?

 

Possible Page Update

Looping back to this before posting, and it looks like they might be editing these pages at the moment… possibly accidentally going live early?

And now I get this!

Was it spotted?!

 

Travel to/from trip pages

This is where Rome2Rio truly shines.

They create a significant quantity of “From X to Y” pages, where they’re positioned as “Trips to X” and “Trips from X” depending on the location.

Pages like https://www.rome2rio.com/s/Rome/Rio-de-Janeiro are their bread and butter.

Unfortunately, that URL is a bit iffy performance-wise, as there is a mix over to brand, so let’s focus on https://www.rome2rio.com/s/London/Paris instead.

 

CTA

They have one of the largest CTAs you possibly can have;

The entire above-the-fold is taken over by this, with no other content until scroll.

I think one of the saving graces here is that they have a short snippet under the header, at least giving it some above-the-fold text.

These sorts of full-page CTAs scare me, ever since I was hit by https://search.googleblog.com/2012/01/page-layout-algorithm-improvement.html many years ago.

Haven’t really seen anything about this sort of thing since that first launched, so I wouldn’t be too worried about that, but it’s always in the back of my mind.

 

Travel Options

We then get stuck into their core content, the travel options.

This is the reason people visit Rome2Rio.

They include all the different options that their datasets give, for a user to get from the origin, to the destination.

Everything launches the users into their map experience, which is where they’ll enter their funnel.

There’s also a nice map on the right, giving a couple data points of the distance and the lowest travel time from the options.

 

Train Widget

The train widget includes some key datapoints on the train availability, adding another unique datapoint to each of these pages.

Whilst these do add “unique content” to the page and may help it rank, they also offer another key benefit.

This differentiates each to/from page from the next even more.

Since they’re all the exact same template, any changes like this, no matter how small, can really make an impact in ensuring each page is seen as unique.

The datapoints will also update as the train schedules update. Assuming that’s not very often, but it will still help as it refreshes with new data.

 

FAQ

Then we get to the fun stuff, the FAQ.

They cover quite a few FAQ on each of these pages, with a quite reasonable answer.

Some are shorter than others, but they all directly answer the question, with no fluff.

 

Companies

Next up is their companies widget.

The widget just lists out all the companies that offer the trips.

Each company includes some basic stats, some have photos, and then they link out externally to the individual company website.

Rome2Rio has the opportunity to own some of the travel brand space by brand-jacking some of these company’s keywords.

I’d expect minimal conversion impact here, but there’s an untapped SEO opportunity if they ever choose to own more of those brand terms.

 

Travel Guides

Then they have a few related travel guides based on the selected locations;

 

More FAQ!

If the initial FAQ widget wasn’t enough, another FAQ widget is included further down the page;

Covers a few extra questions, with some being a little more specific.

 

Internal Linking

And finally, they’ve got the internal linking widget down the bottom of the page;

Safe to say I haven’t heard of 90% of those locations, so possibly the same issues are plaguing this widget as the others.

The where to next and popular routes, are great additions here. Whilst most likely completely automated based on their prioritisation metric, these types of widgets offer the potential to manually override them with key targets.

Highly recommend a linking widget where you can try and prioritise key pages for the site. Whether based on internal or external op, or sometimes even based on stakeholder happiness.

Please the boss’ boss by focusing value into one of their “KPI” locations that they always Google.

There is always something they check, no matter how into SEO they are.

 

History

Taking a look at the wayback (https://web.archive.org/web/20201105114342/https://www.rome2rio.com/s/London/Paris), we see something interesting in the linking widget back in 2020;

They linked to the train/bus pages at some point!

Not much else appears to have changed.

 

Transport Type

They’ve got these filtered transport type pages, which at first, I thought were just landing pages;

www.rome2rio.com/Bus/

www.rome2rio.com/Train/

But they have A to B pages here filtered by transport type;

https://www.rome2rio.com/Train/London/Paris

It appears the largest problem with these pages is that they are so siloed.

There doesn’t appear to be any links into these pages from the Location, or the Travel To/From pages.

They’re just hanging out by themselves over there.

They don’t even appear to link back to their Travel To/From counterpart pages either, so even if they performed better and grew in value, they’d end up just passing that value to nearby trips which misses a key parenting/hierarchical value step.

I feel these pages have some massive potential though, as the premise for them existing is strong.

Something I look at when assessing this is how Google is seeing the pages;

Well, it doesn’t know what one to pick! They’re fighting in the SERPs.

The back and forward is just leading to dispersed value here, rather than clearly setting up what page should rank where.

It does look like Google has selected the right one finally, but they’re now in 27th in the UK.

If we look at the US serps though, Google thinks the /s/, not the /Train/, URL is the better version;

If we take a look at the equivalent UK bus SERP, we see a similar thing;

Google has prioritised the /s/ URL, over the /Bus/. It’s also just dropped the /Bus/ URL in favour of the return journey, where the /Paris/London/ URL is now showing at the second URL.

Obviously, all much lower performance here, but this can be used as a leading indicator for what Google is choosing.

Then you’ll find rankings like this;

Where they have correctly ranked the train page rather than the /s/ version of https://www.rome2rio.com/s/Boston/Salem-witch-trials.

Wait, hold on a sec.

Yeap.

Off to 1692 we go!

 

Digging into the page structure though, we see some real winners for the page;

Not-As-Large CTA

A slightly smaller CTA than the generic location page, not taking up quite as much real estate;

Note that this takes you straight into “ticket search”, rather than the Travel To/From’s version of “See All Options” where they are giving you the travel options.

Avoid using the exact same CTA everywhere, and modify it to suit where the user it at!

No point sending them to a page to view the travel options, when we already know they want to jump on a train.

 

Trip Overview

One of my favourite bits here, with a few key datapoints and a quick overview of the trip;

They’ve turned the data into a mini-story.

There are a few points missing though, as they’ve only mentioned the average and fastest train times.

The data also includes distance, price, frequency, and even a different train journey time and some pricing data.

It would be a good opportunity to include some of this, especially the pricing!

If you look closely in there too, you’ll see a kind-of breadcrumb;

Train / London / Paris

With links through to https://www.rome2rio.com/Train/ and https://www.rome2rio.com/Train/London, respectively, with Paris remaining unlinked.

 

Train Times

Fresh data. What more could an SEO want?

A daily rotating timetable that gives the details of the upcoming trains. Fresh content every single day.

Just enough data to warrant a user clicking through further.

 

FAQ

A FAQ very similar to the other page;

 

So similar in fact that all of these FAQ exist on the Travel To/From page!

If you’re looking at something similar, and want this train page to perform, you’d focus all train content here.

In saying that, having the content on the other page would help strengthen it. So it comes down to the strategy you’re working on.

What page would you want to push?

If you can’t work it out, test and learn. Try it all, different versions of each.

Come back after a month and see how Google reacted.

 

Companies

A filtered view of the companies;

In this case, it’s just the one – Eurostar.

 

Internal Links

And lastly is the linking widget;

Like I mentioned earlier, what seems to be a mix here is all the links point to the Travel To/From page, rather than the train-filtered page.

Most links point to core To/From pages rather than the train-filtered variant – likely intentional consolidation, though it does limit the train page’s ability to accrue signals.

Great way to pass the value to the primary page, if that’s what they want, but this is where I feel the links should all relate to the train pages.

 

City Alternates

They also have these city versions of these bus & train pages, like https://www.rome2rio.com/Train/London.

Essentially, it’s just an HTML sitemap that links to the most popular pages.

 

 

Nearby Airports

And lastly, we have a nearby airports section of pages, with pages like https://www.rome2rio.com/s/Nearby-Airports/London.

This section hasn’t performed as well lately, appearing to be impacted by either the December core update, or the December spam update.

A hit I have seen for a few enterprise-scale businesses now.

These pages target a single subset of keywords – “Airports near X”.

They’re not about getting to the airport; they’re purely targeting the keywords around what airports are near a city.

Whilst useful, they are a little sidestep from the core A to B performance that Rome2Rio sees elsewhere on the site.

One possible issue here, very similar to the /Train/ & /Bus/ pages, is some of the core content is available on the City page.

The London page has this widget;

Which is exactly replicated on the Airports near page.

There also appears to be a possible issue with the location data, in that there are so many locations that are close to, or are the same;

This is replicated across many of the section’s rankings.

Have seen something similar elsewhere on the site but seems to stand out here more.

A light data hygiene pass could help – merging near-duplicates and clarifying lookalike entities.

The section still performs really well for its subset though, and has decent opportunity, so they should be able to get it turned around.

 

International Targeting

They have significant targeting for alternate languages, with each sitting under a subfolder;

24 languages are targeted, including English, all flagged in the hreflang.

Their language approach appears to translate every page into the selected language.

If we take a look at how a few of the top language subfolders are going, we get;

FR

ES

DE

IT

They’ve all seen a massive drop off in pages, which appears across the site, yet organic traffic remains pretty steady.

 

Growth Opportunities

 

1. Data cleanup

I see this as an initial opportunity for a cleanse. Check the location data, merge all the close-duplicates, particularly those with significant ranking overlap.

How could you do this in bulk?

  1. Text similarity analysis to measure the “distance” between locations. Simplifying it further, it could just flag what location names exist inside others and then run off that.
  2. Use SERP ranking data, flagging URLs with significant keyword crossover, especially when 2 or more URLs exist for the same keyword.

 

2. Set up a hierarchy

Properly hierarchise the A to B trip pages, and the location pages.

Setup a good breadcrumb here that solidifies the relationships.

Can use this going forward for any site expansion, building upon core location pages.

 

3. Expand from A to B

This is where I believe Rome2Rio has the largest opportunity.

90% of their existing performance is from A to B.

  • What can you see along the route?
  • Is it worth detouring a little so that I could see X, Y, and Z?

Turn the A to B ‘trip’, into a ‘journey’.

It would open up hundreds of thousands of possible pages to target, all targeted to the primary traveller audience. Higher chance of someone booking a hotel if they’ve only just worked out where they’re going!

Target all the different things to do and become a “where can I go” resource, rather than a “how do I get there” resource.

 

4. Leverage the users

They have millions of visits every month, yet don’t even have a comment box.

Rome2Rio should be leveraging that user base, expanding its dataset and leveraging it.

At the base level, it’s just comments & ratings from users – their thoughts on the trip.

Building upon that, alternate routes could be created, including recommended stopovers and sights to see. The users could create an extremely large points of interest dataset, to then build additional pages off.

 

Cofounder’s thoughts on SEO

Whilst a little old, this interview sheds some good light on their growth, and one of their key strategies.

“Just not very sexy”: Travel startup Rome2rio founder Bernie Tschirren explains how it’s SEO not social media that has fuelled gradual — but steady — growth

 

“There are millions of places in the world, and when you’re mapping how to get from any one to another there are trillions of combinations.”

“We can answer all those questions, but Google can’t index every one of them.”

This is a challenge with many programmatic builds.

You can’t just create a page for every possible combination. You need rules.

Content quantity rules, popularity rules.

You need to have enough unique content for the page, and there also needs to be enough demand for that page to make it worth it.

One without the other will lead to a failed build.

“The founders came up with a subset of the most common search terms and set to work getting them to rank in the top three Google results.”

They’ve flagged the key routes they need to target, and then created the pages for them.

Possibly from search demand, possibly from datasets they acquired.

Possibly even from top locations by population – a good backup when no other data is available.

SEO sounded like a bit of an afterthought, so they possibly had plenty of data already to build a good set of landing pages.

“Rome2rio is just not very sexy.”

I beg to differ.

 

What we can learn

 

1. You can win by getting success with just a single page template

Although not normally recommended, they’ve flourished off the back of what is essentially just a single-page template driving the success. You don’t need to do everything. Doing one thing, really well, can get you rather far.

 

2. Limit your page creation

You don’t need pages for every feasible combination ever. Audit the data, prioritise what you create pages for.

 

3. Let the product be your content

Schedules, duration ranges, cheapest option, connection counts, carrier names – structured, changing data makes programmatic pages unique, fresh, and useful.

 

4. Freshness without fluff

Rotating timetables and updated fares keep pages “alive” without bloggy filler. If the data changes daily, you’ve already won the freshness game.

 

5. Internationalisation can be a multiplier

Translate systematically, ship with hreflang, and monitor per-locale performance. Utility products internationalise exceptionally well.

 

6. Programmatic ≠ set-and-forget

Watch core updates, prune low-value tails, and re-rank internal links. The playbook is stable, the tuning is continuous.

 

 

Final Thoughts

Rome2Rio has made its mark on the travel industry by growing into an A to B trip powerhouse.

The big question is – will further expansion grow them further, or have they squeezed the A to B for too long?

Personally, I think they’ve got plenty of room left. They’ve shown how far you can go with a strong dataset, a clean template, and relentless focus.

And if history’s any guide – unlike the Romans, I don’t see Rome2Rio falling any time soon.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top