Latest SeedProd News

WordPress Tutorials, Tips, and Resources to Help Grow Your Business

change wordpress admin login url without plugin

How to Change WordPress Admin Login URL Without a Plugin 

Written By: author avatar Stacey Corrin
author avatar Stacey Corrin
Stacey Corrin is a certified content marketing and search specialist with over 15 years of experience writing about WordPress, SEO, and digital marketing. She manages content for SeedProd and RafflePress, covering tools and strategies she actively uses and tests herself.
    
Reviewed By: reviewer avatar John Turner
reviewer avatar John Turner
John Turner is the founder of SeedProd. He's an Entrepreneur, Web Developer, Marketer, SysAdmin, DBA, Support Tech and can even Cook.

TL;DR: How to Change WordPress Admin Login URL Without a Plugin

You can change your WordPress login URL with a plugin (easiest) or by editing core files manually (advanced only). Here’s what each method involves.

  1. Why it matters: Default wp-admin and wp-login.php URLs are publicly known, making your site a target for brute-force attacks.
  2. Plugin method (recommended): Install SeedProd, set up a Login Page mode, name your custom URL, and activate it. No code needed.
  3. Manual method (advanced): Download wp-login.php, find-and-replace all instances of “wp-login,” rename the file, add login_url, logout_url, and lostpassword_url hooks to a site-specific plugin file, test, then delete the original file.
  4. Use a site-specific plugin: Add the filter hooks to a site-specific plugin file, not your parent theme. Theme files are wiped on every WordPress update.
  5. If something breaks: Flush permalinks, check your plugin file name matches, or rename your plugins folder via FTP to regain access.
  6. Go further: A custom URL is one layer. Combine it with 2FA, login attempt limits, and strong passwords for real security.

Your WordPress login page sits at a URL every bot on the internet already knows.

Whether you run a business site, a membership portal, or a blog, anyone can find your login form by adding “wp-admin” or “wp-login.php” to your URL. That makes it the first target for brute-force attacks.

Changing your WordPress admin login URL removes that easy entry point. With the right method, it takes less than 10 minutes.

In this article, I’ll walk you through 2 ways to change your WordPress login URL step by step.

Why Change Your WordPress Login URL?

WordPress is one of the most popular content management systems, and that popularity makes it a target.

Anyone can find your default login page by adding “wp-admin” or “wp-login.php” to your site’s URL. That makes your login page the first place bots look to carry out attacks.

One of the simplest ways to secure your WordPress site from hackers is to create a custom login URL. You hide your login page from automated scanning tools and only grant access to people who know the address.

I’ve been managing WordPress sites for over 13 years, and changing the login URL is one of the first things I recommend to anyone setting up a site with multiple users or sensitive data.

Today I’ll share 2 ways to change your WordPress admin login URL.

The first method uses SeedProd and is what I’d recommend to most site owners. The second method involves editing your core WordPress files and should only be used if you’re comfortable with PHP code and file managers.

How Do I Change the WordPress Admin Login URL With a Plugin?

We’ll use a WordPress plugin to change the WordPress admin login URL in this method.

SeedProd is a drag-and-drop website builder for WordPress, used by over 1 million site owners. It includes a built-in login page mode that lets you replace the default wp-login.php page with a fully custom-designed login page at a URL of your choosing, with no code required.

SeedProd Drag-and-drop WordPress website builder

Because it has a built-in login page mode, you can create a custom WordPress login page without editing a single file. Follow the steps below to change your WordPress admin login URL with SeedProd.

Step 1. Install and Activate SeedProd

The first step is to download a copy of the SeedProd plugin.

You’ll then need to install and activate the plugin on your WordPress website. For help with this step, see this guide on how to install a WordPress plugin.

Once SeedProd is live on your website, you’ll see a welcome screen that asks for your license key. You can find your SeedProd license key in the downloads section of your SeedProd account area.

Copy your key, paste it into the license field, and click the Activate Key button.

SeedProd license key activation screen in WordPress dashboard

Next, scroll down and click the Create Your First Page button.

SeedProd Create Your First Page button on the welcome screen

That will take you to SeedProd’s landing page dashboard, where you can create new pages and set up different page modes.

Step 2. Set Up a Login Page

At the top of the next page are 4 different page modes you can set up in WordPress:

  • Coming Soon Mode
  • Maintenance Mode
  • Login Page
  • 404 Page

You can turn those pages on and off with a single click without creating a new page each time.

SeedProd landing page modes dashboard showing Coming Soon, Maintenance, Login Page, and 404

We’ll use the Login Page mode for this guide, so click on the Set up a Login Page button to get started.

SeedProd Set up a Login Page button in the page modes dashboard

After clicking that button, you’ll go to SeedProd’s template library, where you can choose a responsive design to start with.

SeedProd login page template library with pre-built designs

Since the plugin filters to the login page templates by default, you won’t need to hunt for a design that fits your needs.

To choose a template, hover your mouse over a design and click the checkmark icon.

Choosing a SeedProd login page template by hovering and clicking the checkmark

You’ll now see a popup asking for your login page name and URL. You can name your page anything you like and enter a completely different URL, something hackers won’t search for.

From there, click the Save and Start Editing the Page button to open your template in SeedProd’s visual editor.

SeedProd login page name and URL settings popup

Step 3. Customize Your Login Page

SeedProd’s drag-and-drop editor has content blocks on the left and a live preview on the right. You can drag new blocks onto your page and see changes in real time.

You can also click any element to view its settings in the left panel. For example, clicking the headline block opens content settings where you can change your headline, font, text size, and more.

Edit your login page template design

Adding content is just as straightforward. To add text below the headline, drag the Text block from the left panel and drop it onto your preview. Then you can enter instructions for logging in to your site.

Drag and drop new content onto your WordPress login page

In SeedProd’s Global Settings panel, you can customize many design elements at once. To find it, click the cog icon in the bottom-left navigation bar.

SeedProd global settings panel in the visual editor

From there, you can change fonts, colors, your background, and even add custom CSS, all at once instead of editing each block manually.

For example, you can replace the default background image with a design from your computer or media library in the Background tab.

Change your login page background image

In the Colors tab, you can select a new color palette for links, text, buttons, and headlines.

Choose a login page color palette

When you’re happy with how your new WordPress login page looks, click Save in the top right corner.

Step 4. Publish Your Login Page

With all your changes saved, you’re ready to publish your new login page. Click the dropdown menu on the Save button and click Publish.

Publish your custom login page in WordPress

Next, you’ll see a confirmation box allowing you to preview your design.

login page published confirmation message

Step 5. Enable Your New WordPress Login Page URL

The last step is to turn on your new login page, replacing the default WordPress admin login screen with your custom one. Head to the SeedProd dashboard, find the Login Page mode, and turn the toggle from Inactive to Active.

SeedProd login page mode activation toggle in the dashboard

You’ve now hidden the default WordPress login page and put your new page in its place. Here’s how it looks:

Custom WordPress login page with new admin URL displayed in browser

As you can see in the address bar, your WordPress admin login URL has changed to your custom URL.

New custom WordPress admin login URL in browser address bar

And it didn’t involve writing any code at all!

How Do I Change the WordPress Login URL Without a Plugin?

You can change your login URL without a plugin by editing your WordPress core files. This method is more advanced and should only be used if you’re comfortable with file managers and PHP code.

Before you do anything else, back up your site. See this guide for a list of top WordPress backup plugins. Alternatively, you can back up your site with your website hosting provider. We’ll be using Bluehost in this tutorial.

Bluehost WordPress hosting provider logo

Bluehost is a trusted WordPress hosting provider that includes a file manager for downloading, editing, and uploading core WordPress files.

You’ll also need a text editor to follow this guide. We’re using Sublime Text, but Notepad++ and Atom work just as well.

Step 1. Download Your wp-login.php File

Your wp-login.php file contains the code that generates your website’s login page, so you’ll need to edit it to change the login URL.

Open your website’s file manager and find the folder called “public_html.” In Bluehost, open your site, click the Settings tab, and select the File Manager button.

Open your website's file manager in Bluehost settings

