Content
· 5 checks — Internal links, mixed-content guards, Open Graph previews, and structured data rolled into one auditable list.FLinksAction200 links checked, 142 healthy, 58 brokenFIX
Broken Links (50)
| Status | URL | Found in | Error |
|---|---|---|---|
| ERR | android-app://com.thetrainline/thetrainline/com.th... | <link> | Get "android-app://com.thetrainline/thet... |
| ERR | https://www.thetrainline.com/en-us/trip-planner | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| 404 | https://support.thetrainline.com/en/support/soluti... | <a> | Not Found |
| 404 | https://support.thetrainline.com/en/support/soluti... | <a> | Not Found |
| 404 | https://support.thetrainline.com/en/support/soluti... | <a> | Not Found |
| ERR | https://www.thetrainline.com/en-us/train-times/lee... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/man... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/edi... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/gla... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/man... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/gla... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/bir... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/yor... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/hea... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/gla... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/oxf... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/new... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/edi... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/rom... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/bar... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/ven... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/bar... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/rom... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/lon... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/ams... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/flo... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/rom... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/par... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/ali... | <a> | Get "https://www.thetrainline.com/en-us/... |
| ERR | https://www.thetrainline.com/en-us/train-times/val... | <a> | Get "https://www.thetrainline.com/en-us/... |
FOpen GraphActionNo Open Graph tags found — social sharing previews will be generic.FIX
Without og:title, og:description, and og:image, social media platforms will generate a generic preview when your page is shared.
Without Open Graph tags, social shares show a broken or empty preview card.
Learn more ▾ ▴
When someone shares your URL on Facebook, LinkedIn, Slack, iMessage, or any modern chat app, the preview comes from <meta property="og:*"> tags. Without them you get either no card or whatever fragment the social platform guesses — usually unflattering. The four core og: tags (title, description, image, url) cover what every major platform actually reads.
Source: Open Graph Protocol
Preview
www.trainline.com
No title set
No description
WWW.TRAINLINE.COM
No title set
No description
No title set
www.trainline.com
www.trainline.com
No title set
No description
DStructured DataAction2 JSON-LD block(s) found — issues found that may affect search visibility.FIX
JSON parse error: Mismatch type map[string]interface {} with value array "at index 0: mismatched type with value\n\n\t[{\n \"@context\": \"http://schem\n\t^...............................\n"
JSON-LD block fails to parse — Google ignores the entire block, so structured data effectively isn't there.
Learn more ▾ ▴
Common causes: trailing comma, single quotes instead of double, unescaped quote in a string value. Validate at https://validator.schema.org/ or Search Console's Rich Results Test.
Source: schema.org / Google Search Central
http://schema.org/The @context should be "https://schema.org" for search engines to recognize the data.
https://schema.orgJSON-LD without @context is invalid structured data — Google ignores the entire block.
Learn more ▾ ▴
@context must be 'https://schema.org' (or the schema-specific URL). Without it, the block isn't parseable as schema.org JSON-LD and Google skips it. Most schema generators handle this; manual edits sometimes drop the field.
Source: JSON-LD spec / schema.org
JSON-LD Blocks
[
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "Trainline",
"description": "Trainline is the world's leading independent rail and coach travel platform selling rail and coach tickets to millions of travellers worldwide, enabling them to seamlessly search, book and manage their journeys all in one place via its highly rated website and mobile app.",
"mainEntity": "Trainline",
"url": "https://www.thetrainline.com",
"sameAs": [
"https://twitter.com/thetrainline/",
"https://www.facebook.com/trainline.uk/",
"https://www.youtube.com/user/thetrainlinecom",
"https://www.linkedin.com/company/trainline/",
"https://www.wikidata.org/wiki/Q7783585",
"https://www.wikidata.org/wiki/Q2937327",
"https://en.wikipedia.org/wiki/Trainline",
"https://en.wikipedia.org/wiki/Trainline_EU",
"https://www.crunchbase.com/organization/trainline",
"https://www.crunchbase.com/organization/capitaine-train",
"https://www.talentticker.ai/company/trainline-267896",
"https://www.londonstockexchange.com/stock/TRN/trainline-plc/company-page?lang=en",
"https://www.instagram.com/trainline/?hl=en",
"https://uk.trustpilot.com/review/www.thetrainline.com",
"https://www.tiktok.com/@trainlineuk?lang=en"
]
},
{
"@context": "http://schema.org",
"@type": "Organization",
"url": "https://www.thetrainline.com/about-us",
"name": "Trainline.com Limited",
"sameAs": "https://www.wikicorporates.org/wiki/Trainline_plc",
"description": "Trainline is the world's leading independent train and bus travel platform. Search and book tickets with over 270 train and bus operators covering 45 countries worldwide.",
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "+44-333-202-2222",
"contactType": "Customer Service"
}
],
"address": [
{
"@type": "PostalAddress",
"addressLocality": "London",
"addressCountry": "GB",
"postalCode": "EC1N 2TD",
"streetAddress": "120 Holborn"
},
{
"@type": "PostalAddress",
"addressLocality": "Paris",
"addressCountry": "FR",
"postalCode": "75009",
"streetAddress": "20 Rue Saint-Georges"
},
{
"@type": "PostalAddress",
"addressLocality": "Edinburgh",
"addressCountry": "GB",
"postalCode": "EH3 5DA",
"streetAddress": "1 Tanfield, Inverleith Row"
}
],
"logo": "https://www.thetrainline.com/cms/media/3681/trainline-logo-uk.png"
}
]{
"@context": "http://schema.org/",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": "1",
"item": {
"@id": "https://www.thetrainline.com/",
"name": "Trainline"
}
},
{
"@type": "ListItem",
"position": "2",
"item": {
"@id": "https://www.thetrainline.com/en-us",
"name": "English (US)"
}
}
]
}FBrand PresenceActionSite-name consistency, favicon, social image, meta tags, schema, and contact signalsFIX
Brand Presence
Partial brand coverage — a few channels are missing brand signals.
F
17/100
Site name appears as
| Page title | Filter Icon | |
| og:site_name | — | |
| twitter:site | — | |
| Organization.name | — |
Consistent
Brand assets
Favicon
8/15single size only
Social share image
0/20Meta completeness
4/20Organization schema
0/15Contact info discoverable
0/10no contact info discoverable
Findings
- Missing brand name in: og:site_name, twitter:site, Organization.name
- No social share image — shared links render as bare URLs
- Single favicon only — add apple-touch-icon for iOS home-screen and high-DPI support
- og:title missing
- og:image missing
- twitter:card missing
- No Organization schema — Google can't render your logo in the knowledge panel
- No discoverable contact info — trust signal is weak, legal risk is higher in regulated regions
How consistently your brand appears across channels — shared link previews, structured data, favicon, contact info.