TL;DR: Migration takes an afternoon: download old presskit() files via FTP, copy XML data into presskit.gg fields, upload images, set up URL redirects. The critical step is the redirect strategy (301 redirects from old URLs to new) so existing links and search rankings survive.
Key Takeaways
- presskit() stored everything in XML files and image folders; download the entire directory via FTP
- The old URL structure used
sheet.php?p=game-name; the new structure uses clean/presskit/game-slug/permalinks - Set up 301 redirects in .htaccess, Nginx config, or a WordPress redirect plugin so old links work
- Match your game slugs in presskit.gg to what presskit() used for simpler redirect rules
- Test every redirect before considering migration complete; this step is not optional
Migration sounds dramatic. In practice, moving from presskit() to presskit.gg takes an afternoon, maybe two if you have multiple games and want to fuss over screenshots. Developers who've made the switch consistently report that the actual data transfer is straightforward—the anxiety beforehand was worse than the work itself. The most important part isn't the data transfer itself. It's the URL redirect strategy that preserves your existing links and search rankings. Get that right and the migration is invisible to the outside world. Get it wrong and every journalist who bookmarked your press kit lands on a 404.
If you haven't read the backstory on why presskit() stopped working, our full post-mortem on presskit()'s death covers the history and all modern alternatives. This guide focuses specifically on the hands-on migration from presskit() to presskit.gg, step by step. Both articles are part of our broader marketing tools comparison.
Before You Start: What You Need
Gather these before touching anything:
Access to your old presskit() files. You need either FTP/SFTP access to your hosting, or file manager access through your hosting control panel (cPanel, Plesk, etc.). If your hosting account is still active and presskit() is still installed, the files are there. If your hosting has lapsed, check if you have a local backup. Many developers kept a copy of their presskit() folder on their development machine.
A WordPress installation. presskit.gg runs on WordPress. If you already have a WordPress site for your studio, you're good. If not, you'll need to set one up first. Most hosting providers offer one-click WordPress installation. Budget hosting with WordPress starts around $5/month (Hetzner, DigitalOcean, or shared hosts like SiteGround).
A list of every URL your old presskit() generated. Check your analytics (if you had Google Analytics running), search for your game in Google with "site:yourdomain.com/presskit" to see what's indexed, and look through old press emails you sent to find which links you shared. You need this list for the redirect step.
Step 1: Export Your presskit() Data
presskit() stored everything in XML files and image folders. There's no export button. You grab the files directly.

