Migrating From Sports Leagues


If you’re switching from Sports Leagues (SL) Premium to Sports API Hub, this guide walks you through the full migration – including how to preserve your search engine rankings with automatic 301 redirects.

The redirect plugin maps old SL URLs (like /team/miami-heat/) to new Hub URLs (like /basketball/team/miami-heat-38b6fbiha/) automatically. Most teams, players, games, and seasons are matched by their API IDs – no manual work needed. The whole process takes about 30 minutes plus import time.

Before You Start

You’ll need:

  • Sports API Hub installed and activated with your API key configured
  • Sports Leagues Premium data still in your database (the plugin can be active or deactivated – the data just needs to exist)
  • A database backup before starting (standard precaution)

If your SL site used API import from api-sports.io, you’ll get the best results – the redirect plugin matches entities by their API IDs with ~95% accuracy. If you entered data manually, matching is name-based and slightly less accurate (~70-80% for players).

Step 1: Import Your Data into API Hub

Before generating redirects, import your league data into API Hub. The redirect plugin can only create redirects for entities that exist in Hub’s database.

Import every season you want to preserve redirects for. If your SL site had 10 NBA seasons but you only import the latest 2 into Hub, games and players from the other 8 seasons won’t have a redirect target.

For each season, run at least these import tasks:

  1. Hierarchy – sets up the league and season structure
  2. Fixtures – imports all games (schedules)
  3. Teams – imports team data and logos
  4. Finished Details – imports game results and player stats

See the Import Workflow guide for detailed instructions.

Step 2: Install the Redirect Plugin

  1. Download the SL to Hub Redirects plugin ZIP file (contact support if you don’t have it)
  2. Go to Plugins > Add New > Upload Plugin and upload the ZIP
  3. Activate the plugin
  4. Find the redirect dashboard at Tools > SL -> Hub Redirects

The dashboard shows the current status – whether SL data and Hub data are detected:

Redirect dashboard showing Environment Status with SL and Hub detected

Step 3: Generate Redirects

Choose how to handle URLs that can’t be matched (venues, officials, pre-season players):

  • Return 404 – WordPress shows your standard “not found” page (recommended)
  • Redirect to homepage – sends all unmatched URLs to your homepage

Click Generate Redirects. The plugin reads both databases and builds the redirect map. This takes 10-30 seconds depending on how much data you have.

Entity Counts table showing matched and unmatched counts for teams, players, games, and seasons

Expected match rates

EntityMatch RateNotes
Teams~100%Matched by API ID. International pre-season teams match if you import those leagues too
Players70-85%SL stores abbreviated names (“L. James”) which limits matching. Active roster players match well
Games~100%Matched by date + teams for all imported seasons
Seasons100%All imported seasons are matched
Venues, Staff, Officials0%Hub doesn’t have standalone pages for these – redirected to homepage or 404

Scroll down to the Generation Results section to review individual matches and see which entities couldn’t be matched.

Step 4: Set SL Posts to Draft

After generating redirects, you’ll see a yellow notice about SL posts still being published. This is important – WordPress may try to serve old SL pages on its own, bypassing the redirect plugin.

Click Set SL Posts to Draft to prevent this. This ensures only the redirect plugin controls where old URLs go.

Yellow notice showing Set SL Posts to Draft button

Tip

Draft posts are NOT auto-deleted. They stay in your database and can be re-published anytime if you need to reverse the migration.

Step 5: Deactivate Sports Leagues

Once redirects are generated and SL posts are set to draft, you can safely deactivate (or delete) the Sports Leagues plugin. The redirect plugin stores all mappings independently – it doesn’t need SL to be active.

Test a few old URLs in your browser to confirm they redirect correctly before removing SL.

Handling Unmatched URLs

Some old SL URLs won’t have a Hub match – pre-season players, unimported seasons, venue pages, staff pages. For these, we recommend the free Redirection plugin (2M+ active installs).

Install it from Plugins > Add New and search for “Redirection” by John Godley.

