Skip to content
https://www.trainline.com

Content

· 5 checks — Internal links, mixed-content guards, Open Graph previews, and structured data rolled into one auditable list.
SCORE
60
GRADE
D
FIX
4
REVIEW
0
PASS
1
INFO
0
Checks
5
1 PASS 4 FIX
F
Open Graph
Action
No Open Graph tags found — social sharing previews will be generic.
FIX
No Open Graph tags found — social sharing previews will be generic.
Warning::
No Open Graph meta tags found
Without og:title, og:description, and og:image, social media platforms will generate a generic preview when your page is shared.

Without og:title, og:description, and og:image, social media platforms will generate a generic preview when your page is shared.

Why this matters

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

No image set

www.trainline.com

No title set

No description

No image set

WWW.TRAINLINE.COM

No title set

No description

No image set

No title set

www.trainline.com

www.trainline.com

No title set

No description

D
Structured Data
Action
2 JSON-LD block(s) found — issues found that may affect search visibility.
FIX
2 JSON-LD block(s) found — issues found that may affect search visibility.
Critical::
Malformed JSON-LD block #1
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"
Warning::
Missing or invalid @context in block #2
The @context should be "https://schema.org" for search engines to recognize the data.
Got: http://schema.org/ Expected: https://schema.org
Info::
2 JSON-LD blocks found

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"

Why this matters

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

URL: http://schema.org/

The @context should be "https://schema.org" for search engines to recognize the data.

Expected: https://schema.org
Why this matters

JSON-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

Block 1 : WebSite
0 properties Invalid
Invalid JSON: 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"
[
  {
    "@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"
  }
]
Block 2 : BreadcrumbList
3 properties Valid
Missing or invalid @context
{
  "@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)"
      }
    }
  ]
}
F
Brand Presence
Action
Site-name consistency, favicon, social image, meta tags, schema, and contact signals
FIX

Brand Presence

Partial brand coverage — a few channels are missing brand signals.

F

17/100

Site name appears as

Page titleFilter Icon
og:site_name
twitter:site
Organization.name

Consistent

Brand assets

Favicon

8/15

single size only

Social share image

0/20

Meta completeness

4/20

Organization schema

0/15

Contact info discoverable

0/10

no 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.

A+
Mixed Content
No mixed content detected — all resources use HTTPS.
PASS
No mixed content detected — all resources use HTTPS.
Info::
No mixed content detected — all resources use HTTPS
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback