How to switch from The Events Calendar, and back if you need to.
Calendar² takes over your existing events where they are, with the same IDs, images and addresses. You see a report first, check a private preview on your own site, then switch. If something’s wrong, you switch back. All of it is in the free plugin.
- to migrate 1,000 events
- 26 s
- to switch 10,000 events
- 13 s
- to roll 10,000 back
- 7 s
On The Events Calendar, repeating events come with the Pro plan, $399 a year (Liquid Web’s plan page, checked 25 October 2026). In Calendar² they’re free, with venues, organisers, shortcodes and month, list and day views. Pro, if you want public submissions or feeds that keep importing, is $79 a year for one site, and we never take a cut of anything you sell.
If you rely on tickets, virtual events, or the week, photo or map views, read what doesn’t come across below first, or compare the two side by side. You may be better off staying.
Comes across
- Events, with their IDs, slugs, featured images, comments and revisions.
- Venues, organisers and categories.
- SEO plugin data (Yoast, Rank Math) and ACF fields, because they stay on the same posts.
- Your event addresses. Old view links such as
?eventDisplay=pastredirect to the matching Calendar² view, and[tribe_events]shortcodes show the Calendar² calendar. - Tickets and RSVPs sold with Event Tickets keep selling (see below).
Doesn’t come across yet
- Events Calendar Pro. If Pro is installed or the site has Series, the dry run stops before anything changes. We’ll lift this when we can do it properly.
- Event Aggregator schedules. The events they imported come across as ordinary events. To keep importing, add the feed again in Calendar² Pro.
- The Events Calendar’s other shortcodes, such as
[tribe_events_list], show nothing after the switch. The dry run lists where they’re used. - “Sticky in month view” has no equivalent and is ignored.
- Data from add-ons Calendar² doesn’t support, such as virtual events, stays on the post but isn’t shown.
- Week, photo, map and summary views. Calendar² has month, list and day.
The dry run counts each of these on your site before you commit to anything.
Everything is under Calendar² → Migrate in your dashboard, and each step also has a WP-CLI command. Take a full backup first and, if you can, try it on a staging copy.
Install Calendar² next to The Events Calendar
While The Events Calendar is active, Calendar² stays out of its way. It doesn’t take over /events/ or any other address, so visitors see no change.
wp plugin install bsquared-calendar-1.1.0.zip --activateDry run
Calendar² reads your events, venues, organisers and categories and reports exactly what will move, with a note on anything that won’t. You can download the report as JSON or CSV. Nothing is changed.
wp calendar2 migrate detect && wp calendar2 migrate dry-runPrepare and preview
Calendar² builds its copy of your calendar in the background while the site keeps running The Events Calendar. For 10,000 events this took 4 to 8 minutes. If it’s interrupted, it carries on from where it stopped. Then open the private preview at
/events-preview/, which only administrators and editors can see. Edits you make in The Events Calendar in the meantime are kept in sync.wp calendar2 migrate prepare # if interrupted: wp calendar2 migrate continueSwitch
Calendar² takes over your events in place, keeping their IDs, images and addresses. For 10,000 events this took 13 seconds, including its own checks.
wp calendar2 migrate switchRoll back, or finish
Changed your mind? Switching back hands your events, venues and organisers back to The Events Calendar. For 10,000 events it took 7 seconds, and a switch and roll-back with no edits in between gave back every original post exactly as it was. You choose the roll-back window on the Migrate screen: 30 days by default, anywhere from 7 to 90. When you’re happy, Finish closes it and, if you ask, removes The Events Calendar’s leftover data.
wp calendar2 migrate rollback # or: wp calendar2 migrate finish --cleanup
When you switch, Calendar² events are added to the post types Event Tickets sells on, so tickets and RSVPs keep selling. Switching back undoes that.
One catch: if an event’s ticket form comes from Event Tickets’ page template rather than its Tickets block, visitors couldn’t buy after the switch, because Calendar² doesn’t use that template. The dry run flags each one, and the switch waits until you’ve added the Tickets (or RSVP) block to those events.
Event Tickets’ own fees still apply. Its documentation says the free version takes a 2% commission on Stripe and Square sales, on top of their fees, waived with Event Tickets Plus. Our own Tickets² is next, on licence-only terms: no cut of your ticket sales.
If the events live on another site that runs The Events Calendar, import them over its public REST API with one command. Calendar² reads that site’s public event data and copies event images into your Media Library. For imports that keep running on a schedule, use the feeds in Calendar² Pro.
wp calendar2 import tec-rest https://example.org
- Export and re-import. Export events as iCal or CSV and import them into the new plugin. This creates new posts, so links, comments and SEO data don’t carry over by default, and repeating events need care.
- Another plugin’s importer. Sugar Calendar has an importer for The Events Calendar. Its documentation (updated 13 October 2026) says you need Sugar Calendar installed with a verified licence. We didn’t find a documented roll-back in those docs.
- The dry run says “Events Calendar Pro recurring series aren’t supported yet”. That’s the limit above, and nothing has changed. Stay on The Events Calendar for now, or tell us how many series you have.
- Prepare stopped halfway. Run
wp calendar2 migrate continue, or reopen Migrate, and it carries on from where it stopped. - A page looks different after the switch. Calendar² uses your theme’s fonts, colours and buttons, so layout can shift. Check the preview first, and roll back if you need time.
- A page cache shows old pages. Clear your cache after the switch.
- Our benchmark of version 1.0.0, 20 October 2026: The Events Calendar 6.18.1 test data, MariaDB 11 and PHP 8.3 with 2 CPUs and 768 MB per container. Times are wall clock, including start-up. 1,000 events took 26 seconds from dry run to switch. For 10,000 events, prepare took 251 to 490 seconds over two runs, the switch 13 seconds and the roll-back 7 seconds.
- The Events Calendar plans: Liquid Web, checked 25 October 2026.
- Event Tickets fees: Tickets Commerce documentation, updated 2 July 2026.
- Sugar Calendar’s importer: its documentation, updated 13 October 2026.
Moving a big calendar?
Send us the dry-run report and a person replies, usually within two UK working days, with what carries over and what doesn’t.