Askledge
Askledge adds a chat-style box to your site that answers visitor questions from your own content. You choose what it may read — posts, pages, custom post types, WooCommerce products, taxonomy terms, and individually approved ACF fields — and it answers only from that, plus any answers you write yourself. When nothing on the site covers the question, it says so and offers your fallback message instead of guessing.
It works with no AI service. By default the answer is built on your own server: the question is matched against the indexed content, and the reply names the best-matching page and lists the relevant pages with an excerpt from each. Nothing is sent anywhere.
Where answers come from
In order, the first of these that has something to say is what the visitor gets:
- Curated Answers — rich answers you design yourself: plain text, numbered steps, cards (typed by hand or picked from your own posts, pages or products), or a set of links, each with an optional button. Stored as structured data and drawn by the plugin, so no admin-entered HTML is ever placed on the page.
- Manual Q&A — question and answer pairs you type on one line each, returned exactly as written.
- Human handoff — a visitor asking for a person gets your configured contact actions: email, telephone, WhatsApp, a contact page or a custom link. Existing WhatsApp settings remain supported.
- Local answers — for common questions (contact details, location, opening hours, what you offer, prices, what the site is about) the facts are read out of your own pages. Recognised in English, French, Spanish and Arabic. Entirely on your server.
- Search — the question is matched against your content index and answered with the best-matching page and a ranked list of links, each with an excerpt.
Optional AI mode
You can instead have the matched excerpts written up into a sentence by an AI service. It is off by default, and no company is built in: you enter the endpoint address, key and model name of whichever service you have chosen, including one running on your own hardware. Until you do, the plugin connects to nothing. See “External services” below for exactly what is sent, and when.
What it does not do
- It never searches the web and never calls an external search service.
- It never answers from an AI model’s general knowledge — only from your indexed excerpts, which are treated as data, never as instructions.
- Every link it shows is a real WordPress permalink from your own site.
- It indexes no ACF field until you tick that specific field, and field or post-type names that look like personal or order data (password, email, phone, token, customer, order, invoice, booking, payment…) can never be selected at all.
Other things worth knowing
- Works with any public custom post type registered on the site, with no prior knowledge of it.
- Polylang-aware: content is indexed per language, with a setting for whether another language may be used when nothing matches.
- Arabic-aware text normalisation, plus RTL support throughout.
- Placement: a floating “Ask” button site-wide, the
[askledge]shortcode, the native Askledge block, or the Askledge widget under Appearance → Widgets. Display Rules control where each appears. - Optional, off-by-default question log: question text, language, and whether it was answered. No IP address, no user id. A short-lived salted hash of the IP is used for rate limiting only, and is never stored in the log.
- API keys are stored with AES-256-GCM authenticated encryption derived from the site’s own salts. If that is unavailable on the host, the plugin refuses to save a key rather than storing it more weakly.
- Resumable indexing in bounded batches with a database lock, and automatic re-indexing when content is published, updated, trashed or excluded.
External services
This section applies only when “AI-generated answer” mode is switched on. In the default Search mode this plugin makes no external connection at all: indexing, matching and the answer shown all run on your own WordPress database.
This plugin has no AI service of its own and is affiliated with none. It connects to nothing until an administrator both switches AI mode on and enters the address of a service they have chosen themselves.
When AI mode is active, your site sends requests to that one address and nowhere else. Because you choose the service, your agreement is with them: what they may do with the text you send is governed by their own terms of service and privacy policy, which you should read before entering their address. If you point the plugin at a model running on your own server, nothing leaves your infrastructure.
What is sent, and when: only when a visitor submits a question while AI mode is active, and only after that question already matched your own content above the configured relevance threshold. What is sent is the small set of already-retrieved excerpts from your site, the visitor’s question, and the detected answer language. Nothing is sent when the assistant is disabled, when in Search mode, when the question is recognised as small talk, or when the question matches nothing. The administrator-only “Test connection” button sends a fixed connectivity-check sentence. The Test Console can also contact the configured AI service with the entered test question and matched site excerpts when AI mode is enabled.
Your API key never leaves your server except in the outgoing request to the address you configured, which must be HTTPS. Private endpoints require explicit opt-in; with that opt-in, HTTP is permitted only for loopback development endpoints. It is never shown in full in the admin, and never appears in a REST response, page source or log entry.
WhatsApp is not an API integration: no request is ever made to it from your server, and no key or account is involved. Clicking the handoff button opens a conversation in the visitor’s own WhatsApp app, between them and your number; this plugin never sees or stores it. If you configure a pre-filled message it is placed in their draft for them to edit or delete, and nothing is sent until they send it. The click itself sends one request back to your own site, carrying a signed reference so it can be counted when question logging or anonymous aggregate analytics is enabled.