In the file manager’s left sidebar, click the public_html folder.

Download wp-login.php file from the public_html folder in file manager

Find the wp-login.php file and download it to your computer.

Step 2. Find and Replace the Old Login URL

Open the wp-login.php file in your text editor. Then search for every instance of “wp-login” and replace it with your new login URL.

Our new URL is “wp-new-signin,” but use something unique to your site that you can remember easily. Avoid obvious terms like “login” or “admin.”

Find all instances of wp-login and replace with your new login URL in a text editor

Save the file. Then rename it to match the new URL you used (in our case, wp-new-signin.php).

Rename your wp-login file with your new login URL slug

Step 3. Upload Your New Login File

Head back to your file manager, upload a new file, and choose the renamed login file from the previous step.

Upload new WordPress login file to your website via file manager

Step 4. Register Your New Login URL Using Filter Hooks

After uploading your new login file, you need to register your new URL using the “login_url” filter hook.

You also need to add the logout_url and lostpassword_url hooks. Without them, WordPress will still redirect users to the old wp-login.php address when they log out or try to reset their password, locking them out of your custom login page.

Important: The safest place for this code is a site-specific plugin. Create a file in /wp-content/plugins/ with a plugin header comment (for example, my-login-config.php), add the code below, and activate it in your plugins list. Plugin files are never overwritten by WordPress or theme updates.

If you already have a child theme, you can add the code to your child theme’s functions.php instead. Just avoid adding it to a parent theme’s functions.php, since parent theme files are overwritten on every theme update.

Open your site-specific plugin file (or child theme’s functions.php) and paste the following code:

/*
 * Change WP Login file URL using "login_url" filter hook
 * https://developer.wordpress.org/reference/hooks/login_url/
 */
add_filter( 'login_url', 'custom_login_url', PHP_INT_MAX );
function custom_login_url( $login_url ) {
    $login_url = site_url( 'wp-new-signin.php', 'login' );
    return $login_url;
}

/*
 * Also redirect logout and lost password back to new login URL
 */
add_filter( 'logout_url', 'custom_logout_url', PHP_INT_MAX );
function custom_logout_url( $logout_url ) {
    return site_url( 'wp-new-signin.php', 'login' ) . '?action=logout&_wpnonce=' . wp_create_nonce( 'log-out' );
}

add_filter( 'lostpassword_url', 'custom_lostpassword_url', PHP_INT_MAX );
function custom_lostpassword_url( $lostpassword_url ) {
    return site_url( 'wp-new-signin.php', 'login' ) . '?action=lostpassword';
}

Save the file and move on to the next step.

Step 5. Test Your New Login URL

Before removing the default login file, test your new one. Type your website URL in the browser’s address bar and add your new login URL to the end.

For example, your full login URL would look like this:

startupyourwpsite.com/agency/wp-new-signin.php

Navigating to that page should show your WordPress login form.

Testing custom WordPress login URL in browser to verify it works

If you see the login form, your new WordPress admin login URL works. Move on to the next step.

Step 6. Delete the Original Login File

The final step is to delete the existing wp-login.php file from your website files. Anyone trying to log in using the old URL will see a 404 not found page.

Download the original file as a backup before deleting it. Then remove it in your file manager.

Note: The filter hooks only work reliably if they live in a site-specific plugin or a child theme. If you added the code to a parent theme and update WordPress or your theme, your login URL changes will be overwritten and you may lose access to your own login page.

What Should I Do If My Custom Login URL Stops Working?

A few things can break your custom login URL after you set it up. Here are the three most common problems and how to fix them.

I Forgot My Custom Login URL

If you can’t remember your custom URL, open your site-specific plugin file (or child theme’s functions.php) and look for the custom_login_url function. The URL you set is in the site_url() call.

If you can’t access the dashboard at all, connect via FTP, navigate to your plugin or theme folder, and open the file in a text editor to find the URL. As a last resort, you can temporarily rename your plugins folder to /plugins-disabled via FTP. That deactivates all plugins and restores the default wp-login.php URL.

Getting a 404 Error After Changing the URL

