Centous AI Search with Askiva is developed by Centous. It is not affiliated with, endorsed by, or an official product of Askiva. It connects your WordPress site to Askiva, a third-party AI search platform, for indexing, semantic search, and streamed AI answers.
This plugin connects your WordPress site to the Askiva backend for:
The frontend search box uses AJAX by default: results and the AI answer load inline without a full page reload. Server-rendered results are still supported when a search URL contains a query parameter.
This plugin connects to third-party Askiva services. An Askiva account is required. Centous does not operate these services.
Website: https://askivasearch.com/
Used to register an account, add your WordPress site, and obtain your Site Identifier and API Key.
Data sent when you use the portal (in your browser, outside this plugin): account registration details and site information you enter when adding a site.
Terms of use: https://askiva.io/legal/terms-of-use
Privacy policy: https://askiva.io/legal/privacy-policy
API endpoint (default): https://askiva-bk.postyoulike.com/api/v1
Used to verify your connection, sync published WordPress content, run search queries, stream AI answers, and load dashboard statistics.
Data sent from your WordPress site to the API:
Data is sent only when you or a visitor triggers these actions (connect, sync, search, or when an administrator views the dashboard).
Terms of use: https://askiva.io/legal/terms-of-use
Privacy policy: https://askiva.io/legal/privacy-policy
my-site-aBc12XyZ)POST /wp/verify to validate credentialsSaved settings also include numeric api_site_id when the verify response returns one (used for search API compatibility).
After a successful connection:
When sync finishes, your site content is available for AI search.
Add the search shortcode to any page or post:
[askiva_search]
Visitors can search your site and see streamed AI answers with semantic results. See Usage below for shortcode options and layout settings.
Under Centous Search Settings:
Setting
Description
Default
Content Items per Index Cycle
Posts/pages sent per sync batch
10
Results Display Mode
list or grid for search results
list
Results per Page
Results shown per page (1–100)
10
Thumbnail Size
Result thumbnail size in px (48–400)
96
Note: Most users do not need this step. If you registered at Askiva and connect with your Site Identifier and API Key, the plugin uses its built-in API endpoint automatically.
Override the API base URL only when Askiva support directs you to a different host (for example a staging environment or a custom API deployment). The URL must include the /api/v1 path.
Option 1: wp-config.php (recommended)
`php
define( ‘ASKIVA_API_BASE’, ‘https://your-askiva-api.example.com/api/v1’ );
`
Option 2: filter hook
`php
add_filter( ‘askiva_api_base’, function () {
return ‘https://your-askiva-api.example.com/api/v1’;
} );
`
If neither is set, the plugin uses https://askiva-bk.postyoulike.com/api/v1 by default.
`
[askiva_search]
`
Place on any page, post, or widget area. Visitors search inline; the AI answer streams in and results appear below the form.
Common setup:
/search/) with [askiva_search show_results="1"]For a header or sidebar button that redirects to your search page, use the popup shortcode:
[askiva_search_popup results_url="/search/" trigger_text="Search"]
Optionally set a global results URL for the popup shortcode:
php
add_filter( 'askiva_search_results_url', function () {
return site_url( '/search/' );
} );
Note: [askiva_search show_results="0"] hides pre-loaded results on page load, but search still runs inline on that page via JavaScript. Use the popup shortcode to redirect visitors to a separate search page.
Shortcode attributes:
Attribute
Type
Default
Description
placeholder
string
Search…
Input placeholder
button_text
string
Search
Button label (legacy)
site_id
string
(from settings)
Override site ID; saved settings always win when set
type
string
(empty)
Optional content type filter sent to API
results_url
string
(auto)
Full URL or path for search results page
results_page_id
int
–
WordPress page ID for results (alternative to results_url)
show_results
auto | 0 | 1
auto
When to show results block (auto = when ?q= is present)
results_limit
int
(from settings)
Results per page (1–100)
view_all_limit
int
50
Max results when “view all” is used
ajax
0 | 1
0
Legacy flag; JS still handles live search. Affects pagination scroll behavior
live
bool
false
Search while typing (debounced)
min_chars
int
2
Minimum characters before search runs
debug
0 | 1
0
Pass debug flag to search API (admin troubleshooting)
limit
int
10
Legacy AJAX limit
URL query parameters:
Parameter
Default name
Purpose
Search query
q
Search term (askiva_q legacy alias still supported)
Page
askiva_page
Pagination
View all
view
Use view=all for expanded result limit
Change the query parameter name:
`php
add_filter( ‘askiva_search_query_param’, function () {
return ‘q’;
} );
`
Opens a modal search box and redirects to your results page on submit:
`
[askiva_search_popup results_url=”/search/” trigger_text=”Search”]
`
Attribute
Default
Description
trigger_text
Search
Button that opens the popup
placeholder
Search…
Input placeholder
close_text
Close
Close button label
results_url
(auto)
Where to send the user after search
results_page_id
–
Page ID alternative to results_url
min_chars
2
Minimum query length
When a visitor searches:
/search/stream), rendered as GFM Markdown (bold, italics, bullet/numbered lists) with DOMPurify sanitization/search/), with thumbnails and excerptsdid_you_mean suggestion[Source N] markers in the AI answer link to matching result URLsBundled assets (no external CDN): marked.min.js (v15.0.12), purify.min.js, search.js, search.css.
Copy templates into your theme to customize markup:
`
wp-content/themes/your-theme/centous-ai-search-with-askiva/
search.php
search-results.php
search-result-item.php
search-popup.php
`
Centous Search Dashboard shows (when connected):
Statistics are fetched from GET /wp/stats and cached for performance.
Centous Search Sync:
Sync uses POST /wp/documents/ in batches sized by Content Items per Index Cycle. Long-running sync requests extend PHP time limits automatically.
Note: Closing the browser may pause progress; resume from the Sync page.
Registered under askiva/v1 for remote/automated sync control:
Route
Method
Description
/wp-json/askiva/v1/remote-sync
POST
Start or resume sync (returns immediately; use /sync/tick to advance)
/wp-json/askiva/v1/sync/status
GET
Current sync status
/wp-json/askiva/v1/sync/start
POST
Start sync (fresh_start optional)
/wp-json/askiva/v1/sync/pause
POST
Pause sync
/wp-json/askiva/v1/sync/resume
POST
Resume sync
/wp-json/askiva/v1/sync/restart
POST
Restart sync
/wp-json/askiva/v1/sync/tick
POST
Process one sync tick
Authenticate with the same credentials saved in Centous Search Settings:
site_id, site_identifier, or api_site_id (JSON body or query), or header X-Askiva-Site-Id / X-Askiva-Site-Identifiersite_key or api_key (JSON body or query), or header X-Askiva-KeyBoth the string site identifier (e.g. sdgicity-kH33Isf1) and numeric api_site_id from verify are accepted when they match saved settings.
All paths are relative to your configured API base (e.g. https://api.example.com/api/v1).
Connection and status
Method
Endpoint
Description
POST
/wp/verify
Validate Site ID + Site Key
POST
/wp/connect
Legacy connect
GET
/wp/status
Connection test (X-Askiva-Key header)
GET
/wp/stats
Site statistics
Documents and indexing
Method
Endpoint
Description
POST
/wp/documents/
Index a batch of documents
GET
/wp/documents/batch/{id}
Batch status
DELETE
/wp/documents/all
Delete all indexed documents (site_id + api_key in JSON body, X-Askiva-Key header)
Search (frontend)
Method
Endpoint
Description
POST
/search/
Search results + AI answer metadata
POST
/search/stream
Streamed AI answer (SSE)
Search requests send site_id, api_key, query, limit, and page in the JSON body, plus X-Askiva-Key header.
`php
// API base URL
add_filter( ‘askiva_api_base’, $callback );
// Default search results page URL
add_filter( ‘askiva_search_results_url’, $callback );
// URL query parameter name (default: q)
add_filter( ‘askiva_search_query_param’, $callback );
// Include API trace/debug in search payload (default: true)
add_filter( ‘askiva_search_include_trace’, $callback );
// Template variables passed to PHP templates
add_filter( ‘askiva_template_vars’, $callback, 10, 2 );
<h3>Requirements</h3>manage_options
* WordPress 5.8+
* PHP 7.4+
* Valid Askiva account (Site Identifier and API Key from the [Askiva dashboard](https://askiva-ai-frontend.vercel.app/))
* Outbound HTTPS to the Askiva API host
* Published content to index (drafts are skipped)<h3>Features</h3>
* Secure admin AJAX with nonces andchecksASKIVA_API_BASE
* Site ID + Site Key connection with verify endpoint
* Batch content sync with pause/resume/restart
* Real-time sync status and error logging
* Streaming AI answers with GFM Markdown rendering
* “Did you mean” typo suggestions from API
* List and grid result layouts with configurable thumbnails
* Search popup shortcode for header/navigation use
* Server-rendered and AJAX search modes
* Theme template overrides
* WordPress REST sync endpoints for automation
* Cached dashboard statistics
* First-run redirect to settings
* Clean uninstall support<h3>Troubleshooting</h3><h3>Connection issues</h3>
1. Confirm **Site ID** and **Site Key** match the **Site Identifier** and **API Key** on your Askiva site detail page
2. If you use a custom API host, verify(or theaskiva_api_basefilter) includes/api/v1and points to the correct serversearch.js
3. Use **Test Connection** on the Settings page
4. Check **Centous Search Logs** for API error details<h3>Search issues</h3>
1. Ensure the site is connected and content has been synced
2. Confirm the shortcode page loads(no JavaScript console errors)askiva_public_search
3. In browser DevTools Network, inspectandaskiva_public_search_streamAJAX callsdebug=”1″` for API trace data when diagnosing “Did you mean”
4. Enable shortcode
Plugin support: Centous, developer of this plugin.
Askiva (third-party service): account setup at Askiva and Askiva dashboard. Not affiliated with Centous.