Running a league website is a different job from running a club website. A club site shows one team’s data. A league site shows the entire competition: every team’s fixtures, every round of results, one shared standings table, and player statistics drawn from all matches across all clubs. WordPress and SportsPress handle this at any scale, from a six-team local cup to a regional association running four divisions simultaneously.
This guide covers the league-specific setup. For the fundamentals of installing WordPress, choosing hosting, and getting SportsPress running for the first time, see the general sports club website guide first. If you’re managing a specific club within a league (rather than the league itself), the football team website guide covers the single-club perspective in detail.
What a League Website Needs vs. a Club Website
The scope difference matters more than most league admins expect when they start building their site.
A club site serves supporters of one team. Navigation is simple: fixtures, squad, results, news. A league site serves everyone: team managers checking fixtures, supporters following multiple clubs, parents tracking their kid’s stats, sponsors reviewing exposure data. Every page has to work for a visitor who could be affiliated with any team in the competition.

Here’s what a league site needs that a club site doesn’t:
- A shared league table covering all teams, not just one club’s position. Visitors want the full standings, not a widget showing where one team sits.
- Fixtures for every team in every round. When a supporter visits ahead of match day, they should be able to find their team’s game immediately, regardless of which club they follow.
- Results and match pages for all matches, not just home games. Every match in the competition should have a result page once played.
- Cross-league statistics. Top scorers, assist leaders, and disciplinary records need to pull from all matches across all teams, not from a single club’s data.
- Team pages for every club in the competition. Not just your own. Each team in the league needs a page that shows their fixtures, results, and league position.
- Division and group navigation if the competition runs multiple tiers. A league with a Premier Division, Division One, and Division Two needs clear navigation between them.
- Season archives. When the new season starts, the previous year’s tables, fixtures, and results should remain accessible for reference.
The administration side is also different. For a club site, one volunteer enters results after each home game. For a league site, someone needs to enter results for every match across every fixture. You’ll want a workflow that makes this fast, and ideally a way to delegate result entry to club secretaries.
Setting Up SportsPress for Multi-Team League Management
SportsPress is the free WordPress plugin that powers the data side of a league site: standings, fixtures, results, player stats, team profiles. Install it from Plugins > Add New, search “SportsPress”, install, and activate.

When you activate SportsPress, the setup wizard asks you to select a sport. Choose your sport from the list. This pre-configures the metrics, points system, and table columns appropriate for that sport. For most sports you won’t need to change anything after this. Football gets goals, assists, and cards. Basketball gets points, rebounds, and assists. Hockey gets goals and penalties. Each sport’s template is ready to use immediately.
Configuring the Points System and Tiebreakers
Before you add any teams or fixtures, set up the competition rules at SportsPress > Configure > Table Columns. Verify the points equation matches your league’s rules. For football, the default is Win = 3, Draw = 1, Loss = 0. If your league uses a different system (2 points for a win is common in some youth competitions), change the equation here.
Set tiebreaker priority at SportsPress > Settings > General. Standard football priority is: points, then goal difference, then goals scored, then head-to-head result. Your competition’s rules document will specify the order. Getting this right before the season starts saves you correcting a misranked table mid-season.
Creating the Competition
Go to SportsPress > Competitions > Add New. Create one competition per division or cup. If you run a Premier Division and a Division One, those are two separate competitions in SportsPress. You’ll assign each team, fixture, and league table to the correct competition, which keeps the data cleanly separated.

Then go to SportsPress > Seasons > Add New and create the current season (for example, “2025-26” or “Spring 2026”). All data you enter this year gets tagged to this season, which makes archiving simple at the end of the year.
Organizing Seasons, Divisions, and Age Groups
SportsPress handles parallel competitions without conflict. Here’s how to structure each scenario:
Multiple Divisions
Create a separate competition for each division: “Premier Division,” “Division One,” “Division Two.” Each competition has its own fixture list, its own league table, and its own set of teams. A team that plays in Division One only appears in Division One fixtures and the Division One table. There’s no overlap.
On the website, create a page for each division with the relevant shortcodes for that competition’s league table and fixture list. A top-level “Leagues” navigation item can then link to each division’s page.
Multiple Age Groups
Handle U16, U18, U21, and Senior divisions exactly the same way: one competition per age group. Create competitions called “Senior Men’s League,” “Under-18 League,” “Under-16 League.” Assign teams and fixtures to the correct competition. A player can only be in one age group’s team profiles, so there’s no data bleed between divisions.
If you run multiple sports (a sports association that covers football, basketball, and hockey), install SportsPress once and use separate competitions for each sport. The plugin handles all sports from one installation. Keep the sport type consistent per competition and the data stays separated.
Cup Competitions Running Alongside the League
Create the cup as its own competition in SportsPress. Cup competition fixtures and results can be entered the same way as league fixtures. The league table, however, won’t include cup matches. SportsPress filters table calculations by competition, so a cup result never affects league standings and vice versa.
Building a Fixture Schedule for the Entire Season
This is the most time-intensive part of the setup, and it’s worth doing right at the start of the season. Go to Events > Add New for each match. For every fixture, you need.

- Home team and away team (selected from your registered clubs)
- Date and kick-off time
- Venue (link to the venue you’ve created in SportsPress > Venues)
- Competition and season (assigned in the sidebar)
Publish each fixture. Upcoming fixtures appear across the site automatically: on the competition’s fixtures page, on each team’s individual page, and in any fixtures widget you’ve placed on the homepage.
Managing a Large Fixture List
A 10-team league playing a home-and-away format produces 90 fixtures per season. Entering those one by one takes time. SportsPress supports CSV import for events. If your league fixture list comes in a spreadsheet, format it with the required columns (home team, away team, date, competition) and import the entire season at once using SportsPress > Import > Events.

Even without CSV import, entering fixtures in bulk at the start of the season is a one-time cost. A 90-fixture season takes roughly two hours to enter manually. Once it’s done, you’re only maintaining it rather than building it.
Handling Postponements and Rescheduled Matches
When a match gets postponed, edit the fixture event in SportsPress and update the date to the new date and time. If the match is postponed without a reschedule date confirmed, you can either leave it with the original date and add a note in the event description, or delete the date temporarily and republish once confirmed. The fixture will drop out of “upcoming” displays once it has no date, which accurately reflects its unscheduled status.
Entering Results and Automatic Standings Updates
After each match day, edit every played fixture and enter the result. The process per match:
- Open the event (Events > All Events, find the match).
- Enter the final score in the Results section.
- Open the Box Score tab and record individual player performance: goals, assists, cards, minutes played for each participating player.
- Click Update.
