[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fg1NunTWAOzftFNly_7QjAi-qUHKgr2L9WHgjWhEs1Xo":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":131,"fingerprints":485},"sfr-directory-map","SFR Directory Map","1.6.4","SupportFromRichard","https:\u002F\u002Fprofiles.wordpress.org\u002Fsupportfromrichard\u002F","\u003Cp>\u003Cstrong>Professional Directory Maps – Free\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>SFR Directory Map displays your Directorist directory listings on interactive OpenStreetMap maps with marker clustering, rich popups, and search functionality.\u003C\u002Fp>\n\u003Cp>Perfect for Directorist users who want to visualise their listings geographically without expensive premium subscriptions.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Frwjemmett.com\u002Ffreelance-photograhy-and-photography-businesses-woldwide\u002F?utm_source=Wordpress+Repo&utm_medium=referral&utm_campaign=plugin\" rel=\"nofollow ugc\">See the free version in action \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Why Geographic Visualisation Matters\u003C\u002Fh4>\n\u003Cp>Maps help users find listings near them quickly. Visual location data improves user experience and engagement.\u003C\u002Fp>\n\u003Cp>Enhance your directory with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Better user experience through visual location discovery\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Improved engagement with interactive maps\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Professional geographic presentation\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Clear location-based navigation\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free Forever\u003C\u002Fh4>\n\u003Cp>Professional map functionality shouldn’t require expensive subscriptions. SFR Directory Map gives you real value at no cost:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>FREE Version\u003C\u002Fstrong> – Full interactive maps, marker clustering, rich popups, search analytics\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Pro Version\u003C\u002Fstrong> – Optional upgrade for custom pin colours, heatmaps, CSV export, advanced styling\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Directorist Only\u003C\u002Fh4>\n\u003Cp>This plugin is specifically designed for Directorist and requires Directorist to be installed and active. It automatically detects and integrates with your Directorist listings.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Interactive Maps\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Uses OpenStreetMap with Leaflet.js for fast, responsive maps\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Marker clustering for better performance with large datasets\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Rich popups with listing images, addresses, phone numbers, and categories\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Responsive design works perfectly on mobile and desktop\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>AJAX loading for fast, dynamic content without page refreshes\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Search & Analytics\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Track what users search for with anonymous statistics\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Search analytics dashboard in admin\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Success rate tracking\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Popular search terms analysis\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Admin Configuration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Customizable default location and zoom settings\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Category filtering support\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Flexible shortcode parameters\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Support From Richard Toolkit\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Launch companion dashboards for Analytics and Category Display plugins\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Quick access to other SFR plugins\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Direct links to free website tools directory\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Seamless ecosystem integration\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Privacy-Focused\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>All functionality runs locally on your WordPress installation\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>No external API calls or data sharing\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Anonymous analytics only (no personal data)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Lightweight and cache-friendly\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Use the shortcode \u003Ccode>[sfr_directory_map]\u003C\u002Fcode> on any page or post to display your directory listings on an interactive map.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available Parameters:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>height\u003C\u002Fcode> – Map height (default: 500px)\u003Cbr \u002F>\n* \u003Ccode>category\u003C\u002Fcode> – Filter by category slug\u003Cbr \u002F>\n* \u003Ccode>post_type\u003C\u002Fcode> – Specify post type or “auto” to detect\u003Cbr \u002F>\n* \u003Ccode>cluster\u003C\u002Fcode> – Enable marker clustering (true\u002Ffalse)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Examples:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [sfr_directory_map]\u003Cbr \u002F>\n    [sfr_directory_map height=”600px”]\u003Cbr \u002F>\n    [sfr_directory_map category=”restaurants”]\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>This plugin does not collect, store, or transmit any personal data. Map data is loaded directly from your WordPress database and displayed using OpenStreetMap tiles.\u003C\u002Fp>\n\u003Cp>The optional analytics feature tracks search terms anonymously (no IP addresses, no personal data). You can disable analytics at any time in the plugin settings.\u003C\u002Fp>\n\u003Ch3>Additional Info\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>The Complete Directory Toolkit\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>SFR Directory Map is part of an integrated three-plugin ecosystem:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>SFR Directory Map\u003C\u002Fstrong> – Visualise geographic distribution\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>SFR Directory Analytics\u003C\u002Fstrong> – Understand what’s performing\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>SFR Directory Category Display\u003C\u002Fstrong> – Optimise category presentation\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Use them together for comprehensive directory management across Directorist platforms.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why Choose SFR Directory Map?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Maps help users find listings near them quickly. Visual location data improves user experience, engagement, and helps users discover relevant listings based on proximity.\u003C\u002Fp>\n\u003Cp>Whether you’re running a business directory, classifieds site, or local listings portal – interactive maps improve user experience and overall directory quality.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Get Started Today\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Install the free plugin\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add the shortcode to any page or post\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Customise settings as needed\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>No configuration required. Beautiful maps instantly.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Documentation & Support\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsupportfromrichard.co.uk\u002Fsfr-directory-map\u002F\" rel=\"nofollow ugc\">Full Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsupportfromrichard.co.uk\u002Fsfr-directory-map\u002F#pro\" rel=\"nofollow ugc\">Pro Version Info\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsfr-directory-map\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Other SFR Directory Plugins\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsfr-directory-analytics\u002F\" rel=\"ugc\">SFR Directory Analytics\u003C\u002Fa> – Track listing performance\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsfr-directory-category-display\u002F\" rel=\"ugc\">SFR Directory Category Display\u003C\u002Fa> – Optimise category presentation\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Made with ❤️ by directory owners, for directory owners\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, please visit the WordPress.org support forum for this plugin or contact us at plugins@supportfromrichard.co.uk\u003C\u002Fp>\n","Display your Directorist directory listings on beautiful interactive maps with OpenStreetMap, marker clustering, and rich popups.",10,489,0,"2026-02-11T14:38:00.000Z","6.9.4","5.0","7.4",[19,20,21,22,23],"directorist","directory","location","map","openstreetmap","https:\u002F\u002Fsupportfromrichard.co.uk\u002Fplugins\u002Fsfr-directory-map\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsfr-directory-map.1.6.4.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"supportfromrichard",6,70,30,94,"2026-04-04T15:13:17.479Z",[38,61,77,101,114],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":15,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":56,"download_link":57,"security_score":58,"vuln_count":59,"unpatched_count":13,"last_vuln_date":60,"fetched_at":28},"wp-google-map-plugin","WP Maps – Store Locator,Google Maps,OpenStreetMap,Mapbox,Listing,Directory & Filters","4.9.2","Flipper Code - WordPress Development Company","https:\u002F\u002Fprofiles.wordpress.org\u002Fflippercode\u002F","\u003Cp>\u003Cstrong>WP Maps\u003C\u002Fstrong> is a powerful and user-friendly WordPress map plugin that supports both Google Maps and OpenStreetMap. With just a few clicks, you can create unlimited maps with custom markers, filterable listings, store locators, and dynamic infowindows. Perfect for real estate listings, directories, multi-location businesses, and more.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Unlimited maps and locations\u003C\u002Fli>\n\u003Cli>Store locator with search and filters\u003C\u002Fli>\n\u003Cli>Custom markers, SVG support, and clustering\u003C\u002Fli>\n\u003Cli>Info windows on click or hover\u003C\u002Fli>\n\u003Cli>KML, KMZ, GeoJSON, and layer integration\u003C\u002Fli>\n\u003Cli>OpenStreetMap Maps require no API key; Google Maps support available\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Try It Now\u003C\u002Fh3>\n\u003Cp>Explore the plugin instantly using the WordPress Playground:\u003Cbr \u002F>\n👉 \u003Ca href=\"https:\u002F\u002Fplayground.wordpress.net\u002F?plugin=wp-google-map-plugin\" rel=\"nofollow ugc\">Try WP Maps\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Ch3>🗺️ Map Creation & Display\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create unlimited maps with shortcode support\u003C\u002Fli>\n\u003Cli>Display maps in posts, pages, widgets\u003C\u002Fli>\n\u003Cli>Auto-center by visitor location or assigned locations\u003C\u002Fli>\n\u003Cli>Show\u002Fhide markers on load\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📌 Marker & Infowindow Controls\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Use custom or pre-built marker icons (SVG supported)\u003C\u002Fli>\n\u003Cli>Infowindows on click or hover\u003C\u002Fli>\n\u003Cli>Bounce\u002Fdrop animation effects\u003C\u002Fli>\n\u003Cli>Center or zoom on marker click\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📋 Listings & Filters\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Show listing below map with search and filters\u003C\u002Fli>\n\u003Cli>Enable category, sort, per-page, and filters\u003C\u002Fli>\n\u003Cli>Customize listing layout\u003C\u002Fli>\n\u003Cli>Show info window when listing title is clicked\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🎨 Design & Themes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom map color schema\u003C\u002Fli>\n\u003Cli>Set primary\u002Fsecondary color\u003C\u002Fli>\n\u003Cli>Add custom CSS\u003C\u002Fli>\n\u003Cli>Responsive & mobile-friendly design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>⚙️ Controls & Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Enable\u002Fdisable zoom, fullscreen, map type, scale, street view\u003C\u002Fli>\n\u003Cli>Enable search box and “locate me” controls\u003C\u002Fli>\n\u003Cli>Limit panning using SW\u002FNE coordinates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌐 Map Layers & Data\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>KML\u002FKMZ, Traffic, Transit, Bicycling layers\u003C\u002Fli>\n\u003Cli>GeoJSON support\u003C\u002Fli>\n\u003Cli>Import\u002Fexport settings via JSON\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>💻 Compatibility\u003C\u002Fh3>\n\u003Cp>Works with all major page builders and themes:\u003Cbr \u002F>\n* Elementor, WPBakery, Divi, Gutenberg, Brizy, Beaver Builder\u003Cbr \u002F>\n* Astra, Avada, OceanWP, GeneratePress, Hello Elementor\u003C\u002Fp>\n\u003Cp>Here is a quick highlight on the numerous customizable features offered by the free and pro versions of the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.wpmapspro.com?utm_source=wordpress&utm_medium=liteversion&utm_campaign=freemium&utm_id=freemium\" rel=\"nofollow ugc\">WP MAPS PRO Version\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>NO API Key required for OpenStreetMap Maps and API Keys is required for Google Maps.\u003C\u002Fli>\n\u003Cli>Fully GDPR-compliant Google Maps integration for secure and privacy-friendly usage\u003C\u002Fli>\n\u003Cli>Use Google Maps, OpenStreetMap or Mapbox as your map provider. Easy switching between each map provider.\u003C\u002Fli>\n\u003Cli>Show a listing of locations below the map with built-in search and filter controls\u003C\u002Fli>\n\u003Cli>Use SVG as marker icons – choose from pre-built SVGs or upload your own\u003C\u002Fli>\n\u003Cli>Apply multiple Infowindow designs for custom popup layouts\u003C\u002Fli>\n\u003Cli>Create unlimited Google\u002FLeaflet Maps with custom marker icons, categories, and assigned locations\u003C\u002Fli>\n\u003Cli>Add and manage multiple locations with rich content and info windows\u003C\u002Fli>\n\u003Cli>Assign multiple locations to a single map for complex layouts\u003C\u002Fli>\n\u003Cli>Show info windows on click or hover with customizable content\u003C\u002Fli>\n\u003Cli>Display maps on any post, page, or widget using shortcode or sidebar widget\u003C\u002Fli>\n\u003Cli>Define custom center latitude\u002Flongitude for each map\u003C\u002Fli>\n\u003Cli>Auto-center map based on assigned locations\u003C\u002Fli>\n\u003Cli>Categorize locations for filterable maps and better organization\u003C\u002Fli>\n\u003Cli>Choose from over 100+ ready-to-use colorful markers via \u003Ca href=\"https:\u002F\u002Fmapicons.mapsmarker.com\u002F\" rel=\"nofollow ugc\">Map Icons Collection\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Enable marker clustering to handle dense location areas\u003C\u002Fli>\n\u003Cli>Choose from 4 map types: Roadmap, Satellite, Hybrid, and Terrain\u003C\u002Fli>\n\u003Cli>Set custom map height, width, and zoom level easily\u003C\u002Fli>\n\u003Cli>Enable or disable map drag, scroll zoom, and interactivity\u003C\u002Fli>\n\u003Cli>Add layers like Traffic, Transit, Bicycling, and more for enhanced context\u003C\u002Fli>\n\u003Cli>Support for Street View, 45° imagery, and POV controls\u003C\u002Fli>\n\u003Cli>Add visual elements like circles to highlight areas\u003C\u002Fli>\n\u003Cli>Fully responsive maps – looks perfect on desktop, tablet, and mobile\u003C\u002Fli>\n\u003Cli>Cross-browser compatible – tested on IE8+, Chrome, Firefox, Safari\u003C\u002Fli>\n\u003Cli>Multilingual ready – supports WPML and translation plugins\u003C\u002Fli>\n\u003Cli>Works across WordPress Multisite, with network-wide activation support\u003C\u002Fli>\n\u003Cli>Easily style maps using Snazzy Maps\u003C\u002Fli>\n\u003Cli>Built-in search control to locate places directly on the frontend map\u003C\u002Fli>\n\u003Cli>Filter markers on the frontend by category\u003C\u002Fli>\n\u003Cli>Seamless upgrade to Pro – no data loss when switching from free to paid\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏬 Use Cases – Map Solutions for Every Business\u003C\u002Fh3>\n\u003Cp>WP Maps helps you build advanced location maps for any industry. From store locators to real estate maps, here are popular use cases powered by Google Maps or Leaflet:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>🛍️ Retail Store Locator – Showcase nearby outlets, branches, or chain locations  \u003C\u002Fli>\n\u003Cli>🍽️ Restaurant Locator – Help users find your cafes, diners, or food franchises  \u003C\u002Fli>\n\u003Cli>🏠 Real Estate Property Map – Display properties with filters for listings  \u003C\u002Fli>\n\u003Cli>🏥 Hospital & Clinic Map – Show medical centers, diagnostic labs & walk-ins  \u003C\u002Fli>\n\u003Cli>🏋️ Gym & Fitness Center Locator – Promote local gyms, yoga studios & wellness hubs  \u003C\u002Fli>\n\u003Cli>🛒 Shopping Mall Directory – Build interactive directories with category filters  \u003C\u002Fli>\n\u003Cli>🏨 Hotel & Resort Locator – List resorts, BnBs, and vacation rentals by location  \u003C\u002Fli>\n\u003Cli>🚗 Car Dealership Map – Map showrooms, service centers, and authorized dealers  \u003C\u002Fli>\n\u003Cli>🏦 Bank & ATM Locator – Help customers locate ATMs and branches  \u003C\u002Fli>\n\u003Cli>💊 Pharmacy Finder – Display medical stores and 24\u002F7 pharmacy locations  \u003C\u002Fli>\n\u003Cli>💅 Salon & Spa Locator – Show salons, nail bars, and beauty spas nearby  \u003C\u002Fli>\n\u003Cli>✂️ Barber Shop Locator – Map grooming centers, barbershops, and hair stylists  \u003C\u002Fli>\n\u003Cli>🎓 School & University Maps – Display educational institutions with filters  \u003C\u002Fli>\n\u003Cli>🎤 Event Venue Locator – Help users find event halls, venues, and stadiums  \u003C\u002Fli>\n\u003Cli>🎬 Cinema & Entertainment Map – List theaters, gaming zones, and arcades  \u003C\u002Fli>\n\u003Cli>🖼️ Museum & Art Gallery Locator – Showcase local exhibitions and museums  \u003C\u002Fli>\n\u003Cli>🏛️ Government Office Map – Map municipal offices, courts, or embassies  \u003C\u002Fli>\n\u003Cli>📦 Post Office & Courier Center Locator – Find shipping centers and drop boxes  \u003C\u002Fli>\n\u003Cli>⛪ Religious Center Locator – Show churches, mosques, temples, or community halls  \u003C\u002Fli>\n\u003Cli>📚 Library Map – Display public and academic library locations  \u003C\u002Fli>\n\u003Cli>🐾 Veterinary & Pet Store Map – Highlight vets, clinics, or pet supply stores  \u003C\u002Fli>\n\u003Cli>🔧 Hardware & Home Services Map – Show electricians, repair centers, or hardware stores  \u003C\u002Fli>\n\u003Cli>💼 Co-working Space Locator – Help users find shared office spaces or business hubs  \u003C\u002Fli>\n\u003Cli>🏗️ Construction & Project Map – Showcase new projects or development plots  \u003C\u002Fli>\n\u003Cli>🍷 Wine & Liquor Store Map – Find wine shops and liquor outlets with filters  \u003C\u002Fli>\n\u003Cli>🚴 Outdoor & Sports Store Map – Locate gear shops, bike rental points, etc.  \u003C\u002Fli>\n\u003Cli>🧸 Toy Store Locator – Promote branded or local toy stores  \u003C\u002Fli>\n\u003Cli>🌻 Garden Center & Nursery Map – Help users find garden shops and nurseries  \u003C\u002Fli>\n\u003Cli>📖 Bookstore Locator – Showcase independent and chain bookstores  \u003C\u002Fli>\n\u003Cli>📱 Electronics Store Map – Map mobile, computer, and appliance retailers  \u003C\u002Fli>\n\u003Cli>👗 Clothing Store Locator – Help users find fashion outlets and boutiques  \u003C\u002Fli>\n\u003Cli>🛠️ Service Center Locator – Map repair centers for electronics, cars, or devices  \u003C\u002Fli>\n\u003Cli>⚖️ Legal & Consultancy Locator – List law firms, advisors, and service offices  \u003C\u002Fli>\n\u003Cli>📄 Insurance Office Map – Show agents, offices, and policy assistance centers  \u003C\u002Fli>\n\u003Cli>🚛 Dealer & Warehouse Locator – Display regional warehouses and distributors  \u003C\u002Fli>\n\u003Cli>🍼 Childcare & Preschool Finder – Help parents locate daycares and nurseries  \u003C\u002Fli>\n\u003Cli>🛒 Supermarket & Grocery Store Map – Show supermarkets, mini-markets, or organic stores\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>💡 Whether you’re running a small local shop or a global brand, WP Maps helps you build responsive, searchable, and filterable maps tailored to your business.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Add your locations from \u003Cstrong>Add Location\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Create a map from \u003Cstrong>Add Map\u003C\u002Fstrong> and assign locations\u003C\u002Fli>\n\u003Cli>Use the shortcode (from \u003Cstrong>Manage Maps\u003C\u002Fstrong>) in posts, pages, or widgets\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cem>Note: Google Maps requires an API key. OpenStreetMap works without a key.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Important Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpmapspro.com\u002Ftry-now\u002F\" rel=\"nofollow ugc\">Live Demos\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpmapspro.com\u002Ftutorials\u002F\" rel=\"nofollow ugc\">Tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wpmapspro.com\u002Fmap-hooks\u002F\" rel=\"nofollow ugc\">Hooks & Filters\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fweplugins.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","WordPress map plugin for Google Maps, OpenStreetMap & Mapbox with store locator, filterable listings & custom markers.",60000,3554108,86,121,"2026-03-05T13:08:00.000Z","3.4","5.3",[20,54,22,23,55],"google-maps","store-locator","https:\u002F\u002Fweplugins.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-google-map-plugin.4.9.2.zip",88,21,"2026-03-22 11:17:17",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":34,"downloaded":69,"rating":13,"num_ratings":13,"last_updated":70,"tested_up_to":15,"requires_at_least":71,"requires_php":17,"tags":72,"homepage":75,"download_link":76,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"themecanvas-locations-for-elementor","ThemeCanvas Locations for Elementor with OpenStreetMap","1.3.2","Jonny Quinn","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemecanvas\u002F","\u003Cp>\u003Cstrong>ThemeCanvas Locations for Elementor with OpenStreetMap\u003C\u002Fstrong> lets you add beautiful, interactive maps to your Elementor pages using OpenStreetMap and Leaflet.js.\u003C\u002Fp>\n\u003Cp>Add interactive OpenStreetMap maps in Elementor with the ThemeCanvas Locations widget.\u003C\u002Fp>\n\u003Cp>This Elementor map plugin uses Leaflet.js to create fully customizable, responsive maps with unlimited location markers — no Google Maps API or tracking required.\u003C\u002Fp>\n\u003Cp>Ideal for building store locator maps, contact maps, or multi-location layouts directly within Elementor, using fast, GDPR-compliant OpenStreetMap data.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Manual Location Entry\u003C\u002Fstrong> – Add unlimited locations directly in the Elementor editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Pin Colors\u003C\u002Fstrong> – Set unique colors for each location marker or set a global default\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Map Style Themes\u003C\u002Fstrong> – Choose from 4 map styles: Standard, Dark, Humanitarian, or Terrain\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Interactive Popups\u003C\u002Fstrong> – Rich popup content with WYSIWYG editor and customizable max width\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Maps\u003C\u002Fstrong> – Control zoom level, map height, and scroll behavior\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Style Controls\u003C\u002Fstrong> – Customize popup title, link, and background colors\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Coordinate Validation\u003C\u002Fstrong> – Automatic validation ensures accurate map positioning\u003C\u002Fli>\n\u003Cli>\u003Cstrong>OpenStreetMap Integration\u003C\u002Fstrong> – Step-by-step instructions to find coordinates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully Responsive\u003C\u002Fstrong> – Works perfectly on all devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No API Key Required\u003C\u002Fstrong> – Unlike Google Maps, completely free to use\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GDPR Compliant\u003C\u002Fstrong> – No user tracking or data collection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight\u003C\u002Fstrong> – Only loads assets when widget is used\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Edit any page with Elementor\u003C\u002Fli>\n\u003Cli>Search for “ThemeCanvas Locations” widget\u003C\u002Fli>\n\u003Cli>Drag it to your page\u003C\u002Fli>\n\u003Cli>Click “Add Item” to create a location\u003C\u002Fli>\n\u003Cli>Follow the OpenStreetMap coordinate instructions\u003C\u002Fli>\n\u003Cli>Customize your map settings and styles\u003C\u002Fli>\n\u003Cli>Publish!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Finding Coordinates\u003C\u002Fh4>\n\u003Cp>The widget includes step-by-step instructions:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Open \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Search for your location\u003C\u002Fli>\n\u003Cli>Right-click on the exact spot\u003C\u002Fli>\n\u003Cli>Select “Show address”\u003C\u002Fli>\n\u003Cli>Copy coordinates from the sidebar\u003C\u002Fli>\n\u003Cli>Paste into the widget\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 6.0 or higher\u003C\u002Fli>\n\u003Cli>Elementor 3.0.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Built by \u003Ca href=\"https:\u002F\u002Fthemecanvas.co.uk\u002F\" rel=\"nofollow ugc\">Jonny Quinn\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Powered by \u003Ca href=\"https:\u002F\u002Fleafletjs.com\" rel=\"nofollow ugc\">Leaflet.js\u003C\u002Fa> 1.9.4\u003C\u002Fli>\n\u003Cli>Map data © \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\u002Fcopyright\" rel=\"nofollow ugc\">OpenStreetMap\u003C\u002Fa> contributors\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Ch4>Browser Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Chrome (latest)\u003C\u002Fli>\n\u003Cli>Firefox (latest)\u003C\u002Fli>\n\u003Cli>Safari (latest)\u003C\u002Fli>\n\u003Cli>Edge (latest)\u003C\u002Fli>\n\u003Cli>Opera (latest)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Performance\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Lightweight – Only loads Leaflet library when widget is used\u003C\u002Fli>\n\u003Cli>No duplicate asset loading – Smart asset management\u003C\u002Fli>\n\u003Cli>Optimized for speed – Minimal overhead\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>This plugin does not:\u003Cbr \u002F>\n* Collect any user data\u003Cbr \u002F>\n* Use cookies\u003Cbr \u002F>\n* Connect to external services (except OpenStreetMap tiles)\u003Cbr \u002F>\n* Track users\u003C\u002Fp>\n\u003Ch4>Developer Friendly\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Clean, well-documented code\u003C\u002Fli>\n\u003Cli>WordPress Coding Standards compliant\u003C\u002Fli>\n\u003Cli>Namespaced (LMFE)\u003C\u002Fli>\n\u003Cli>Extensible architecture\u003C\u002Fli>\n\u003Cli>Translation ready\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English (default)\u003C\u002Fli>\n\u003Cli>Translation ready – .pot file included\u003C\u002Fli>\n\u003Cli>Contribute translations via WordPress.org\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemecanvas.co.uk\u002Fthemecanvas-locations-for-elementor\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemecanvas.co.uk\u002Fdocs\u002Fthemecanvas-locations-for-elementor\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fthemecanvas-locations-for-elementor\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under GPL v2 or later.\u003C\u002Fp>\n\u003Cp>ThemeCanvas Locations for Elementor with OpenStreetMap\u003Cbr \u002F>\nCopyright (C) 2024 Jonny Quinn\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation; either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License along\u003Cbr \u002F>\nwith this program; if not, write to the Free Software Foundation, Inc.,\u003Cbr \u002F>\n51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\u003C\u002Fp>\n","Add beautiful OpenStreetMap locations to Elementor with manual coordinate entry and custom pin colors.",385,"2026-03-13T18:34:00.000Z","6.0",[73,74,21,22,23],"elementor","leaflet","https:\u002F\u002Fthemecanvas.co.uk\u002Fthemecanvas-locations-for-elementor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthemecanvas-locations-for-elementor.1.3.2.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":98,"download_link":99,"security_score":100,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"osm-categories","OSM Categories","0.1","Guido Handrick","https:\u002F\u002Fprofiles.wordpress.org\u002Fkito76\u002F","\u003Cp>OSM Categories embed an OpenStreetMap map to your page by using the OpenLayer API. For every category in your blog a differnt layer on your map show markers for every article with an geotag.\u003Cbr \u002F>\nYou just have to save the lon and lan parameters in a custom field. It’s possible to use different marker images for every category.\u003C\u002Fp>\n\u003Cp>In your page just insert the shortcode: [osm-cats]\u003C\u002Fp>\n\u003Cp>Open the plugin settings page for basic settings like:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>map dimensions\u003C\u002Fli>\n\u003Cli>map center point\u003C\u002Fli>\n\u003Cli>initial zoom faktor\u003C\u002Fli>\n\u003Cli>exclude categories\u003C\u002Fli>\n\u003Cli>article custom field for marker lon and lat parameters\u003C\u002Fli>\n\u003Cli>marker popup content\u003C\u002Fli>\n\u003Cli>marker images path\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>It’s still BETA so please send me feedback and your ideas! Thanx a lot.\u003C\u002Fp>\n","OpenStreetMap plugin to embed a map with markers to articles from different categories in different map layers.",20,4551,80,1,"2012-08-25T17:59:00.000Z","3.4.2","3.0","",[94,95,96,97,23],"geocache","geocaching","geolocation","geotag","http:\u002F\u002Fkito.github.com\u002FOSM-Categories\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fosm-categories.1.0.zip",85,{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":13,"downloaded":58,"rating":13,"num_ratings":13,"last_updated":109,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":110,"homepage":92,"download_link":113,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"leaflet-address-map","Maps by G","1.0.0","Gurbhagat Singh","https:\u002F\u002Fprofiles.wordpress.org\u002Fgurbhagat\u002F","\u003Cp>Maps by G allows you to easily embed interactive maps on your WordPress site without needing a Google Maps API key. Simply use a shortcode with an address, and the plugin will display a beautiful map with a marker at that location.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No API key required – uses OpenStreetMap tiles\u003C\u002Fli>\n\u003Cli>Simple shortcode embedding\u003C\u002Fli>\n\u003Cli>Address geocoding via Nominatim\u003C\u002Fli>\n\u003Cli>Custom marker titles with popups\u003C\u002Fli>\n\u003Cli>Multiple tile providers (OpenStreetMap, CartoDB Light, CartoDB Dark)\u003C\u002Fli>\n\u003Cli>Responsive design for all devices\u003C\u002Fli>\n\u003Cli>Configurable zoom levels\u003C\u002Fli>\n\u003Cli>Enable\u002Fdisable scroll wheel zoom\u003C\u002Fli>\n\u003Cli>Gutenberg block support\u003C\u002Fli>\n\u003Cli>Lightweight and fast loading\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Basic Shortcode:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[mbyg_map address=\"1600 Pennsylvania Avenue, Washington, DC\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>With Custom Title:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[mbyg_map address=\"Eiffel Tower, Paris\" title=\"Eiffel Tower\" zoom=\"15\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Using Coordinates:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[mbyg_map lat=\"51.5074\" lng=\"-0.1278\" title=\"London\" zoom=\"12\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Available Attributes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>address\u003C\u002Fcode> – The address to display on the map\u003C\u002Fli>\n\u003Cli>\u003Ccode>lat\u003C\u002Fcode> – Latitude coordinate (use instead of address)\u003C\u002Fli>\n\u003Cli>\u003Ccode>lng\u003C\u002Fcode> – Longitude coordinate (use instead of address)\u003C\u002Fli>\n\u003Cli>\u003Ccode>zoom\u003C\u002Fcode> – Zoom level from 1-19 (default: 13)\u003C\u002Fli>\n\u003Cli>\u003Ccode>height\u003C\u002Fcode> – Map height in pixels (default: 400)\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – Text shown in marker popup\u003C\u002Fli>\n\u003Cli>\u003Ccode>provider\u003C\u002Fcode> – Tile provider: openstreetmap, cartodb-light, cartodb-dark (default: openstreetmap)\u003C\u002Fli>\n\u003Cli>\u003Ccode>zoomcontrol\u003C\u002Fcode> – Show zoom buttons: true\u002Ffalse (default: true)\u003C\u002Fli>\n\u003Cli>\u003Ccode>scrollzoom\u003C\u002Fcode> – Enable scroll wheel zoom: true\u002Ffalse (default: true)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin relies on the following third-party services to provide map functionality:\u003C\u002Fp>\n\u003Ch4>OpenStreetMap Tile Servers\u003C\u002Fh4>\n\u003Cp>This plugin displays maps using tile images from OpenStreetMap’s tile servers. Map tiles are loaded when a map is displayed on your website.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What it does:\u003C\u002Fstrong> Provides the visual map tiles (the actual map images you see)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When data is sent:\u003C\u002Fstrong> Every time a map is displayed on your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is sent:\u003C\u002Fstrong> The geographic coordinates (latitude\u002Flongitude) and zoom level to determine which map tiles to load\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service provider:\u003C\u002Fstrong> OpenStreetMap Foundation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Use:\u003C\u002Fstrong> https:\u002F\u002Fwiki.osmfoundation.org\u002Fwiki\u002FTerms_of_Use\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> https:\u002F\u002Fwiki.osmfoundation.org\u002Fwiki\u002FPrivacy_Policy\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tile Usage Policy:\u003C\u002Fstrong> https:\u002F\u002Foperations.osmfoundation.org\u002Fpolicies\u002Ftiles\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>CartoDB\u002FCARTO Tile Servers (Optional)\u003C\u002Fh4>\n\u003Cp>If you choose the CartoDB Light or CartoDB Dark tile providers, map tiles are loaded from CARTO’s servers instead.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What it does:\u003C\u002Fstrong> Provides alternative styled map tiles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When data is sent:\u003C\u002Fstrong> Only when CartoDB tile providers are selected\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is sent:\u003C\u002Fstrong> Geographic coordinates and zoom level\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service provider:\u003C\u002Fstrong> CARTO\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service:\u003C\u002Fstrong> https:\u002F\u002Fcarto.com\u002Flegal\u002F\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> https:\u002F\u002Fcarto.com\u002Fprivacy\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Nominatim Geocoding Service\u003C\u002Fh4>\n\u003Cp>When you provide an address (instead of coordinates), this plugin uses the Nominatim geocoding service to convert the address to geographic coordinates.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What it does:\u003C\u002Fstrong> Converts street addresses to latitude\u002Flongitude coordinates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When data is sent:\u003C\u002Fstrong> Only when an address is provided in the shortcode (not when using lat\u002Flng coordinates directly)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What is sent:\u003C\u002Fstrong> The address text you specify in the shortcode\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data caching:\u003C\u002Fstrong> Geocoded results are cached for 24 hours to reduce API calls\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service provider:\u003C\u002Fstrong> OpenStreetMap Foundation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Use:\u003C\u002Fstrong> https:\u002F\u002Foperations.osmfoundation.org\u002Fpolicies\u002Fnominatim\u002F\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy:\u003C\u002Fstrong> https:\u002F\u002Fwiki.osmfoundation.org\u002Fwiki\u002FPrivacy_Policy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> If you prefer not to use the geocoding service, you can always provide latitude and longitude coordinates directly using the \u003Ccode>lat\u003C\u002Fcode> and \u003Ccode>lng\u003C\u002Fcode> shortcode attributes.\u003C\u002Fp>\n","Display addresses on beautiful, interactive maps using OpenStreetMap. An open-source alternative to Google Maps that requires no API key.","2026-01-22T03:10:00.000Z",[111,21,22,112,23],"address","maps","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fleaflet-address-map.1.0.0.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":13,"downloaded":122,"rating":13,"num_ratings":13,"last_updated":123,"tested_up_to":15,"requires_at_least":124,"requires_php":17,"tags":125,"homepage":129,"download_link":130,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"localpoint","LocalPoint","2.0","marcinfilipiak","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcinfilipiak\u002F","\u003Cp>LocalPoint is a simple plugin that helps you show your business location on a map powered by OpenStreetMap. It also displays your contact details and opening hours in a clear format.\u003C\u002Fp>\n\u003Cp>Features include:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>📍 Interactive map with marker showing your location\n\n🕒 Opening hours table with translations and support for closed days\n\n📞 Contact info: phone, email, address, and optional note\n\nFully translatable using WordPress localization functions\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is free software; you can redistribute it and\u002For modify it under the terms of the GNU General Public License v2 or later.\u003C\u002Fp>\n","Display your business location, opening hours and contact info using OpenStreetMap and Leaflet.js.",90,"2026-01-08T10:09:00.000Z","5.8",[126,127,22,128,23],"business-location","contact-info","opening-hours","https:\u002F\u002Fgithub.com\u002Fmarcin-filipiak\u002Fwordpress_localpoint","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flocalpoint.2.0.zip",{"attackSurface":132,"codeSignals":225,"taintFlows":272,"riskAssessment":477,"analyzedAt":484},{"hooks":133,"ajaxHandlers":172,"restRoutes":216,"shortcodes":217,"cronEvents":222,"entryPointCount":223,"unprotectedCount":224},[134,140,145,149,153,157,161,164,168],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","admin_init","register_settings","includes\\admin-settings.php",18,{"type":135,"name":141,"callback":142,"file":143,"line":144},"admin_notices","closure","sfr-directory-map.php",33,{"type":135,"name":146,"callback":147,"file":143,"line":148},"plugins_loaded","init",57,{"type":135,"name":150,"callback":151,"file":143,"line":152},"wp_enqueue_scripts","enqueue_scripts",60,{"type":135,"name":154,"callback":155,"file":143,"line":156},"admin_enqueue_scripts","enqueue_admin_scripts",61,{"type":135,"name":158,"callback":159,"file":143,"line":160},"admin_menu","add_admin_menu",76,{"type":135,"name":147,"callback":162,"file":143,"line":163},"register_map_post_type",77,{"type":135,"name":165,"callback":166,"file":143,"line":167},"add_meta_boxes","add_map_meta_boxes",78,{"type":135,"name":169,"callback":170,"file":143,"line":171},"save_post","save_map_meta",79,[173,180,182,186,190,193,195,199,201,205,208,212],{"action":174,"nopriv":175,"callback":176,"hasNonce":177,"hasCapCheck":175,"file":178,"line":179},"sfrdm_track_search",false,"track_search",true,"includes\\analytics-manager.php",26,{"action":174,"nopriv":177,"callback":176,"hasNonce":177,"hasCapCheck":175,"file":178,"line":181},27,{"action":183,"nopriv":175,"callback":184,"hasNonce":177,"hasCapCheck":177,"file":178,"line":185},"sfrdm_get_analytics","get_analytics_data",28,{"action":187,"nopriv":175,"callback":188,"hasNonce":175,"hasCapCheck":177,"file":178,"line":189},"sfrdm_export_analytics","export_analytics_data",29,{"action":191,"nopriv":175,"callback":192,"hasNonce":175,"hasCapCheck":175,"file":178,"line":34},"sfrdm_get_analytics_nonce","get_analytics_nonce",{"action":191,"nopriv":177,"callback":192,"hasNonce":175,"hasCapCheck":175,"file":178,"line":194},31,{"action":196,"nopriv":175,"callback":197,"hasNonce":177,"hasCapCheck":175,"file":143,"line":198},"sfrdm_get_directory_listings","sfrdm_get_listings_ajax",65,{"action":196,"nopriv":177,"callback":197,"hasNonce":177,"hasCapCheck":175,"file":143,"line":200},66,{"action":202,"nopriv":175,"callback":203,"hasNonce":177,"hasCapCheck":177,"file":143,"line":204},"sfrdm_save_colour_template","sfrdm_save_colour_template_ajax",69,{"action":206,"nopriv":175,"callback":207,"hasNonce":177,"hasCapCheck":177,"file":143,"line":33},"sfrdm_load_colour_template","sfrdm_load_colour_template_ajax",{"action":209,"nopriv":175,"callback":210,"hasNonce":177,"hasCapCheck":177,"file":143,"line":211},"sfrdm_delete_colour_template","sfrdm_delete_colour_template_ajax",71,{"action":213,"nopriv":175,"callback":214,"hasNonce":177,"hasCapCheck":175,"file":143,"line":215},"sfrdm_submit_deactivation_feedback","sfrdm_submit_deactivation_feedback_ajax",72,[],[218],{"tag":219,"callback":220,"file":143,"line":221},"sfr_directory_map","sfrdm_render_map_shortcode",62,[],13,2,{"dangerousFunctions":226,"sqlUsage":227,"outputEscaping":249,"fileOperations":224,"externalRequests":88,"nonceChecks":269,"capabilityChecks":270,"bundledLibraries":271},[],{"prepared":228,"raw":229,"locations":230},39,8,[231,234,237,240,242,244,246,248],{"file":178,"line":232,"context":233},279,"$wpdb->get_var() with variable interpolation",{"file":178,"line":235,"context":236},610,"$wpdb->query() with variable interpolation",{"file":238,"line":239,"context":236},"includes\\analytics-page-free.php",22,{"file":238,"line":241,"context":233},89,{"file":238,"line":243,"context":233},91,{"file":238,"line":26,"context":245},"$wpdb->get_results() with variable interpolation",{"file":247,"line":179,"context":236},"uninstall.php",{"file":247,"line":181,"context":236},{"escaped":250,"rawEcho":229,"locations":251},316,[252,255,257,259,261,263,265,267],{"file":238,"line":253,"context":254},14,"raw output",{"file":238,"line":256,"context":254},23,{"file":143,"line":258,"context":254},1836,{"file":143,"line":260,"context":254},1844,{"file":143,"line":262,"context":254},2156,{"file":143,"line":264,"context":254},2171,{"file":143,"line":266,"context":254},2172,{"file":143,"line":268,"context":254},2459,12,11,[],[273,289,322,341,357,404,417],{"entryPoint":274,"graph":275,"unsanitizedCount":13,"severity":288},"\u003Canalytics-page-free> (includes\\analytics-page-free.php:0)",{"nodes":276,"edges":286},[277,281],{"id":278,"type":279,"label":280,"file":238,"line":269},"n0","source","$_POST",{"id":282,"type":283,"label":284,"file":238,"line":223,"wp_function":285},"n1","sink","update_option() [Settings Manipulation]","update_option",[287],{"from":278,"to":282,"sanitized":177},"low",{"entryPoint":290,"graph":291,"unsanitizedCount":88,"severity":288},"legacy_admin_page (sfr-directory-map.php:2381)",{"nodes":292,"edges":317},[293,296,298,302,307,310,314],{"id":278,"type":279,"label":294,"file":143,"line":295},"$_POST (x9)",2408,{"id":282,"type":283,"label":284,"file":143,"line":297,"wp_function":285},2409,{"id":299,"type":279,"label":300,"file":143,"line":301},"n2","$_POST (x7)",2397,{"id":303,"type":283,"label":304,"file":143,"line":305,"wp_function":306},"n3","echo() [XSS]",2499,"echo",{"id":308,"type":279,"label":280,"file":143,"line":309},"n4",2702,{"id":311,"type":312,"label":313,"file":143,"line":309},"n5","transform","→ debug_directorist_image()",{"id":315,"type":283,"label":304,"file":143,"line":316,"wp_function":306},"n6",2320,[318,319,320,321],{"from":278,"to":282,"sanitized":177},{"from":299,"to":303,"sanitized":177},{"from":308,"to":311,"sanitized":175},{"from":311,"to":315,"sanitized":175},{"entryPoint":323,"graph":324,"unsanitizedCount":88,"severity":288},"\u003Csfr-directory-map> (sfr-directory-map.php:0)",{"nodes":325,"edges":336},[326,329,331,332,333,334,335],{"id":278,"type":279,"label":327,"file":143,"line":328},"$_POST (x39)",707,{"id":282,"type":283,"label":304,"file":143,"line":330,"wp_function":306},1193,{"id":299,"type":279,"label":294,"file":143,"line":295},{"id":303,"type":283,"label":284,"file":143,"line":297,"wp_function":285},{"id":308,"type":279,"label":280,"file":143,"line":309},{"id":311,"type":312,"label":313,"file":143,"line":309},{"id":315,"type":283,"label":304,"file":143,"line":316,"wp_function":306},[337,338,339,340],{"from":278,"to":282,"sanitized":177},{"from":299,"to":303,"sanitized":177},{"from":308,"to":311,"sanitized":175},{"from":311,"to":315,"sanitized":175},{"entryPoint":342,"graph":343,"unsanitizedCount":88,"severity":356},"track_search (includes\\analytics-manager.php:86)",{"nodes":344,"edges":353},[345,347,349],{"id":278,"type":279,"label":280,"file":178,"line":346},144,{"id":282,"type":312,"label":348,"file":178,"line":346},"→ update_search_summary()",{"id":299,"type":283,"label":350,"file":178,"line":351,"wp_function":352},"get_row() [SQLi]",170,"get_row",[354,355],{"from":278,"to":282,"sanitized":175},{"from":282,"to":299,"sanitized":175},"high",{"entryPoint":358,"graph":359,"unsanitizedCount":403,"severity":356},"get_analytics_data (includes\\analytics-manager.php:212)",{"nodes":360,"edges":394},[361,364,366,368,370,372,376,378,381,384,388,391],{"id":278,"type":279,"label":362,"file":178,"line":363},"$_GET (x2)",238,{"id":282,"type":312,"label":365,"file":178,"line":363},"→ get_live_stats()",{"id":299,"type":283,"label":350,"file":178,"line":367,"wp_function":352},272,{"id":303,"type":279,"label":362,"file":178,"line":369},239,{"id":308,"type":312,"label":371,"file":178,"line":369},"→ get_popular_terms()",{"id":311,"type":283,"label":373,"file":178,"line":374,"wp_function":375},"get_results() [SQLi]",343,"get_results",{"id":315,"type":279,"label":362,"file":178,"line":377},240,{"id":379,"type":312,"label":380,"file":178,"line":377},"n7","→ get_search_trends()",{"id":382,"type":283,"label":373,"file":178,"line":383,"wp_function":375},"n8",373,{"id":385,"type":279,"label":386,"file":178,"line":387},"n9","$_GET",241,{"id":389,"type":312,"label":390,"file":178,"line":387},"n10","→ get_recent_searches()",{"id":392,"type":283,"label":373,"file":178,"line":393,"wp_function":375},"n11",449,[395,396,397,398,399,400,401,402],{"from":278,"to":282,"sanitized":175},{"from":282,"to":299,"sanitized":175},{"from":303,"to":308,"sanitized":175},{"from":308,"to":311,"sanitized":175},{"from":315,"to":379,"sanitized":175},{"from":379,"to":382,"sanitized":175},{"from":385,"to":389,"sanitized":175},{"from":389,"to":392,"sanitized":175},7,{"entryPoint":405,"graph":406,"unsanitizedCount":224,"severity":356},"export_analytics_data (includes\\analytics-manager.php:480)",{"nodes":407,"edges":414},[408,410,412],{"id":278,"type":279,"label":362,"file":178,"line":409},495,{"id":282,"type":312,"label":411,"file":178,"line":409},"→ export_csv()",{"id":299,"type":283,"label":373,"file":178,"line":413,"wp_function":375},511,[415,416],{"from":278,"to":282,"sanitized":175},{"from":282,"to":299,"sanitized":175},{"entryPoint":418,"graph":419,"unsanitizedCount":11,"severity":356},"\u003Canalytics-manager> (includes\\analytics-manager.php:0)",{"nodes":420,"edges":461},[421,423,424,427,428,430,431,432,433,434,435,436,437,439,441,443,445,447,449,451,453,455,457,459],{"id":278,"type":279,"label":280,"file":178,"line":422},106,{"id":282,"type":283,"label":350,"file":178,"line":351,"wp_function":352},{"id":299,"type":279,"label":425,"file":178,"line":426},"$_GET (x3)",229,{"id":303,"type":283,"label":350,"file":178,"line":367,"wp_function":352},{"id":308,"type":279,"label":429,"file":178,"line":426},"$_GET (x9)",{"id":311,"type":283,"label":373,"file":178,"line":374,"wp_function":375},{"id":315,"type":279,"label":280,"file":178,"line":346},{"id":379,"type":312,"label":348,"file":178,"line":346},{"id":382,"type":283,"label":350,"file":178,"line":351,"wp_function":352},{"id":385,"type":279,"label":362,"file":178,"line":363},{"id":389,"type":312,"label":365,"file":178,"line":363},{"id":392,"type":283,"label":350,"file":178,"line":367,"wp_function":352},{"id":438,"type":279,"label":362,"file":178,"line":369},"n12",{"id":440,"type":312,"label":371,"file":178,"line":369},"n13",{"id":442,"type":283,"label":373,"file":178,"line":374,"wp_function":375},"n14",{"id":444,"type":279,"label":362,"file":178,"line":377},"n15",{"id":446,"type":312,"label":380,"file":178,"line":377},"n16",{"id":448,"type":283,"label":373,"file":178,"line":383,"wp_function":375},"n17",{"id":450,"type":279,"label":386,"file":178,"line":387},"n18",{"id":452,"type":312,"label":390,"file":178,"line":387},"n19",{"id":454,"type":283,"label":373,"file":178,"line":393,"wp_function":375},"n20",{"id":456,"type":279,"label":362,"file":178,"line":409},"n21",{"id":458,"type":312,"label":411,"file":178,"line":409},"n22",{"id":460,"type":283,"label":373,"file":178,"line":413,"wp_function":375},"n23",[462,463,464,465,466,467,468,469,470,471,472,473,474,475,476],{"from":278,"to":282,"sanitized":177},{"from":299,"to":303,"sanitized":177},{"from":308,"to":311,"sanitized":177},{"from":315,"to":379,"sanitized":175},{"from":379,"to":382,"sanitized":175},{"from":385,"to":389,"sanitized":175},{"from":389,"to":392,"sanitized":175},{"from":438,"to":440,"sanitized":175},{"from":440,"to":442,"sanitized":175},{"from":444,"to":446,"sanitized":175},{"from":446,"to":448,"sanitized":175},{"from":450,"to":452,"sanitized":175},{"from":452,"to":454,"sanitized":175},{"from":456,"to":458,"sanitized":175},{"from":458,"to":460,"sanitized":175},{"summary":478,"deductions":479},"The sfr-directory-map plugin v1.6.4 demonstrates generally good security practices, with a high percentage of SQL queries using prepared statements and a very low rate of unescaped output.  The lack of known CVEs and the plugin's history of being unpatched is a positive indicator. However, the analysis reveals two critical security concerns. Firstly, there are two AJAX handlers that lack authentication checks, presenting a significant attack surface. Secondly, the taint analysis identified four high-severity flows with unsanitized paths, indicating potential for malicious input to be processed without proper sanitization, which could lead to various vulnerabilities. While the overall code quality is good, these specific weaknesses require immediate attention.",[480,482],{"reason":481,"points":11},"Unprotected AJAX handlers detected",{"reason":483,"points":269},"High severity taint flows with unsanitized paths","2026-03-17T00:03:29.898Z",{"wat":486,"direct":503},{"assetPaths":487,"generatorPatterns":494,"scriptPaths":495,"versionParams":496},[488,489,490,491,492,493],"\u002Fwp-content\u002Fplugins\u002Fsfr-directory-map\u002Fassets\u002Fcss\u002Fmarkerclusterer.min.css","\u002Fwp-content\u002Fplugins\u002Fsfr-directory-map\u002Fassets\u002Fcss\u002Fleaflet.css","\u002Fwp-content\u002Fplugins\u002Fsfr-directory-map\u002Fassets\u002Fcss\u002Fsfrdm.css","\u002Fwp-content\u002Fplugins\u002Fsfr-directory-map\u002Fassets\u002Fjs\u002Fleaflet.js","\u002Fwp-content\u002Fplugins\u002Fsfr-directory-map\u002Fassets\u002Fjs\u002Fleaflet.markercluster.js","\u002Fwp-content\u002Fplugins\u002Fsfr-directory-map\u002Fassets\u002Fjs\u002Fsfrdm-public.js",[],[491,492,493],[497,498,499,500,501,502],"sfr-directory-map\u002Fassets\u002Fcss\u002Fmarkerclusterer.min.css?ver=","sfr-directory-map\u002Fassets\u002Fcss\u002Fleaflet.css?ver=","sfr-directory-map\u002Fassets\u002Fcss\u002Fsfrdm.css?ver=","sfr-directory-map\u002Fassets\u002Fjs\u002Fleaflet.js?ver=","sfr-directory-map\u002Fassets\u002Fjs\u002Fleaflet.markercluster.js?ver=","sfr-directory-map\u002Fassets\u002Fjs\u002Fsfrdm-public.js?ver=",{"cssClasses":504,"htmlComments":506,"htmlAttributes":507,"restEndpoints":512,"jsGlobals":514,"shortcodeOutput":516},[505],"sfrdm-map-container",[],[508,509,510,511],"data-map-id","data-map-options","data-listings-url","data-cluster-spiderfyonside",[513],"\u002Fwp-json\u002Fsfrdm\u002Fv1\u002Flistings",[515],"SFRDM_DATA",[517],"[sfr_directory_map"]