{"id":270210,"date":"2026-01-27T21:41:29","date_gmt":"2026-01-27T21:41:29","guid":{"rendered":"https:\/\/en-ca.wordpress.org\/plugins\/relatura-directory-optimizer\/"},"modified":"2026-03-21T20:01:34","modified_gmt":"2026-03-21T20:01:34","slug":"relatura-directory-optimizer","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/relatura-directory-optimizer\/","author":23427963,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.2.3","stable_tag":"0.2.3","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Relatura Directory Optimizer","header_author":"Relatura","header_description":"Normalize and improve how directory listings appear across modern discovery platforms.","assets_banners_color":"c1b3a3","last_updated":"2026-03-21 20:01:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/relatura-directory-optimizer\/","header_author_uri":"https:\/\/relatura.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":440,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"relatura","date":"2026-02-07 22:58:03"},"0.1.1":{"tag":"0.1.1","author":"relatura","date":"2026-02-13 01:54:13"},"0.1.2":{"tag":"0.1.2","author":"relatura","date":"2026-02-22 03:57:51"},"0.2.0":{"tag":"0.2.0","author":"relatura","date":"2026-03-07 22:27:52"},"0.2.1":{"tag":"0.2.1","author":"relatura","date":"2026-03-12 21:01:22"},"0.2.2":{"tag":"0.2.2","author":"relatura","date":"2026-03-13 21:34:04"},"0.2.3":{"tag":"0.2.3","author":"relatura","date":"2026-03-21 20:01:34"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3471368,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3448220,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3448220,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3471368,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0","0.1.1","0.1.2","0.2.0","0.2.1","0.2.2","0.2.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3487943,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3487943,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3487943,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3487943,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3487943,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Relatura analyzes your listings and detects issues instantly after activation.","2":"Messy listing data is cleaned into consistent, structured values.","3":"Review changes in preview mode before applying anything to your site.","4":"Clean, optimized data is stored separately without modifying original listings.","5":"Backend connection status showing API health and readiness."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2466,4528,46330,1117,1121],"plugin_category":[55],"plugin_contributors":[254793],"plugin_business_model":[],"class_list":["post-270210","plugin","type-plugin","status-publish","hentry","plugin_tags-directory","plugin_tags-listings","plugin_tags-normalization","plugin_tags-schema","plugin_tags-structured-data","plugin_category-seo-and-marketing","plugin_contributors-relatura","plugin_committers-relatura"],"banners":{"banner":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/banner-772x250.png?rev=3471368","banner_2x":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/banner-1544x500.png?rev=3448220","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/icon-128x128.png?rev=3471368","icon_2x":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/icon-256x256.png?rev=3448220","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/screenshot-1.png?rev=3487943","caption":"Relatura analyzes your listings and detects issues instantly after activation."},{"src":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/screenshot-2.png?rev=3487943","caption":"Messy listing data is cleaned into consistent, structured values."},{"src":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/screenshot-3.png?rev=3487943","caption":"Review changes in preview mode before applying anything to your site."},{"src":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/screenshot-4.png?rev=3487943","caption":"Clean, optimized data is stored separately without modifying original listings."},{"src":"https:\/\/ps.w.org\/relatura-directory-optimizer\/assets\/screenshot-5.png?rev=3487943","caption":"Backend connection status showing API health and readiness."}],"raw_content":"<!--section=description-->\n<p>Relatura Directory Optimizer analyzes your WordPress directory listings in seconds and shows you how to improve them with clean, consistent, structured data.<\/p>\n\n<p>Directory websites already contain valuable business and service information. Relatura adds a structured normalization layer on top of your existing content, without requiring you to rebuild your site or overwrite your original data.<\/p>\n\n<p>Instead of rewriting posts, Relatura generates normalized field values based on your configured mappings and stores them separately as post meta. Your original listing content remains intact.<\/p>\n\n<p>This creates a consistent internal representation of your directory data, helping standardize formatting and improve structured consistency across listings.<\/p>\n\n<h4>Why Normalization Matters<\/h4>\n\n<p>Directory data is often inconsistent:<\/p>\n\n<ul>\n<li>Phone numbers formatted differently<\/li>\n<li>Mixed capitalization<\/li>\n<li>Extra whitespace or hidden characters<\/li>\n<li>Inconsistent address structures<\/li>\n<li>Unstructured contact fields<\/li>\n<\/ul>\n\n<p>Relatura uses deterministic normalization, with support for AI-assisted processing where enabled.<\/p>\n\n<p>The result is optimized listings backed by a consistent, machine-readable structure.<\/p>\n\n<h4>Scan First. Then Optimize.<\/h4>\n\n<p>Relatura automatically analyzes your listings after activation and introduces a safe, scan-first workflow.<\/p>\n\n<p><em>Scan<\/em><br \/>\nPreview normalization results without writing data. Scan is read-only and allows administrators to review how mapped fields would be normalized.<\/p>\n\n<p><em>Optimize Listings<\/em><br \/>\nGenerate normalized field values using deterministic processing, with optional AI-assisted capabilities where configured.<\/p>\n\n<p>This approach ensures you can review all changes before applying them, with full control and no risk to your original data.<\/p>\n\n<h4>Core Features<\/h4>\n\n<ul>\n<li>Field mapping from directory data to a normalized schema<\/li>\n<li>Deterministic normalization with support for AI-assisted processing via secure external API<\/li>\n<li>Scan (read-only preview mode)<\/li>\n<li>Optimize Listings (stores normalized outputs separately)<\/li>\n<li>Execution summaries and per-listing normalized field storage<\/li>\n<li>Structured normalization layer stored independently from original data<\/li>\n<li>Compatible with directory-style custom post types<\/li>\n<li>Lays the foundation for AI-ready structured data (JSON-LD), helping machines better understand your listings. This is an early foundation and will expand over time.<\/li>\n<\/ul>\n\n<p>Relatura focuses on directory data normalization and structured consistency. It is not a traditional SEO plugin, and does not modify your original content.<\/p>\n\n<p>Relatura is in early live beta. Features and limits may evolve as the product matures.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>Relatura connects to a secure external API as part of its infrastructure.<\/p>\n\n<p>Purpose:\n- Supports future AI-powered enrichment features (planned)\n- Supports internal service infrastructure (e.g., usage controls, future analytics)<\/p>\n\n<p>Current behavior:\n- Core analysis and optimization in this version are performed locally within WordPress\n- The external API is not used for listing optimization in this release<\/p>\n\n<p>Data handling:\n- No listing content is sent to external services during standard optimization flows in this version\n- External API usage will be expanded and clearly user-controlled in future updates<\/p>\n\n<p>Note: Some AI provider options may appear in the interface as experimental features and may not be active in all versions.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the WordPress admin<\/li>\n<li>Configure directory field mappings<\/li>\n<li>Run Scan to preview normalization results<\/li>\n<li>Run Optimize Listings to generate normalized structured field values (stored separately)<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20an%20external%20service%3F\"><h3>Does this plugin require an external service?<\/h3><\/dt>\n<dd><p>Yes \u2014 Relatura connects to a secure external API as part of its infrastructure.<\/p>\n\n<p>In this version, core analysis and optimization are performed locally within WordPress.<\/p>\n\n<p>External API capabilities are reserved for future AI-assisted features and expanded functionality.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20modify%20my%20data%20automatically%3F\"><h3>Does this plugin modify my data automatically?<\/h3><\/dt>\n<dd><p>No.<\/p>\n\n<p>Relatura does not alter your original listing content.<\/p>\n\n<p>Scan is read-only and previews how mapped fields would be normalized.<\/p>\n\n<p>When you run Optimize Listings, Relatura generates normalized field values and stores them separately as post meta. Your original posts and custom fields remain unchanged.<\/p><\/dd>\n<dt id=\"does%20relatura%20output%20schema%20markup%20or%20json-ld%20to%20the%20frontend%3F\"><h3>Does Relatura output schema markup or JSON-LD to the frontend?<\/h3><\/dt>\n<dd><p>Yes.<\/p>\n\n<p>Relatura currently injects a lightweight JSON-LD  into the  of supported listing pages.<\/p>\n\n<p>This structured output is still early and will expand over time. Relatura\u2019s primary focus remains safe listing analysis, normalization, and improved machine readability.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Automatic first-run analysis after activation for immediate insights<\/li>\n<li>Improved Scan page clarity with clearer messaging, coverage indicators, and result summaries<\/li>\n<li>Fixed render-order issues causing first-run notice flicker and unified notice handling<\/li>\n<li>Improved diagnostic accuracy between automatic and manual analysis<\/li>\n<li>Reinforced safety messaging to clarify that original content is never modified<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Introduced deterministic field mapping suggestions on the Field Mapping page.<\/li>\n<li>Suggestions are generated using field-name heuristics and require explicit user acceptance.<\/li>\n<li>Existing mappings are never overwritten.<\/li>\n<li>Improves onboarding by reducing manual mapping configuration.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Improved Scan UX when listings are already well structured<\/li>\n<li>Improved Optimize guidance when field mappings are missing<\/li>\n<li>Improved diff behavior by automatically showing unchanged rows when no changes are detected<\/li>\n<li>Fix: Optimize preview table now uses a consistent sample listing across all fields<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Introduced deterministic optimization pipeline for directory listing fields<\/li>\n<li>Scan \/ Optimize \/ Apply workflow now produces consistent canonical results<\/li>\n<li>Canonical optimized values stored for title, description, phone, phone extension, email, and URL<\/li>\n<li>Deterministic optimization works locally without requiring the backend service<\/li>\n<li>Improved backend messaging and diagnostics for clearer installation status<\/li>\n<li>Updated screenshots and documentation to reflect the new optimization workflow<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Introduced Scan-first workflow for safer preview of normalization results<\/li>\n<li>Updated UI terminology from \"Normalize\" to \"Optimize\"<\/li>\n<li>Improved result labeling and execution summaries<\/li>\n<li>Added fallback handling when field mappings are incomplete<\/li>\n<li>Refined activation and first-run admin UX clarity<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fix: Corrected WordPress.org release packaging (ensures latest code is distributed).<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Analyze and optimize WordPress directory listings into consistent, structured formats \u2014 without altering your original content.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/270210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=270210"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/relatura"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=270210"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=270210"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=270210"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=270210"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=270210"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=270210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}