WPLink – AI Internal Linking
Formerly known as Meshr – AI Internal Linking. This plugin was rebranded to WPLink in 2026. The plugin slug (meshr-ai-internal-linking) and the original /meshr/v1/ REST API namespace are preserved for backwards compatibility; a new /wplink/v1/ namespace has been added alongside.
WPLink – AI Internal Linking is the companion WordPress plugin for the WPLink desktop app. It exposes REST API endpoints that let WPLink discover your site, extract content from supported page builders (Bricks, Elementor, WPBakery, and Beaver Builder), and safely insert internal links – including into pages that store content in page-builder metadata rather than post_content.
Unlike keyword-based linkers, WPLink uses semantic AI analysis to understand content meaning and context. Most websites miss 60%+ of their internal linking potential; WPLink finds them automatically and this plugin is what lets the AI reach content stored inside page builders.
Why WordPress Users Choose WPLink:
- Native Bricks Builder support – Reads and writes
_bricks_page_content_2so Bricks pages are fully indexed and linkable - Native Elementor support – Reads and writes the
_elementor_dataJSON tree so Elementor pages work like standard posts - Native WPBakery support – Reads and links directly inside
[vc_column_text]shortcode blocks inpost_content - Native Beaver Builder support – Reads and writes the
_fl_builder_dataPHP object graph so Beaver Builder modules are fully supported - Yoast SEO & RankMath compatible – Works alongside your existing SEO plugins
- Custom post type support – Analyzes and links all your content types
- 2-minute setup – Connect your site via Application Passwords, no coding required
- AI-powered analysis – Semantic topic clustering and context-aware link scoring (done in the WPLink desktop app)
- Automatic updates – Link changes are applied directly to your WordPress posts and pages via secure REST API
This lightweight plugin provides REST API endpoints that allow WPLink to discover your site, read content from standard posts and page-builder-built pages, and apply internal links safely using builder-native write paths.
Supported page builders:
- Bricks Builder – content in
_bricks_page_content_2 - Elementor – content in
_elementor_data - WPBakery Page Builder – content in
post_contentas shortcodes ([vc_column_text]) - Beaver Builder – content in
_fl_builder_data - Gutenberg / Classic Editor – standard
post_content
Features:
- Multi-builder support – Bricks, Elementor, WPBakery, Beaver Builder, Gutenberg, and Classic Editor
- Works with Yoast SEO & RankMath – Compatible with major WordPress SEO plugins
- AI-powered semantic linking – Understands content meaning, not just keywords (analysis runs in the WPLink desktop app)
- Custom post type support – Analyzes and links all your WordPress content types
- Bulk link management – Review and approve AI suggestions from the WPLink app
- Orphan page detection – Find and fix pages with zero internal links
- 2-minute setup – Configure entirely via WordPress Application Passwords
- REST API integration – Secure, automatic link updates without manual work
- Minimal footprint – Doesn’t store data locally
- Security-first design – Proper capability checks and sanitization
How It Works:
- Generate a WordPress Application Password in your user profile
- Configure the credentials in the WPLink desktop app
- WPLink discovers your site and reads from and writes to Bricks, Elementor, WPBakery, Beaver Builder, Gutenberg, and classic posts
- All communication happens securely via WordPress REST API with Basic Authentication
API Endpoints
All endpoints are available under both /wp-json/wplink/v1/ and /wp-json/meshr/v1/ (legacy).
Health Check
GET /wp-json/wplink/v1/check
Returns site info, plugin version, and capability flags (including which builders are detected and supported).
Get Post Content (builder-aware)
GET /wp-json/wplink/v1/posts/{post_id}/content
Returns extracted plain text and an element-level breakdown. Routes to the appropriate builder handler (Bricks, Elementor, WPBakery, Beaver Builder) or falls back to post_content for Gutenberg/classic posts.
Insert Link (builder-aware)
POST /wp-json/wplink/v1/posts/{post_id}/insert-link
Request body:
json
{
"keyword": "digital marketing",
"target_url": "https://example.com/services/digital-marketing/",
"occurrence": 1
}
For Bricks pages, finds the keyword in a text-bearing element and wraps it with an anchor inside the Bricks JSON. For Elementor, mutates the _elementor_data widget tree. For WPBakery, replaces inside [vc_column_text] blocks. For Beaver Builder, modifies _fl_builder_data module settings. Cache regeneration is triggered automatically for each builder.
Bulk Link Update (URL migration)
POST /wp-json/wplink/v1/bulk-link-update
Unchanged from 1.0.0. Used for URL-replacement migrations in standard post_content.
Webhook (Optional)
POST /wp-json/wplink/v1/webhook
Requires HMAC signature verification. Configure WPLINK_WEBHOOK_SECRET in wp-config.php. Requests include an X-WPLink-Signature header. The legacy MESHR_WEBHOOK_SECRET constant and X-Meshr-Signature header are still accepted.
Privacy Policy
This plugin does not collect, store, or transmit any personal data. All communication occurs between your WordPress site and the WPLink desktop app via REST API endpoints. No external services are contacted by the plugin itself.
Support
For support, documentation, and more information, visit:
