Title: Minorank SEO
Author: Fotis Moutsakis
Published: <strong>2026 年 7 月 19 日</strong>
Last modified: 2026 年 7 月 19 日

---

搜尋外掛

![](https://ps.w.org/minorank-seo/assets/banner-772x250.png?rev=3613349)

![](https://ps.w.org/minorank-seo/assets/icon.svg?rev=3613349)

# Minorank SEO

 由 [Fotis Moutsakis](https://profiles.wordpress.org/fotibout/) 開發

[下載](https://downloads.wordpress.org/plugin/minorank-seo.1.6.8.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/minorank-seo/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/minorank-seo/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/minorank-seo/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/minorank-seo/#developers)

 [技術支援](https://wordpress.org/support/plugin/minorank-seo/)

## 外掛說明

**Minorank SEO** is a full-featured SEO plugin for WordPress. It covers every layer
of on-page SEO — from meta tags and structured data to sitemaps and real-time content
analysis — all from a clean, built-in admin interface. No external platform account
required.

#### Core Features

**Meta Management**
 Write and read SEO title, meta description, and focus keywords
for posts, pages, custom post types, and all taxonomies (categories, tags, WooCommerce
product categories, etc.).

**Gutenberg SEO Metabox**
 A 4-tab SEO panel appears in the block editor sidebar
for every post and page:

 * **General** — SEO title & description with live SERP preview and character-count
   indicators; focus keywords with per-keyword scoring.
 * **Advanced** — noindex / nofollow / nosnippet / noimageindex checkboxes; max-
   snippet and max-image-preview controls; canonical URL field; pillar content toggle.
 * **Schema** — per-post JSON-LD schema type override (Article, BlogPosting, FAQPage,
   HowTo, Product, LocalBusiness, and more).
 * **Social** — Facebook Open Graph preview with OG title / description / image;
   Twitter/X Card preview with independent title / description / image fields; all
   fields fall back to core meta automatically.

**Elementor Support**
 A floating, draggable SEO analysis panel appears inside the
Elementor editor — same keyword scoring and meta fields, no page reload needed.

**Content Analysis**
 Real-time scoring for each focus keyword: placement in title,
meta description, slug, and headings; content length; image alt text; internal and
external links. Each keyword gets an independent green / yellow / red score chip.

**XML Sitemap**
 Automatically generates a sitemap index at `/sitemap.xml` with 
per-type sub-sitemaps (posts, pages, categories, WooCommerce products and product
categories). Supports pagination, image entries (Google image sitemap namespace),
and per-post-type exclusions. Toggle each post type and taxonomy independently from
the Settings page.

**Image SEO Addon**
 Automatically fills missing alt text and title attributes on
images using configurable token-based format strings (`%post_title%`, `%filename%`,`%
focus_keyword%`, etc.). Supports casing rules and find-and-replace rules. Operates
on rendered HTML — the database is never modified.

**Redirections**
 Full CRUD admin UI for managing 301, 302, 307, 410, and 451 redirects
stored in the database. Features: search by source or target, filter by type and
group, bulk delete, group autocomplete. Redirections fire before WordPress loads
any templates — zero overhead.

**404 Monitor**
 Logs every 404 hit with URL, referrer, user agent, IP address, 
and cumulative hit count. Lets you sort by any column, bulk-dismiss entries, and
convert any 404 directly into a redirect with one click.

**JSON-LD Schema**
 Outputs structured data for every page type: WebSite + SearchAction
on the homepage, LocalBusiness (with address, geo, opening hours, social profiles),
Article / BlogPosting / NewsArticle on posts, WebPage on pages, Product on WooCommerce
products, CollectionPage on category archives, and BreadcrumbList on all content
pages.

**Local Business Schema Addon**
 Full Local Business JSON-LD configuration — business
name, type (110+ schema.org types in grouped categories), address, phone, email,
and logo.

**IndexNow**
 Automatically pings the IndexNow API (Bing, Yandex) whenever a post
is published or updated. Also lets you manually ping any URL or the homepage on 
demand.

**LLMs.txt**
 Generates a `/llms.txt` file following the [llmstxt.org](https://llmstxt.org)
specification so AI crawlers can understand your site structure.

**Post Type & URL Monitor**
 Detects new custom post types registered by newly activated
plugins and notifies you in the admin so you can configure their SEO settings. Also
monitors URL changes (renamed slugs, trashed or deleted posts) and creates redirects
automatically.

**AI Meta Generator**
 On-demand AI generation of SEO title and meta description
using your own Anthropic API key. Requires the user to supply their own key — no
data is sent without explicit action.

**REST API**
 Every feature is exposed via a versioned REST API at `/wp-json/minorank/
v1/`. Endpoints accept either an `X-Minorank-Key` header or a standard WordPress
admin session — no separate auth plugin needed.

#### Why Minorank SEO?

 * **No bloat** — vanilla PHP and JavaScript, no npm build step, no React dependency
   for admin pages, loads only on the pages that need it.
 * **Data-safe updates** — all settings and logs are stored in WordPress options
   and custom database tables using `dbDelta()`; plugin updates never wipe your 
   data.
 * **WooCommerce-aware** — product sitemaps, product category schema, and WooCommerce
   detection built in.
 * **Standards-compliant** — GPL-2.0-or-later, follows WordPress Coding Standards,`
   declare(strict_types=1)` throughout.

### External Services

This plugin connects to the following external services:

**1. IndexNow API**
 * **URL:** `https://api.indexnow.org/` * **When:** Automatically
when a post is published or updated (if IndexNow is enabled), and on-demand via 
the Settings page. * **Data sent:** Your site’s IndexNow key and the URL of the 
published/updated post. No personal data is included. * **Purpose:** Notifies Bing,
Yandex, and other IndexNow-compatible search engines of content changes for faster
indexing. * **Privacy policy:** https://www.microsoft.com/en-us/privacy/privacystatement

**2. Anthropic API (AI Meta Generator)**
 * **URL:** `https://api.anthropic.com/
v1/messages` * **When:** Only when an admin user explicitly clicks the “Generate
with AI” button on a post. No data is sent automatically. * **Data sent:** The post
title and up to 2,000 characters of the post’s content (plain text, no HTML). Sent
using the API key you supply in Settings. * **Purpose:** Generates an SEO title 
and meta description using the Claude AI model. * **Requires:** You must supply 
your own Anthropic API key. The plugin never provides or proxies an API key. * **
Privacy policy:** https://www.anthropic.com/privacy * **Terms of service:** https://
www.anthropic.com/legal/commercial-terms

**Plugin privacy policy:** https://minorank.com/privacy-policy

## 螢幕擷圖

[⌊SEO Settings — XML sitemap toggles, schema type selectors, IndexNow controls, 
LLMs.txt, and AI meta generator.⌉⌊SEO Settings — XML sitemap toggles, schema type
selectors, IndexNow controls, LLMs.txt, and AI meta generator.⌉[

SEO Settings — XML sitemap toggles, schema type selectors, IndexNow controls, LLMs.
txt, and AI meta generator.

[⌊Redirections — searchable, filterable table with bulk delete, group filter, and
inline edit/delete.⌉⌊Redirections — searchable, filterable table with bulk delete,
group filter, and inline edit/delete.⌉[

Redirections — searchable, filterable table with bulk delete, group filter, and 
inline edit/delete.

[⌊404 Monitor — unique URL and total hit stat cards, sortable table, bulk dismiss,
one-click redirect creation.⌉⌊404 Monitor — unique URL and total hit stat cards,
sortable table, bulk dismiss, one-click redirect creation.⌉[

404 Monitor — unique URL and total hit stat cards, sortable table, bulk dismiss,
one-click redirect creation.

[⌊Addons — Image SEO, Local Business Schema, and WooCommerce SEO addon cards with
toggle and settings access.⌉⌊Addons — Image SEO, Local Business Schema, and WooCommerce
SEO addon cards with toggle and settings access.⌉[

Addons — Image SEO, Local Business Schema, and WooCommerce SEO addon cards with 
toggle and settings access.

[⌊Image SEO Settings — token-based alt/title format builder, casing rules, and find-
and-replace patterns.⌉⌊Image SEO Settings — token-based alt/title format builder,
casing rules, and find-and-replace patterns.⌉[

Image SEO Settings — token-based alt/title format builder, casing rules, and find-
and-replace patterns.

[⌊Local Business Schema Settings — business type (110+ types), name, phone, email,
logo, and full address.⌉⌊Local Business Schema Settings — business type (110+ types),
name, phone, email, logo, and full address.⌉[

Local Business Schema Settings — business type (110+ types), name, phone, email,
logo, and full address.

[⌊WooCommerce SEO Settings — URL cleanup toggles, schema/markup controls, and brand
taxonomy selector.⌉⌊WooCommerce SEO Settings — URL cleanup toggles, schema/markup
controls, and brand taxonomy selector.⌉[

WooCommerce SEO Settings — URL cleanup toggles, schema/markup controls, and brand
taxonomy selector.

## 安裝方式

 1. Upload the `minorank-seo` folder to `/wp-content/plugins/`, or install it via **
    Plugins  Add New** in the WordPress admin.
 2. Activate the plugin through **Plugins  Installed Plugins**.
 3. Navigate to **Minorank SEO  SEO Settings** in the admin menu.
 4. (Optional) Generate an API key in Settings and use it to authenticate REST API 
    calls from external tools.

On activation the plugin automatically creates two custom database tables (`minorank_404s`
and `minorank_redirections`) and registers all rewrite rules for sitemaps, LLMs.
txt, and IndexNow.

## 常見問題集

### Does this replace Rank Math or Yoast SEO?

Yes — Minorank SEO is a standalone plugin and does not require Rank Math or Yoast.
It reads existing Rank Math and Yoast meta keys alongside its own for backwards-
compatible imports.

### Where is data stored?

 * SEO meta: standard WordPress post meta and term meta tables.
 * Plugin settings: `wp_options` (keys prefixed with `minorank_`).
 * 404 logs: `{prefix}minorank_404s` custom table.
 * Redirections: `{prefix}minorank_redirections` custom table.

All data persists across plugin updates. Uninstalling the plugin removes all options
and custom tables.

### Will I lose my settings when I update the plugin?

No. Settings are stored in the WordPress database, not in plugin files. Updating
the plugin files never touches your options or custom tables.

### How does the REST API work?

All endpoints live under `/wp-json/minorank/v1/`. You can authenticate with:

 * An `X-Minorank-Key: your-api-key` request header, **or**
 * A standard WordPress admin session (cookie + WP REST nonce) — no API key needed
   when logged in as an admin.

### Does it work with WooCommerce?

Yes. Product sitemaps, product category sitemaps, Product schema markup, and WooCommerce-
specific content analysis are all built in.

### Does it support custom post types?

Yes. Meta management, the SEO metabox, and content analysis work on any registered
post type. The sitemap section lets you toggle any public post type individually.

### What redirect types are supported?

301 (Moved Permanently), 302 (Found / Temporary), 307 (Temporary Redirect), 410 (
Gone), and 451 (Unavailable For Legal Reasons).

### How does the AI meta generator work?

The AI feature sends your post title and the first 2,000 characters of post content
to the Anthropic API using **your own API key**. No data is sent without you clicking
the “Generate with AI” button. See the External Services section below.

### How does IndexNow work?

On activation a random key is generated and stored in `wp_options`. When you publish
or update a post, the plugin pings `https://api.indexnow.org/` with that key and
the post URL. You can also trigger manual pings from the Settings page.

## 使用者評論

這個外掛目前沒有任何使用者評論。

## 參與者及開發者

以下人員參與了開源軟體〈Minorank SEO〉的開發相關工作。

參與者

 *   [ Fotis Moutsakis ](https://profiles.wordpress.org/fotibout/)
 *   [ minoRank ](https://profiles.wordpress.org/minorank/)

[將〈Minorank SEO〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/minorank-seo)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/minorank-seo/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/minorank-seo/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/minorank-seo/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/minorank-seo/)。

## 變更記錄

#### 1.6.8

 * Fixed Anthropic Terms of Service URL — corrected to https://www.anthropic.com/
   legal/commercial-terms (previous link returned 404).

#### 1.6.7

 * Fixed Anthropic Terms of Service link in readme — corrected from AUP to commercial
   terms.

#### 1.6.6

 * Security: removed JSON_UNESCAPED_SLASHES from both JSON-LD script tag outputs—
   forward slashes are now escaped to `\/` preventing any `</script>` sequence in
   stored data from breaking out of the script tag.
 * Added fotibout to contributors list.
 * Removed screenshot assets from plugin zip (uploaded separately via SVN per WP.
   org guidelines).

#### 1.6.5

 * Plugin Check: switched all multi-line DB query blocks from `phpcs:ignore` to `
   phpcs:disable`/`phpcs:enable` — `phpcs:ignore` only covers one line, so `PreparedSQL.
   NotPrepared` and `InterpolatedNotPrepared` were still firing on inner string-
   concatenation lines inside multi-line `prepare()` calls (404, redirections, sitemap
   classes).
 * Plugin Check: suppressed `NonceVerification.Recommended` on REST API key fallback(`
   $_GET['mnrk_key']`) — intentional, nonce-free API key auth.
 * Plugin Check: suppressed `Squiz.DiscouragedFunctions` for `@set_time_limit(300)`
   in bulk importer — required for long-running operations.
 * Plugin Check: suppressed VIP `WPQueryParams.PostNotIn` performance warnings on
   sitemap exclusion lists — standard feature, not a VIP host.
 * Plugin Check: added inline `phpcs:ignore` for `$_SERVER['REQUEST_URI']` in 404
   monitor `current_url()`.
 * Trimmed readme short description to 140 characters (WP.org limit is 150).

#### 1.6.4

 * Plugin Check: fixed remaining `PreparedSQL.NotPrepared` errors — added correct
   phpcs:ignore to all queries using string-concatenated class constants (`. self::
   TABLE .`) in 404, redirections, and sitemap classes.
 * Plugin Check: replaced PHP native `parse_url()` with WordPress wrapper `wp_parse_url()`
   in redirections normalizer.
 * Plugin Check: added `phpcs:ignore` for `$_SERVER['REQUEST_URI']` in redirect 
   handler (used only for path comparison, never for output).
 * Plugin Check: replaced `(int)` cast with `absint()` in Elementor enqueue so PHPCS
   recognises it as sanitization.
 * Updated “Tested up to: 7.0”.

#### 1.6.3

 * Plugin Check: fixed all EscapeOutput errors — printf in SEO alerts notice now
   uses `wp_kses_post()` on the detail HTML and `esc_html()` on all string slots.
 * Plugin Check: fixed global variable names in `uninstall.php` — all top-level 
   variables now prefixed with `minorank_` per WordPress coding standards.
 * Plugin Check: fixed `$_SERVER` input handling in 404 monitor — `wp_unslash()`
   now called at point of read for all server variables.
 * Plugin Check: fixed `$_GET` unslash in content analysis Elementor enqueue.
 * Plugin Check: sanitized `$_GET`/`$_SERVER` in REST API `check_permission()`.
 * Plugin Check: added missing `phpcs:ignore` comments for `PreparedSQL.NotPrepared`
   on table-name-only COUNT queries in 404, redirections, and sitemap classes.
 * Plugin Check: added missing `phpcs:ignore` on `postmeta` direct queries in import
   handler.
 * Plugin Check: changed `wp_redirect()` to `wp_safe_redirect()` in redirections
   handler.
 * Plugin Check: updated “Tested up to” to WordPress 6.8.
 * Created `languages/` directory to match `Domain Path` plugin header.

#### 1.6.2

 * Redirections: fixed “Select all” checkbox appearing oversized — `.mn-filter-bar
   input` CSS now excludes `[type=checkbox]` so the `min-width` rule no longer inflates
   it.

#### 1.6.1

 * Import: import section now auto-hides after a successful migration and only reappears
   if “Reset import data” is clicked.
 * Redirections: fixed inconsistent column widths across accordion groups by switching
   to `table-layout:fixed` with explicit header widths.
 * Redirections: fixed oversized “Select all” and row checkboxes; changed edit button
   to plain text “Edit” for consistent rendering.
 * 404 Monitor: fixed hit counts always displaying 1 — SQL query now aliases `hit_count`
   as `hits` to match the JavaScript field name.
 * 404 Monitor: raised per-page cap from 100 to 500 entries.

#### 1.6.0

 * Added WooCommerce SEO addon — remove product base, remove category base, remove
   parent slugs, remove generator tag, remove schema on shop archives, and select
   brand taxonomy. Addon card is disabled when WooCommerce is not active.
 * SEO alerts notice: “View Details” now expands an accordion inline in the admin
   notice showing the full list of new post types and URL changes — no page navigation
   required.
 * Added `uninstall.php` — cleans up all plugin options and drops custom tables 
   on uninstall.

#### 1.5.8

 * Sitemap: replaced Exclude Posts and Exclude Terms text inputs with a searchable
   multi-select picker — click to browse all posts or terms, search to filter, select
   by clicking, or add any ID manually.
 * REST API: `/search-posts` and `/search-terms` endpoints now return up to 50 results
   when called without parameters (for initial dropdown population).

#### 1.5.7

 * Sitemap: added pagination support — large sites generate multiple sub-sitemaps(
   e.g. `sitemap-posts-2.xml`).
 * Sitemap: added image sitemap support — `<image:image>` entries added to each 
   URL using the Google image sitemap namespace.
 * Sitemap: added “Include Featured Images” toggle to include featured images even
   when not embedded in post content.
 * Sitemap: added “Images in Sitemaps” master toggle.
 * Sitemap: added “Links Per Sitemap” control (default 1000).
 * Sitemap: added Exclude Posts and Exclude Terms ID fields to remove specific entries
   from sitemaps.
 * REST API: added `/search-posts` and `/search-terms` endpoints for sitemap exclude
   pickers.

#### 1.5.6

 * Local Business addon: expanded business type list to 110+ schema.org LocalBusiness
   subtypes across 13 optgroups.

#### 1.5.5

 * Admin: save buttons now show a spinner while the request is in flight.
 * Admin: success/error messages after saving now persist until page navigation (
   no auto-dismiss).

#### 1.5.4

 * Image SEO addon: added token-based alt/title format system — `%post_title%`, `%
   filename%`, `%focus_keyword%`, `%attachment_title%`, `%site_name%`, `%category%`,
   and `%sep%` separator token.
 * Image SEO addon: added token picker UI with searchable dropdown and insert-at-
   cursor.
 * Image SEO addon: added separator field used between non-empty token segments.

#### 1.5.3

 * Added Addons page (`Minorank SEO  Addons`) with toggleable addon cards.
 * Image SEO settings moved from SEO Settings to the Addons page.
 * Local Business Schema settings moved from SEO Settings to the Addons page.

#### 1.5.2

 * Image SEO: added find-and-replace rules for alt and title text.
 * Image SEO: added casing options (lowercase, UPPERCASE, Title Case) for alt and
   title independently.
 * Image SEO: added avatar alt text support via `pre_get_avatar_data` filter.

#### 1.5.1

 * Image SEO: added `wp_get_attachment_image_attributes` filter for block editor
   images, galleries, and thumbnails.
 * Image SEO: added add-missing-alt and add-missing-title toggles with configurable
   fallback format.

#### 1.5.0

 * Added Image SEO addon (`class-image-seo.php`) — automatically fills missing alt
   and title attributes on images using resolved format strings. Database is never
   modified; operates on rendered HTML only.

#### 1.4.1

 * SEO alerts: clustered post type and URL change alerts into a single admin notice
   instead of separate notices.
 * Import: fixed import status response not returning correctly on partial imports.

#### 1.4.0

 * Added post type monitor (`class-post-type-monitor.php`) — detects newly registered
   custom post types and shows an admin notice.
 * Added URL monitor (`class-url-monitor.php`) — detects renamed slugs and trashed/
   deleted posts; creates redirects automatically.

#### 1.3.0

 * Settings UI: replaced AI settings panel with a subscription promo card (AI generation
   still available via REST API).
 * Schema: WooCommerce schema options hidden when WooCommerce is not active.

#### 1.2.4

 * Admin: added standalone three-page admin interface (SEO Settings, Redirections,
   404 Monitor) — no external platform required.
 * Redirections UI: search by source/target, filter by type and group, bulk delete,
   paginated fetch, group name autocomplete.
 * 404 Monitor UI: stat cards, sortable columns, bulk dismiss, one-click “Create
   Redirect” action.
 * Settings UI: Save All button with data-loss guard; API key auto-tested on every
   page load.
 * REST API: `check_permission()` is now `public`.

#### 1.2.3

 * Schema: `output_schema()` reads per-content-type schema type from settings; configurable
   from the Settings page.
 * REST API: `check_permission()` accepts both API key and logged-in WP admin sessions.
 * Sitemap: WooCommerce product and product_cat sub-sitemaps respect enabled toggles
   correctly.

#### 1.2.2

 * IndexNow: manual URL ping field and homepage ping button added to Settings.
 * Sitemap: each enabled sub-sitemap shows its URL inline for easy copying.
 * Settings: WooCommerce section conditionally shown only when WooCommerce is active.

#### 1.2.1

 * Content analysis: multiple focus keywords scored independently — each keyword
   gets its own green/yellow/red chip.
 * Meta: focus keywords persisted to `_minorank_focus_keywords` post meta.

#### 1.2.0

 * Meta: added 13 new `_minorank_*` meta fields (robots, canonical, OG, Twitter,
   schema type, pillar flag).
 * Output: emits robots meta, canonical link, full Open Graph tags, and Twitter 
   Card tags.
 * Gutenberg: new 4-tab SEO sidebar (General / Advanced / Schema / Social).

#### 1.1.9

 * Content analysis: keyword input replaced with tag/chip input — press Enter to
   add, × to remove.
 * Content analysis: each keyword chip colored by SEO score.

#### 1.1.7

 * Added Elementor editor support via floating draggable content analysis panel.

#### 1.1.6

 * Added block editor content analysis sidebar.

#### 1.1.5

 * Schema: configurable per-content-type schema via `output_schema()`.

#### 1.1.2

 * Redirections: added `group_name` column; extended type support to 307, 410, 451.

#### 1.1.0

 * Added XML sitemap generator, `/llms.txt` endpoint, IndexNow integration, and 
   JSON-LD schema output.

#### 1.0.0

 * Initial release — REST API, meta management, 404 monitor, redirections, admin
   settings.

## 中繼資料

 *  版本 **1.6.8**
 *  最後更新 **2 天前**
 *  啟用安裝數 **少於 10 次**
 *  WordPress 版本需求 ** 6.0 或更新版本 **
 *  已測試相容的 WordPress 版本 **7.0.2**
 *  PHP 版本需求 ** 8.0 或更新版本 **
 *  語言
 * [English (US)](https://wordpress.org/plugins/minorank-seo/)
 * 標籤:
 * [404 monitor](https://tw.wordpress.org/plugins/tags/404-monitor/)[redirects](https://tw.wordpress.org/plugins/tags/redirects/)
   [schema](https://tw.wordpress.org/plugins/tags/schema/)[seo](https://tw.wordpress.org/plugins/tags/seo/)
   [sitemap](https://tw.wordpress.org/plugins/tags/sitemap/)
 *  [進階檢視](https://tw.wordpress.org/plugins/minorank-seo/advanced/)

## 評分

這個項目尚無任何評論記錄。

[Your review](https://wordpress.org/support/plugin/minorank-seo/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/minorank-seo/reviews/)

## 參與者

 *   [ Fotis Moutsakis ](https://profiles.wordpress.org/fotibout/)
 *   [ minoRank ](https://profiles.wordpress.org/minorank/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/minorank-seo/)