{"id":325119,"date":"2026-06-30T12:33:46","date_gmt":"2026-06-30T12:33:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/iti-digital-ai-ready-events-places\/"},"modified":"2026-06-30T13:56:24","modified_gmt":"2026-06-30T13:56:24","slug":"itidi-ai-events-places","status":"publish","type":"plugin","link":"https:\/\/ms.wordpress.org\/plugins\/itidi-ai-events-places\/","author":23495907,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"trunk","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ITI Digital AI-Ready Events & Places","header_author":"ITI Digital","header_description":"AI-ready Events and Places content delivery for WordPress with SEO, schema, discoverability, and real-time rendering support.","assets_banners_color":"200537","last_updated":"2026-06-30 13:56:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/iti-digital.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3591606,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3591606,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3591606,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3591606,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3591517,"resolution":"1","location":"assets","locale":"","width":1252,"height":813},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3591517,"resolution":"2","location":"assets","locale":"","width":1253,"height":1165},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3591517,"resolution":"3","location":"assets","locale":"","width":1254,"height":1116},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3591517,"resolution":"4","location":"assets","locale":"","width":1254,"height":1232},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3591517,"resolution":"5","location":"assets","locale":"","width":1259,"height":1165},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3591517,"resolution":"6","location":"assets","locale":"","width":1251,"height":1140}},"screenshots":{"1":"General plugin configuration and cleanup settings.","2":"Events module settings, dynamic routes, and shortcode options.","3":"Places module settings and listing configuration.","4":"SEO tools including dynamic sitemap, canonical handling, and staging mode.","5":"Cache tools, webhook configuration, and cache management.","6":"Help tab with setup guidance, documentation links, and shortcode examples."}},"plugin_section":[],"plugin_tags":[1486,17483,944,186,1557],"plugin_category":[40,55],"plugin_contributors":[269591],"plugin_business_model":[],"class_list":["post-325119","plugin","type-plugin","status-publish","hentry","plugin_tags-events","plugin_tags-places","plugin_tags-search","plugin_tags-seo","plugin_tags-sitemap","plugin_category-calendar-and-events","plugin_category-seo-and-marketing","plugin_contributors-itidigital","plugin_committers-itidigital"],"banners":{"banner":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/banner-772x250.png?rev=3591606","banner_2x":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/banner-1544x500.png?rev=3591606","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/icon-128x128.png?rev=3591606","icon_2x":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/icon-256x256.png?rev=3591606","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/screenshot-1.png?rev=3591517","caption":"General plugin configuration and cleanup settings."},{"src":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/screenshot-2.png?rev=3591517","caption":"Events module settings, dynamic routes, and shortcode options."},{"src":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/screenshot-3.png?rev=3591517","caption":"Places module settings and listing configuration."},{"src":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/screenshot-4.png?rev=3591517","caption":"SEO tools including dynamic sitemap, canonical handling, and staging mode."},{"src":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/screenshot-5.png?rev=3591517","caption":"Cache tools, webhook configuration, and cache management."},{"src":"https:\/\/ps.w.org\/itidi-ai-events-places\/assets\/screenshot-6.png?rev=3591517","caption":"Help tab with setup guidance, documentation links, and shortcode examples."}],"raw_content":"<!--section=description-->\n<p>SEO-friendly Events and Places integration for WordPress powered by the ITI Digital platform.<\/p>\n\n<p>AI-ready Events and Places content delivery for WordPress with SEO-friendly URLs, schema-ready rendering, dynamic sitemap support, optional WordPress search integration, API key support, and real-time discoverability tools.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>API key support for authenticated ITI Digital API requests<\/li>\n<li>Server-side rendered HTML optimized for SEO and AI-assisted search discoverability<\/li>\n<li>Clean, SEO-friendly URLs using WordPress rewrite rules<\/li>\n<li>Dynamic XML sitemap for ITI Digital content<\/li>\n<li>Canonical URL caching for improved SEO<\/li>\n<li>Support for detail base pages with structured URLs:\n\n<ul>\n<li>Events: <code>\/e\/<\/code><\/li>\n<li>Places: <code>\/p\/<\/code><\/li>\n<\/ul><\/li>\n<li>Staging mode to safely test canonical and sitemap URLs<\/li>\n<li>Automatic trailing slash handling based on WordPress settings<\/li>\n<li>Automatic sitemap exclusion support for internal SSR layout pages<\/li>\n<li>Automatic cache refresh for SSR listing pages<\/li>\n<li>Manual cache refresh and URL purge tools<\/li>\n<li>Webhook endpoint for real-time Event and Place cache invalidation<\/li>\n<li>Dynamic route cache exclusion recommendations<\/li>\n<li>Optional WordPress search integration for Event and Place results<\/li>\n<li>Theme-overridable search templates for frontend customization<\/li>\n<\/ul>\n\n<h3>Important Notes<\/h3>\n\n<ul>\n<li>Save Permalinks after changing routes<\/li>\n<li>Avoid creating child pages under the selected base pages that use the reserved paths \/e\/ (Events) or \/p\/ (Places), as they may conflict with dynamic detail URLs.<\/li>\n<li>Staging mode should not be used on production sites<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/itidi-ai-events-places<\/code><\/li>\n<li>Activate the plugin through the WordPress admin<\/li>\n<li>Go to <strong>Settings \u2192 ITI Digital Events &amp; Places<\/strong><\/li>\n<li>Enter the Hubname and API Key provided by ITI Digital<\/li>\n<li>Enable Events and\/or Places modules<\/li>\n<li>Select an SSR layout page for detail rendering. This page must include the related content shortcode.<\/li>\n<li>Select detail base pages (pages with listing shortcodes)<\/li>\n<li>Optionally enable Events and\/or Places in WordPress search<\/li>\n<li>Save settings<\/li>\n<li>Go to <strong>Settings \u2192 Permalinks<\/strong> and click Save<\/li>\n<\/ol>\n\n<p>(Layout pages are used internally as SSR rendering containers and are not intended to function as standalone public landing pages.)<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20this%20plugin%20require%3F\"><h3>What does this plugin require?<\/h3><\/dt>\n<dd><p>You need an active ITI Digital hub and valid hub configuration on the ITI Digital platform.<\/p><\/dd>\n<dt id=\"is%20an%20api%20key%20required%3F\"><h3>Is an API key required?<\/h3><\/dt>\n<dd><p>Yes. A valid ITI Digital API key is required for authenticated API requests.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20without%20an%20iti%20digital%20hub%3F\"><h3>Does this plugin work without an ITI Digital hub?<\/h3><\/dt>\n<dd><p>No. The plugin depends on external ITI Digital API responses.<\/p><\/dd>\n<dt id=\"why%20are%20some%20tabs%20hidden%20in%20settings%3F\"><h3>Why are some tabs hidden in settings?<\/h3><\/dt>\n<dd><p>The plugin checks the configured hub and only shows modules enabled for that hub.<\/p><\/dd>\n<dt id=\"how%20do%20i%20reset%20the%20plugin%20connection%3F\"><h3>How do I reset the plugin connection?<\/h3><\/dt>\n<dd><p>Use the Disconnect button in the General tab. This clears the saved hub connection and returns the plugin to first-time setup state.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20add%20schema%3F\"><h3>Does the plugin add schema?<\/h3><\/dt>\n<dd><p>The plugin uses ITI Digital API content and can suppress default schema from supported SEO plugins on dynamic event and place routes.<\/p><\/dd>\n<dt id=\"which%20seo%20plugins%20are%20supported%3F\"><h3>Which SEO plugins are supported?<\/h3><\/dt>\n<dd><p>The plugin includes compatibility handling for:\n* Rank Math\n* Yoast SEO\n* All in One SEO<\/p><\/dd>\n<dt id=\"why%20are%20my%20urls%20not%20working%3F\"><h3>Why are my URLs not working?<\/h3><\/dt>\n<dd><p>Make sure you saved WordPress Permalinks after updating settings.<\/p><\/dd>\n<dt id=\"why%20is%20my%20canonical%20url%20different%3F\"><h3>Why is my canonical URL different?<\/h3><\/dt>\n<dd><p>Check if Staging mode is enabled.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20listing%20pages%3F\"><h3>Can I use multiple listing pages?<\/h3><\/dt>\n<dd><p>Yes, you can select multiple detail base pages.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20cache%20invalidation%20webhooks%3F\"><h3>Does the plugin support cache invalidation webhooks?<\/h3><\/dt>\n<dd><p>Yes. The plugin provides a secure webhook endpoint that can be used by the ITI Digital platform to notify WordPress when Event or Place content changes.\nThe webhook can automatically refresh listing pages and invalidate cached detail pages.<\/p><\/dd>\n<dt id=\"can%20events%20and%20places%20appear%20in%20wordpress%20search%20results%3F\"><h3>Can Events and Places appear in WordPress search results?<\/h3><\/dt>\n<dd><p>Yes. Events and Places can be included in WordPress search results when enabled from the Events and Places settings tabs.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20search%20result%20templates%3F\"><h3>Can I customize the search result templates?<\/h3><\/dt>\n<dd><p>Yes. Search templates can be overridden from the active theme under <code>itidi-ai-events-places\/search\/<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with SSR support for Events and Places<\/li>\n<li>API key authentication support<\/li>\n<li>Optional WordPress search integration for Event and Place results<\/li>\n<li>Theme-overridable search templates<\/li>\n<li>Dynamic sitemap<\/li>\n<li>Canonical URL caching<\/li>\n<li>Staging URL replacement<\/li>\n<li>Improved routing with \/e\/ and \/p\/<\/li>\n<li>Automatic sitemap exclusion support for internal SSR layout pages<\/li>\n<li>Automatic cache refresh system<\/li>\n<li>Manual cache management tools<\/li>\n<li>Secure webhook-based cache invalidation<\/li>\n<li>Dynamic route cache exclusion recommendations<\/li>\n<li>SSR cache refresh support for Event and Place listings<\/li>\n<li>Support for Rank Math, Yoast SEO, and All in One SEO<\/li>\n<li>Legacy Embed Finder migration helper<\/li>\n<li>AI discoverability and structured content optimization<\/li>\n<\/ul>","raw_excerpt":"SEO-friendly Events and Places integration for WordPress powered by the ITI Digital platform.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/325119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=325119"}],"author":[{"embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/itidigital"}],"wp:attachment":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=325119"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=325119"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=325119"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=325119"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=325119"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=325119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}