Menu Search
Jump to the content X

How To Customize The WordPress Admin Easily


In this article, we take a break from some of the more advanced ways to customize WordPress, and share some super-easy customization techniques for the WordPress Admin area.

If you’re just getting started with WordPress, or have been running with default functionality for a while and now want to dig in with some useful and easy ways to customize your WordPress site, a great place to start is the WordPress Admin area, or backend. One of the great things about WordPress is that each part of the backend is easily customized using simple PHP functions.


In this article, you’ll learn how to customize the login page with your own logo, add new widgets to the dashboard, add custom content to the admin footer, make it easier to get in and out of the Admin area, and more. When combined, these techniques can improve branding, accessibility, and usability of your WordPress-powered site.

Changing the Default WordPress Login URL Link

By default, logging in to the WordPress Admin area requires either /wp-admin or /wp-login.php in the URL, which isn’t a lot to type. You can, however, make it even easier by changing the login URL to something more memorable and better branded.

This technique requires .htaccess file manipulation. Usually, this is a file hidden in the root of your WordPress installation. It’s automatically created by WordPress after setting custom permalinks using URL rewriting.

First, check your SFTP/FTP client preferences to show hidden files—most FTP clients manage that. Then, check that the file .htaccess exists. If that is not the case, create it by using your favorite notepad. On Windows, use the Notepad++ software to create it. Open it and add this line on top:

RewriteRule ^login$ [NC,L]

Just replace the login keyword with one of your choice and your website’s URL.


Now, open your favorite browser and go to You’ll be redirected to the WordPress login page. Remember that your clients are not supposed to know everything about WordPress usages—a user-friendly URL is far better to remember than /wp-login.php.

Easy to remember, easy to teach, easy to learn!

When you log into WordPress, the default logo links to Let me show you a quick tip for using your own link. Open the functions.php file. Then, add the following lines of code. And be sure to remember the PHP tag enclosure.

