Using WordPress to build a Radio Station Website

Recently several associates in the community radio industry have asked me for tips and useful plugins that I have used on site like One Media Group and Cre8 Radio. So I’ve pooled together some great tools that can help make a WordPress system work for a radio station; useful if you’re on a budget!



I won’t tell you where to go, but firstly you need to buy hosting and install WordPress on it if you want to have great flexibility. The sites on are only good for personal blogs and don’t have the functions required to use many of the tools below. You can find suggested hosts on the website at, but do look around elsewhere.

Personally, I use Tsohost. They are a great UK based company that provides 24/7 support (genuinely, I asked a question at 11:30pm and they replied in 20 minutes!) and even offers free whole website migration with some hosting packages. And with the coupon code “WordPress Rocks!” you can get 10% off any hosting package! Just enter it when placing your order.


Choosing your theme is essential, but don’t just look at the theme and take it as it is. Many sites take a template and then modify it to suit them. Whether that be a colour change or simply moving things about, beyond the widget function. If you have HTML, PHP & CSS knowledge then it will be very beneficial! If you can, stretch to a budget. Most good themes do cost a bit of money, usually between £20-£40, including exchange rates from American websites. Sites I would suggest for premium themes are WooThemes and ThemeForest. I don’t find the Free Theme Directory too useful, however the WP Theme category on Smashing Magazineis full of gems. Or you could always spin off your own WordPress theme which would give you exactly what you want, but may take a bit longer.

If you purchase a theme and it doesn’t support smart phones, why not try the plugin WPtouch. It is basically a theme which is only activated when users visit on a smart phone. There are lots of choices within the free version, however the paid version ($49/£31) does give you a lot more features like using custom menus and inline replies.


There are two very useful bundles available for free, which contain some amazing features.

Jetpack for WordPress –

This bundle comes with WordPress and to activate it you must link it to a account. That account is free, easy to do and complete with a how to within the bundle. Notable features include Stats, Jetpack Comments, Sharing, Contact Form and Shortcode Embeds. All of which you should activate and configure upon installing Jetpack. I’ll talk about some of these later on.

WooDojo from WooThemes –

This is already the second time I’ve mentioned WooThemes! Their WooDojo bundle brings features like Branded Login, Maintenance mode and Widget Previewing. Features here are ones where you’d usually have to install a separate plugin for each one, however they are bundled together nicely here along with simple settings. Definitely several here I use all the time!


Here are some of the plugins I use to enhance the radio stations that I have on WordPress. I will refer to some of the features within Jetpack and WooDojo, but alongside others I’ll include links to their WordPress plugin pages.

URL Shorteners Shortlinks – part of Jetpack

If you really want short URLs then you can use this as part of Jetpack. You can’t choose any other short domain or services and it doesn’t post automatically to Twitter.

WooDojo ShortLinks – part of WooDojo

Just like this will automatically generate your short URL, but you have the choice of TinyURL or bitly. If you hook in your Bitly username and API key you can use the bitly services and even your own short URL!


Having installed my own version of YOURLS I gave their WordPress plugin a go. I find this much easier to use then some of the others. It automatically posts to Twitter and can use a variety of short URL services, including the bitly custom domain setting.

Comment Systems

Facebook Comments

On the One Media Group website, I decided that as our audience were students, Facebook would be an ideal platform to use for our comments. I gave our management team moderator rights to the Facebook platform and then used the Facebook Comments for WordPressplugin to replace the standard comments system provided by WordPress. There are ways to implement it yourself, however using a plugin means that any API changes that Facebook makes, the maker of the plugin should keep them up to date for you. However do keep an eye plugins when using third-party services like Twitter & Facebook as they may break if the social networks change something very quickly.

Jetpack Comments – part of Jetpack –

This recent addition to Jetpack seems to take care of wanting to allow users to login using Facebook or Twitter accounts when commenting. It builds right into the main commenting system of WordPress so uses all the regular settings you make in the Discussion panel.

Disqus –