A 404 error usually means one of two things: the file name in functions.php doesn’t match the renamed file you uploaded, or your permalink structure needs refreshing.

To fix the permalink issue, go to Settings » Permalinks in your WordPress dashboard and click Save Changes. No other changes needed. Then double-check that the filename in your plugin file matches the file you uploaded exactly.

Stuck in a Redirect Loop

A redirect loop after changing your login URL almost always points to a plugin conflict. Connect to your site via FTP, navigate to wp-content/, and rename the plugins folder to something like plugins-disabled. This deactivates all plugins at once.

You can then log in via the default wp-admin URL, rename the folder back to plugins, and reactivate your plugins one at a time to find the one causing the conflict.

How Do I Secure My WordPress Login Page Further?

Changing your login URL is a good first step, but it’s one layer of security, not a complete solution. I always combine it with a few other measures on any site I manage.

Here are four more steps worth taking:

  • Use strong, unique passwords. A custom URL is easy to circumvent if your password is weak. Use a password manager and generate something you’d never guess yourself.
  • Enable two-factor authentication (2FA). Even if someone has your password, 2FA blocks them from getting in. Several WordPress security plugins include 2FA in their free tiers.
  • Limit login attempts. By default, WordPress allows unlimited login tries. A login attempt limiter stops brute-force attacks before they get through, even if an attacker finds your custom URL.
  • Keep WordPress and plugins updated. Most WordPress security vulnerabilities are fixed in updates. Running outdated software negates most other security measures you put in place.

For a more complete overview, see our guide to 11 ways to secure your WordPress website against hackers.

WordPress Admin Login URL FAQs

What happens if I forget my custom WordPress login URL?

If you forget your custom URL, open your site-specific plugin file (or child theme’s functions.php) and look for the custom_login_url function. The URL is in the site_url() call.

If you’re locked out entirely, connect via FTP, navigate to your plugin or theme folder, and open the file in a text editor. You can also rename the plugins folder via FTP to restore the default wp-login.php URL temporarily.

Will my custom login URL break after a WordPress update?

If you added the code to your parent theme’s functions.php, yes. WordPress updates overwrite parent theme files, which removes your custom login URL hooks.

Always add the login_url, logout_url, and lostpassword_url filter hooks to a site-specific plugin or child theme’s functions.php. Those files are not touched during updates. If you used SeedProd’s login page mode, it handles updates automatically with no manual fix needed.

How do I fix a redirect loop after changing my WordPress login URL?

A redirect loop usually means a plugin conflict. Connect to your site via FTP, go to wp-content/, and rename the plugins folder to plugins-disabled. That deactivates all plugins at once.

Log in via wp-admin, rename the folder back to plugins, then reactivate plugins one at a time until the conflict appears. Flush your permalinks (Settings > Permalinks > Save Changes) after any changes.

Is changing the login URL enough to secure WordPress?

No. It removes one easy entry point, but it’s not a complete security solution.

A custom login URL works best as part of a layered approach: strong passwords, two-factor authentication, login attempt limits, and keeping WordPress and plugins updated. Use all of them, not just the URL change.

What is the safest way to change the WordPress admin login URL?

Using a plugin like SeedProd is the safest option. It replaces wp-login.php with a fully designed custom login page, handles all URL routing automatically, and doesn’t require you to edit core WordPress files.

The manual method works, but it requires file manager access, PHP editing, a site-specific plugin (or child theme), and three separate filter hooks. One missed step and you’re locked out of your own site. SeedProd does all of that in a few clicks.

There you have it!

I hope this article helped you learn how to change WordPress admin login URL without plugins (and with one).

Please see the following guides for more login and registration page advice:

Thanks for reading! We’d love to hear your thoughts, so please feel free to join the conversation on YouTubeX and Facebook for more helpful advice and content to grow your business.

author avatar
Stacey Corrin Content Marketing Specialist
Stacey Corrin is a certified content marketing and search specialist with over 15 years of experience writing about WordPress, SEO, and digital marketing. She manages content for SeedProd and RafflePress, covering tools and strategies she actively uses and tests herself.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.

[weglot_switcher]