Temporary Login Links for WordPress (No Password Sharing)
Sooner or later someone needs to get into your WordPress site who isn't you. A developer needs to debug a checkout error. A plugin's support team needs to reproduce a bug. A client wants to preview their new layout. The lazy answer is to email them your admin password — and that's exactly the wrong move. The moment you share your password, that person has full, standing access until you remember to change it. Most people never do.
A temporary login link is the safer pattern. Instead of handing over credentials, you generate a single-use or time-limited link tied to a specific user and role. The person clicks it, lands logged in, does the work, and the link expires on its own. No password changes hands, and nothing lingers.
This guide shows you why temporary login links beat password sharing, the real situations they solve, and how to set one up step by step.
Why sharing your admin password is risky
Sharing a password feels quick, but it carries problems that don't go away when the work is done:
- It grants full, permanent access. A password isn't scoped or time-boxed. Whoever has it can log in any time, from anywhere, until you actively revoke it by changing the password.
- You have to change it afterward. Every time you share a password you create a chore: rotate it once the job is finished. Skip that step and the credential is loose indefinitely.
- It can't be limited. You can't say "this access is read-only" or "this access dies in two hours." A password is all-or-nothing.
- There's no audit trail tied to the person. If something changes on the site, the activity logs show your account, not the contractor's — because they logged in as you.
The throwaway-account approach (create a temporary admin user, then delete it) is better than password sharing, but it's still manual on both ends: you have to remember to create it, remember to delete it, and you've granted a full admin account in the meantime. A temporary login link automates the lifecycle instead.
The safer pattern: a temporary, auto-expiring login link
A temporary login link is a unique URL that logs the holder into a specific WordPress user with that user's role and permissions. The key properties that make it safe:
- Tied to one user/role — the person gets exactly the access that user has (editor, author, a limited admin, etc.), not your account.
- Single-use or time-limited — the link works once, or for a set window, then stops.
- Auto-expiry — you don't have to remember to clean up; the link retires itself.
- Revocable — if plans change, you kill the link immediately.
- Audited — you can see when the link was generated and used.
Magic Link is the WordPress plugin we'll use to do this. It generates passwordless login links you can hand out, with role-based access, expiry, usage limits, an audit log, and optional IP/domain restrictions. If you want the broader background on passwordless login first, start with our WordPress passwordless login guide.
Real scenarios where this helps
- Hire a developer to debug. A freelancer needs admin-level access for an afternoon to fix a broken cart. Generate a link tied to an admin role that expires in a few hours, send it, and it's dead by dinner.
- Give a plugin's support team access. A vendor asks for access to reproduce a bug. Hand them a single-use link instead of credentials — and revoke it the moment they confirm they're done.
- Let a client preview as an editor. Your client wants to see the staging layout and tweak copy. Give them a link tied to an editor role so they can edit content without touching settings or plugins.
- Grant a VA limited access. A virtual assistant handles your blog. A link tied to an author or editor role gives them what they need and nothing more, with a clear expiry.
How to set up a temporary login link with Magic Link
The exact labels vary slightly by version, so where the UI is uncertain the Manage Magic Links doc is your reference. The flow is the same regardless.
Step 1: Install Magic Link
Install and activate the plugin from your WordPress dashboard, then open its settings. The Getting Started guide walks through installation and first-run configuration.
Step 2: Generate a link for a chosen user or role
Create a new magic link and choose who it logs the holder in as:
- Pick an existing user, or
- Pick a role (administrator, editor, author, etc.) so the holder gets exactly that level of access.
Choose the least privileged role that still lets the person do the job. A client previewing copy doesn't need administrator — editor is enough. A developer debugging plugins probably does need admin. Match the role to the task, not the convenience.
Step 3: Set expiry and usage limits
This is what turns a login link into a temporary one. Configure:
- Expiry — a short window (hours, not weeks) for one-off access.
- Max uses — set it to a single use for a one-time login, or a small number if the person needs to come back.
A single-use link that expires in a couple of hours is a sensible default for outside help. See Manage Magic Links for the full list of controls.
Step 4: Restrict and send the link
If Magic Link's IP or domain restriction is available to you, lock the link to the recipient's IP or email domain so it only works for them — a stolen or forwarded link then does nothing. Throttling further limits abuse by capping attempts.
Then send the link over a private channel (a direct message or email to the right person), not a public thread. The Login from WordPress doc covers how the holder uses the link to land logged in.
Step 5: Revoke when the work is done
When the job's finished, don't wait for expiry — revoke the link from the Magic Link dashboard. Revoking immediately closes the access even if the expiry hasn't hit yet. This is the habit that replaces "remember to change the password."
Step 6: Check the audit log
Open the audit log to confirm when the link was generated, when it was used, and from where. This is your record of who had access and when — something a shared password can never give you. If anything looks off, see Troubleshooting.
Security best practices
A temporary login link is only as safe as how you configure it. A few rules:
- Least privilege. Grant the lowest role that gets the job done. Don't hand out administrator by reflex.
- Short expiry. Scope the window to the task. A two-hour debug session doesn't need a week-long link.
- Single use where possible. One login, then the link is spent.
- Revoke after. Close the link the moment the work is confirmed done — don't rely on expiry alone.
- Restrict by IP or domain when you can, so the link only works for the intended recipient.
- Send privately. Treat the link like a credential in transit, even though it's safer than one: don't post it in public channels.
- Review the audit log. Confirm the link was used as expected, and only by the person you sent it to.
Why this beats a throwaway admin account
Creating a temporary admin user and deleting it afterward is the old workaround. A temporary login link is better on every axis:
- No standing account exists. There's no admin user sitting in your users table waiting to be forgotten and exploited.
- The lifecycle is automatic. Expiry and single-use handle cleanup. With a throwaway account, you are the cleanup.
- Access can be smaller than "admin." You can tie a link to an editor or author role; spinning up a throwaway account usually means handing over full admin.
- It's auditable. You get a record of generation and use, instead of a deleted account that leaves only fragmentary logs.
For team and membership scenarios where people log in often (not just one-off contractor access), the membership one-click login pattern and a general log in without a password setup are worth a look too.
Conclusion
When someone outside your team needs into your WordPress site, password sharing is the risky default — it grants full, permanent access you then have to remember to revoke. A temporary login link flips that: scoped to a role, limited to a single use or a short window, revocable on demand, and auto-expiring so cleanup happens by itself. Install Magic Link, generate a link for the right user or role, set a tight expiry and usage limit, send it privately, revoke it when the work is done, and keep an eye on the audit log. Your password stays yours.
To compare what's available on the free and Pro tiers, see Features: Free vs Pro.
FAQs
Is a temporary login link safe to share?
Yes — safer than a password, when configured well. The link is tied to a specific role, can be single-use, expires automatically, and is revocable. Send it over a private channel and, where possible, restrict it to the recipient's IP or domain so a forwarded link won't work for anyone else.
Can I set an expiry or a use limit?
Yes. Magic Link lets you set both an expiry window (so the link stops working after a set time) and a maximum number of uses (down to a single login), so you can scope access precisely to the task. See Manage Magic Links.
Can I revoke a temporary login link early?
Yes. You can revoke any active link from the Magic Link dashboard before it expires, which immediately ends that access. Revoking the moment the work is done is the recommended habit.
What role does the person get?
Exactly the role you tie the link to — administrator, editor, author, or another role. Choose the least privileged role that still lets them do the job; a client previewing content usually needs only editor, not admin.
Is there an audit trail?
Yes. Magic Link keeps an audit log of when links are generated and used, so you have a record of who had access and when — something a shared password can't provide. The Troubleshooting doc covers reviewing it.