How Business Analysis Canada led Bohemia Interactive's move from Drupal to WordPress through user journeys, a content model, redirects and acceptance criteria.
The challenge
The site had grown for years around the games, and the Drupal build had grown with it. Moving platforms was the moment to decide what the site was for, rather than copy everything across.
Our business analysis approach
User journeys
A game, its latest news and patch notes, and where to buy it
Reach any current game from the home page or search, then its news and store link, without dead ends
The engine, tools and the path into modding
Reach the engine page and follow a clear route to the modding documentation on the wiki
Facts, assets and a contact
Find studio facts, game fact sheets, logos, screenshots and the press contact without signing in
Open roles and what working at the studio is like
Find current roles, filter them by team or location, and reach the application form
The forums and wiki
Reach the community platforms from any game page and the main navigation
Content inventory
Current titles structured differently from each other
Kept and rebuilt on one game content type with consistent fields
Full pages for games no longer in active development, rarely visited
Moved into a compact retro games archive with short entries and store links
Years of posts, including duplicates and posts with no category
Kept, merged duplicates, and assigned each post to a game and a news category
Published as ordinary news, hard to find again
Kept as a news category linked to each game, so players can filter for updates
Role pages and general recruitment pages
Kept, with role details structured for filtering and an application link
About, history and culture pages with overlapping content
Merged into a smaller set of studio pages
Assets scattered across news posts and attachments
Rebuilt as press kits for the studio and for each game
Time-limited pages long past their date
Left behind, with redirects only where inbound links existed
Types and fields with no content or no recent use
Left behind and recorded in the migration log
Content model
The content model was the migration. Each type had defined fields, relations and a URL pattern, so the new site kept its structure instead of becoming a set of flat pages.
Title, short description, platforms, release status, key art, trailer, store links, community links
News, patch notes, press kit
/en/games/game-name
Title, date, summary, body, featured image, category
One or more games
/en/news/post-title
Title, team, location, contract type, description, application link
Team and location categories
/en/careers/role-title
Title, body, images
Related studio pages
/en/studio/page-name
Fact sheet, logos, screenshots, videos, press contact
The studio or one game
/en/press/kit-name
Overview, features, links to tools and documentation
Games built on the engine
/en/engine
Czech versions followed the same patterns under /cs/, with each translation linked to its English page.
Migration requirements
Roles and permissions
Configure the site, manage users, approve plugin changes
Not applicable
Edit and publish any content, change game page structure and URLs
Install plugins without review
Create, edit and publish news and patch notes
Change game page fields, structure or URLs
Update game descriptions, media and links within the agreed fields
Change URLs, delete game pages or alter the template
Create, update and close career roles
Edit news, game or studio pages
Edit Czech versions and submit them for review
Publish without review
Draft news posts and submit them for review
Publish content
Every content type moved through draft, review, scheduled and published states, and game pages needed a second review before publishing.
Acceptance criteria
Platform fit
WordPress came after the requirements, not before them. Each platform decision was checked against the baseline.
Custom content types and fields were configured to match the content model, including relations between games, news and press kits.
The theme was built from the page templates the journeys needed. Game pages used locked layouts, and editors could only change the agreed fields.
The approach to translations was chosen against the language requirements, including linked pairs and fallback behaviour.
Search was configured to the ranking, filter and synonym requirements.
Each plugin had to meet a specific requirement and pass a security and maintenance review. Plugins that duplicated core features were not used.
Roles, review steps and scheduled publishing were configured to the roles matrix.
Cutover
Cutover was checked against the acceptance criteria, not against a visual match of the old theme.
Results
“
Lessons learned
Talk to a senior business analyst about journeys, content models and redirects, before any template is built.
