View the Public Web Profile

When you share a competition, team, player or organization, the recipient sees a read-only view of it — they can look, but not edit. 4league serves that read-only view two different ways depending on whether the person has the app. This page explains both, and is the single source of truth for every link form 4league uses — the other sharing guides point here rather than repeat the table.

ℹ️
"Public" does not mean a redirect

A common misconception is that the public URLs just bounce visitors to app.html. They don't. The clean URLs (/competition/<id>/matches, etc.) are served by a dedicated renderer that returns a real, indexable HTML page with the entity's key facts and a rich link preview. The app.html redirect is a separate mechanism, covered further down.

Two Read-Only Views

The same profile is viewed read-only in two places. Which one a person lands on depends on whether they have 4league installed.

1. In the app (read-only profile screen)

Inside 4league, opening someone else's profile — by following a deep link, or via search / explore — shows a dedicated read-only screen. It renders the profile header (banner, logo, name) followed by an info panel of the profile's key facts, with Follow and Details buttons instead of any owner/edit controls.

It covers four profile types — competition, team, player and organization — and the info panel adapts to each:

ProfileWhat the read-only info panel shows
Competition Real-or-virtual type, organizer, dates (duration), category, pitch location, competition format, number of teams/groups, age & gender limits, match type (e.g. 5×5), prize & registration tax, kit colors, and recent match history.
Team Team manager, parent organization, awards/trophies, squad size, and the team's matches.
Player Position, team, plus the in-app player detail (skills/attributes, achievements & experience are visible here — see the note below).
Organization Type, parent organization, contact (email/phone), staff/members by role, and lists of its affiliated organizations, competitions and teams.

2. On the web (public page, no app needed)

Someone without the app who opens a clean profile URL gets a lightweight, text-only public web page. These pages are produced by 4league's public-web (SEO) renderer — a small service that, for each request, fetches the entity's public data and returns a minimal HTML document carrying the entity's name, a short summary, full Open Graph and Twitter Card meta for rich link previews, structured data, and a "View full profile on the 4league app" download prompt.

They are deliberately minimal — enough for search engines and chat link-previews to index, and enough for a visitor to recognise what they're looking at and download the app for the rest.

The Full URL Reference

This is the authoritative list of every link form 4league uses for a profile. Other guides link here instead of repeating it.

Clean public URLs (canonical)

These are the tidy, indexable addresses served by the public-web renderer. They are also Universal Links (iOS) / App Links (Android): on a device with 4league installed they open the matching in-app screen; without it, they show the public web page above.

ProfileCanonical URL
Competition https://4league.app/competition/<id>/matches
Team https://4league.app/team/<id>
Player https://4league.app/player/<id>
Organization https://4league.app/organization/<id>

The <id> is the profile's 24-character identifier. The renderer also accepts extra path segments after the id (e.g. a different competition tab), but the URLs above are the canonical forms it points its own <link rel="canonical"> at.

Legacy app.html redirect link

This is the type-tagged link the in-app Share button generates. It points at a small OS-detection page that routes the visitor onward — into the installed app, to the right app store, or to the web app at https://web.4league.app.

Formp codeRoutes to
https://4league.app/app.html?p=c&i=<id>ccompetition
https://4league.app/app.html?p=t&i=<id>tteam
https://4league.app/app.html?p=p&i=<id>pplayer
https://4league.app/app.html?p=o&i=<id>oorganization
https://4league.app/app.html?p=g&i=<id>ggroup

The i parameter carries the profile id. You don't build these by hand; the Share button assembles them from the app's configured origin.

Player-card link form

Player registration cards and the player QR-code share use a slightly different app.html form — a page path instead of p/i:

Player card / QR https://4league.app/app.html?page=player/<id>

This is the value encoded in a player's QR code, so scanning a printed registration card opens that player's profile.

What Each Public Page Shows

The public web pages are intentionally text-light. Here is exactly what each renders:

PageContent shown
Competition Name, a standings summary (each listed team with its points), competition type (League / Cup / Groups), location, season, and team & match counts.
Team Name, season record (matches played and won), and the current competition it's playing in.
Player Name and playing position.
Organization Name, organization type (Federation / Association / Club / Community), description, and its list of competitions.
ℹ️
Full detail is in the app, not on the public page

The public web pages are summaries. The rich stuff — a player's full XP, skills and attributes, achievements, detailed statistics, full standings tables and match-by-match history — lives in the app's read-only view, not on the public page. That's by design: the public page exists to be indexed and previewed, then hand the visitor over to the app for everything else.

Every public page ships full Open Graph and Twitter Card tags, so pasting a link into a chat, social post or message renders a card with a title, description and image rather than a bare URL.

  • The preview image is set automatically from the profile's own logo / profile image, falling back to a default 4league image when the profile has none. It is not separately configurable per share — you change it by changing the profile's image.
  • The title and description are generated from the same facts shown on the page (name, type, season, counts, etc.).
  • The card style varies by entity — most use a large image card; smaller entities (e.g. a single team or player) use a compact card.
📚
Related guides

See Share a Competition or Team Link and Share a Player's Profile for how the in-app Share button works and which link it produces. For custom shareable graphics (and how those interact with link previews), see Generate a Matchday Poster.