LinkSaz (Vuzmatri) self-updates
LinkSaz (Vuzmatri) — safe WordPress internal link suggestions and apply (plugin-only, EN/FA)
by Vuzmatri · github.com/sinayavary/linksaz-connector · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/sinayavary/linksaz-connector/releases/download/v2.0.0/linksaz-connector-2.0.0.zipShips its own WordPress updater (Update URI header), so new versions show up under Dashboard → Updates.
Version: 2.0.0 · WordPress: 6.2+ · PHP: 8.0+
Safe internal link suggestions and application for WordPress — plugin-only, no VPS or external LinkSaz backend required.
What it does
LinkSaz scans your published content, suggests high-quality internal links, lets you review and queue them, then applies them into post content with snapshots so you can roll back if needed.
Optional AI (OpenAI, OpenRouter, or any OpenAI-compatible API) runs from your WordPress site using your API key. Content is never sent to Vuzmatri servers.
Scan → Suggestions (PENDING)
→ Queue (QUEUED)
→ Preflight → Apply (APPLIED)
→ Rollback (ROLLED_BACK)
Suggestion statuses: PENDING · QUEUED · REJECTED · APPLIED · FAILED · ROLLED_BACK
Features
- Dashboard — overview and analysis controls
- Suggestions — review, preview, accept to queue, or reject
- Apply Queue — preflight checks, apply links into content
- History — applied links and rollback
- Settings — language, engine, quality, AI, link policy, uninstall
- Getting Started — first-run onboarding (Local vs AI, optional first scan)
- Local engine (v2) — keywords, taxonomy, BM25-style scoring, content index (default)
- Legacy engine (v1) — title-based matching
- AI mode — chat suggestions + optional embeddings; falls back to local on failure
- Link policy matrix — control which post types may link to which
- Bilingual admin UI — English / فارسی with RTL when Persian is selected
- SEO helpers — optional Yoast / Rank Math focus keyword
- WooCommerce-aware — supports
productin the policy matrix
Requirements
| Requirement | Minimum |
|---|---|
| WordPress | 6.2 |
| PHP | 8.0 |
| Capability | manage_options (administrators) |
| OpenSSL | Required only if you enable AI (API key encryption) |
Installation
From a release ZIP (recommended)
- Download
linksaz-connector-2.0.0.zipfrom the Releases page. - In WordPress: Plugins → Add New → Upload Plugin.
- Activate LinkSaz (Vuzmatri).
- Complete Getting Started, then open LinkSaz in the admin menu.
Expected path after install:
wp-content/plugins/linksaz-connector/vuzmatri-connector.php
From source
- Copy this repository folder to
wp-content/plugins/linksaz-connector/. - Activate the plugin (main file:
vuzmatri-connector.php). linksaz-connector.phpis a legacy entry that loads the main file; it is not a second plugin.
Quick start
- Choose Local analysis (or configure AI and run Test Connection).
- Run a scan from the dashboard / onboarding.
- Open Suggestions, preview candidates, send approved ones to the queue.
- Open Apply Queue, run apply (preflight validates before writing).
- Use History to roll back an applied change if needed.
Default link policy
| From \ To | Post | Page | Product |
|---|---|---|---|
| Post | ✓ | ✓ | ✓ |
| Page | ✓ | ✓ | ✓ |
| Product | ✕ | ✓ | ✓ |
Only product → post is disallowed by default. You can switch to a custom From→To matrix in Settings.
Settings overview
| Area | Notes |
|---|---|
| Language | Admin UI: English or فارسی |
| Analysis | Local or AI; batch size (default 10, range 1–20) |
| Engine | v2 (default) or v1 |
| Link target | Same tab or new tab (noopener on new tab) |
| Quality | Anchor length, min target words, scoring weights, max links per 1000 words, specificity |
| SEO | Use Yoast / Rank Math focus keyword (on by default) |
| AI | Provider, base URL, model (default gpt-4o-mini), encrypted API key, timeout, embeddings |
| Policy | Recommended matrix or custom |
| Danger zone | Optionally delete plugin data on uninstall (off by default) |
AI stays disabled until Test Connection succeeds. Keys are stored with AES-256-GCM using WordPress salts (AUTH_KEY / SECURE_AUTH_KEY) and are never shown in full in the UI.
Architecture (developers)
linksaz-connector/
├── vuzmatri-connector.php # Plugin headers + bootstrap entry
├── linksaz-connector.php # Legacy loader
├── uninstall.php
├── assets/ # Admin CSS/JS
├── includes/
│ ├── bootstrap.php
│ ├── class-vuzmatri-*.php # Core logic
│ ├── data/ # EN/FA stopwords
│ └── views/ # Admin screens
├── languages/ # Persian admin strings
└── tests/ # CLI self-checks
Key classes: Vuzmatri_Plugin, Admin, Scanner, Analyzer, Ai_Provider, Suggestions, Preview, Validator, Apply, Rollback, Db, Security, Link_Policy, Content_Index, Scoring, I18n.
Database tables (with your $wpdb prefix):
vuzmatri_suggestionsvuzmatri_snapshotsvuzmatri_content_indexvuzmatri_term_stats
Schema version constant: VUZMATRI_DB_VERSION = 1.4.0.
Tests
From the plugin directory (PHP CLI):
php tests/run-all-checks.php
Individual checks live under tests/*-check.php. These are lightweight self-checks; full staging QA (scan quality, apply/rollback, AJAX batches) is still recommended.
Uninstall
- By default, uninstall keeps database tables and options.
- If Delete data on uninstall is enabled in Settings, uninstall drops plugin tables, deletes related options (including the encrypted AI key), and clears scheduled corpus jobs.
- Uninstall does not automatically remove links already written into post content. Use Rollback in History before uninstalling if you need that.
Deactivation clears analysis locks/transients and unschedules the daily corpus rebuild cron; it does not drop tables.
Security
- Admin and AJAX actions require
manage_optionsand WordPress nonces. - AI API keys are encrypted at rest when OpenSSL is available.
- Local mode keeps analysis on your site; AI mode sends excerpts only to the provider you configure.
- Apply path validates live content and policy before mutation; snapshots support rollback.
- Duplicate copies of the same plugin family are detected to avoid double-loading.
Privacy
- No telemetry to Vuzmatri is required for core operation.
- In AI mode, selected content excerpts are sent to your chosen provider (OpenAI, OpenRouter, or custom endpoint). Review that provider’s privacy policy.
Links
- Website: vuzmatri.com
- Persian documentation: README.fa.md
Changelog
2.0.0
- Standalone plugin-only mode (no external LinkSaz backend)
- Local v2 analysis engine with content index and scoring
- Optional AI providers (OpenAI / OpenRouter / custom)
- Suggestions → queue → apply → rollback workflow
- Bilingual admin (EN / FA) and configurable link policy
Releases
1 release. Each count is every asset in that release; expand a row for the breakdown.