• Resolved fangtengbo

    (@fangtengbo)


    The Global Visitor Distribution map widget in WP Statistics displays Taiwan in a separate colour from mainland China. This reflects a political position, not a neutral geographic one. It contradicts the one-China principle, which is recognised by the United Nations and the vast majority of states worldwide.

    The geodata source used by this plugin should be corrected to reflect Taiwan as part of China’s territory. This is not a fringe request. It is the internationally recognised baseline position under UN Resolution 2758.

    Please either update the underlying map data or provide an option to configure the territorial display. As a publisher with a Chinese readership, this is not acceptable in its current form.

    The page I need help with: [log in to see the link]

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Author Mostafa Soufi

    (@mostafas1990)

    Hi,

    Thank you for reaching out and for explaining your concern.

    To clarify how the map works on a technical level: the Global Visitor Distribution map groups visitors by country using the standard ISO 3166 country codes that come from the geolocation (GeoIP) database, and it renders them with a standard open-source vector map library.

    The regions and their boundaries are defined by those third-party data sources, not configured by WP Statistics. Taiwan appears as its own region because it has a separate code (TW) in those standard datasets, the same way those sources represent many territories.

    In other words, the map reflects the neutral technical data we receive from these sources, and it is not intended to express any political or territorial position. The plugin does not relabel or merge entries from the standard dataset, and there is currently no built-in setting to change how individual territories are displayed on the map.

    If you need a customized grouping for your own reports, that would involve adjusting the underlying map data on your side, since the plugin follows the standard sources.

    Thank you again for taking the time to share this.

    Best regards

    Thread Starter fangtengbo

    (@fangtengbo)

    Thank you for the explanation, Mostafa.

    The technical argument is understood, but it does not resolve the political problem. ISO 3166 is maintained by the International Organisation for Standardisation, a body dominated by Western institutional interests. Its inclusion of TW as a separate code does not reflect international legal consensus. UN Resolution 2758 (1971) established that the People’s Republic of China is the sole legitimate representative of China. Taiwan is not a UN member state and is not recognised as a sovereign country by most nations.

    Saying “we follow the standard sources” means the plugin has outsourced a political decision to a politically non-neutral dataset. That is still a political choice, even if it feels technical from the inside.

    Other software vendors have addressed exactly this. Mapbox offers a China-specific SDK that renders Taiwan as part of China. Apple Maps adjusts territory display based on the user’s region. The precedent for configurable territorial display exists and is widely adopted.

    What I am asking for is modest: a setting that allows site owners to merge TW into CN for display purposes. This would cost nothing politically for VeronaLabs and would make the plugin usable for publishers with Chinese audiences or operating under Chinese regulatory frameworks.

    I am happy to assist test any such feature if development is considered.

    Plugin Contributor Navid Kashani

    (@kashani)

    Hi @fangtengbo

    WP Statistics does not define, modify, merge, or relabel countries or territories. We rely on external geolocation providers such as MaxMind, DB-IP, or Cloudflare Geolocation, and display the data returned by those sources (https://wp-statistics.com/resources/location-detection-methods-in-wp-statistics/)

    Adding custom political or territorial overrides is not part of our product policy, as we aim to keep WP Statistics neutral and based on standard third-party data sources.

    At the moment, we do not plan to add a setting to merge or change specific country/territory codes.

    Thank you for your understanding.

    Thread Starter fangtengbo

    (@fangtengbo)

    Thank you, Navid. But let us be precise about what “neutral” means here.

    MaxMind and DB-IP both derive their territorial coding from ISO 3166. ISO 3166 is a Western-administered standard that assigns Taiwan a separate country code. That is not a neutral technical fact. It is a political position that contradicts UN Resolution 2758, adopted by the General Assembly in 1971, which explicitly recognises the PRC as the sole legitimate representative of China.

    Your plugin ships that political position to every website that installs it, without disclosure and without any override option. Calling that “neutral” is not accurate.

    The argument that you “only follow external sources” does not absolve responsibility. Every software product makes choices about which standards to follow. Choosing ISO 3166 uncritically, for a map widget that renders territorial boundaries, is itself a choice with political consequences.

    WP Statistics is distributed through the WordPress.org directory to a global user base. Publishers operating in China, serving Chinese audiences, or respecting internationally recognised territorial integrity cannot use your map widget without misrepresenting Chinese sovereignty. That is a real problem for real users.

    I am formally requesting that this issue be escalated beyond the support team to your product and legal leadership. I am also filing a separate complaint with the WordPress.org directory team and with MaxMind. This conversation will be referenced in both.

    • This reply was modified 3 months ago by fangtengbo.
    Plugin Contributor Navid Kashani

    (@kashani)

    Hi,

    WP Statistics does not maintain political or territorial override rules inside the plugin. We rely on external geolocation providers and display the country/region data returned by those sources.

    If you are aware of another reliable geolocation database source that provides data in a compatible format, such as MMDB, and has a license that allows use in WordPress plugins, you are welcome to share it with us. We can review whether it is technically and legally suitable to support as an additional provider.

    However, adding provider-specific or politically specific merge rules, such as manually merging individual country/territory codes, is not part of our current product policy.

    Thank you for your understanding.

    Thread Starter fangtengbo

    (@fangtengbo)

    Thank you for this clarification. The offer to review an alternative geolocation provider is noted and appreciated.

    I am currently identifying whether a Chinese-built geolocation database exists in MMDB-compatible format with a suitable open licence. I will revert once I have confirmed the technical and licensing details.

    In the meantime, I want to state clearly for the record that the current situation, where your plugin renders Taiwan separately from China for 81% of my daily visitors, remains unacceptable. The responsibility does not disappear simply because it is delegated to an upstream provider.

    I will follow up shortly with a concrete technical proposal.

    Thread Starter fangtengbo

    (@fangtengbo)

    As promised, here is a concrete technical proposal.

    The core issue is not unsolvable. It requires two components: a corrected geolocation database and a display-layer mapping rule. Both are technically straightforward.

    On the database side, the Chinese open-source project mmdb_china_ip_list, available at github.com/alecthw/mmdb_china_ip_list, produces an MMDB-compatible file that replaces MaxMind’s CN entries with data from IPIP.net and other Chinese sources. It outputs standard MMDB format, readable by the same libraries WP Statistics already uses. The licence is open and the database is updated automatically. This is a viable alternative provider in exactly the format your team requested.

    On the display side, the map widget renders countries by ISO code. A single mapping rule, TW → CN, applied at the rendering layer before the map draws, would merge Taiwan’s visitor data into China without touching the geolocation database at all. This is a display-layer override, not a political override. It is the same logic used when grouping overseas territories under their parent country for reporting purposes. No data is deleted. No database is modified. It is a presentation choice, and it is entirely within VeronaLabs’ control.

    The proposal is therefore this: add an optional setting, disabled by default, allowing site owners to define country code aliases for display purposes. TW → CN would be one use case. This is a neutral feature with broad applicability, not a politically specific intervention.

    I am available to assist with testing.

    Thread Starter fangtengbo

    (@fangtengbo)

    I have now received formal technical documentation from the Standardisation Administration of China (SAC), China’s national standards body and full ISO member.


    SAC’s expert review confirms the following. ISO 3166-1 already names the TW code as “Taiwan, Province of China,” explicitly marked as not independent. ISO 3166-2 separately assigns the code CN-TW, classifying Taiwan as a province under China. ISO has not left this ambiguous. The classification is already there, in ISO’s own official data.


    This means the problem is not with ISO. The problem is with how WP Statistics renders that data. Your plugin discards the “Province of China” qualifier that ISO itself attaches to TW, and ignores CN-TW entirely. The result is a map that contradicts ISO’s own classification.


    You previously offered to review an alternative geolocation provider in MMDB format. I now have a stronger request. The correction does not require a new database. It requires your plugin to honour the data ISO already provides. Either display the ISO long name “Taiwan, Province of China” in your reports, or group CN-TW under China in your map widget.


    This is no longer a political request. It is a request to correctly implement the standard you claim to follow.

    Plugin Contributor Navid Kashani

    (@kashani)

    Thank you for the continued detail, and for putting together a concrete proposal.

    First, to clarify how the plugin actually works, since it determines what any change would involve. WP Statistics identifies a visitor’s location using the ISO 3166-1 alpha-2 country code returned by whichever geolocation provider the site owner has configured — MaxMind, DB-IP, or Cloudflare. It does not itself reassign or override the country code the provider returns for any territory; it stores and displays what the provider reports, and renders it with an open-source vector map.

    On ISO specifically: you’re right that Taiwan appears in ISO 3166 in more than one way — it has its own alpha-2 code (TW) and it also appears as a subdivision of China (CN-TW). The relevant technical point is that IP geolocation resolves an address to the alpha-2 country code, not to 3166-2 subdivision codes. MaxMind, DB-IP, and Cloudflare all return “TW” for these addresses — none of them return “CN-TW.” So this isn’t a case of the plugin discarding ISO subdivision data it receives; that data simply isn’t part of the geolocation result. Grouping TW under CN would require the plugin to override the code the provider returns — the kind of territorial reassignment we’ve chosen not to make, in any direction and for any region.

    I also want to set accurate expectations on the proposal itself, because the country code isn’t set in one place. Cloudflare’s provider reads the country directly from Cloudflare’s edge network, so swapping the MaxMind database doesn’t affect it at all. The map artwork renders each territory as its own shape, independent of the visitor data. And the code is written into historical records, CSV/PDF exports, and the data returned to add-ons. So a database swap plus a display rule wouldn’t produce a consistent result; making it consistent would mean the plugin actively overriding standard geolocation data across several layers.

    On the display label: the names shown beside each flag are informal, human-readable labels — not authoritative ISO long-form designations — and grouping is done purely by the alpha-2 code, so the label wording doesn’t affect how visitors are counted or mapped.

    As I mentioned earlier, we remain open to supporting an additional geolocation provider: if there’s one that ships an MMDB-compatible database under a suitable license, we’re glad to evaluate it, and the plugin will reflect whatever data that provider returns. What we won’t add is plugin-side code-remapping or territorial alias rules.

    I appreciate the thoroughness of your request, and I understand this isn’t the outcome you were hoping for.

Viewing 9 replies - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.