Connect to your hosting and find your presskit() installation directory. It's usually at /presskit/ or /press/ relative to your web root. Inside, you'll find a structure like this:
presskit/
install.php
data.xml ← company-level data
images/
header.png
logo.png
icon.png
your-game-name/
data.xml ← game-specific data
images/
screenshot01.png
screenshot02.png
screenshot03.png
logo.png
header.png
another-game/
data.xml
images/
...
Download the entire presskit/ directory to your local machine. Every file. The XML data files are small (a few KB each). The images are what take up space.
If you can't access your hosting anymore but you have a local copy of the files, that works too. If you have neither, you'll be recreating content from scratch. Check the Wayback Machine (web.archive.org) for archived versions of your press kit pages. It won't give you the raw files, but you can copy text content and sometimes download images.
Step 2: Understand the presskit() Data Structure
Open your company-level data.xml. It looks something like this:
<?xml version="1.0" encoding="utf-8"?>
<company>
<title>Your Studio Name</title>
<based-in>City, Country</based-in>
<founding-date>January 1, 2015</founding-date>
<website>http://yourstudio.com</website>
<press-contact>press@yourstudio.com</press-contact>
<phone></phone>
<description>Your studio description goes here.</description>
<history>
<history>
<header>The Beginning</header>
<text>How the studio started...</text>
</history>
</history>
<trailers>
<trailer>
<name>Studio Reel</name>
<youtube>dQw4w9WgXcQ</youtube>
</trailer>
</trailers>
<awards>
<award>
<description>Best Indie Game</description>
<info>Some Festival 2016</info>
</award>
</awards>
<quotes>
<quote>
<description>"Great studio." - Some Journalist</description>
<name>Publication Name</name>
<website>http://publication.com</website>
</quote>
</quotes>
<credits>
<credit>
<person>Your Name</person>
<role>Developer</role>
</credit>
</credits>
<contacts>
<contact>
<name>Twitter</name>
<link>http://twitter.com/yourstudio</link>
</contact>
</contacts>
</company>Each game's data.xml follows the same pattern with game-specific fields: <title>, <description>, <features>, <trailers>, <awards>, <quotes>, <credits>, <platforms>, and <prices>. The XML is straightforward. No nested nightmares. Just clean key-value pairs wrapped in descriptive elements.
Step 3: Install and Configure presskit.gg
Install the presskit.gg plugin from the WordPress plugin directory. Activate it. You'll see a new "Press Kit" section in your WordPress admin sidebar.
Set up your company profile first. Go to Press Kit, then Company Settings. Map your old data:
| presskit() field | presskit.gg field |
|---|---|
<title> |
Company Name |
<based-in> |
Location |
<founding-date> |
Founded Date |
<website> |
Website URL |
<press-contact> |
Press Contact Email |
<description> |
Company Description |
<history> |
Company History |
<credits> |
Team Members |
<contacts> (social links) |
Social Media Links |
Upload your company logo and header image from your exported presskit/images/ folder.
Then create each game. Go to Press Kit, then Add New Game. For each game, map:
| presskit() field | presskit.gg field |
|---|---|
<title> |
Game Title |
<description> |
Game Description |
<features> |
Features List |
<trailers> YouTube/Vimeo IDs |
Trailer URLs (full URLs) |
<platforms> |
Platforms |
<prices> |
Pricing |
<awards> |
Awards |
<quotes> |
Press Quotes |
<credits> |
Game Credits |
<history> |
Development History |
Note: presskit() stored YouTube video IDs only (e.g., dQw4w9WgXcQ). presskit.gg takes full URLs (e.g., https://www.youtube.com/watch?v=dQw4w9WgXcQ). Prepend the YouTube base URL when entering trailers.
Upload screenshots from each game's images/ folder. Name them descriptively before uploading. "screenshot_combat_system_01.png" is better than "ss03.png" for both SEO and journalist usability.
Step 4: Match Your URL Structure (Critical)
This is the step that makes or breaks the migration. Your old presskit() URLs looked like:
yourdomain.com/presskit/ ← company overview
yourdomain.com/presskit/sheet.php?p=your-game ← individual game
Your new presskit.gg URLs will look like:
yourdomain.com/presskit/ ← company overview
yourdomain.com/presskit/your-game/ ← individual game
The company overview URL is the same. That's convenient. The game pages are different: the old format used a PHP query parameter (sheet.php?p=), while the new format uses clean permalink slugs.
Make sure your game slugs in presskit.gg match what you used in presskit(). If your old URL was sheet.php?p=nuclear-throne, set your presskit.gg game slug to nuclear-throne. This makes the redirect rules simpler.
Step 5: Set Up URL Redirects
Add redirect rules so that anyone visiting the old URLs gets seamlessly sent to the new ones. How you do this depends on your hosting setup.

Option A: .htaccess (Apache hosting)
Add these rules to your .htaccess file in your WordPress root directory, before the WordPress rewrite rules:
## Redirect old presskit() game pages to presskit.gg
RewriteEngine On
RewriteCond %{QUERY_STRING} ^p=(.+)$
RewriteRule ^presskit/sheet\.php$ /presskit/%1/? [R=301,L]This captures the game name from the query string and redirects to the clean URL. The ? at the end strips the old query string. The 301 tells search engines this is a permanent move.
Option B: Nginx configuration
If you're running Nginx, add this to your server block:
## Redirect old presskit() URLs
if ($request_uri ~ "^/presskit/sheet\.php\?p=(.+)$") {
return 301 /presskit/$1/;
}Option C: WordPress redirect plugin
If you're not comfortable editing server configuration files, install a redirect plugin like Redirection (free). Add manual redirects for each game:
- Source:
/presskit/sheet.php?p=your-game - Target:
/presskit/your-game/ - Type: 301 (Permanent)
You'll need to add one redirect per game. For a small catalog, this is quick. For studios with 20+ games, the .htaccess approach scales better.
Test every redirect. Open an incognito browser window and visit each old URL. Confirm it redirects to the correct new page. Check both the company page and every individual game page. This is not a step to skip or assume. The pattern we see most often is developers who skip testing and then discover broken links weeks later when a journalist mentions they couldn't find the press kit.
Step 6: Update External References
Some links you control. Update them manually:
- Your Steam page. If your developer page or game page links to your press kit, update the URL.
- Social media bios. Twitter/X, Bluesky, Instagram, wherever you've linked your press kit.
- Email templates. Your standard press email template probably includes a press kit link. Update it.
- Other pages on your site. Any page that links to the old press kit URL.
- Google Search Console. Submit your new sitemap. Request indexing of the new press kit pages. The 301 redirects will transfer SEO authority over time, but explicitly submitting the new URLs helps.
Some links you don't control: journalist articles, forum posts, wiki entries, press list databases. The 301 redirects handle these. As long as the redirects are in place, external links to your old URLs will seamlessly reach your new pages.
Step 7: Verify Everything
After migration, run through this checklist:
- Company overview page loads correctly at
/presskit/ - Every game page loads correctly at
/presskit/game-slug/ - All screenshots display properly (no broken images)
- Trailers embed and play correctly
- Download buttons work (asset zip, individual files)
- Old URLs (with
sheet.php?p=) redirect properly to new pages - Google Analytics tracking is active (if you use it)
- Mobile layout looks correct (test on your phone)
- OpenGraph/social sharing previews show the right image and description
- Press contact email is correct and clickable
Visit your press kit from a different device or ask a friend to check it. Fresh eyes catch things you'll miss.
What You Gain in the Migration
This isn't just replacing broken software with working software. You get real upgrades:
Modern PHP compatibility. No more worrying about your host upgrading PHP and breaking your press kit overnight.
Visual themes and branding. presskit() had one layout. presskit.gg offers multiple themes and full WordPress theming support. Your press kit can match your studio's visual identity.
WordPress admin interface. Rich text editor. Drag-and-drop image uploads. Preview before publishing. No more editing XML in a text editor and re-uploading via FTP.
Studio tier features. Key request management (journalists request keys directly from your press kit page), embargo scheduling (timed content visibility), and Steam API import (pull game details directly from Steam).
SEO improvements. Proper meta tags, OpenGraph data, structured data, and a sitemap. presskit() predated modern SEO best practices.
Analytics and security. Track visits, traffic sources, and engagement. WordPress receives regular security updates; presskit()'s PHP hasn't been patched since 2014.
Common Migration Issues
"I can't find my presskit() files." If your hosting has lapsed, check local backups, old hard drives, or your email for any archived copies. Try the Wayback Machine at web.archive.org. If all else fails, you're recreating from memory and existing press coverage. It's like loading a corrupted save file from the last working auto-save instead of your latest manual save.
"My old URLs used a subdomain." If presskit() was on press.yourdomain.com and presskit.gg is on yourdomain.com/presskit/, you'll need cross-domain redirects. Point the subdomain DNS to your WordPress server, then set up redirect rules.
"I have games with special characters in the slug." presskit() allowed characters WordPress doesn't support in permalinks. Create clean slugs in presskit.gg (game-2016 instead of game (2016)) and map redirects accordingly.
"My presskit() was in a different directory." Some developers used /press/, /media/, or the site root. Adjust your redirect source paths to match.
"Google still shows old URLs." After 301 redirects, Google takes days to weeks to update its index. Submit new URLs in Search Console to speed it up.
Timeline and Effort
For a realistic estimate:
| Task | Time (1-3 games) | Time (5+ games) |
|---|---|---|
| Download old files | 15 minutes | 15 minutes |
| Install WordPress + presskit.gg | 1-2 hours (if no existing WP) or 15 minutes (existing WP) | Same |
| Enter company data | 20 minutes | 20 minutes |
| Enter game data + upload images | 30-45 minutes per game | 30-45 minutes per game |
| Set up URL redirects | 30 minutes | 45 minutes |
| Test everything | 30 minutes | 1 hour |
| Update external links | 20 minutes | 30 minutes |
| Total | 3-5 hours | 5-8+ hours |
Most of the time goes to re-entering game content and uploading images. If you're on the Studio tier with Steam import, the game data entry step shrinks dramatically. What tends to happen in practice is that developers use the migration as an opportunity to refresh their screenshots and update outdated descriptions—turning a maintenance task into a marketing improvement.
Final Step: Remove the Old Installation
Once redirects are confirmed working and Google has started indexing the new URLs, you can remove the old presskit() files. Don't rush it. Leave them for at least a month as a fallback. When you do remove them, keep a local backup of the XML data files. Data you keep is data you have options with.
The migration feels bigger than it is. Copy data from XML files to web forms, upload images, set up redirect rules. The hard part is doing it before your old press kit breaks, rather than after. If you're reading this, you still have time. Use it.
Free Tool: Game Fact Sheet Generator — Generate a fresh fact sheet for your new presskit.gg installation. Runs in your browser, no signup required.
Frequently Asked Questions
I can't find my presskit() files. What now?
Check local backups, old hard drives, or email for archived copies. Try the Wayback Machine (web.archive.org) for archived versions of your pages. If all else fails, you're recreating from memory and existing press coverage.
What if my old presskit() used a subdomain?
If it was on press.yourdomain.com and presskit.gg is on yourdomain.com/presskit/, you need cross-domain redirects. Point the subdomain DNS to your WordPress server, then set up redirect rules.
Should I keep the old presskit() files after migration?
Keep them locally as a backup for at least a month. Don't rush to delete them. Once redirects are confirmed working and Google has started indexing new URLs, you can remove them from your server.
Will I lose my search rankings in the migration?
If you set up 301 redirects correctly, SEO authority transfers over time. The redirects tell search engines "this content permanently moved here." Submit your new sitemap to Google Search Console to speed up reindexing.
Related Guides
This article is part of our series on marketing tools. Start with the complete guide:
Also in this series: