Events Optimizer
Events Optimizer helps you build a cleaner, more complete, and easier-to-maintain WordPress event calendar for The Events Calendar. Use it to find incomplete event, venue, and organizer data, merge duplicate venues and organizers, enrich location details with Google Places, import events from Google Events, check URLs and email addresses, and create engaging event descriptions with AI. Instead of manually fixing missing venue details, duplicate organizer records, weak event copy, outdated links, or incomplete event data, Events Optimizer gives you focused cleanup and automation tools directly inside the WordPress admin area. What Events Optimizer helps you do Clean up incomplete event, venue, and organizer data. Find and merge duplicate venues and organizers. Improve events with missing websites, costs, images, venues, or organizers. Find and fix venues with missing ZIP codes, cities, provinces, phone numbers, or website details. Find and fix organizers with missing phone numbers, websites, or email addresses. Prepare your event calendar for better SEO, better user experience, and easier maintenance. Why event calendar managers use Events Optimizer Save time on repetitive event data cleanup. Keep your WordPress event calendar more accurate and complete. Improve the quality of your event, venue, and organizer pages. Reduce manual work when importing or maintaining large numbers of events. Create better event descriptions with AI that match your website, audience, language, and tone. Free Features Check events for incomplete or incorrect data. Check venues for incomplete or incorrect data. Check organizers for incomplete or incorrect data. Find duplicate venues and organizers. Merge duplicate venue and organizer records. Improve data quality for calendars powered by The Events Calendar. Unlock more automation with Events Optimizer Pro Events Optimizer Pro adds AI content generation, Google Events import, Google Places enrichment, URL security checks, email validation, guided setup workflows, and more time-saving automation. Pro Features 🤖 AI-Powered Content Generation Generate engaging event descriptions automatically using leading AI models. Generate venue and organizer descriptions. Create descriptions in any language. Save hours of manual writing while maintaining quality and consistency. Use website context and target audience settings so AI-generated content better matches your editorial focus. Choose options such as tone, HTML output, FAQ sections, and emoji usage. Access 60+ integrated AI models through OpenRouter and direct provider APIs. Use models from OpenAI, Anthropic, Google Gemini, Mistral AI, DeepSeek, Qwen, Groq, and Meta / Llama, depending on your configuration. 🔍 Automated Event Discovery Find relevant events on Google Events. Import events into The Events Calendar. Use import profiles for different locations, languages, and event sources. Avoid re-importing events that already exist. Add missing organizer email addresses from event or organizer websites. Detect event costs from event websites. Add event images from Google Images where available. 📍 Smart Location Verification Verify and enrich venue and organizer address data with Google Places. Add missing ZIP codes, cities, regions, countries, phone numbers, websites, and location details. Retrieve real-time business status such as open, closed, or temporarily closed. Add richer location data such as opening hours, photos, reviews, latitude, and longitude where available. Configure Google Places enrichment fields to control API usage and costs. 🛡️ URL, Email, and Security Checks Check external URLs for availability, redirects, and technical issues. Fix missing HTTP / HTTPS issues. Validate email addresses. Check URLs with Google Safe Browsing. Protect visitors from unsafe, broken, outdated, or unreachable links. Improve URL quality across imports, cleanup workflows, Google Places updates, organizer email discovery, and cost detection. 🚀 Guided Setup Use the 4-step Setup Guide to configure AI, website context, Google Places, and DataForSEO. Run built-in connection checks for important APIs. Reduce setup errors with clearer configuration guidance. Get started faster with a structured onboarding workflow. 🌍 International Event Calendar Support Use international phone number formats. Validate and normalize phone numbers based on your selected format. Use local language settings for Google Places matching. Use region-specific address formatting. Translate Events Optimizer into additional languages. ✨ Supported AI Providers and Models in Pro Events Optimizer Pro supports more than 60 Large Language Models. New models are added regularly. Supported providers include: Anthropic Claude Google Gemini Groq Mistral AI OpenAI OpenRouter DeepSeek Meta / Llama Qwen Examples of supported model families include GPT-5.x, Claude Haiku 4.5, Claude Sonnet 4.6, Claude Opus 4.7, Gemini 3.x previews, Mistral Large, Mistral Medium, Mistral Small, DeepSeek R1, DeepSeek V3, Qwen, and Llama models. For the current model list, see the plugin settings and the Events Optimizer documentation. Build a cleaner, smarter, and more reliable event calendar with Events Optimizer. Translations Events Optimizer currently includes: English German Spanish (AI translated) You are welcome to help translate the plugin. The free version can be translated on translate.wordpress.org. To translate the Pro version, use the .pot file in the languages folder and contact us through the Events Optimizer website. Documentation Find detailed setup manuals and more information on our website.
Top keywords
- events25×3.14%
- event21×2.64%
- google14×1.76%
- events optimizer12×1.51%
- optimizer12×1.51%
- ai10×1.26%
- data10×1.26%
- organizer10×1.26%
- calendar9×1.13%
- email7×0.88%
- find7×0.88%
- google places7×0.88%
Keyring Social Importers
Please read about each importer before running this plugin. This package of social importers provide you with the ability to pull in your content that gets created on other sites, and re-publish it on your own WordPress site. Rather than leaving others in control of everything you’ve put time and effort into, why not host it yourself on your one true, home-on-the-web, WordPress? Read more about this technique/approach to data ownership. After an initial import, all of these importers can also optionally check each hour and automatically download new content as well, keeping things in sync over time. They all currently import as Posts, with specific Post Formats, depending on the content type. Importers included currently: Delicious Fitbit Flickr Foursquare/Swarm Instagram Instapaper Jetpack/WordPress.com Moves Nest Cameras Pinterest Pocket Strava TripIt Twitter You can potentially write your own importers as well, using the base class included. Importers Common Features If you select to ‘auto-import new content’, all importers will check once per hour for new content. All posts created by the importers are associated with a taxonomy called keyring_service, which allows you to filter/select them. Appears in wp-admin as “Imported From” under the Posts menu. Every attempt is made to download/store as much data as possible, and use it intelligently (e.g. tags). Raw import data is stored in a custom field (raw_import_data) as a json_encode()ed string. Delicious Every bookmark from your Delicious account is imported as a post. All imported posts are marked with the ‘link’ Post Format. delicious_id and the href/link itself are saved as custom fields. Tags used on Delicious are used in WordPress. Fitbit Very basic for now, just imports your data and creates a simple summary post. Summary post only contains a statement about how many steps you took that day. Flickr Every photo in your Flickr account is downloaded (the actual, original image) and imported into your Media Library. For every photo, a Post is created and published, containing that one image (and it is attached within WordPress). Posts are marked with the ‘image’ Post Format. Posts are created with the publish date matching the ‘Taken’ date of the photo. The modified date (of the Post) is set to the ‘Upload’ date from Flickr. There is no support/handling of Galleries, Sets or anything else in Flickr, just one Post per photo. Tags used on Flickr are used on WordPress. If available, geo data is downloaded and stored per the WordPress Geodata guidelines. flickr_id and the full URL to the photo page are stored as custom fields. Foursquare Imports each check-in on Foursquare as a separate Post. Marks those Posts with the ‘status’ Post Format. foursquare_id plus geo lat/long are stored as separate custom fields, per the WordPress Geodata guidelines. Instagram Each photo on your Instagram account is downloaded and imported into your Media Library. For every photo, a Post is created and published, containing that one image (and it is attached within WordPress). Posts are marked with the ‘image’ Post Format. The name of the filter used is stored as instagram_filter, the URL to the photo page is stored as instagram_url. Instapaper Imports your Archived links and creates a post for each of them (with post format of Link). Uses the title from the document in Instapaper, if there is a description associated then it uses that as well. NEW: Downloads the full content of the article using Instapaper’s API, and stores that in the post content, so that you can search it later. Disable it by creating a stub plugin, or dropping this in your theme’s functions.php; add_filter( ‘keyring_instapaper_download_article_texts’, ‘__return_false’ ); Jetpack/WordPress.com Import posts from either self-hosted, or hosted copies of WordPress, via the Jetpack/WordPress.com API. Post author is always overridden. Tags, content, title, excerpt are all carried over. Moves Imports your data daily. Creates a summary post, which is a bulleted list detailing each category of activity for the day. Stores raw and summary data for further processing. Nest (Camera) Allows you to pick hours of the day to take snapshots from your cameras. You can pick anything between no snapshots, or one every hour, per camera. Each snapshot will be downloaded directly into your Media Library. Each snapshot will also be published as a Post (with post type of “image”) using the Author/Category/Tag options you select. If you click the “Check For New Content Now” button, when configured for auto-import, then all cameras with at least one scheduled snapshot will take one right now, regardless of what time they’re scheduled (good for verifying that things work, or taking a specific snapshot for whatever reason). Does not require a Nest Aware subscription, since the relatively infrequent snapshots are under request limits. Pinterest NEW: This is a new addition, and is pretty rough still. Not recommended for production sites. Imports every individual pin as a post (can be a LOT), with a Post Format of “image”. Stores the image for each pin in your Media Library. Pocket Imports links and creates a post for each of them, with the Link post format. Uses as many details (e.g. title) as possible from Pocket. Strava Activities are imported as new Posts. * Activity type is stored as post meta for easier querying. GPS data is stored as an encoded polyline if available. [https://github.com/emcconville/google-map-polyline-encoding-tool](Google Maps Polyline Encoding Tool) has been tested to work well with the data. Stores raw and summary data for further processing. Currently does NOT download any media or support People & Places. TripIt Trips are imported, with flights mapped and posted as Status-format posts. Geo data is stored using something resembling the WordPress Geodata guidelines. Posts are tagged using airport codes and city names. Now supports paging through the API to avoid timeouts on accounts with lots of trip data. Twitter Every tweet will be downloaded as an individual Post. Posts are marked with the ‘aside’ Post Format. If available, geo data is downloaded and stored per the WordPress Geodata guidelines. Twitter_id and twitter_permalink are stored. If your tweet contains #hashtags, they are applied as tags within WordPress. “Entities” are expanded (URLs are not t.co, they are the real/final URLs).