Luxa SEO — User Guide
This guide covers the free Luxa SEO plugin end to end. For Luxa SEO Pro-only features, look for the Pro marker — everything else works the same in both.
Requirements & installation
- WordPress 5.8 or newer
- PHP 7.4 or newer
Install and activate Luxa SEO like any other plugin (Plugins → Add New, or upload the ZIP under Plugins → Add New → Upload Plugin). A new Luxa SEO item appears near the bottom of your admin menu once it’s active.
Nothing else is required to get started — every module that affects your live site (Meta, Sitemap, Robots, Canonical, Social, Schema, Redirects) is on by default. You can turn any of them off under Settings → Modules if you don’t need them.
Dashboard
Luxa SEO → Dashboard is the plugin’s home screen. It shows:
- How many modules are currently active, out of the total available
- Quick links to Settings, your XML sitemap, and Redirects
- (Pro) a Plugin & Add-on Versions panel showing whether Luxa SEO Pro, and any installed add-ons, are up to date
Settings
Luxa SEO → Settings is organized into tabs. Every tab shares one Save Changes button at the bottom — switching tabs doesn’t lose unsaved changes on the tab you’re leaving, but you do need to click Save on whichever tab you’re editing before navigating away.
General
- Export: downloads your entire Luxa SEO configuration (every tab below, not per-post SEO data) as a
.jsonfile. Useful for cloning a setup from staging to production, or keeping a backup before making changes. - Import: uploads a previously exported
.jsonfile and replaces all current settings with it. This can’t be undone — export a backup first if you’re not sure. - Debug Log: only appears when logging is on (automatically when
WP_DEBUGis enabled, or temporarily just for you by adding?lxseo_debug=1to any admin URL). Shows the plugin’s own internal log entries, with a button to clear them.
Modules
A simple on/off switch for every module the plugin ships. Turning a module off fully removes its behavior — it doesn’t just hide its Settings tab. If you don’t run an online store, for example, you can safely turn off Schema without affecting anything else.
Meta
Controls the <title> tag and meta description Luxa SEO generates when a post or page doesn’t have its own override set in the SEO box.
- Title templates — one field per content type (Posts, Pages, Categories, Tags, Homepage), using variables like
%%title%%,%%sep%%,%%site_name%%,%%category%%. The available variables are listed next to each field. - Homepage meta description
Social
Controls Open Graph and Twitter Card output (the preview shown when a link is shared on Facebook, Twitter/X, LinkedIn, etc.).
- Facebook App ID, Twitter handle, Twitter Card type
- Default OG Image — used when a post has no featured image and no per-post Open Graph image set. Click Choose Image to pick one from your Media Library; the button becomes Remove once an image is set.
Schema
Structured data (JSON-LD) describing your site as an Organization (or a more specific type).
- Organization Type, Name, URL
- Logo — same media-picker pattern as Default OG Image
- Phone, and (for LocalBusiness) address fields — only shown once you switch the Organization Type to LocalBusiness
Per-post schema type (Article, Product, FAQ, etc.) is set in the SEO box on each individual post, not here.
Robots
- noindex toggles for internal search result pages, author archives, and paginated pages (page 2, 3, … of an archive)
- Redirect behavior: automatically create a redirect when a post’s slug changes, and whether to log 404s at all
- Cleanup: remove WordPress’s built-in emoji scripts (saves a request on every page load if you don’t use emoji)
- robots.txt custom rules — a text area appended to the end of your site’s auto-generated
robots.txt. If your site has an actualrobots.txtfile uploaded to your server’s root folder, this section shows a warning instead: WordPress never generates its ownrobots.txtwhen a real file already exists on disk, so anything typed here would have no effect until that file is removed.
Indexing
- Bing IndexNow — on by default, no setup required. Notifies Bing the moment you publish or update content.
- Google Indexing API (Pro) — requires a Google Cloud Service Account; paste its JSON credentials into the field provided.
Image ALT
- Auto-fill mode and a template for the ALT text automatically applied to images on upload, using the same
%%variable%%syntax as titles (e.g. based on the filename or the post title).
Templates
Per-post-type title and description templates — same variable syntax as the Meta tab, but scoped to a single post type (e.g. a different title pattern for a product custom post type than for regular Posts). (Pro) also includes archive-page templates for custom post types.
The SEO box on posts and pages
Every post, page, and public custom post type gets a Luxa SEO meta box in the editor sidebar, with these fields:
| Field | What it does |
|---|---|
| SEO Title / Meta Description | Overrides the templates from Settings → Meta for this one piece of content. Includes a live Google snippet preview and character counters. |
| Focus Keyword | The keyword the Content Analyzer checks this content against. (Pro: multiple keywords.) |
| Canonical URL | Overrides the automatic canonical URL — rarely needed, mainly for content that’s intentionally duplicated elsewhere. |
| Robots | Per-post noindex / nofollow / noarchive, overriding the site-wide defaults. |
| Open Graph Title / Description / Image | Overrides what’s shown when this specific post is shared on social media. |
| Schema Type | Article, Product, FAQ, Breadcrumb, Organization by default — (Pro) also Product with price/brand/SKU, LocalBusiness, and raw custom JSON-LD. |
Below the fields, the SEO Analyzer panel runs automatically and shows a traffic-light style checklist, split into two groups:
- SEO — word count, keyword placement, image ALT coverage, internal/external link counts, meta description length, featured image
- Readability — average sentence length, passive voice usage, transition words, paragraph length, and a Flesch Reading Ease score
The Readability checks are English-language only — the underlying heuristics (passive-voice patterns, transition-word list) and the Flesch formula itself are specific to English, the same limitation every mainstream SEO plugin’s readability checker has.
Category & tag SEO fields
Editing a category, tag, or any public custom taxonomy term shows the same core fields (Title, Meta Description, Robots) further down the edit-term screen — used the same way as the per-post fields above.
Sitemap
Luxa SEO automatically generates and maintains yoursite.com/sitemap.xml, listing posts, pages, categories, tags, and any public custom post types — splitting into multiple files automatically if your site is large enough that a single file would be unwieldy.
Luxa SEO → Sitemap shows every currently active sitemap file with a direct link to each. An image sitemap is included automatically; the free version includes up to 500 images (unlimited in Pro).
There is nothing to configure here beyond Settings → Robots’ noindex toggles — anything marked noindex is automatically excluded from the sitemap.
Redirects & 404 Log
Luxa SEO → Redirects manages 301/302 redirects. Add a source path (e.g. /old-page) and a target (a path or a full URL), pick the redirect type, and save. The free version supports up to 50 redirects at a time (unlimited in Pro).
If Settings → Robots → “Redirect on slug change” is on, changing a post’s URL slug automatically creates a redirect from the old URL to the new one — nothing to do manually.
Luxa SEO → 404 Log records every URL that returned a 404 on your site (if enabled under Settings → Robots), along with how many times it’s been hit and when it was last seen. The free version keeps the last 7 days (unlimited history in Pro).
For each logged 404, Luxa SEO looks for the closest-matching existing post or page on your site and shows it as a suggested redirect with a match-confidence percentage. Clicking Create redirect takes you to the Redirects screen with both the source and the suggested target already filled in — just review and save.
Bulk SEO Editor
Luxa SEO → Bulk Editor lists your posts in a spreadsheet-like table where you can edit titles, meta descriptions, and focus keywords for many posts at once, without opening each one individually. The free version processes up to 20 posts per page (unlimited in Pro).
Import from another SEO plugin
Luxa SEO → Import migrates existing SEO data from Yoast SEO or Rank Math into Luxa SEO — titles, meta descriptions, focus keyword, canonical URL, Open Graph fields, and noindex/nofollow flags.
The screen shows how many posts have data from each plugin before you run anything. By default, a post that already has a value set in Luxa SEO is left alone — check “Overwrite existing Luxa SEO data” first if you want the import to replace it instead. It’s safe to run more than once (for example, after publishing new content).
All in One SEO (AIOSEO) is not supported yet — it stores its data in its own database table rather than standard post meta, which needs separate, dedicated import logic.
REST API (for developers)
If this module is enabled (Settings → Modules → REST API Exposure, on by default), every public post type exposed over the WordPress REST API gains an lxseo field:
GET /wp-json/wp/v2/posts/123
{
"id": 123,
"...": "...",
"lxseo": {
"title": "Resolved page title, with templates already applied",
"description": "Resolved meta description",
"canonical_url": "https://example.com/my-post/",
"robots": ["index", "follow"],
"focus_keyword": "example keyword",
"og": {
"title": "...",
"description": "...",
"image": "https://example.com/wp-content/uploads/..."
},
"schema_type": "Article"
}
}
title and description are the fully-resolved values — the same fallback logic (per-post override → template → variables substituted) this plugin uses for a traditional theme’s <head> output, not the raw, possibly-empty post meta. This is intended for headless/JAMstack front-ends that consume WordPress purely as a content API. The field is read-only.
Luxa SEO Pro
Luxa SEO Pro is a separate, small companion plugin — install it alongside Luxa SEO (never instead of it) and activate a license key under Luxa SEO → License. It doesn’t add a second settings area: it simply lifts the free-tier limits mentioned throughout this guide (redirects, image sitemap, 404 history, focus keywords, bulk tools) and unlocks Google Indexing API and advanced Schema.
Once licensed:
- The topbar shows License Activated, and a Pro badge appears next to the logo
- Luxa SEO → Add-ons lists any optional paid add-ons available for your account (empty until LuxaPress publishes the first one)
- Luxa SEO → Modules lists any bundled, individually-toggleable Pro features (empty in the current version — every current Pro feature is always-on once licensed, not something to switch off individually)
See the Luxa SEO Pro page for the full feature comparison.
Troubleshooting & FAQ
I saved Settings and now none of my modules are showing as active. Update to the latest version — a bug affecting saves from certain Settings tabs was fixed in 1.2.0. If you’re already on a recent version and this still happens, please contact support.
My robots.txt custom rules aren’t showing up. Check whether Settings → Robots shows a warning about a physical robots.txt file. If your host or another plugin has placed an actual robots.txt file in your site’s root folder, WordPress serves that file directly and never runs for that request — Luxa SEO’s custom rules only apply to WordPress’s own auto-generated robots.txt, which only exists when no physical file is present.
Can I use Luxa SEO alongside Yoast SEO or Rank Math? Running two SEO plugins at once usually causes duplicate meta tags and conflicting sitemaps. Use the Import tool to bring your data over, then deactivate the other plugin.
Does deactivating Luxa SEO Pro delete my data? No. All SEO data lives in the free plugin’s own database tables and post meta. Deactivating or uninstalling Pro just makes the free-tier limits apply again — nothing is deleted.
Where can I see the full changelog? luxapress.com/docs/luxa-seo/changelog
I found a bug or have a feature request. luxapress.com/support
Was this doc helpful?
Related Docs
Powered by LuxaDocs