Sam is a software engineer with background in media and arts. He's been working with WordPress for around 12 now. 10 years ago he joined a small startup, a blogging platform for football fans. Now Snack Media is a digital media company that reaches around 30 million sport fans every month. They have 40+ sites that they own and operate and supply advertising and technology for 350+ websites. They also have built a white label product with WordPress Multisite which is being successfully sold. Sam Burdge is Technical Director at Snack Media.
Snack Media is a UK based digital media company that connects sport fans with brands. Not long ago they were commissioned to build a sports predictor game for a pan-european TV network. This is the game for football fans where they can predict scores and overcomes of every single match. In few months it has grown into a SaaS venture that offers white label products to sports companies.
The idea was to build a predictor game for football fans where they can predict scores and outcomes of every single match and score points when they get it correctly. Client should get a white label product ready to be branded according to the client’s guidelines and assets. Each new website should get its own Top Level Domain name. One client should be able to have a number of different websites for different brands that are all managed from the same dashboard. Client should be able to choose all game mechanics for his site: how users will compete, game terms, what are the prizes and so on. There also should be an affiliate program ready for the users, so they can invite friends, family, colleagues to join in the game. The sites should be ready to be translated into different languages..
First of all, because of the minimum viable product. It should be built as quickly as possible. Developers were supposed to create the predictor game mechanics, prepare system for clients branding, translation, customization and WordPress has got all necessary functionality for that right out of the box.
Also, as it's a white labeled product that should be out rolled out for multiple clients, so WordPress Multisite was an obvious choice.
- Native WordPress CRON system may cause serious issues to performance when used in Multisite environment and also it doesn’t behave as expected quite often as it depends on site traffic.
- Users in WordPress Multisite network are grouped together in one main user table, so the users from different websites (and different clients) are stored together. It was necessary to separate them according to the website they came from. But also there are some clients who have more than one website (say, in different languages) and they need the ability to group all their users together, so there should be a way not just separate users according to the website but also group them in some cases afterwards as well.
- Instead of WordPress built-in CRON the team set up system CRON jobs to be used in Multisite environment using WP CLI.
- The team has found a simple and efficient way to separate and group users inside Multisite network using WordPress usermeta table, they’ve built a custom system to identify which group a user belongs to. They also created an alternative Single Sign On, so that user can use the same account to access other sites in the group with no need to sign up again.
The white label SaaS application for sports companies has been build using WordPress Multisite.
Each new client gets ready-to-go system for the predictor game on his own domain. Everything is prepared according to his requirements: the game mechanics, terms, prizes, competition terms, the way of monetization; website is branded according to his guideline and everything is instantly available for users to join and play.
Within WordPress Multisite environment we can spin up a new white label site for a client within an hour or two Click To Tweet
The team is continuously learning from experience and WordPress Multisite makes it possible to iterate learn-build-measure loop rapidly, which is extremely important for the startups. There is a single code base to maintain, so once you make an improvement and deploy it once, all other sites in the network benefit from that.