// Use your own external URL logo link
function wpc_url_login(){
	return ""; // your URL here
add_filter('login_headerurl', 'wpc_url_login');

Don’t forget to save the file. Log out to view the result. Better, no?

Customizing the Login logo Without a Plugin Link

Reinforce your brand by changing the default WordPress login logo. The logo is one of the most important elements of your brand! People will memorize it to find you quickly. Showcase it!

This is the default WordPress login screen:


To enhance it, add these lines of code in your functions.php:

// Custom WordPress Login Logo
function login_css() {
	wp_enqueue_style( 'login_css', get_template_directory_uri() . '/css/login.css' );
add_action('login_head', 'login_css');

The third line points towards a separate stylesheet. Even though it’s possible to use that of your default CSS theme, I advise you to use Firebug3—a useful Firefox add-on—or any other Web development tool that allows you to edit your website in real-time. As you can see, just one line of code is needed to change the default logo.

#login h1 a { 
	background-image: url("") !important; 

Feel free to change the logo URL if it’s not located in your theme folder. Now have a look at your login page: your custom logo appears!


If that is not the case, make sure that no white lines are present at the end of your functions.php file.

The default WordPress administration footer thanks you for using their content management system and links to For professional use and website branding, you’ll want to customize this area.

Open the Appearance menu and click on Editor. Click on functions.php on the right side of your screen. You can also access the footer by using an FTP client to locate /wp-content/themes/NAME_OF_YOUR_THEME/functions.php.

Now, add the following lines of code, taking care to place them between PHP tags:

// Custom WordPress Footer
function remove_footer_admin () {
	echo '© 2012 - WordPress Channel, Aurélien Denis';
add_filter('admin_footer_text', 'remove_footer_admin');

To customize the content, just change the second line inside the echo, between the quotes.

Finally, refresh your browser to see the result.


Adding Custom Widgets to Your Dashboard Link

It can be useful to add your own widget to provide general or commercial information. Adding a widget to the WordPress dashboard can be done very quickly. Again, open the functions.php file, then, add the following lines of code:

// Add a widget in WordPress Dashboard
function wpc_dashboard_widget_function() {
	// Entering the text between the quotes
	echo "<ul>
	<li>Release Date: March 2012</li>
	<li>Author: Aurelien Denis.</li>
	<li>Hosting provider: my own server</li>
function wpc_add_dashboard_widgets() {
	wp_add_dashboard_widget('wp_dashboard_widget', 'Technical information', 'wpc_dashboard_widget_function');
add_action('wp_dashboard_setup', 'wpc_add_dashboard_widgets' );

In this example, add the desired text between the echo tag, after the quotes. You could also insert HTML; an unordered list for example. Name your widget—this will be the widget title—by replacing “Technical informations” with your title of choice. This is what it will look like.


If you do not see your custom widget, click on the Options menu screen located in the top right of the window to display it.

Hiding Unwanted WordPress Dashboard Widgets Link

The WordPress dashboard displays multiple widgets that you can easily move by dragging and dropping. To mask them definitively, just add the following lines in the functions.php file:

add_action('wp_dashboard_setup', 'wpc_dashboard_widgets');
function wpc_dashboard_widgets() {
	global $wp_meta_boxes;
	// Today widget
	// Last comments
	// Incoming links
	// Plugins

You can choose what widgets you’d like to hide. In this case, “Right Now”, “Recent comments”, “Incoming links” and “Plugins” have been removed from your WordPress dashboard. To learn more about this feature, have a look at the codex7.

Creating Your Own Custom Admin Color Scheme Link

If you’re not totally satisfied with the WordPress admin color scheme, this is how you can customize it. All you need to do is create a new CSS stylesheet. In this example, we’ll call it admin.css and place it in a folder entitled/css. Once again, edit the functions.php file and add this snippet:

// Custom WordPress Admin Color Scheme
function admin_css() {
	wp_enqueue_style( 'admin_css', get_template_directory_uri() . '/css/admin.css' );
add_action('admin_print_styles', 'admin_css' );

Your admin.css file must contain styles that are compatible with WordPress. Again, I recommend you use Firebug or Web Inspector to identify the right ones.

Conclusion Link

That’s all folks! I hope you have learned a few good tips to make WordPress act more like a white label CMS. Remember that customization is not just a branding technique, but also a way to boosting your productivity, by increasing user-friendliness.

If you’re not comfortable with PHP, you can make most of these changes with the White Label CMS WordPress8 plugin. Do you know any other great tips? Share them with us!


Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8

↑ Back to top Tweet itShare on Facebook

Aurélien Denis is the founder of the WordPress Channel project proposing freely downloadable tutorials and podcasts on iTunes. He is specialized in developing WordPress website for Neticpro and he is part of the Microsoft Imagine Cup Social Media Team, the world’s premier student technology competition with over 300,000 students from all over the world participating each year.

  1. 1

    Thanks for all the tips on customizing. I was looking to customize the labels on the WordPress admin screen, since we’re using the LDAP plugin for a multisite installation. Any advice on how to change the username label?

  2. 2

    Really nice, simple and easy…. I guess it’s really useful to customize WP login page this way rather than using heavy plugins available. Which tends to increase page requests to the server and slowdown the performance.


  3. 3

    Handy after the #fowd piece which suggested doing just this!

    Many thanks :o)

  4. 4

    Great tips, made very user friendly too. Hadn’t thought about the login logo change or the footer text, I’ll start to use those on my upcoming projects :)

    • 5

      Next up would be to secure the WordPress admin. There are many things that can be done, but simple things like the following are a great start and can go a long way:

      -Renaming the username to something other than “admin”
      -Limiting the number of login attempts and notifying you of failed attempts (there are plugins for this)
      -Changing the default login url to something other than /login or /wp-login.php

      • 6

        Agreed… In fact, I found this article because hackers have been trying to get access for months now. And I’m frustrated that I haven’t found a way to change the login url. This article suggests a redirect, which won’t help. Furthermore, changing username from admin doesn’t help either – username can be determined by default url structure of all author links. Anyone have a solution? Surprised this hasn’t been addressed by WP yet. Ability to customize login url is much needed.

        • 7

          Ersan, can you explain your comment?: “This article suggests a redirect, which won’t help. ” , I cant find any problem with this solution, other than it seems too good to be true…

  5. 8

    Will these changes be overwritten when you update WP?

    • 9

      Any change made to your themes’s function.php is kept when you update WP. That’s the “right way” to change anything.

      You lose your changes only when you modify WordPress core files (and you should never do this).

    • 10

      Todd, these changes would not be overwritten if you update your WP.. However, if you update a pre-existing theme then it would be overwritten, you can prevent this by creating a child theme and placing your functions.php in there.

      • 11

        Absolutely not. If the extension is .php, even if the user donawolds it, Apache will process the code, so the user only sees what is processed, not the code itself which contains sensitive information.

    • 12

      Aurélien Denis

      May 20, 2012 12:34 am

      Another solution is to create functions plugin in the mu-plugins folder to make it available by default – and not depending on the theme. ;)

  6. 13


    May 18, 2012 4:11 am

    This was helpful for me ,thank you for this post.

  7. 14

    Excellent article, very helpful.

  8. 15

    Kevin Armstrong

    May 18, 2012 5:05 am

    Just what I was looking for all compiled in one article. Thanks!

  9. 16

    Thanks for the helpful info
    adminimize is a great plugin which let you control what you want to show in the admin page for different user roles

  10. 17

    Frankly, adding code to change the logo seems like overkill. I just download the wordpress login logo, erase and place my client’s logo, then FTP upload it over top of the existing logo. Message me if you can’t find where the logo resides.

    I love customizing the admin screens so thank you for the other tips!

    Rod Salm
    Death At Your Door, a weekly webcomic about Death living a life.

    • 18

      The problem with doing it that way is when you update WordPress, you’re client’s logo will be overwritten with the default WP logo once again.

      I like keeping things separated when I can, so, when I need to customize the login screen I use the Theme My Login plugin.

    • 19

      The only problem with replacing the wordpress logo that way is you have to replace it every time you update your WP.

      • 20

        Thanks Jules! Just a quick note to confirm that the depvloeers have resolved this issue and you will be able to see the Events Calendar link on the 2nd navigation menu that appears when you launch your Dashboard.

  11. 21

    Love the URL rewrite idea. To take the customizations further, I would suggest making the modifications into a plugin, that way it is easily reusable; all you would need to do is change the CSS file, avoiding functions.php altogether. I just wish there was a way to do the URL rewrite from the plugin, but I guess that would not make too much sense (editing the core functionality from within).

    Great article

  12. 22

    That’s a cool article: concise, useful and very practical! Right now, I tried to experiment with custom widgets, based on the section “Adding Custom Widgets to Your Dashboard”, and it really took me under 2 minutes to test and upload my first custom widget! :-)

    So, thanks again! :)

  13. 23

    Thanks for the useful tips! I especially like the hiding of the Dashboard Widgets. I hate having to turn those off each time for every site I create! :)

  14. 24

    Excellent post!
    I’ve implemented all of them with no problems. THIS will be very useful for me when developing WP sites for clients.

  15. 25

    Woaah ! I am using WordPress for quite a long time, but to be frank I never new that !
    This post is gonna help me a lot in my future projects !
    Thanks for sharing :)

  16. 26

    Very nice, very beginner friendly unlike many instructions that are even on WordPress’ sites. Little touches that make a lot of difference in making sites look customized and professional and some that just make it easier as a developer, so thank you.

  17. 27

    Great tips thanks!

  18. 28

    One important function i was looking for very cool tips.

  19. 29

    Nicole Hammett

    May 21, 2012 4:57 am

    Awesome tutorial and simple tips to customise the admin panel. I have always used a plugin to change the WordPress login logo but this has made me think doing it manually would work much better.

    Really easy to follow as well.

  20. 30

    TiPi Com and Web

    May 21, 2012 9:02 am

    Hi there !

    Just some more customization of the code for the step : link of the login page.
    It would be better to :
    – put a title more cool than the default title of the link ;
    – define a relative link instead of the absolute link.

    So here is my code :

    function wp_url_login(){
    return “/”; // The root of your site or any relative link
    function wp_url_title(){
    return “TiPi Com and Web”; // The title of your link
    add_filter(‘login_headerurl’, ‘wp_url_login’);
    add_filter(‘login_headertitle’, ‘wp_url_title’);

    Have fun with WordPress ;)

  21. 31

    Great advices! Thanks!
    Right now made changes in my site.
    I would suggest to use relative path in .htaccess rule:

    /wp-login.php instead

    1. The url in address bar keeps clean and don’t changes to wp-login.php.
    2. This trick can be used on multisite where many other domains.


    • 32

      Juan Jose de la Torre

      July 11, 2012 10:47 am

      Good tip. Is better if we use relative paths instead of absolute. In that way the physical location will not interfere in .htacces configurations.

      Another way to do that::

      RewriteRule ^admin$ http://%{HTTP_HOST}/wp-login.php [NC,L]

  22. 33

    This is a fantastic article. I mean in the past I have rarely cared about the admin screens very much but over the last few years it has become more of a burden with a bunch of CSS hacks to get stuff done. This is very helpful and I will be bookmarking this for my late 2AM nights hacking away at stuff! :)

  23. 34

    Aurélien Denis

    May 23, 2012 7:23 am

    Thanks all!

  24. 35

    Great article! Will certainly be applying some features on the next project.

  25. 36

    Great info here. I also found that creating a simple PHP plugin file is very simple to do and upload, using all of the above. Keeps it all in one place.

    • 37

      The Point and Stare CMS Functions plugin does this all for you.
      Just search the repo for it.

  26. 38

    Great tutorial! Thank you very much!
    I’m looking forward other useful tricks! ;-)

  27. 39

    Why change the WordPress admin log in screen or admin? Are you trying to make out to your customers that you built WordPress? I have seen design agency do this and it always makes me suspicious, but that maybe because I’m paranoid.

    • 40

      Aurélien Denis

      May 28, 2012 11:53 pm

      Don’t be paranoid! :)

      I believe that customizing WordPress is like customizing your computer, your car, etc. The user experience is better if you feel as at home. Users will truly appreciate it and use WordPress more.

      I cannot imagine a customer who would buy a website without knowing the adopted technical solution and thus the choice of the CMS.

      Just my 2 cents. ;)

  28. 41

    I wonder if you could give us tips to change the default login URL under Nginx and not under Apache. I guess you must use the Rewrite Rules under Nginx, but I have no idea how to do it…

    • 42

      Aurélien Denis

      June 8, 2012 10:01 am

      Hum, that’s a good question… honestly I do not have ideas me either. Always working on Apache. :(

  29. 43

    I was trying to change the log.

    I have added to code to style.css as recommended and added the following code

    #login h1 a {
    background-image: url(“”) !important;

    However, this does not result in showing the new logo. What is it that I’m doing wrong? Thanks in advance

  30. 45

    Well i would seriously like to change my login URL not just redirect it
    So du u have anything for that huh ??


↑ Back to top