How To: Create a website like Instagram using WordPress

Instagram is one of the most popular social networking platforms today. It has got more than one billion monthly active users.

On Instagram, you can share photos, short video clips, and even longer-form videos using IGTV.

If you are also looking for a way to create something similar to that on WordPress, you have come to the right place. 🗺️📍

In this article, we will show you how to create a visual social media platform on WordPress using BuddyPress and rtMedia WordPress plugins.

Required WordPress plugins 📝

  • BuddyPress – To add the basic social networking features.
  • rtMedia – To manage media and extend BuddyPress features.
  • Transcoder for WordPress (Optional but recommended) – To convert video files uploaded in other formats to web-compatible MP4 format and enable support for AMP Stories.
  • rtAmazon S3 (Optional) – To offload media files uploaded to your server to Amazon S3 buckets.

How rtMedia can help you

rtMedia is the best media management plugin for WordPress. It makes controlling and managing the media files uploaded to your BuddyPress site simple.

Oh, and it adds a cool lightbox for displaying the media files on your website.

But it doesn’t stop there. It can help extend the social features offered in BuddyPress as well. It can help you add support for media likes, moderation, and photo filters. 😀

Required rtMedia add-ons

The free rtMedia core plugin offers only the basic multimedia features required for creating your website. But, you will be needing these premium rtMedia add-ons as well to implement more of Instagram’s functionality. 🏗️

If you purchase each of the above add-ons individually, it would cost you around $789. Instead, you can get the entire rtMedia Pro Bundle for just $499. It consists of the above add-ons and gives you access to the rest of our premium add-ons (35 add-ons in total). You can use them for your current project or any other project of yours.

How to create a website like Instagram using WordPress

Time needed: 30 minutes.

Without wasting much time, let’s see how you can install and configure the above plugins to make a website like Instagram.

  1. Install BuddyPress

    Install and configure the BuddyPress plugin on your site by following our BuddyPress installation tutorial.install and activate buddypress

  2. Install rtMedia

    Install and activate the rtMedia plugin from your WordPress dashboard.install and activate rtmedia media management plugin

  3. Install rtMedia add-ons

    Download the above premium add-ons from your rtMedia account (under the Purchase History tab) and install them on your WordPress site manually.rtmedia my account page

  4. Configure rtMedia Display settings

    Go to rtMedia Settings page and turn on the ‘Allow user to comment on uploaded media toggle’ under Single Media View, ‘Enable likes for media’ and ‘Likes in media comments’ under Media Likes, ‘Enable 5 star rating for media’ under Rating for rtMedia, ‘Use lightbox to display media’ under List Media View, and everything under Masonry View.rtmedia display settings

  5. rtMedia BuddyPress settings

    Go down to the BuddyPress section and turn on all the toggles under Integration with BuddyPress features. Next, scroll down to Album Settings and turn on the toggle for ‘Organize media into albums’.rtmedia buddypress settings

  6. Create default albums

    Move down to the Default Albums section and create some albums which you would like your users to use.rtmedia default albums

  7. Enable support for photos and videos

    Go to the Types section and enable support for photos and videos by turning on the toggle next to Photo and Video respectively. You can also limit the file size for the uploaded media from the same page.rtmedia types settings

  8. Set media dimensions

    Move down to the Media Sizes section to alter the dimensions for different image sizes.rtmedia media sizes settings

  9. Enable privacy settings

    Under the Privacy section, enable Privacy and configure the default privacy settings. Additionally, you can also allow users to set their own privacy levels.rtmedia privacy settings

  10. Apply custom CSS, if any

    Under the Custom CSS section, you can paste your custom styles to alter how rtMedia components appear to front-end users.rtmedia custom css

  11. Set up moderation settings

    To control people from going rogue on your platform, you can give users an option to report media files. Also, you can take them down automatically after a specified number of reports (recommended).rtmedia moderation settings

  12. Enable favorites list

    From the Other Settings page, enable FavList and turn on the toggle that says ‘Show Privacy Message on website’.rtmedia other settings

  13. Install Transcoder for WordPress

    Install and configure the Transcoder for WordPress plugin from your dashboard by following the official documentation. This can help you convert videos uploaded in other formats to a webcompatible format automatically.install rtcamp rtmedia transcoder for wordpress plugin

  14. AMP Stories

    To enable Instagram-like stories on your site, you can take advantage of AMP Stories. It is available on the latest version of the AMP plugin (version 1.3 and above). You can read more about our Transcoder integration for AMP video stories from here.AMP Stories and Transcoder

  15. Install rtAmazon S3

    Install and configure the rtAmazon S3 plugin to offload all media files to your Amazon S3 buckets by following the documentation page.rtamazon s3 wordpress plugin - create s3 bucket


Now that you have created a social photo-sharing platform like Instagram, it’s time to attract users on your site. Start with your existing audiences like friends and family, social media connections, and blog readers to gather primary feedback. 🌐

Later on, you can move to paid advertisement solutions once you have ironed out the blockers and improved the site based on the preliminary feedback. 💬

Links: Download rtMedia | Download BuddyPress | Download Transcoder | Download rtAmazon S3

Leave a Reply

Your email address will not be published. Required fields are marked *