Deepglot
Deepglot
Description
Deepglot translates rendered WordPress pages through the Deepglot translation API and serves each visitor a localized site without duplicating posts.
- Translates text, metadata, accessibility attributes, and JSON-LD structured data.
- Rewrites internal links and SaaS-managed translated URL slugs for path-prefix or subdomain routing.
- Adds canonical and
hreflangtags plus a multilingual sitemap. - Provides shortcode, block, widget, nav-menu, and automatic language switchers.
- Caches translations locally and serves cached translations to crawlers without spending quota.
- Optionally translates dynamically loaded content through a same-origin WordPress REST endpoint.
Development source and release build instructions are available at https://github.com/ostheimer/deepglot.
External services
By default, this plugin connects to the Deepglot service at https://deepglot.ai/api/. A compatible self-hosted API base URL can be selected in the settings.
For translation requests, the plugin sends the configured API key, text fragments from rendered pages, source and target language codes, the requested page URL, and a bot-classification code. It sends these requests when uncached content needs translation or when an administrator tests the connection. Dynamic translation requests first pass through the site’s same-origin WordPress REST endpoint, so the API key is not exposed to browsers.
Settings synchronization sends the configured API key, site URL, routing mode, source and target languages, domain mappings, and the feature flags for automatic redirect, email translation, search translation, AMP translation, and dynamic translation.
Runtime refresh sends the configured API key and receives URL and selector exclusions, regular-expression exclusions, and translated URL-slug mappings. The plugin can also request the public supported-languages list without an API key.
Starting the Visual Editor verifies its token through the project-scoped editor-sessions/verify endpoint. Saving a manual translation sends the token, original and translated text, source and target language codes, and the request URL to the project-scoped manual-translations endpoint.
Deepglot returns translated text, language and quota status, and the synchronized project configuration described above. Review the service policies before enabling the hosted service:
- Terms of service: https://deepglot.ai/terms
- Privacy policy: https://deepglot.ai/privacy
Installation
- Upload the release ZIP under
Plugins -> Add New -> Upload Plugin. - Activate Deepglot.
- Open
Settings -> Deepglotand enter the API base URL and API key. - Choose the source language, target languages, routing, switcher, and exclusions.
Faq
Yes. Use an account at https://deepglot.ai or configure a compatible self-hosted Deepglot service.
No. Translation happens on rendered output. Source content remains in the original WordPress posts and pages.
Cached translations remain available. Uncached content falls back to the source language, and administrators see a quota notice.
Since version 0.12.0, ordinary page requests do not wait for a slow translation provider. The first view queues uncached text for an immediately due WP-Cron job. After the job succeeds, Deepglot stores the translations locally and purges affected URLs in WP Rocket, W3 Total Cache, LiteSpeed Cache, and WP Super Cache. If later views remain in the source language, verify that WP-Cron or the host’s system cron is running and purge any other page-cache plugin manually.
Reviews
Changelog
0.12.2
- Uses the WordPress 6.9 template enhancement buffer and explicitly closes the legacy fallback buffer on older supported WordPress versions.
- Uses uniquely prefixed translation transients and keeps legacy Yoast compatibility without declaring a Deepglot-owned global.
0.12.1
- Removed arbitrary custom CSS input from language-switcher settings and runtime configuration.
- Loaded admin and nav-menu assets through WordPress enqueue APIs and attached generated responsive and flag rules through the registered switcher stylesheet.
0.12.0
- Ordinary page rendering no longer waits for fresh translations. Uncached segments are translated by a background job, so the first cold view is fast and later views converge after WP-Cron succeeds.
- Added bounded, atomically locked background cache warming. Failed and partial results remain queued, and supported full-page caches are purged after warming completes.
- Kept visual-editor previews and WooCommerce HTML emails synchronous because those one-off outputs cannot converge on a later page request.
- Added the
deepglot_max_sync_batchesfilter to translate inline again on fast providers, anddeepglot_api_timeoutto tune the request budget.
0.11.7
- Added a fail-safe final translated-HTML filter for trusted site-specific localization such as language-specific media embeds.
0.11.6
- Split content-heavy cold pages into ordered parallel requests bounded by 2,000 UTF-8 source bytes and 200 strings.
0.11.5
- Extended the bounded translation request window to 60 seconds so valid cold large-page batches do not fall back to untranslated content.
0.11.4
- Preserved numeric-looking source-slug mappings after persistence so existing translated routes remain resolvable.
0.11.3
- Hardened reciprocal canonical, hreflang, and multilingual sitemap output across source and translated routes.
- Redirected stale translated slugs to current localized URLs, preserved semantic query routing, and suppressed source-only Avada AJAX suggestions on target-language pages.
- Allowed 30 seconds for translation batches and rejected malformed provider responses instead of accepting partial results.
0.11.2
- Detected a revoked or invalid API key (HTTP 401) and stopped retrying it on every page view.
- Added a wp-admin error notice and an “API-Key ungültig” settings status instead of a misleading active state.
- Cleared the invalid-key state immediately when a new API key or backend URL is saved.
0.11.1
- Preserved whitespace-prefixed
mailto:andtel:action links during URL rewriting. - Restored full-language descriptions when the switcher displays ISO-code labels.
- Cleared WordPress.org Plugin Check errors for URL parsing, direct access, escaping, and translator comments.
0.11.0
- Added SaaS-managed translated URL slugs for forward and reverse request routing.
- Added bounded runtime-config refresh and dedicated persisted slug mappings.
- Excluded WordPress infrastructure paths from translation routing.
- Added the refreshed Deepglot admin branding, packaged logo, and orange visual-editor accents.
- Updated dashboard links and localized setup copy from deepglot.app to deepglot.ai.
0.10.4
- Prevented intermediary caches from preserving stale virtual
robots.txtresponses.
0.10.3
- Kept multilingual sitemap discovery when late renderers such as Yoast SEO replace
robots.txtoutput.
0.10.2
- Preserved raw UTF-8 through DOM serialization, including emoji and umlauts in scripts and styles.
0.10.1
- Excluded switcher CSS from WP Rocket used-CSS and minification pipelines.
0.10.0
- Added independent switcher instances, templates, visual placement, AMP handling, and a multilingual sitemap.