Skip to content

Your EMCP guide

Answers from our docs

YOUR CHAT, YOUR CHOICE

Before we chat

MSR Builds processes your question and up to four recent messages on our server to answer from the EMCP docs. AI is optional and needs your separate permission.

The chat is kept in this page's memory, not saved as a conversation in our database or browser storage. Our hosting and security services process connection information, such as your IP address, to prevent abuse.

Cloudflare Turnstile checks your browser and connection to prevent automated abuse when you send a question. No login is required.

Please leave out personal, sensitive or confidential information, passwords and API keys.

You can withdraw consent and clear this page's chat at any time. This cannot undo a request already sent or erase provider/security records.

Chat privacy, retention & your rights ↗ · Privacy contact

Starting chat consents to this processing. You can browse our docs without using the chat.

Redirection

New in 3.21.1 (free), and in EMCP Lite 1.0.5 on WordPress.org. Two dispatcher tools work with Redirection 5.10.1:

ToolDefaultPurpose
redirection-readOnStatus, redirects, groups, the redirect log and the 404 log (7 operations)
redirection-writeOffCreate, edit, enable, disable and delete exact URL redirects; create and rename groups (7 operations)

Enable the write tool under Tools > Plugins > Redirection. Call a tool with no operation to get the operations the connected user may run, with their argument schemas.

Redirection is a separate plugin from EMCP’s own Redirect Manager. These tools manage the Redirection plugin’s redirects and groups.

  • Redirection 5.10.1 exactly, with its database setup finished in Redirection’s own screen. Another version answers unsupported_version; missing tables answer setup_required.
  • An administrator (manage_options). Each operation also checks Redirection’s own capability: redirect_manage, group_manage, log_manage and 404_manage for reads, redirect_add, redirect_delete and group_add for writes.
OperationWhat it does
statusRedirection version, the qualified version and the module writes use (WordPress)
list-redirectsRedirects, paged (page, per_page 5 to 100), filtered by search (URL) or group_id
get-redirectOne redirect by id, with its version
list-groupsGroups, paged, filtered by search (name)
get-groupOne group by id, with its version
list-logsThe redirect log, paged and searchable by URL
list-404sThe 404 log, paged and searchable by URL

Both logs leave out IP addresses, user agents, referrers, HTTP headers and request data.

Every write needs confirm: true. dry_run: true validates without writing. Existing records need the version from get-redirect or get-group.

OperationWhat it does
create-redirectsource, target, group_id, optional title and code (301, 302, 303, 307 or 308; 302 when omitted)
update-redirectChange the source, target, title or code of an exact URL redirect
enable-redirectTurn a redirect on
disable-redirectTurn a redirect off
delete-redirectDelete a redirect (irreversible)
create-groupA new group in the WordPress module, name up to 50 characters of plain text (irreversible)
rename-groupRename a WordPress-module group
  • Exact URL redirects only. A redirect with another match type, another action or a regex is readable but refused for writes (unsupported_redirect).
  • WordPress-module groups only. Apache and Nginx groups are written to server files by Redirection, so they are refused (linked_unavailable, unsupported_module).
  • URLs. The source must be a path on this site starting with /, without a fragment. The target is a local path or an HTTP(S) URL without credentials. Control characters and backslashes are refused (invalid_url).
  • Loops. A create, update or enable that would loop through other enabled redirects on this site is refused (redirect_cycle). No request is ever made to a target.
  • Versions. A redirect’s version covers the redirect and its group; a group’s version covers every redirect in it. A change since your read answers conflict. Hit counts and last access times are not part of a version.
  • One change at a time. A second Redirection write while one runs answers redirection_busy.
  • If Redirection fails halfway, EMCP puts the previous state back (native_error_recovered) or records a recovery entry in History (partial_write). A new redirect whose ID cannot be attributed is never replayed.

Creates, edits, enables, disables and renames can be undone from History: a new redirect is removed, an edit restores the earlier source, target, title, code and enabled state. Undo takes the same lock, refuses a newer change unless forced, and checks the group and loops again. Deleting a redirect and creating a group are recorded as irreversible. Hit counters are never restored.