I’ve used this plugin before as I didn’t know about other alternatives. This requires you to make a Disqus account and moderate via their platform. I would now opt for other ways of sorting out comments however it might have something you want that others don’t.


I always get asked how to do schedules in WordPress for a radio station.

I’ve worked with my good friend Christopher Smith to pull together a system that uses a text file and a series of PHP files to extract information. These files also are configured to generate an on air now, and on air next display. However this isn’t a fail safe system and it does require a lot of setup.

What other options are there?

How to Make a Radio Station Schedule Using WordPress – Wptuts+ tutorial

This tutorial shows how you can use custom post types to generate your own schedule. For my liking it is rather messy as you have to create lots of different posts with the information. However you can add descriptions easily, plus if you want to change it slightly you can as you go along.

Weekly Schedule –

Whilst this plugin is primarily for TV schedules, it does double up nicely as a radio weekly schedule. You can have multiple schedules and display the show description either in the table itself or in a popup window. It also has categories so you can distinguish your speech-based content versus your daytime or specialist shows.

Google Calendar –

Using a Google Calendar is also a practical way to display your schedule, even if it does require putting in every single show manually. You could also share your calendar with other managers at the station so that it can be changed by others. It is possible then to embed the calendar in an iframe upon a normal WordPress page.

Timetable for WordPress (Paid – $20/~£12) –

This plugin was suggested by reader Satnam Rattu.

If you’re looking for something with a bit more flexibility, without the coding work, then this plugin could work for you. It boasts a selection of pre-defined skin colours and a neat side-scrolling feature.

Content Enhancements

WordPress Audio Player –

You’ve probably seen this player if you’ve been looking at websites with audio on. It is easy to install and comes with lots of customisation options, including a nice colour picker for the player. There’s also a button in the Media window when you add audio to a post, which makes embedding audio very easy.

However, if you are expecting a large amount of iOS or Android users to visit your site, it might be best to avoid this as it is purely Flash based.

WP-Polls –

You can run polls for your users and also editors/admins using this plugin. Controlling the polls are relatively easy with expiry dates and multiple choice results.

Admin Tools

Advanced Access Manager –

If you’re planning to have lots of users who will be logging in to provide content for your site, then you may want to watch what permissions they have more closely. Whilst the Editor/Author/Contributor model is okay, with Advanced Access Manager plugin you can create your own model for user access. You can create a new user type based on the original ones and then customise it as you wish.

WordPress Database Backup –

A nice plugin that will help you keep a backup of your precious database. Either download, email or simply save the core database to your server. There’s even the option to add additional information from other plugins. You can schedule a backup as well, however I’ve found this not to be very useful with large databases.

Front End Upload –

I’ve used this plugin to enable external show providers to send in their WAV/MP3 files. It’s faster than using WeTransfer and also it keeps all the data on your hosting. However, as the plugin page says, “Uploading files should be considered risky.” I would almost certainly always put this plugin on a private page or add a password to this plugin, which comes built in. It works in all browsers and is a nice tool to transfer content from different providers.

Ad-minister –

This is useful if you want to have external advertisers, maybe your on air advertisers as well, or even ‘in house’ promotions on your site. It has a nice system for handling expiry dates and ad-rotations with weights. Plus you can see how many times an advert has been seen, along with it’s conversion rate.


Every website owner likes to know who’s visiting what and when. If not, you should care! If you don’t then your boss and advertisers certainly should.

I usually run these two tools side by side as they differ in results and each have their own merits.

Google Analytics –

There are an abundance of plugins that allow you to put your Google Analytics code in WordPress, but the easier (and arguably most effective) way is to simply post your code in your theme’s footer.php file, just before the </body> tag.

Google Analytics’ dashboard is nice and you can see a lot more details in here compared to the next tool.

Jetpack Site Stats – part of Jetpack –

Another great part of Jetpack is the Stats component. It gives you all the important information like visits per day, top posts & pages and search engine keywords used today. It is great for Editors or Admins that want to quickly see what has been popular today or yesterday. I tend to use this more than Google Analytics.


Hopefully all of these plugins or tools will be useful to your radio station WordPress website, one way or another.

If you have any suggestions of plugins that have worked for your station, then please do leave a comment below or email me at


28/04/13 – I’m now looking to write a follow up to this post, especially as it was picked up by the CMA. If you have any more suggestions of plugins/resources or have specific questions, please drop a comment below and I’ll try and cover it in the next related post.

This article contains affiliate links. While I only ever write about products I think deserve recognition, I may earn a small commission if you click through and buy the product in question.

42 Replies to “Using WordPress to build a Radio Station Website”

  1. Plugins i swear by:

    – Blueberry PowerPress – not only does it offer a HTML5 Audioplayer, it filters all audio into a seperate ‘podcast’ feed perfect for iTunes and Radioplayer integration.

    – W3 Total Cache – cache options that drastically increase the speed of your site. Also allows media hosting of audio/images via Amazon S3. Very quick to load, and uber-cheap.

    – Shortcodes Ultimate – allows use of Youtube/mixcloud/soundcloud shortcodes.

    – Nextgen Gallery – the only WP photo gallery worth using.

    1. I’ve found that if you’re purchasing a theme, many of them already offer basic shortcodes for Twitter, YouTube and Mixcloud. Also lots of theme have some sort of good gallery function.
      But these are good if you’re making your own theme 🙂

  2. Hi Oliver,

    I’m working right now at a radio website based on wordpress and I would like to know how much will it cost to buy those custom files you have to pull the live show from the schedule. Or maybe you can opensource them 😀 (i’m doing a probono work for our local church website) None of the calendar plugins are doing great at this and there is no other way than do it custom, like you did.

    I’m really looking forward for this, thank you!

    1. Hi Dragos,

      I have looked into sharing the On Air Script which I’ve used on a couple of sites (see however part of the code was taken from a different source and I’m unsure of where that was, plus I don’t have the time to maintain it from a distribution point of view.

  3. under the audio player you say:

    “However, if you are expecting a large amount of iOS or Android users to visit your site, it might be best to avoid this as it is purely Flash based.”

    no you mean “if you are expecting ANY amount of iOS (any apple product besides laptop) users, it might be best to avoid this as it’s purely flash based.”

    Androids can see flash just fine since day 1. We can view 100% of the internet as it is no mobile version needed. I regularly watch desktop version on my nexus . You forget, google owns all the best things on the net AND the os so it works flawless (youtube, gmail, google search, stats many companies rely on, ads, voice, etc) .

    Sorry iphone users. maybe have a button next to it to download the playlist and they can play it on intunes or something.

    1. Hi Enlightened.
      The reason I say ‘large amount’ is because some users of iOS devices are just used to not being able to view flash based items. I see it all the time and I just go ‘I’ll have to view it on desktop then’.
      I’ve not had fantastic experiences with Flash and Android. As you say sites like YouTube work great within Android because Google owns it and works hard on perfecting it.
      There’s never usually a good way to display streamed audio on mobile, unless you use third party services like SoundCloud or AudioBoo who have put the time and money into developing solutions. If radio based websites are that concerned with it, I suggest they use those sort of services from other people.

  4. Hi!

    Was wondering about other plugins to use to integrate online streams into a radio station website. Any help will be appreciated. Please shoot me an email if you can help. Great post anyways. thanks

    1. Hi Harrison.

      There aren’t a great deal of plugins for online streams as they vary so much in how they are generated and handled.

      If you have good HTML, JavaScript and CSS knowledge, I’d recommend looking at JWPlayer. I know an old colleague of mine who has used it for streaming before, but I’ve not got my head around it.

      I personally hate websites that embed the player into the sidebar/header of every page. What if I move between pages? It makes it a terrible inconvenience to have to press play every time I move to another page on the site. So I’d recommend creating a popup which houses your player.

      I managed to use the mediaelement.js player on a site I currently develop. That might be of use for you to. Again it requires a fair bit of HTML, JS and CSS knowledge.

      I hope that helps a little!

  5. Hi Oliver.
    Firstly, congratulations on the site, it looks great. So great, in fact, I’d like to copy your radio player function for a charity golden oldies site. I’ve followed some of your advice so far but I have a 5 questions which I would really value your help on.

    1. Is the popup player using flash or html5? I’ve been asked to not use the wp-player flash plugin due to ipad/iphone conflicts.

    2. How do you make it so that the radio plays without auto-downloading a .pls?

    3. I’ve purchased a space upgrade for the blog and the radio is already streaming via shoutcast, but still I can’t seem to embed a url or link from shoutcast into the wordpress page (links are below).

    4. The radio player has to popup as a separate player window, in the way that yours does, so that the listener doesn’t loose the page. Can I just do this via a pop-up plugin.

    5. I also have to include options to listen via winamp, windows media player, realplayer, itunes and tune-in radio ( I’ve installed the following plugins, so far without success: anything-popup, radio-puls, media-buttons, station-pro, HTML5-player-with-playlist.

    I’m a designer with some html/CSS knowledge, but a beginner with WordPress and not knowledgeable about audio or JS. I’m doing this site as a favour to the DJ and it’s difficult!

    I’d really appreciate your help. Thanks for your time and all the tips on this page already.

    Website in progress is
    Links to the streaming site are:

    Windows Media

    Real Player

    Winamp & iTunes

    .M3U (Universal) link, will work in most media players

    1. Hi Natalie,

      1) The player for OMG Staffs uses MediaElement.js. It has limitations as far as streaming goes as it’s not built for that kind of thing, but it seems to work for me on the majority of platforms. You do need a fair bit of JS and CSS knowledge to customise it and their documentation is reasonably helpful.

      2) Using a built in player usually overcomes this, or using a format that isn’t a playlist, such as .mp3. The OMG stream URLs don’t specify a format type and there’s some clever script back at our server which figures out what the best format to use is. Unfortunately I don’t know any more about this as I don’t manage this.

      3/4) The OMG player is in a separate directory and is not managed by WordPress at all. This allows me absolute control over it. There are many JS scripts that will allow you to do popups to show the single page. Just have a look around and then build the buttons in to the theme rather than the content of a page.

      5) As mentioned our player is completely separate and that enables me to directly link to these formats without having to worry about how WP handles them. To have the player completely separate and out of the CMS loop is very common and can be seen by any station that uses the Radioplayer system (apart from the BBC probably).

      Doing radio steaming players can be difficult and the OMG player is in it’s third incarnation under my management. It’s all trial and error and I know a ex-colleague who spent months configuring a player to work on many platforms.

      Hopefully these comments will help you.

      Feel free to drop me an email at if you any more advice.

      1. Hi, thanks for this – provided food for thought when starting out on a recent radio website. Started using Weekly schedule combined with a nice little plugin called DJ On-Air, but this meant I had to effectively input two schedules – one for each plugin. Then found a relatively new plugin originally developed for Drupal – Radio Station – which provides a schedule, and displays on air and upcoming shows information. I’d recommend this plugin. And thanks also for the reminder about WooDojo.

        1. Hi ‘sussexlongman’ (aka Robert)!
          That is a fantastic plugin find! I’ve recently installed it on an RSL’s website and we plan to use it in May. It looks fairly flexible but I might need a bit of time to get to grips with it to do what I want with it.
          I shall include it in a follow-up post which I plan to do 🙂


        WHO COULD BUILD IT FOR US? CALL ME> 214-282-8194 , IN ARIZONA.


  6. I take pleasure in, trigger I came across just what I had been trying to find. You’ve got ended this three day long hunt! Lord Thank you dude. Have got a wonderful time. L8rs

  7. Hi,

    Great website Oliver.

    I’m redoing my webradio site, I Stream with shoutcast, I’m looking for a free player that will work on most Smartphones. If it come with an Embedded and pop version.

    Have any ideas ?


    1. Did anyone suggest a decent player? WordPress.
      I saw one for $25 which if it does the job is worth every penny.
      any comments?

      But I am desperate to find out why a service that has worked for years in Joomla now stays silent after upgrade to FireFox 25.01, and does not seem to play in IE 11.0.9600 with Flash 10.3 enabled on all sites. Chrome has no probs on same laptop. Chrome on Galaxy S111 mini OK, but on “internet” (think it is a safari re-skin) no play!

      1. Hi ‘Mr Red’,
        I wouldn’t buy that at all, as Soundcloud now uses HTML5 players by default, which work perfectly well on many different devices. Plug you can use WooDojo and the Jetpack plugin to make Soundcloud playlists look good and easy to embed.

        In regards to Joomla, I don’t use the platform myself, but I suspect that the service hasn’t been kept up to date and moved with the developments in browser development.

  8. My developer is trying to convince me to move to .net from PHP. I have always disliked the idea because of the costs. But he’s tryiong none the less. I’ve been using WordPress on a variety of websites for about a year and am worried about switching to another platform. I have heard excellent things about Is there a way I can import all my wordpress content into it? Any help would be greatly appreciated!

  9. Hi,

    I am looking for as cheap as possible as low cost as reasonable a pay monthly website plan its for a non profit organization who has little income who simply give people a voice in their community and in return with advertising we could support you for supporting us we also send out thousands of emails daily with the web link on to the station We can not do a one off fee only for software that may needed to be added to the site that doesn’t come as standard.

    We work with a telephone call as a lot gets misunderstood by email.

    We need winamp, virtual audio cables installing and configuring a host package to live stream play mp3s etc.

    We have seen it done on other networks where all the software is installed on a website each host would login and access the live stream then if needed could play shows that are pre recorded in 2 hour slots or a 8 hour period.

    The Website would look basic but functional with login area social networks a visitor counter and a chat room forum and other small minor add ons.

    I am able to do a lot of the work if you help me in explaining what to do I can maintain the website with help from you to a minimum.

    I Have included some websites we like
    This one links in to other stations or their news feeds is this easy

    other things that do radio that could be added to a website!/broadcasts/top/All/All

    Andy 01754 868039 07827731060

  10. These Shed Planss differ in the size, right amount of light. Other cats are very affectionate and will not be allowed to name them lesson 1, lesson 2 etc.

  11. I have been a Internet DJ 8 years and have owned my own station for 5 years ( we are a Microsoft Editors choice for Classic Rock) I have multiple Dj’s so that too is important My website is built in frontpage and now want to upgrade…i use Sam Broadcaster,shoutcast and multiple servers for streaming. What i want is a easy way to create a website in WordPress that is scale able. I want a chat room,whose on the air,schedule,general info,blog,promotions..anyone know a template either free or other that I could get as I am not a programmer though very computer literate. If you know a good editor for wordpress that allows me to just drop content and items would be great.I also want to add graphics flash or better (hate flash) for some minor movement. Thank you so much. James

  12. I know that this site is powered by wordpress, its for a radio station in Phoenix Az, to my knowledge heavy modifications were made to the theme with php coding custom done, I know this is not the only site like this! (Maybe it will give someone some ideas!)

  13. YOAST is a boss plugin i ever used. I hardly have to do for my onpage customization. Comment redirect is also nice but i never used it before. I am just starting it on my dite. thanks for sharing a informative article.

  14. Hi Oliver

    I currently use Blog Talk Radio to broadcast my radio shows as the features are pretty good. You get a virtual studio a live chat room and i have a call studio number so I can talk to listeners live on are and it also uses skype and allow me to play music. However it is also unpredictable in the quality and I am looking at ways to move away from them.

    I have a wordpress site and want to know you know of a plugin that offers the same features and or even allows the use of webcam.

    Look forward to hearing from you


  15. Since I like plain and simple "moonstone" would be my choice.Thanks for hosting. There are some lovely things here already.I've linked my post "Spring" this week. Thanks for the opportunity to share it.

Leave a Reply