Title: Yelocate
Author: yelosoftware
Published: <strong>April 23, 2026</strong>
Last modified: April 23, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/yelocate.svg)

# Yelocate

 By [yelosoftware](https://profiles.wordpress.org/vladmihut/)

[Download](https://downloads.wordpress.org/plugin/yelocate.zip)

 * [Details](https://test.wordpress.org/plugins/yelocate/#description)
 * [Reviews](https://test.wordpress.org/plugins/yelocate/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/yelocate/#installation)
 * [Development](https://test.wordpress.org/plugins/yelocate/#developers)

 [Support](https://wordpress.org/support/plugin/yelocate/)

## Description

**Yelocate** improves WooCommerce checkout by validating customer addresses, email
addresses, and phone numbers in real time using an external validation API.

The plugin works by collecting checkout field values in the browser and sending 
them to a server-side AJAX handler in WordPress. The handler securely calls the 
configured validation API and returns a normalised response displayed to the customer
as an inline banner near the relevant field.

Each validation type (address, email, phone) can be enabled or disabled independently
and configured with its own CSS selectors, so the plugin adapts to any checkout 
layout — classic WooCommerce or block-based.

### External Services

This plugin connects to the Yelocate API (https://yelocate.com) to perform
 real-
time validation of addresses, email addresses, and phone numbers at WooCommerce 
checkout.

**What data is sent and when:**

 * **Address validation** — billing address fields (address line 1, address
    line
   2, city, state/province, postcode, country) are sent to the API when the customer
   fills in their billing address at checkout. Only triggered for the 40 supported
   countries listed below; all other countries are silently skipped.
 * **Email verification** — the email address entered in the billing email
    field
   is sent to the API as the customer types.
 * **Phone verification** — the phone number entered in the billing phone
    field,
   along with the billing country code, is sent to the API when the customer leaves
   the field (on blur), provided at least 7 digits are present.

Each validation type can be independently disabled. No API calls are made for
 disabled
validation types. The API key is stored server-side and is never exposed to the 
browser.

This service is provided by Yelosoftware:
 * Terms of Service: https://yelocate.
com/terms * Privacy Policy: https://yelocate.com/privacy

### Features

 * **Address validation** — verifies billing address in real time; detects missing
   components, suggests field-level corrections, and silently skips unsupported 
   countries
 * **Email verification** — validates deliverability and detects disposable or malformed
   addresses as the customer types
 * **Phone verification** — validates phone numbers on blur once at least 7 digits
   are present; passes the billing country as the region code for accurate international
   validation
 * Server-side API calls — the API key is never exposed to the browser
 * Works with both classic and block-based WooCommerce checkout
 * Each validation type has its own configurable CSS selectors and banner mount 
   point
 * Per-type enable/disable toggles — only enabled validations trigger API calls
 * Intelligent address diffing — for suggested addresses, the plugin compares entered
   vs. suggested values field by field; if the only differences are formatting or
   language conventions, the address is treated as valid
 * Graceful handling of incomplete addresses and unsupported countries
 * Fully configurable via WordPress Admin  Settings  Yelocate Validation

### Supported Countries (Address Validation)

Address validation is only triggered for the following countries. For all other 
countries the plugin stays silent and no API call is made.

Argentina (AR), Austria (AT), Australia (AU), Belgium (BE), Bulgaria (BG), Brazil(
BR), Canada (CA), Switzerland (CH), Chile (CL), Colombia (CO), Czechia (CZ), Germany(
DE), Denmark (DK), Estonia (EE), Spain (ES), Finland (FI), France (FR), United Kingdom(
GB), Croatia (HR), Hungary (HU), Ireland (IE), India (IN), Italy (IT), Japan (JP),
Lithuania (LT), Luxembourg (LU), Latvia (LV), Mexico (MX), Malaysia (MY), Netherlands(
NL), Norway (NO), New Zealand (NZ), Poland (PL), Puerto Rico (PR), Portugal (PT),
Sweden (SE), Singapore (SG), Slovenia (SI), Slovakia (SK), United States (US)

### Configuration

### Shared

 * **API Key** — authentication key generated in your Yelocate dashboard (https://
   yelocate.com). Sign up, purchase validation credits, and generate a key before
   configuring the plugin. The key is stored server-side and never sent to the browser.
 * **Strictness** — controls address validation strictness (`normal` or `strict`)

### Address Validation

 * **Enable address validation** — tick to activate; untick to disable completely
 * **API URL** — address validation endpoint
 * **Banner mount selector** — CSS selector for the element above which the address
   banner is inserted
 * **Address line 1 selector**
 * **Address line 2 selector** (optional)
 * **City selector**
 * **State / province selector** (optional)
 * **Postcode selector**
 * **Country selector**

Typical WooCommerce (classic) selectors:

Address line 1: `#billing_address_1`
 Address line 2: `#billing_address_2` City:`#
billing_city` State: `#billing_state` Postcode: `#billing_postcode` Country: `#billing_country`
Banner mount: `#billing_address_1_field`

### Email Verification

 * **Enable email verification** — tick to activate
 * **API URL** — email verification endpoint
 * **Banner mount selector** — CSS selector for the element above which the email
   banner is inserted
 * **Email input selector** — CSS selector for the email input field

Typical WooCommerce (classic) selectors:

Email input: `#billing_email`
 Banner mount: `#billing_email_field`

### Phone Verification

 * **Enable phone verification** — tick to activate
 * **API URL** — phone verification endpoint
 * **Banner mount selector** — CSS selector for the element above which the phone
   banner is inserted
 * **Phone input selector** — CSS selector for the phone input field

Validation fires when the customer leaves the phone field, provided at least 7 digits
are present. The billing country is automatically passed as the region code.

Typical WooCommerce (classic) selectors:

Phone input: `#billing_phone`
 Banner mount: `#billing_phone_field`

### License

This plugin is licensed under the GPLv2 or later.

https://www.gnu.org/licenses/gpl-2.0.html

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`
 2. Activate the plugin via **Plugins  Installed Plugins**
 3. Go to **Settings  Yelocate Validation**
 4. Configure the shared API key, then enable and configure each validation type as
    needed
 5. Visit your WooCommerce checkout page and test the validation banners

## FAQ

### How do I get an API key?

Create an account at https://yelocate.com, purchase validation credits, and generate
an API key in your dashboard. Paste this key into the **API Key** field in WordPress
under **Settings  Yelocate Validation**.

### Does this plugin expose the API key to the browser?

No. The API key is stored in WordPress options and used only in server-side AJAX
requests. It is never included in the JavaScript configuration passed to the browser.

### Does this plugin block checkout if validation fails?

No. The plugin provides informational feedback but does not prevent the customer
from completing checkout. You may extend this behaviour if desired.

### Does it work with custom or block-based checkout layouts?

Yes. All field selectors and banner mount points are fully configurable, so the 
plugin supports custom and block-based checkout implementations as long as the correct
CSS selectors are provided.

### Why is address validation not triggering for some countries?

Address validation is silently skipped for countries not covered by the underlying
API. See the “Supported Countries” section above for the full list. Email and phone
validation are not restricted by country.

### Why does phone validation only fire when I leave the field?

Phone numbers are validated on blur (when the field loses focus) rather than on 
every keystroke, to avoid unnecessary API calls while the customer is still typing.
Validation is also skipped if fewer than 7 digits are present, which prevents calls
on partially entered numbers.

### The suggested address banner appeared but the address looks correct — why?

The plugin compares the entered and suggested address field by field (street, city,
postcode, state). If the API returns a suggestion but the actual data values are
identical — for example when the only difference is formatting or language — the
plugin treats the address as valid and shows a success message instead.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Yelocate” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ yelosoftware ](https://profiles.wordpress.org/vladmihut/)

[Translate “Yelocate” into your language.](https://translate.wordpress.org/projects/wp-plugins/yelocate)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/yelocate/), check out
the [SVN repository](https://plugins.svn.wordpress.org/yelocate/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/yelocate/) by [RSS](https://plugins.trac.wordpress.org/log/yelocate/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.3.0

 * Added email verification with configurable field selector and banner mount
 * Added phone verification with configurable field selector and banner mount; fires
   on blur with a minimum of 7 digits
 * Each validation type can be independently enabled or disabled
 * Address validation now silently skips countries not covered by the API (40 supported
   countries hardcoded)
 * Replaced message-string matching with field-by-field comparison of entered vs.
   suggested postal address components (street, city, postcode, state); formatting-
   only differences are treated as valid
 * Passed billing country as region code in phone validation requests
 * Added hidden input alongside each checkbox to ensure unchecked state is correctly
   persisted in WordPress options
 * Settings page renamed to “Yelocate Validation” and restructured into sections:
   API Credentials, Address Validation, Email Verification, Phone Verification

#### 0.2.0

 * Initial release
 * Address validation via external API
 * Configurable checkout selectors
 * AJAX validation endpoint

## Meta

 *  Version **0.3.0**
 *  Last updated **3 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/yelocate/)
 * Tags
 * [address validation](https://test.wordpress.org/plugins/tags/address-validation/)
   [checkout](https://test.wordpress.org/plugins/tags/checkout/)[email validation](https://test.wordpress.org/plugins/tags/email-validation/)
   [phone validation](https://test.wordpress.org/plugins/tags/phone-validation/)
   [woocommerce](https://test.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://test.wordpress.org/plugins/yelocate/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/yelocate/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/yelocate/reviews/)

## Contributors

 *   [ yelosoftware ](https://profiles.wordpress.org/vladmihut/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/yelocate/)