Redirection automatically logs all 404 errors. After a few days, check the log to see which old SL URLs are still getting traffic. Then create manual redirects for the important ones:

Old URL PatternRedirect To
Venue pages (/venue/...)The corresponding team page
Staff/coach pages (/staff/...)The corresponding team page
Old season pagesThe latest season page
Pre-season playersYour homepage

You can also create catch-all rules in Redirection. For example, redirect all remaining /venue/* URLs to your homepage with a single regex rule.

Redirection shows hit counts for each rule – after 3-6 months, remove rules with zero traffic.

Replacing SL Shortcodes

SL shortcodes ([sl-...]) stop working when SL is deactivated. Replace them with Hub equivalents before deactivating SL.

SL ShortcodeHub ShortcodeNotes
[sl-games][anwphub-games]Different attributes – use shortcode builder
[sl-standing][anwphub-standings]standings = compact, standings-full = all groups
[sl-bracket][anwphub-bracket]Same concept, different attributes
[sl-players][anwphub-leaders]League-wide stat leaders
[sl-roster][anwphub-roster]Team roster grid
[sl-team-stats][anwphub-team-stats]League-wide team comparison
[sl-calendar][anwphub-calendar]Day-by-day game browser
[sl-scoreboard][anwphub-scoreboard]Horizontal game carousel
[sl-highlights][anwphub-highlights]Video highlight grid
[sl-leagues][anwphub-leagues]League directory
[sl-game][anwphub-game]Single game embed
[sl-player-stats]No direct equivalentUse player page layout instead
[sl-team-header]No direct equivalentUse team page layout instead
[sl-standing-mini][anwphub-standings]Compact mode

Key attribute differences

  • SL uses tournament_id – Hub uses season_id + league_id
  • SL uses club_id (WordPress post ID) – Hub uses team_id (API ID)
  • Hub shortcodes require sport_id (1=Basketball, 2=Baseball, etc.)

Don’t guess the IDs – use the Shortcode Builder (Settings & Tools > Shortcodes). It has a live preview, entity selector for picking the right IDs, and generates the correct shortcode for you.

Post-Migration Cleanup

After migration, monitor for issues:

  • Check Google Search Console for crawl errors over the next 2-4 weeks
  • Review the Redirection plugin’s 404 log for high-traffic unmatched URLs
  • Verify your most important pages (team, player, game pages) redirect correctly

After 3-6 months, once search engines have re-indexed your site:

  • Remove the SL to Hub Redirects plugin
  • Clean up any Redirection rules for old SL URLs with zero traffic
  • Optionally delete SL plugin files and database tables to free space

FAQ

How long until search engines update?

301 redirects tell search engines the move is permanent. Google typically processes them within 2-4 weeks. Keep the redirect plugin active for at least 3-6 months.

Will I lose SEO rankings?

301 redirects pass ~95% of link equity. Some temporary ranking fluctuation is normal during the first few weeks, but your rankings should recover and stabilize.

Can I run both plugins at the same time?

Yes. During migration, Hub and SL can coexist. Only deactivate SL after you’ve verified redirects are working and replaced all SL shortcodes.

I only imported 2 seasons but SL had 10. What happens?

Games and players from unimported seasons won’t redirect. Either import more seasons before generating redirects, or accept those old URLs will return 404 (or redirect to homepage, depending on your setting). You can always import more seasons and regenerate.

My site used SL with manual data entry (no API import). Does this work?

Yes. Without API IDs, the plugin falls back to name-based matching. Teams match well (~90%+). Players match at ~60-80% due to name variations. Review the unmatched list in the admin dashboard and use the Redirection plugin for any important URLs that weren’t matched.

What about SL shortcodes in my blog posts?

SL shortcodes stop rendering when SL is deactivated – your visitors will see the raw shortcode text. Replace them with Hub equivalents before deactivating SL. See the shortcode mapping table above.

I have multiple SL sites for different sports. Can I merge them into one Hub site?

Yes – API Hub supports multiple sports on a single site. Automated tooling for multi-site migration is in development. Contact support and we’ll help you with the migration.

Related