[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fwcL905g2UKUYLecqkw57PuUe6WBWxSsFi0QTZRe68PI":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":48,"crawl_stats":37,"alternatives":55,"analysis":148,"fingerprints":660},"belingogeo","belingoGeo","1.13.2","Belingo","https:\u002F\u002Fprofiles.wordpress.org\u002Fbelingo\u002F","\u003Cp>The plugin adds the ability to select cities, unique pages are created with a unique url for each city. This allows you to uniqueize content for search engines.\u003C\u002Fp>\n\u003Cp>If for some reason the video is unavailable, you can watch it on \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=gTIPR8cmQmM\" rel=\"nofollow ugc\">Youtube\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fdzen.ru\u002Fvideo\u002Fwatch\u002F6759510b565b5409ab52b754?share_to=link\" rel=\"nofollow ugc\">Zen\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Frutube.ru\u002Fvideo\u002F0c08cc8493b2893a7c33b2ff5252a1db\u002F\" rel=\"nofollow ugc\">Rutube\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fvkvideo.ru\u002Fvideo-54775454_456239017\" rel=\"nofollow ugc\">VK Video\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Plugin capabilities:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Creating virtual URLs for all WordPress pages and posts\u003C\u002Fli>\n\u003Cli>Ability to combine cities into regions.\u003C\u002Fli>\n\u003Cli>Ability to exclude pages, posts or taxonomies for which there is no need to create a URL\u003C\u002Fli>\n\u003Cli>Pre-made pop-up windows for confirming the found city, as well as for selecting other cities.\u003C\u002Fli>\n\u003Cli>Defining those cities that are not added to the list\u003C\u002Fli>\n\u003Cli>Shortcodes for displaying cities in different cases\u003C\u002Fli>\n\u003Cli>Shortcodes with a phone number and address for each city\u003C\u002Fli>\n\u003Cli>Shortcodes that allow you to add any content, depending on the selected city\u003C\u002Fli>\n\u003Cli>Shortcodes for regions, allowing you to display different content for a group of cities.\u003C\u002Fli>\n\u003Cli>Creating virtual URLs for Woocommerce categories and products\u003C\u002Fli>\n\u003Cli>Support for Yoast.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fproducts\u002Fbelingogeo-pro\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">Extended version of the plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Useful articles:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fustanovka-i-nastrojka-plagina-belingogeo\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">Installing and configuring the plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fkak-sortirovat-goroda-v-plagine-belingogeo\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">How to sort cities in plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fkak-sozdat-dopolnitelnoe-pole-dlya-goroda-v-plagine-belingogeo\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">How to create an additional field for the city in the plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fopisanie-vsex-nastroek-plagina-belingogeo\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">Description of all settings of the BelingoGeo plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fnastrojka-plagina-belingogeo-v-rezhime-poddomenov\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">Setting up the BelingoGeo plugin in the “city in a subdomain” mode\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fbelingo.ru\u002Fopisanie-shortkodov-plagina-belingogeo\u002F?utm_source=wordpress.org&utm_medium=description\" rel=\"nofollow ugc\">Description of shortcodes of the BelingoGeo plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>We are on social networks:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ft.me\u002Fbelingollc\" rel=\"nofollow ugc\">Telegram channel\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fvk.com\u002Fitbelingo\" rel=\"nofollow ugc\">VK Group\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdzen.ru\u002Fbelingo\" rel=\"nofollow ugc\">Zen channel\u003C\u002Fa>\u003C\u002Fp>\n","The plugin adds the ability to select cities, unique pages are created with a unique url for each city. This allows you to uniqueize content.",1000,10847,100,13,"2026-01-22T17:25:00.000Z","6.8.5","5.0.0","",[20,21,22,23,24],"geo-target","geo-targeting","geolocation","geotargeting","targeted-content","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbelingogeo.1.13.2.zip",98,1,0,"2025-05-09 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2025-47603","belingogeo-unauthenticated-arbitrary-file-download","belingoGeo \u003C= 1.12.0 - Unauthenticated Arbitrary File Download","The belingoGeo plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 1.12.0 via the belingogeo_download_example() function. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information.",null,"\u003C=1.12.0","1.12.1","high",7.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:H\u002FI:N\u002FA:N","Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","2025-07-24 19:06:31",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F492ce5d0-02b5-4b11-a4a0-ca1a6438faad?source=api-prod",77,{"slug":49,"display_name":7,"profile_url":8,"plugin_count":50,"total_installs":51,"avg_security_score":52,"avg_patch_time_days":47,"trust_score":53,"computed_at":54},"belingo",3,1030,92,82,"2026-04-05T05:09:05.645Z",[56,76,95,111,131],{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":13,"downloaded":64,"rating":65,"num_ratings":50,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":18,"tags":69,"homepage":72,"download_link":73,"security_score":74,"vuln_count":27,"unpatched_count":28,"last_vuln_date":75,"fetched_at":30},"ip2location-variables","IP2Location Variables","2.9.9","IP2Location","https:\u002F\u002Fprofiles.wordpress.org\u002Fip2location\u002F","\u003Cp>This useful library makes it easy to conveniently find website visitors location and provides geographic information based on IP address lookup. It also can be used to display geo-data info in posts for specific locations and to help you create geo-target marketing campaigns.\u003C\u002Fp>\n\u003Cp>It is a library derived from https:\u002F\u002Fwww.ip2location.com\u002Fdevelopers\u002Fphp but works as a WordPress plugin to simplify the setup and ease the integration work. It supports both the IPv4 and IPv6 address.\u003C\u002Fp>\n\u003Cp>Below are the geolocation information you can retrieve from this library:\u003Cbr \u002F>\n* Country code\u003Cbr \u002F>\n* Country name\u003Cbr \u002F>\n* Country flag\u003Cbr \u002F>\n* Region name\u003Cbr \u002F>\n* City name\u003Cbr \u002F>\n* Latitude and longitude\u003Cbr \u002F>\n* ZIP code\u003Cbr \u002F>\n* ISP\u003Cbr \u002F>\n* Domain name\u003Cbr \u002F>\n* Time zone\u003Cbr \u002F>\n* Net speed\u003Cbr \u002F>\n* IDD code\u003Cbr \u002F>\n* Area code\u003Cbr \u002F>\n* Weather station code & name\u003Cbr \u002F>\n* MNC, MCC, mobile carrier name\u003Cbr \u002F>\n* Elevation\u003Cbr \u002F>\n* Usage type\u003Cbr \u002F>\n* Address type\u003Cbr \u002F>\n* Category\u003C\u002Fp>\n\u003Cp>This plugin supports both IP2Location IP geolocation BIN data and web service for geolocation queries. If you are using the BIN data, you can update the BIN data every month by using the wizard on the settings page for the most accurate result. Alternatively, you can also manually download and update the BIN data file using the below links:\u003C\u002Fp>\n\u003Cp>BIN file download: \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\" title=\"IP2Location commercial database\" rel=\"nofollow ugc\">IP2Location Commercial database\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Flite.ip2location.com\" title=\"IP2Location LITE database (free edition)\" rel=\"nofollow ugc\">IP2Location LITE database (free edition)\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>If you are using the IP2Location IP geolocation web service, please visit \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\u002Fweb-service\" title=\"IP2Location Web Service\" rel=\"nofollow ugc\">IP2Location Web Service\u003C\u002Fa> for details.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Call the function ip2location_get_vars() in any pages, plugins, or themes to retrieve IP2Location variables. The variables are returned in object. To use lookup for a custom IP, use ip2location_get_vars(‘IP_ADDRESS’);\u003C\u002Fp>\n\u003Ch4>More Information\u003C\u002Fh4>\n\u003Cp>Please visit us at \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.ip2location.com\u003C\u002Fa>\u003C\u002Fp>\n","Library helps you to create location based website or content easily by integrating geolocation solution to your site. It supports both IPv4 and IPv6  &hellip;",12062,46,"2025-12-03T07:24:00.000Z","6.9.4","2.0",[21,22,70,71,24],"ip2location","ip2location-library","https:\u002F\u002Fip2location.com\u002Fresources\u002Fwordpress-ip2location-variables","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fip2location-variables.2.9.9.zip",99,"2025-04-17 00:00:00",{"slug":23,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":11,"downloaded":83,"rating":84,"num_ratings":85,"last_updated":86,"tested_up_to":87,"requires_at_least":88,"requires_php":18,"tags":89,"homepage":92,"download_link":93,"security_score":94,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"GeoTargeting Lite – WordPress Geolocation","1.3.6.1","Damian","https:\u002F\u002Fprofiles.wordpress.org\u002Ftimersys\u002F","\u003Cp>Based on \u003Ca href=\"http:\u002F\u002Fwww.maxmind.com\u002F?rId=timersys\" rel=\"nofollow ugc\">Maxmind GeoIP2\u003C\u002Fa> data Geo Targeting plugin for WordPress will let you create dynamic content based on your users country.\u003C\u002Fp>\n\u003Cp>With a simple shortcode you will be able to specify which countries are capable of seeing the content.\u003C\u002Fp>\n\u003Cp>Compatible with \u003Ca href=\"https:\u002F\u002Ftimersys.com\u002Fpopups\u002F?utm_source=geot-readme&utm_medium=link&utm_term=popus%20premium&utm_campaign=Popups%20premium\" rel=\"nofollow ugc\">WordPress Popups Plugin\u003C\u002Fa>. You can now geotarget your popups\u003C\u002Fp>\n\u003Cp>If you use popular firewall services such as Cloudflare, Reblaze, Sucuri, Ezoic, Akamai or Clouways the plugin will auto detect real IP from users.\u003C\u002Fp>\n\u003Cp>This plugin it’s a basic version with limited functionality. For a full geo plugin please refer to https:\u002F\u002Fgeotargetingwp.com\u003C\u002Fp>\n\u003Cp>Usage:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[geot country=\"Argentina\"] Messi is the best! [\u002Fgeot]``\n[geot country=\"Portugal\"] Cristiano ronaldo is the best! [\u002Fgeot]``\n[geot exclude_country=\"Portugal\"] This text is seeing by everyone except Portuguese people [\u002Fgeot]``\nCurrent user is located in [geot_country_name]``\nCurrent user country code is [geot_country_code]``\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin save into it’s own cache the country you are in. If you need to test for different countries you have two options:\u003C\u002Fp>\n\u003Cp>You can pass a country iso code in the url like this:\u003Cbr \u002F>\n    http:\u002F\u002Fdemo.com\u002Fsome-page\u002F?geot_debug=US“\u003C\u002Fp>\n\u003Cp>Or you can add in wp-config.php the following to use your own VPN\u003Cbr \u002F>\n    define(‘GEOT_DEBUG’,true);“\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Premium Version\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Check the \u003Cstrong>new premium version\u003C\u002Fstrong> available in (\u003Ca href=\"https:\u002F\u002Fgeotargetingwp.com\u002F?utm_source=geot-readme&utm_medium=link&utm_term=geot%20premium&utm_campaign=Geot%20premium\" rel=\"nofollow ugc\">https:\u002F\u002Fgeotargetingwp.com\u002F\u003C\u002Fa>) that comes with Premium database with much more accuracy.\u003Cbr \u002F>\n  * Geo Redirects\u003Cbr \u002F>\n  * GeoTarget countries, cities and states\u003Cbr \u002F>\n  * Cloudflare geolocation support\u003Cbr \u002F>\n  * Geotarget posts \u002F pages entirely\u003Cbr \u002F>\n  * Create multiple Redirects based on user countries states or cities\u003Cbr \u002F>\n  * Editor button to easily add shortcodes\u003Cbr \u002F>\n  * Create multiple regions (group of countries or cities) to use with shortcodes\u003Cbr \u002F>\n  * Exclude countries, cities and regions shortcode\u003Cbr \u002F>\n  * Dropdown Widget to let users change their country (with flags)\u003Cbr \u002F>\n  * Complete set of PHP functions\u003Cbr \u002F>\n  * Hide Woocommerce or Easy digital downloads products. Works with any plugin\u003Cbr \u002F>\n  * AJAX mode that make plugin compatible with Cache plugins\u003Cbr \u002F>\n  * Geotarget menu items, widgets, everything\u003Cbr \u002F>\n  * Upcoming integration with other populars plugins\u003Cbr \u002F>\n  * Premium support\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>WordPress Popups\u003C\u002Fh4>\n\u003Cp>Best popups plugin ever (\u003Ca href=\"https:\u002F\u002Fwppopups.com\u002F?utm_source=wsi-free-plugin&utm_medium=readme\" rel=\"nofollow ugc\">https:\u002F\u002Fwppopups.com\u002F\u003C\u002Fa>)\u003C\u002Fp>\n","GeoTargeting for WordPress will let you country-target your content based on users IP's and Geocountry Ip database",66127,78,32,"2022-08-15T15:56:00.000Z","6.1.10","3.6",[90,20,22,23,91],"cloudflare","wordpress-geotargeting","https:\u002F\u002Ftimersys.com\u002Fgeotargeting\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeotargeting.1.3.6.1.zip",85,{"slug":96,"name":97,"version":98,"author":60,"author_profile":61,"description":99,"short_description":100,"active_installs":101,"downloaded":102,"rating":103,"num_ratings":104,"last_updated":105,"tested_up_to":67,"requires_at_least":68,"requires_php":18,"tags":106,"homepage":109,"download_link":110,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"ip2location-tags","IP2Location Tags","2.13.7","\u003Cp>IP2Location Tags helps you to serve specific content to website visitors based on geographic location for different countries and regions via IP address lookup.\u003C\u002Fp>\n\u003Cp>This plugin provides a relatively easy way to detect visitors’ IP addresses and translate it into geolocation information, and then keep visitors better engaged with localized information or content that’s most relevant to them.\u003C\u002Fp>\n\u003Cp>Key Features\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Displays visitor’s’ information such as\n\u003Cul>\n\u003Cli>Country code\u003C\u002Fli>\n\u003Cli>Country name\u003C\u002Fli>\n\u003Cli>Country flag\u003C\u002Fli>\n\u003Cli>Region name\u003C\u002Fli>\n\u003Cli>City name\u003C\u002Fli>\n\u003Cli>Latitude and longitude\u003C\u002Fli>\n\u003Cli>ZIP code\u003C\u002Fli>\n\u003Cli>ISP\u003C\u002Fli>\n\u003Cli>Domain name\u003C\u002Fli>\n\u003Cli>Time zone\u003C\u002Fli>\n\u003Cli>Net speed\u003C\u002Fli>\n\u003Cli>IDD code\u003C\u002Fli>\n\u003Cli>Area code\u003C\u002Fli>\n\u003Cli>Weather station code & name\u003C\u002Fli>\n\u003Cli>MNC, MCC, mobile carrier name\u003C\u002Fli>\n\u003Cli>Elevation\u003C\u002Fli>\n\u003Cli>Usage type\u003C\u002Fli>\n\u003Cli>Address type\u003C\u002Fli>\n\u003Cli>Category\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Customize the page content based on country or region\u003C\u002Fli>\n\u003Cli>Supports IPv4 and IPv6\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin supports both IP2Location IP geolocation BIN data and web service for IP geolocation lookup. If you are using the BIN data, you can update the BIN data every month by using the wizard on the settings page for the most accurate result. Alternatively, you can also manually download and update the BIN data file using the below links:\u003C\u002Fp>\n\u003Cp>BIN file download: \u003Ca href=\"http:\u002F\u002Fip2location.com\" title=\"IP2Location commercial database\" rel=\"nofollow ugc\">IP2Location Commercial database\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Flite.ip2location.com\" title=\"IP2Location LITE database (free edition)\" rel=\"nofollow ugc\">IP2Location LITE database (free edition)\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>If you are using the IP2Location IP geolocation web service, please visit \u003Ca href=\"http:\u002F\u002Fwww.ip2location.com\u002Fweb-service\" title=\"IP2Location Web Service\" rel=\"nofollow ugc\">IP2Location Web Service\u003C\u002Fa> for details.\u003C\u002Fp>\n\u003Ch4>Get visitor’s location information with Variable Tag\u003C\u002Fh4>\n\u003Cp>\u003Cem>Usage example\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Display visitor’s IP address, country name, region name and city name.\u003Cbr \u002F>\n\u003Cem>Your IP is {ip:ipAddress}\u003C\u002Fem>\u003Cbr \u002F>\n\u003Cem>You are in {ip:countryName}, {ip:regionName}, {ip:cityName}\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Geo-targeting: Customize the post content with IP2Location Tag\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Syntax to show content for specific country\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>[ip:XX[,XX]..[,XX]]Your content here.[\u002Fip]\u003C\u002Fem>\u003Cbr \u002F>\nNote: XX is a two-character ISO-3166 country code.\u003C\u002Fp>\n\u003Cp>\u003Cem>Example\u003C\u002Fem>\u003Cbr \u002F>\nTo show the content for United States or Canada visitors only.\u003Cbr \u002F>\n\u003Cem>[ip:US,CA]Only visitors from United States or Canada can view this line.[\u002Fip]\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Syntax to show content for specific country and region\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>[ip:XX:YY[,XX:YY]..[,XX:YY]]Your content here.[\u002Fip]\u003C\u002Fem>\u003Cbr \u002F>\nNote: XX is a two-character ISO-3166 country code and YY is a ISO-3166-2 sub-division code.\u003C\u002Fp>\n\u003Cp>\u003Cem>Example\u003C\u002Fem>\u003Cbr \u002F>\n\u003Cem>To show the content for California or New York visitors only.\u003C\u002Fem>\u003Cbr \u002F>\n\u003Cem>[ip:US:CA,US:NY]Only visitors from California or New York can view this line.[\u002Fip]\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Syntax to hide the content from specific country\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>[ip:*,-XX[,-XX]..[,-XX]]Your content here.[\u002Fip]\u003C\u002Fem>\u003Cbr \u002F>\nNote: XX is a two-character ISO-3166 country code.\u003C\u002Fp>\n\u003Cp>\u003Cem>Example\u003C\u002Fem>\u003Cbr \u002F>\nAll visitors will be able to see the line except visitors from Vietnam.\u003Cbr \u002F>\n\u003Cem>[ip:*,-VN]All visitors will be able to see this line except visitors from Vietnam.[\u002Fip]\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Syntax to hide the content from specific country and region\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>[ip:*,-XX:YY[,-XX:YY]..[,-XX:YY]]Your content here.[\u002Fip]\u003C\u002Fem>\u003Cbr \u002F>\nNote: XX is a two-character ISO-3166 country code and YY is a ISO-3166-2 sub-division code.\u003C\u002Fp>\n\u003Cp>\u003Cem>Example\u003C\u002Fem>\u003Cbr \u002F>\nAll visitors will be able to see the line except visitors from California.\u003Cbr \u002F>\n\u003Cem>[ip:*,-US:CA]All visitors will be able to see this line except visitors from California.[\u002Fip]\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>More Information\u003C\u002Fh4>\n\u003Cp>Please visit us at \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\" title=\"https:\u002F\u002Fwww.ip2location.com\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.ip2location.com\u003C\u002Fa>\u003C\u002Fp>\n","Displays visitor’s geolocation information, geo-targeting and customize the page content for different countries based on users location.",200,27601,74,9,"2025-12-03T07:22:00.000Z",[21,22,107,70,108],"ip-country","localized-content","https:\u002F\u002Fip2location.com\u002Fresources\u002Fwordpress-ip2location-tag","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fip2location-tags.2.13.7.zip",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":13,"downloaded":119,"rating":120,"num_ratings":121,"last_updated":122,"tested_up_to":16,"requires_at_least":123,"requires_php":18,"tags":124,"homepage":18,"download_link":129,"security_score":74,"vuln_count":27,"unpatched_count":28,"last_vuln_date":130,"fetched_at":30},"geo-targetly-geo-content","Geo Content","7.0.1","geotargetly","https:\u002F\u002Fprofiles.wordpress.org\u002Fgeotargetly\u002F","\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FBrgSoKrELr0?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>Create geo targeted content for your website pages. Perfect for personalizing your website by country, state & city.\u003C\u002Fp>\n\u003Cp>This plugin can allow you to deliver content from Geo Targetly or use WordPress shortcodes to show\u002Fhide your own content.\u003C\u002Fp>\n\u003Cp>This plugin is made by \u003Ca href=\"https:\u002F\u002Fgeotargetly.com\" title=\"Geo Targetly\" rel=\"nofollow ugc\">Geo Targetly\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Paid account is required \u003Ca href=\"https:\u002F\u002Fgeotargetly.com\u002Fpricing\" title=\"pricing\" rel=\"nofollow ugc\">see pricing\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Get a 14 day free trial on sign up\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Show content by country, state, city, IP address, latitude-longitude-radius\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Create multiple pieces of content each targeted at a particular geo location\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add default content for non-targeted visitors\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Restrict content to only certain pages\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Create content in Geo Targety and inject into your pages\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Hide\u002Fshow content based on location using shortcodes\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Built in analytics\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Detailed docs can be found below\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgeotargetly.com\u002Fgeo-content\" title=\"Overview\" rel=\"nofollow ugc\">Overview\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fhelp.geotargetly.com\u002Fgeo-content\" title=\"Docs\" rel=\"nofollow ugc\">Docs\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Live chat at \u003Ca href=\"https:\u002F\u002Fgeotargetly.com\" title=\"Geo Targetly\" rel=\"nofollow ugc\">Geo Targetly\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to an external endpoint via the domain https:\u002F\u002Fg1584674684.co to load and run a script that powers its core functionality, as outlined previously in the description.\u003C\u002Fp>\n\u003Cp>It sends the user’s location each time the plugin is loaded. This is necessary to determine and customize the plugin’s behavior based on the user’s geographical context.\u003C\u002Fp>\n\u003Cp>Additionally, this plugin connects to analytics endpoint https:\u002F\u002Fg97676560.co\u002F to track plugin installation and usage over time.\u003C\u002Fp>\n\u003Cp>This service is provided by Geo Targetly – \u003Ca href=\"https:\u002F\u002Fgeotargetly.com\u002Fwebsite-terms-of-use\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fgeotargetly.com\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n","Change content based on visitor geolocation (country, state, city, lat\u002Flng\u002Fradius)",5076,96,8,"2025-12-02T18:18:00.000Z","3.0.1",[125,126,127,128,21],"change-content-based-on-location","geo-content","geo-target-post","geo-targeted-content","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeo-targetly-geo-content.7.0.1.zip","2025-01-06 16:26:44",{"slug":132,"name":133,"version":134,"author":135,"author_profile":136,"description":137,"short_description":138,"active_installs":11,"downloaded":139,"rating":13,"num_ratings":140,"last_updated":141,"tested_up_to":67,"requires_at_least":142,"requires_php":18,"tags":143,"homepage":18,"download_link":147,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"if-so-geolocation","If-So Geolocation","1.5","If-So Dynamic Content","https:\u002F\u002Fprofiles.wordpress.org\u002Fifso\u002F","\u003Cp>Create location-based content in minutes. No coding required. Works with any page builder. No need to sync an IP-to-location database.\u003C\u002Fp>\n\u003Cp>This plugin enhances the Geolocation capabilities of the core \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fif-so\u002F\" rel=\"ugc\">If-So Dynamic Content plugin\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HTML5 Geolocation API (browser location) – Can be used in addition to or instead of the IP-to-location service.\u003C\u002Fli>\n\u003Cli>Location override – Allow users to manually select their location and override the default IP-based location detection.\u003C\u002Fli>\n\u003Cli>Display the user’s country flag (image or emoji).\u003C\u002Fli>\n\u003Cli>Log geolocation requests and analyze the log to find and exclude bot traffic.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WHY IF-SO?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Show dynamic content based on City, State, Country, Continent, or Time zoneSimple to use – No coding is required\u003C\u002Fli>\n\u003Cli>Geolocation DKi\u003C\u002Fli>\n\u003Cli>No need to sync with an IP-to-location database\u003C\u002Fli>\n\u003Cli>Works with any page builder\u003C\u002Fli>\n\u003Cli>100% compatible with all caching plugins (no need to disable the cache)\u003C\u002Fli>\n\u003Cli>A simple way to improve engagement and conversion rates\u003C\u002Fli>\n\u003Cli>Conditional Gutenberg Blocks and Elementor Widgets\u003C\u002Fli>\n\u003Cli>Create location-based pop-ups\u003C\u002Fli>\n\u003Cli>Built-in stats system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>HOW IT WORKS\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Select a condition >> Set a version of content to be displayed if it is met.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>All page builder users\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create a trigger.\u003C\u002Fli>\n\u003Cli>Select a condition and set the personalized content version.\u003C\u002Fli>\n\u003Cli>Optional – create more dynamic versions and set the default content.\u003C\u002Fli>\n\u003Cli>Paste the shortcode wherever you want to display the content.\u003Cbr \u002F>\nWhenever a page with the shortcode is loaded, one of the content versions will be displayed accordingly.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fhelp\u002Fdocumentation\u002Fhow-to-create-dynamic-content-trigger\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=dynamic-trigger\" rel=\"nofollow ugc\">Learn more >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Gutenberg and Elementor users\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Select the block or element.\u003C\u002Fli>\n\u003Cli>On the side menu, select the condition to display the block\u002Felement.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Felementor-personalization\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=elementor\" rel=\"nofollow ugc\"> – More about conditional  Elementor Elements >>\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fconditional-gutenberg-blocks\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=gutenberg\" rel=\"nofollow ugc\"> – More about conditional  Gutenberg Blocks >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>HTML5 Geolocation API (browser location)\u003C\u002Fh3>\n\u003Cp>The Geolocation API-based content option is an alternative method for presenting location-specific content. This approach is significantly more accurate in determining the user’s location compared to the IP-to-location method (which is not crucial at the country and state level, but might be significant at the city level).\u003C\u002Fp>\n\u003Cp>The drawback of this approach is that it necessitates the user’s consent to share their location.\u003C\u002Fp>\n\u003Cp>The HTML5 Geolocation API method can be used in addition to or instead of the IP-to-location service.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fthe-html-geolocation-api\u002F?utm_source=WordPress&utm_medium=Readme&utm_campaign=v2&utm_term=html5_api\" rel=\"nofollow ugc\">– More about the HTML5 Geolocation API.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>LOCATION OVERRIDE (MANUAL USER LOCATION SELECTION)\u003C\u002Fh3>\n\u003Cp>With the manual user location selection option, users can override the location detected by our IP-to-location service and manually select a different location. This allows for dynamic content to be displayed based on the user’s chosen location.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fdynamic-select-form\u002Fmanual-user-location-selection\u002F\" rel=\"nofollow ugc\"> – More about the Location Override option >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>LOG GEOLOCATION REQUESTS\u003C\u002Fh3>\n\u003Cp>Track bots that visit your site and exhaust your session quota. Log the geolocation requests to identify their IPs, analyze them,  and chose if you want to block them from the geolocation service.\u003C\u002Fp>\n\u003Cp>Although the site will remain open to visits from the blocked IPs, the geolocation service will be disabled for them and default content will be displayed instead of the location-based version.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Ffaq-items\u002Fthe-geolocation-session-count-doesnt-seem-to-behave-as-expected\u002F\" rel=\"nofollow ugc\"> – More about logging geolocation requests >>\u003C\u002Fa>\u003Cbr \u002F>\n……………………………………………………………\u003C\u002Fp>\n\u003Ch3>Use cases and examples\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Display the user’s country flag\u003C\u002Fli>\n\u003Cli>Highlight different products in specific locations\u003C\u002Fli>\n\u003Cli>Show reviews in the visitor’s language\u003C\u002Fli>\n\u003Cli>Display the time of an event in the user’s time zone (auto-local time display)\u003C\u002Fli>\n\u003Cli>Set up a conditional redirect\u003C\u002Fli>\n\u003Cli>Redirect all .com pages to corresponding pages on the local version of the site\u003C\u002Fli>\n\u003Cli>Allow users to manually set their location (location override)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fdynamic-content\u002Fexamples\u002F?category_filter%5B%5D=%7B%22cat%22%3A564%2C%22subcat%22%3A565%7D&category_filter%5B%5D=%7B%22cat%22%3A517%2C%22subcat%22%3A518%7D&apply_filter=\" rel=\"nofollow ugc\">More usage examples >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>Built-in stats\u003C\u002Fh3>\n\u003Cp>Get clear insights into your content performance! See real-time results with a built-in analytics system, like how many times each version was displayed and how it affected the conversion rate.\u003C\u002Fp>\n\u003Cp>……………………………………………………………\u003C\u002Fp>\n\u003Ch3>DYNAMIC KEYWORD INSERTION (DKI)\u003C\u002Fh3>\n\u003Cp>The Dynamic Keyword Insertion (DKI) option allows you to display values using shortcodes:\u003Cbr \u002F>\nDisplaying the user’s country:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Insert the user’s country:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='country' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s state:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='state' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s city:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='city' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s continent:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='continent' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s time zone:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='timezone' fallback='' ajax='yes']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s country flag (image):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI ajax='yes' type='geo' show='flag' width='50px']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Insert the user’s country flag (emoji):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='geo' show='emoji-flag']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fgeolocation-dki\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=geo-dki\" rel=\"nofollow ugc\">More Geolocation DKI shortcode options >>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The Auto-Local Time Display shortcode\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay the event time auto-adjusted to the user’s time zone.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ifsoDKI type='time' show='user-geo-timezone-sensitive' time='04\u002F25\u002F2024 08:00' format='n\u002Fj\u002Fo, G:i']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.if-so.com\u002Fauto-local-time-display\u002F?utm_source=WordPressGeo&utm_medium=Readme&utm_campaign=v2&utm_term=local-time-display-dki\" rel=\"nofollow ugc\">More about the Auto-Local Time Display Shortcode >>\u003C\u002Fa>\u003C\u002Fp>\n","All-in-one geolocation. Personalized content, geolocation Dynamic Keyword Insertion shortcodes, Rediects, and more. No coding required!",20240,4,"2025-12-11T21:50:00.000Z","4.0.1",[144,22,145,23,146],"geoip","geolocation-redirect","location-based-content","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fif-so-geolocation.1.5.zip",{"attackSurface":149,"codeSignals":467,"taintFlows":591,"riskAssessment":646,"analyzedAt":659},{"hooks":150,"ajaxHandlers":341,"restRoutes":392,"shortcodes":393,"cronEvents":465,"entryPointCount":466,"unprotectedCount":229},[151,157,162,165,168,172,176,178,183,187,191,195,199,202,206,210,213,217,220,224,226,230,234,236,240,243,247,250,253,256,259,262,265,269,272,275,279,282,287,291,295,297,300,303,306,308,310,312,317,320,323,326,329,333,337],{"type":152,"name":153,"callback":154,"file":155,"line":156},"filter","query_vars","closure","belingoGeo.php",18,{"type":158,"name":159,"callback":160,"file":155,"line":161},"action","template_redirect","belingoGeo_init_city",41,{"type":158,"name":163,"callback":164,"file":155,"line":94},"init","belingoGeo_load_plugin_textdomain",{"type":158,"name":163,"callback":166,"file":167,"line":50},"belingoGeo_register_post_types","includes\\admin\\functions.php",{"type":158,"name":169,"callback":170,"priority":27,"file":167,"line":171},"admin_init","belingoGeo_cities_fields",66,{"type":158,"name":173,"callback":174,"file":167,"line":175},"save_post","belingoGeo_save_city",251,{"type":158,"name":173,"callback":174,"file":167,"line":177},326,{"type":152,"name":179,"callback":180,"priority":181,"file":167,"line":182},"wp_unique_term_slug","belingogeo_unique_term_slug_filter",10,336,{"type":152,"name":184,"callback":185,"priority":181,"file":167,"line":186},"posts_where","belingogeo_posts_where",374,{"type":158,"name":188,"callback":189,"file":167,"line":190},"bg_regions_add_form_fields","belingogeo_bg_regions_add_term_fields",488,{"type":158,"name":192,"callback":193,"priority":181,"file":167,"line":194},"bg_regions_edit_form_fields","belingogeo_bg_regions_edit_term_fields",502,{"type":158,"name":196,"callback":197,"file":167,"line":198},"created_bg_regions","belingogeo_bg_regions_save_term_fields",523,{"type":158,"name":200,"callback":197,"file":167,"line":201},"edited_bg_regions",524,{"type":158,"name":203,"callback":204,"file":167,"line":205},"admin_enqueue_scripts","belingoGeo_scripts_admin",545,{"type":158,"name":207,"callback":208,"file":209,"line":140},"admin_menu","belingoGeo_rewrite_rules_settings","includes\\admin\\settings.php",{"type":158,"name":169,"callback":211,"file":209,"line":212},"belingogeo_download_example",19,{"type":158,"name":214,"callback":215,"file":209,"line":216},"admin_notices","belingo_geo_custom_admin_notices",184,{"type":158,"name":169,"callback":218,"file":209,"line":219},"belingo_geo_settings",759,{"type":152,"name":221,"callback":222,"priority":74,"file":223,"line":50},"the_title","belingogeo_city_title","includes\\hooks.php",{"type":152,"name":225,"callback":222,"priority":74,"file":223,"line":140},"wp_title",{"type":152,"name":227,"callback":228,"priority":181,"file":223,"line":229},"redirect_canonical","belingogeo_redirect_canonical",15,{"type":158,"name":231,"callback":232,"priority":74,"file":223,"line":233},"wp_enqueue_scripts","belingogeo_ajax_data",43,{"type":158,"name":231,"callback":235,"file":223,"line":47},"belingo_geo_scripts",{"type":158,"name":237,"callback":238,"file":223,"line":239},"wp_footer","belingogeo_footer_action",89,{"type":152,"name":241,"callback":242,"file":223,"line":13},"rewrite_rules_array","belingogeo_rewrite_rules_array",{"type":152,"name":244,"callback":245,"priority":181,"file":223,"line":246},"page_link","belingogeo_generate_links",221,{"type":152,"name":248,"callback":245,"priority":181,"file":223,"line":249},"post_link",222,{"type":152,"name":251,"callback":245,"priority":181,"file":223,"line":252},"term_link",223,{"type":152,"name":254,"callback":245,"priority":181,"file":223,"line":255},"post_type_link",224,{"type":152,"name":257,"callback":245,"priority":181,"file":223,"line":258},"month_link",225,{"type":152,"name":260,"callback":245,"priority":181,"file":223,"line":261},"year_link",226,{"type":158,"name":263,"callback":154,"file":223,"line":264},"admin_footer-edit.php",228,{"type":152,"name":266,"callback":267,"priority":181,"file":223,"line":268},"post_row_actions","belingogeo_default_row_actions",240,{"type":158,"name":270,"callback":271,"priority":181,"file":223,"line":175},"pre_trash_post","belingogeo_restrict_default_deletion",{"type":152,"name":273,"callback":271,"priority":181,"file":223,"line":274},"pre_delete_post",252,{"type":152,"name":276,"callback":277,"priority":181,"file":223,"line":278},"display_post_states","belingogeo_mark_in_city_list_default",262,{"type":158,"name":163,"callback":280,"file":223,"line":281},"belingogeo_init",273,{"type":152,"name":283,"callback":284,"file":285,"line":286},"wpseo_sitemap_index","belingogeo_modify_yaost_sitemap","includes\\sitemaps.php",40,{"type":152,"name":288,"callback":289,"priority":181,"file":290,"line":50},"woocommerce_get_breadcrumb","belingoGeo_breadcrumb_hook","integrations\\woocommerce.php",{"type":152,"name":292,"callback":293,"priority":74,"file":294,"line":50},"wpseo_metadesc","belingo_city_meta","integrations\\yoast.php",{"type":152,"name":296,"callback":293,"priority":74,"file":294,"line":140},"wpseo_metakeywords",{"type":152,"name":298,"callback":293,"priority":74,"file":294,"line":299},"wpseo_title",5,{"type":152,"name":301,"callback":293,"priority":74,"file":294,"line":302},"wpseo_opengraph_site_name",6,{"type":152,"name":304,"callback":293,"priority":74,"file":294,"line":305},"wpseo_opengraph_desc",7,{"type":152,"name":307,"callback":293,"priority":74,"file":294,"line":121},"wpseo_opengraph_title",{"type":152,"name":309,"callback":293,"priority":74,"file":294,"line":104},"wpseo_twitter_description",{"type":152,"name":311,"callback":293,"priority":74,"file":294,"line":181},"wpseo_twitter_title",{"type":152,"name":313,"callback":314,"priority":315,"file":294,"line":316},"wpseo_prev_rel_link","belingoGeo_wpseo_opengraph_urls",9999,22,{"type":152,"name":318,"callback":314,"priority":315,"file":294,"line":319},"wpseo_next_rel_link",23,{"type":152,"name":321,"callback":314,"priority":315,"file":294,"line":322},"wpseo_opengraph_url",24,{"type":152,"name":324,"callback":314,"priority":315,"file":294,"line":325},"wpseo_canonical",25,{"type":152,"name":327,"callback":328,"priority":74,"file":294,"line":161},"wpseo_schema_breadcrumb","belingogeo_schema_breadcrumb",{"type":152,"name":330,"callback":331,"priority":181,"file":294,"line":332},"wpseo_schema_webpage","belingogeo_wpseo_schema_webpage",49,{"type":152,"name":334,"callback":335,"file":294,"line":336},"wpseo_breadcrumb_links","belingogeo_rewrite_yoast_breadcrumbs",86,{"type":152,"name":338,"callback":339,"priority":181,"file":294,"line":340},"wpseo_sitemap_url","belingogeo_wpseo_sitemap_url",139,[342,347,351,355,359,363,368,369,372,374,378,380,384,386,390],{"action":343,"nopriv":344,"callback":345,"hasNonce":344,"hasCapCheck":344,"file":167,"line":346},"getcitiescallback",false,"belingoGeo_get_cities_ajax_callback",383,{"action":348,"nopriv":344,"callback":349,"hasNonce":344,"hasCapCheck":344,"file":167,"line":350},"getpostscallback","belingoGeo_get_posts_ajax_callback",410,{"action":352,"nopriv":344,"callback":353,"hasNonce":344,"hasCapCheck":344,"file":167,"line":354},"getpagescallback","belingoGeo_get_pages_ajax_callback",435,{"action":356,"nopriv":344,"callback":357,"hasNonce":344,"hasCapCheck":344,"file":167,"line":358},"gettermscallback","belingoGeo_get_terms_ajax_callback",454,{"action":360,"nopriv":344,"callback":361,"hasNonce":344,"hasCapCheck":344,"file":167,"line":362},"gettagscallback","belingoGeo_get_tags_ajax_callback",471,{"action":364,"nopriv":365,"callback":366,"hasNonce":344,"hasCapCheck":344,"file":367,"line":50},"load_cities",true,"belingogeo_load_cities","includes\\ajax-functions.php",{"action":364,"nopriv":344,"callback":366,"hasNonce":344,"hasCapCheck":344,"file":367,"line":140},{"action":370,"nopriv":365,"callback":370,"hasNonce":344,"hasCapCheck":344,"file":367,"line":371},"show_city_question",34,{"action":370,"nopriv":344,"callback":370,"hasNonce":344,"hasCapCheck":344,"file":367,"line":373},35,{"action":375,"nopriv":365,"callback":376,"hasNonce":344,"hasCapCheck":344,"file":367,"line":377},"get_widget_city","belingoGeo_get_widget_city",90,{"action":375,"nopriv":344,"callback":376,"hasNonce":344,"hasCapCheck":344,"file":367,"line":379},91,{"action":381,"nopriv":365,"callback":382,"hasNonce":344,"hasCapCheck":344,"file":367,"line":383},"write_city_cookie","belingoGeo_write_city_cookie",126,{"action":381,"nopriv":344,"callback":382,"hasNonce":344,"hasCapCheck":344,"file":367,"line":385},127,{"action":387,"nopriv":365,"callback":388,"hasNonce":344,"hasCapCheck":344,"file":367,"line":389},"write_nogeo_cookie","belingoGeo_write_nogeo_cookie",179,{"action":387,"nopriv":344,"callback":388,"hasNonce":344,"hasCapCheck":344,"file":367,"line":391},180,[],[394,398,401,405,409,413,417,421,425,429,433,437,441,445,449,453,457,461],{"tag":395,"callback":396,"file":397,"line":50},"belingogeo_city_field","belingogeo_city_field_shortcode","includes\\shortcodes.php",{"tag":399,"callback":400,"file":397,"line":65},"belingogeo_city_content","belingogeo_city_content_shortcode",{"tag":402,"callback":403,"file":397,"line":404},"belingogeo_select_city","belingoGeo_select_city_shortcode",106,{"tag":406,"callback":407,"file":397,"line":408},"belingogeo_popup_select_city","belingoGeo_popup_select_city_shortcode",132,{"tag":410,"callback":411,"file":397,"line":412},"belingogeo_selector","belingoGeo_selector_shortcode",149,{"tag":414,"callback":415,"file":397,"line":416},"belingogeo_region_field","belingogeo_region_field_shortcode",172,{"tag":418,"callback":419,"file":397,"line":420},"belingogeo_region_content","belingogeo_region_content_shortcode",212,{"tag":422,"callback":423,"file":397,"line":424},"city","belingoGeo_city_shortcode",278,{"tag":426,"callback":427,"file":397,"line":428},"widget_city","belingoGeo_widget_city_shortcode",283,{"tag":430,"callback":431,"file":397,"line":432},"city_field","belingoGeo_city_field_shortcode_deprecated",288,{"tag":434,"callback":435,"file":397,"line":436},"city_content","belingoGeo_city_content_shortcode_deprecated",293,{"tag":438,"callback":439,"file":397,"line":440},"city_padej1","belingoGeo_city_padej1_shortcode",298,{"tag":442,"callback":443,"file":397,"line":444},"city_padej2","belingoGeo_city_padej2_shortcode",303,{"tag":446,"callback":447,"file":397,"line":448},"city_padej3","belingoGeo_city_padej3_shortcode",308,{"tag":450,"callback":451,"file":397,"line":452},"city_phone","belingoGeo_city_phone_shortcode",313,{"tag":454,"callback":455,"file":397,"line":456},"city_address","belingoGeo_city_address_shortcode",318,{"tag":458,"callback":459,"file":397,"line":460},"cities_addon_contacts","belingoGeo_cities_addon_contacts_shortcode",323,{"tag":462,"callback":463,"file":397,"line":464},"select_city","belingoGeo_select_city_shortcode_deprecated",357,[],33,{"dangerousFunctions":468,"sqlUsage":469,"outputEscaping":472,"fileOperations":27,"externalRequests":28,"nonceChecks":28,"capabilityChecks":470,"bundledLibraries":587},[],{"prepared":470,"raw":28,"locations":471},2,[],{"escaped":473,"rawEcho":474,"locations":475},111,60,[476,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,516,518,520,522,524,526,528,529,530,531,532,534,536,538,540,541,543,545,546,548,550,552,554,556,558,560,562,563,565,567,569,571,573,575,576,578,580,582,584,586],{"file":167,"line":477,"context":478},108,"raw output",{"file":167,"line":480,"context":478},121,{"file":167,"line":482,"context":478},134,{"file":167,"line":484,"context":478},147,{"file":167,"line":486,"context":478},160,{"file":167,"line":488,"context":478},174,{"file":167,"line":490,"context":478},188,{"file":167,"line":492,"context":478},229,{"file":167,"line":494,"context":478},230,{"file":167,"line":496,"context":478},231,{"file":167,"line":498,"context":478},232,{"file":167,"line":500,"context":478},406,{"file":167,"line":502,"context":478},431,{"file":167,"line":504,"context":478},450,{"file":167,"line":506,"context":478},467,{"file":167,"line":508,"context":478},484,{"file":167,"line":510,"context":478},491,{"file":167,"line":512,"context":478},508,{"file":209,"line":514,"context":478},45,{"file":209,"line":65,"context":478},{"file":209,"line":517,"context":478},51,{"file":209,"line":519,"context":478},54,{"file":209,"line":521,"context":478},63,{"file":209,"line":523,"context":478},65,{"file":209,"line":525,"context":478},67,{"file":209,"line":527,"context":478},69,{"file":209,"line":103,"context":478},{"file":209,"line":47,"context":478},{"file":209,"line":336,"context":478},{"file":209,"line":379,"context":478},{"file":209,"line":533,"context":478},94,{"file":209,"line":535,"context":478},103,{"file":209,"line":537,"context":478},105,{"file":209,"line":539,"context":478},107,{"file":209,"line":477,"context":478},{"file":209,"line":542,"context":478},109,{"file":209,"line":544,"context":478},110,{"file":209,"line":473,"context":478},{"file":209,"line":547,"context":478},112,{"file":209,"line":549,"context":478},113,{"file":209,"line":551,"context":478},114,{"file":209,"line":553,"context":478},115,{"file":209,"line":555,"context":478},116,{"file":209,"line":557,"context":478},117,{"file":209,"line":559,"context":478},119,{"file":209,"line":561,"context":478},120,{"file":209,"line":480,"context":478},{"file":209,"line":564,"context":478},123,{"file":209,"line":566,"context":478},156,{"file":209,"line":568,"context":478},157,{"file":209,"line":570,"context":478},158,{"file":209,"line":572,"context":478},171,{"file":209,"line":574,"context":478},173,{"file":209,"line":490,"context":478},{"file":209,"line":577,"context":478},820,{"file":209,"line":579,"context":478},887,{"file":209,"line":581,"context":478},907,{"file":223,"line":583,"context":478},95,{"file":285,"line":585,"context":478},371,{"file":285,"line":186,"context":478},[588],{"name":589,"version":37,"knownCves":590},"Select2",[],[592,615,625,638],{"entryPoint":593,"graph":594,"unsanitizedCount":27,"severity":614},"belingogeo_download_example (includes\\admin\\settings.php:20)",{"nodes":595,"edges":611},[596,600,604],{"id":597,"type":598,"label":599,"file":209,"line":371},"n0","source","$_GET",{"id":601,"type":602,"label":603,"file":209,"line":371},"n1","transform","→ belingogeo_download_csv_file()",{"id":605,"type":606,"label":607,"file":608,"line":609,"wp_function":610},"n2","sink","header() [Header Injection]","includes\\core-functions.php",97,"header",[612,613],{"from":597,"to":601,"sanitized":344},{"from":601,"to":605,"sanitized":344},"medium",{"entryPoint":616,"graph":617,"unsanitizedCount":27,"severity":614},"\u003Csettings> (includes\\admin\\settings.php:0)",{"nodes":618,"edges":622},[619,620,621],{"id":597,"type":598,"label":599,"file":209,"line":371},{"id":601,"type":602,"label":603,"file":209,"line":371},{"id":605,"type":606,"label":607,"file":608,"line":609,"wp_function":610},[623,624],{"from":597,"to":601,"sanitized":344},{"from":601,"to":605,"sanitized":344},{"entryPoint":626,"graph":627,"unsanitizedCount":28,"severity":637},"belingoGeo_get_widget_city (includes\\ajax-functions.php:92)",{"nodes":628,"edges":635},[629,632],{"id":597,"type":598,"label":630,"file":367,"line":631},"$_COOKIE['nogeo_name']",102,{"id":601,"type":606,"label":633,"file":367,"line":631,"wp_function":634},"echo() [XSS]","echo",[636],{"from":597,"to":601,"sanitized":365},"low",{"entryPoint":639,"graph":640,"unsanitizedCount":28,"severity":637},"\u003Cajax-functions> (includes\\ajax-functions.php:0)",{"nodes":641,"edges":644},[642,643],{"id":597,"type":598,"label":630,"file":367,"line":631},{"id":601,"type":606,"label":633,"file":367,"line":631,"wp_function":634},[645],{"from":597,"to":601,"sanitized":365},{"summary":647,"deductions":648},"The 'belingogeo' plugin version 1.13.2 presents a mixed security posture. On the positive side, it demonstrates good practices by utilizing prepared statements for all SQL queries and has no known unpatched vulnerabilities at this time. The absence of external HTTP requests and critical\u002Fhigh severity taint flows are also encouraging signs. However, significant concerns arise from the considerable attack surface, with 15 out of 33 entry points lacking authentication checks, specifically 15 AJAX handlers. This large number of unprotected AJAX endpoints is a primary risk, potentially allowing unauthorized actions.\n\nFurthermore, the static analysis reveals that 35% of output operations are not properly escaped, which could lead to Cross-Site Scripting (XSS) vulnerabilities if user-supplied data is involved in these outputs. The presence of two unsanitized path flows in the taint analysis, while not critical or high severity, warrants attention as they could indicate potential path traversal issues, especially given the plugin's history of a high-severity 'Path Traversal' vulnerability. The plugin's reliance on Select2, if not kept updated, could also introduce risks, though no specific version is provided for assessment.\n\nIn conclusion, while 'belingogeo' has made strides in secure coding with its SQL handling and has a clean vulnerability history currently, the numerous unprotected AJAX handlers and unescaped output present tangible risks. The historical path traversal vulnerability, coupled with unsanitized path flows in the current analysis, suggests a need for rigorous auditing of input validation and output sanitization, particularly for the unprotected entry points.",[649,651,653,655,657],{"reason":650,"points":181},"Unprotected AJAX handlers",{"reason":652,"points":305},"Unescaped output percentage",{"reason":654,"points":302},"Unsanitized paths in taint flows",{"reason":656,"points":181},"Missing nonce checks on AJAX",{"reason":658,"points":229},"Historical high severity vulnerability","2026-03-16T18:58:34.918Z",{"wat":661,"direct":670},{"assetPaths":662,"generatorPatterns":665,"scriptPaths":666,"versionParams":667},[663,664],"\u002Fwp-content\u002Fplugins\u002Fbelingogeo\u002Fassets\u002Fjs\u002Fbelingogeo-front.js","\u002Fwp-content\u002Fplugins\u002Fbelingogeo\u002Fassets\u002Fcss\u002Fbelingogeo.css",[],[663],[668,669],"belingogeo\u002Fassets\u002Fcss\u002Fbelingogeo.css?ver=","belingogeo\u002Fassets\u002Fjs\u002Fbelingogeo-front.js?ver=",{"cssClasses":671,"htmlComments":673,"htmlAttributes":676,"restEndpoints":681,"jsGlobals":682,"shortcodeOutput":684},[672],"belingogeo-popup",[674,675],"\u003C!-- Belingo.GeoCity plugin -->","\u003C!-- BelingoGeo - Exclude\u002FInclude in cities -->",[677,678,679,680],"data-belingogeo-city-id","data-belingogeo-city-name","data-belingogeo-city-url","data-belingogeo-city-slug",[],[683],"belingogeo_ajax_url",[685,686],"[belingogeo_city_list]","[belingogeo_geo_select_city]"]