Skip to content
    Moz logo Menu open Menu close
    • Products
      • Moz Pro
      • Moz Pro Home
      • Moz Local
      • Moz Local Home
      • STAT
      • Moz API
      • Moz API Home
      • Compare SEO Products
      • Moz Data
    • Free SEO Tools
      • Domain Analysis
      • Keyword Explorer
      • Link Explorer
      • Competitive Research
      • MozBar
      • More Free SEO Tools
    • Learn SEO
      • Beginner's Guide to SEO
      • SEO Learning Center
      • Moz Academy
      • MozCon
      • Webinars, Whitepapers, & Guides
    • Blog
    • Why Moz
      • Digital Marketers
      • Agency Solutions
      • Enterprise Solutions
      • Small Business Solutions
      • The Moz Story
      • New Releases
    • Log in
    • Log out
    • Products
      • Moz Pro

        Your all-in-one suite of SEO essentials.

      • Moz Local

        Raise your local SEO visibility with complete local SEO management.

      • STAT

        SERP tracking and analytics for enterprise SEO experts.

      • Moz API

        Power your SEO with our index of over 44 trillion links.

      • Compare SEO Products

        See which Moz SEO solution best meets your business needs.

      • Moz Data

        Power your SEO strategy & AI models with custom data solutions.

      Save 36% now!
      Moz Pro

      Save 36% now!

      Sign up
    • Free SEO Tools
      • Domain Analysis

        Get top competitive SEO metrics like DA, top pages and more.

      • Keyword Explorer

        Find traffic-driving keywords with our 1.25 billion+ keyword index.

      • Link Explorer

        Explore over 40 trillion links for powerful backlink data.

      • Competitive Research

        Uncover valuable insights on your organic search competitors.

      • MozBar

        See top SEO metrics for free as you browse the web.

      • More Free SEO Tools

        Explore all the free SEO tools Moz has to offer.

      Save 36% now!
      Moz Pro

      Save 36% now!

      Sign up
    • Learn SEO
      • Beginner's Guide to SEO

        The #1 most popular introduction to SEO, trusted by millions.

      • SEO Learning Center

        Broaden your knowledge with SEO resources for all skill levels.

      • On-Demand Webinars

        Learn modern SEO best practices from industry experts.

      • How-To Guides

        Step-by-step guides to search success from the authority on SEO.

      • Moz Academy

        Upskill and get certified with on-demand courses & certifications.

      • MozCon

        Save on Early Bird tickets and join us in London or New York City

      Access 20 years of data with flexible pricing
      Moz API

      Access 20 years of data with flexible pricing

      Find your plan
    • Blog
    • Why Moz
      • Digital Marketers

        Simplify SEO tasks to save time and grow your traffic.

      • Small Business Solutions

        Uncover insights to make smarter marketing decisions in less time.

      • Agency Solutions

        Earn & keep valuable clients with unparalleled data & insights.

      • Enterprise Solutions

        Gain a competitive edge in the ever-changing world of search.

      • The Moz Story

        Moz was the first & remains the most trusted SEO company.

      • New Releases

        Get the scoop on the latest and greatest from Moz.

      Surface actionable competitive intel
      New Feature

      Surface actionable competitive intel

      Learn More
    • Log in
      • Moz Pro
      • Moz Local
      • Moz Local Dashboard
      • Moz API
      • Moz API Dashboard
      • Moz Academy
    • Avatar
      • Moz Home
      • Notifications
      • Account & Billing
      • Manage Users
      • Community Profile
      • My Q&A
      • My Videos
      • Log Out

    The Moz Q&A Forum

    • Forum
    • Questions
    • Users
    • Ask the Community

    Welcome to the Q&A Forum

    Browse the forum for helpful insights and fresh discussions about all things SEO.

    1. Home
    2. SEO Tactics
    3. Technical SEO
    4. How to force Wordpress to remove trailing slashes?

    Moz Q&A is closed.

    After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.

    How to force Wordpress to remove trailing slashes?

    Technical SEO
    6
    9
    45537
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as question
    Log in to reply
    This topic has been deleted. Only users with question management privileges can see it.
    • james-tb
      james-tb last edited by

      I've searched around quite a bit for a solution here, but I can't find anything. I apologize if this is too technical for the forum.

      I have a Wordpress site hosted on Nginx by WP Engine. Currently it resolves requests to URLs either with or without a trailing slash.

      So, both of these URLs are functional:

      <code>mysite.com/single-post</code>
      

      and

      <code>mysite.com/single-post/</code>
      

      I would like to remove the trailing slash from all posts, forcing mysite.com/single-post/ to redirect to mysite.com/single-post. I created a redirect rule on the server:

      ^/(.*)/$ -> /$1

      and this worked well for end-users, but rendered the admin panel inaccessible. Somewhere, Wordpress is adding a trailing slash back on to the URL mysite.com/wp-admin, resulting in a redirect loop. I can't see anything obvious in .htaccess.

      Where is this rule adding a trailing slash to 'wp-admin' established?

      Thanks very much

      1 Reply Last reply Reply Quote 0
      • BlueprintMarketing
        BlueprintMarketing last edited by

        WPEis run on a base server using Apache with a Nginx proxy so you can use the WP engine  301 redirect system built-in or you can simply add a redirect to the HTAccess file. If you would like to use a tool to do this I recommend this one another alternative is to ask WP engine to make a change for you.https://www.aleydasolis.com/htaccess-redirects-generator/non-slash-vs-slash-urls/ApacheJust copy to your htaccess:```
        https://example.com/page/

        **https://example.com/page** 
        ``` 
        <label for="nonslash">**Slash to Non-Slash URLs**</label>
        
        > <ifmodule mod_rewrite.c="">RewriteEngine on
        > RewriteCond %{REQUEST_FILENAME} !-d
        > RewriteRule ^(.*)/$ /$1 [L,R=301]</ifmodule>
        
        **Non-Slash to Slash URLs**
        
        ```
        ****Apache**
        https://example.com/page**
        

        https://example.com/page/

        
        > <ifmodule mod_rewrite.c="">RewriteEngine on
        > RewriteCond %{REQUEST_FILENAME} !-f
        > RewriteRule ^(.*[^/])$ /$1/ [L,R=301]</ifmodule>
        
        

        USEING Nginx to do

        **https://example.com/page/**
        

        https://example.com/page

        
        As you see, there is one tiny difference between those two URLs, and it’s the trailing slash at the end. In order to avoid duplicate content, if you are using Nginx you can **remove the trailing slash from Nginx** URLs.
        
        Place this inside your virtual host file in the server {} block configuration:
        
        > ```
        > rewrite ^/(.*)/$ /$1 permanent;
        > ```
        
        Full example:
        
        > ```
        > server {
        > listen 80;
        > server_name www.mysite.com;
        > rewrite ^/(.*)/$ /$1 permanent;
        > }
        > ```
        
        All done, now Nginx will remove all those trailing slashes.
        
        

        USEING Nginx to do
        https://example.com/page
        https://example.com/page/

        
        Add a trailing slash by placing this inside your virtual host file in the server {} block configuration:
        
        > ```
        > rewrite ^(.*[^/])$ $1/ permanent;
        > ```
        
        Full example:
        
        > ```
        > server {
        > listen 80;
        > server_name www.mysite.com;
        > rewrite ^(.*[^/])$ $1/ permanent;
        > }
        > ```
        
        From now on, Nginx should add your trailing slash automatically to every url
        
        *   https://www.scalescale.com/tips/nginx/add-trailing-slash-nginx/
        *   https://www.scalescale.com/tips/nginx/nginx-remove-trailing-slash/
        
         I hope this helps,
        
        Tom
        1 Reply Last reply Reply Quote 0
        • ATP
          ATP last edited by

          Hi John, sorry ive been on leave so not checked back on the  forums.

          Glad it looks like its working for you. I dont think the comments do anything except signify where word press has begun writing to the .htaccess (i dont run wordpress so can't be sure). Normally comments do nothing but signify something useful to the user.

          I can try to breakdown the code a little for you, but my htaccess isn't fantastic so its by no means complete.

          Firstline:  RewriteCond%{REQUEST_FILENAME}!-d

          RewriteCond% = This says use this condition if....
          {REQUEST_FILENAME}!-d =  ... is NOT a directory

          RewriteRule^(.*)/$ /$1 [L,R=301]
          I believe this bit takes a snapshot of the url upto the final / then rewrites it to that snapshot.

          The combination of these must mean it doesn't affect your wordpress admin directory. I know this code can break if your install is within a directory (as is discussed in the stackover flow link) but they have provided a solution for that in that topic. I would say test if on your live website to make complete sure it will work as this may be slightly different to your local install. Have a back-up ready just incase it doesn't.

          Make sure you check every url including

          Homepage
          Pages
          Posts
          Category Pages
          Sub Category Pages
          Post Pages
          Any images or files

          To make sure it is working as expected on all of them.

          1 Reply Last reply Reply Quote 1
          • james-tb
            james-tb last edited by

            Thanks so much, ATP! It looks like writing the condition into .htaccess does the trick—at least for my local install. Is this because the commands located within the

            BEGIN WordPress

            END WordPress

            comments only apply to URLs outside of the WP admin area?

            Thanks again, ATP—that was a very thorough and helpful response!

            1 Reply Last reply Reply Quote 0
            • evolvingSEO
              evolvingSEO last edited by

              Hi John

              Did ATP's solution help you out? Let us know if we can look into this further!

              1 Reply Last reply Reply Quote 0
              • ATP
                ATP last edited by

                Hi John,

                I asked something similar myself something myself but im on the Magento platform. This should matter as the solution wasn't platform specific. It just involved editing htaccess file. If your up for editing your .htacccess file then it could be of some use. The topic URL is below and it contains multiple solutions for editing and removing the / and the debugging process we went through along the way. (Courtesy of Andy and Dirk) Hopefully its of some use to you

                https://moz.com/community/q/cms-pages-multiple-urls

                SUMMARY:
                If you know how to edit your .htaccess and your ready to dive straight in this code should do it.

                RewriteCond%{REQUEST_FILENAME}!-d
                RewriteRule^(.*)/$ /$1 [L,R=301]

                If you want the page with explanations and walk-through please see the original topic as editing your htaccess  badly can cause all sorts of errors.

                Edit: I realised i was probably a tiny bit lazy and should of probably included this link which is the original link i got sent from stackoverflow with instructions on how to to edit your .htaccess file.

                http://stackoverflow.com/questions/21417263/htaccess-add-remove-trailing-slash-from-url

                Dirks answer later in the post offer guidance on applying it to certain parameters which should prove helpful if your still having loop problems with the admin page.

                1 Reply Last reply Reply Quote 2
                • james-tb
                  james-tb last edited by

                  Thanks for the replies, Donna, Martijn. I am running Yoast and considered adding the trailing slash, but:

                  -Most of the inbound links we have are to URLs with no slash

                  -The slash style seems a little dated in general-few sites use them these days.

                  I'd really love to just figure out how to solve the issue a little closer to the root.

                  1 Reply Last reply Reply Quote 0
                  • Martijn_Scheijbeler
                    Martijn_Scheijbeler last edited by

                    Hi John,

                    It seems obvious, but why not go for a adding a trailing slash to every URL instead or removing it, would solve your issues at least.

                    1 Reply Last reply Reply Quote 1
                    • DonnaDuncan
                      DonnaDuncan last edited by

                      Are you using the yoast SEO plugin? There is a setting under Advanced > Permalinks that forces a trailing slash onto URLs. I'd try looking at that first.

                      1 Reply Last reply Reply Quote 1
                      • 1 / 1
                      • First post
                        Last post

                      Got a burning SEO question?

                      Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.


                      Start my free trial


                      Browse Questions

                      Explore more categories

                      • Moz Tools

                        Chat with the community about the Moz tools.

                      • SEO Tactics

                        Discuss the SEO process with fellow marketers

                      • Community

                        Discuss industry events, jobs, and news!

                      • Digital Marketing

                        Chat about tactics outside of SEO

                      • Research & Trends

                        Dive into research and trends in the search industry.

                      • Support

                        Connect on product support and feature requests.

                      • See all categories

                      Related Questions

                      • GhillC

                        Trailing slash URLs and canonical links

                        Hi, I've seen a fair amount of topics speaking about the difference between domain names ending with or without trailing slashes, the impact on crawlers and how it behaves with canonical links.
                        However, it sticks to domain names only.
                        What about subfolders and pages then? How does it behaves with those? Say I've a site structured like this:
                        https://www.domain.com
                        https://www.domain.com/page1 And for each of my pages, I've an automatic canonical link ending with a slash.
                        Eg. rel="canonical" href="https://www.domain.com/page1/" /> for the above page. SEM Rush flags this as a canonical error. But is it exactly?
                        Are all my canonical links wrong because of that slash? And as subsidiary question, both domain.com/page1 and domain.com/page1/ are accessible. Is it this a mistake or it doesn't make any difference (I've read that those are considered different pages)? Thanks!
                        G

                        Technical SEO | | GhillC
                        0
                      • AliMac26

                        Is Removing Breadcrumbs Detrimental for SEO?

                        We have full navigational breadcrumbs on our site for the menu and the brand menu. i.e. Home > Clothing > Jackets Brand > Brand Name > Brand Jackets There's been talk of removing this and having it like Chico's does, where on item pages they just have a link at the top to previous category (i.e. you're on a shirt product page and at the top it says "Back to Tops" instead of listing Home > Clothing > Tops) Is doing something like this detrimental to SEO? From what I've read Breadcrumbs are for user experience but I just want to be sure.

                        Technical SEO | | AliMac26
                        0
                      • kirmeliux

                        Removing CSS & JS Files from Index

                        Hi, Google has indexed a few .CSS and .JS files that belong to our WordPress plugins and themes. I had them blocked via robots, but realized this doesn't prevent indexation (and can likely hurt us since Google wants to access these files). I've since removed the robots instructions, submitted a removal request via Search Console, but want to make sure they don't come back. Is there a way to put a noindex tag within .CSS and .JS files? Or should I do something with .htaccess instead?

                        Technical SEO | | kirmeliux
                        1
                      • M_D_Golden_Peak

                        How to Remove /feed URLs from Google's Index

                        Hey everyone, I have an issue with RSS /feed URLs being indexed by Google for some of our Wordpress sites. Have a look at this Google query, and click to show omitted search results. You'll see we have 500+ /feed URLs indexed by Google, for our many category pages/etc. Here is one of the example URLs: http://www.howdesign.com/design-creativity/fonts-typography/letterforms/attachment/gilhelveticatrade/feed/. Based on this content/code of the XML page, it looks like Wordpress is generating these: <generator>http://wordpress.org/?v=3.5.2</generator> Any idea how to get them out of Google's index without 301 redirecting them? We need the Wordpress-generated RSS feeds to work for various uses. My first two thoughts are trying to work with our Development team to see if we can get a "noindex" meta robots tag on the pages, by they are dynamically-generated pages...so I'm not sure if that will be possible. Or, perhaps we can add a "feed" paramater to GWT "URL Parameters" section...but I don't want to limit Google from crawling these again...I figure I need Google to crawl them and see some code that says to get the pages out of their index...and THEN not crawl the pages anymore. I don't think the "Remove URL" feature in GWT will work, since that tool only removes URLs from the search results, not the actual Google index. FWIW, this site is using the Yoast plugin. We set every page type to "noindex" except for the homepage, Posts, Pages and Categories. We have other sites on Yoast that do not have any /feed URLs indexed by Google at all. Side note, the /robots.txt file was previously blocking crawling of the /feed URLs on this site, which is why you'll see that note in the Google SERPs when you click on the query link given in the first paragraph.

                        Technical SEO | | M_D_Golden_Peak
                        0
                      • dballari

                        Where does Wordpress store the 301 redirects?

                        Hi, I've just created a campaign for my new wordpress blog and found 11 301 redirects which I was not aware of. It looks like wordpress has created them automatically. Does any one know how wordpress handles this issues or where are they stored so I can delete them? They are of no use for me. 9 of these redirects point to the same url with an added '/' and are in pages 1 is on a post. I've been changing the permalink and some urls several times and maybe one of these times the Wordpress has automatically created the 301 redirect. But why? I do not want to keep the old url. the last redirect is very strange it goes from http://www.mydomain.com/folder to http://www.mydomain.com where folder is the folder where I installed wordpress. But again, I want no one to type the url with the folder name or even know this folder exists. Any comment on this would be greatly appreciated. Thanks a lot, David

                        Technical SEO | | dballari
                        0
                      • ufmedia

                        How to rewrite WordPress permalinks for reverse proxy?

                        Our main site, www.domain.com, is on an IIS 6 server.  When we started our blog, we wanted to put it in a subdirectory (domain.com/blog), but we couldn't because our IT people refused to support it.  Instead, we built it on a third-party Apache server and configured it to open under blog.domain.com.  However, I came across this SEOmoz post about the glories of reverse proxies, so I've persuaded our IT people to take a swing at it. We got it to work on a staging server, but the permalinks won't change (still appear as blog.domain.com/slug).  The IT guys say it's due to a configuration problem with WordPress.  Can somebody out there point me in the right direction as far as working out the URL issues with this?

                        Technical SEO | | ufmedia
                        0
                      • Websensejim

                        Why has Google removed meta descriptions from SERPS?

                        One of my clients' sites has just been redesigned with lots of new URLs added. So the 301 redirections have been put in place and most of the new URLs have now been indexed. BUT Google is still showing all the old URLs in the SERPS and even worse it only displays the title tag. The meta description is not shown, no rich snippet, no text, nothing below the title. This is proving disastrous as visitors are not clicking on a result with no description. I have to assume its got something to do with the redirection, but why is it not showing the descriptions? I've checked the old URLs and he meta description is definitely still in the code, but Google is choosing not to show it. I've never seen this before so I'm struggling for an answer. I'd like to know why or how this is happening, and if it can be resolved. I realise that this may be resolved when Google stops showing all the old URLs but there's no telling how long that will take (can it be speeded up?)

                        Technical SEO | | Websensejim
                        0
                      • upick-162391

                        Trailing Slashes In Url use Canonical Url or 301 Redirect?

                        I was thinking of using 301 redirects for trailing slahes to no trailing slashes for my urls. EG: www.url.com/page1/ 301 redirect to www.url.com/page1 Already got a redirect for non-www to www already. Just wondering in my case would it be best to continue using htacces for the trailing slash redirect or just go with Canonical URLs?

                        Technical SEO | | upick-162391
                        0

                      Get started with Moz Pro!

                      Unlock the power of advanced SEO tools and data-driven insights.

                      Start my free trial
                      Products
                      • Moz Pro
                      • Moz Local
                      • Moz API
                      • Moz Data
                      • STAT
                      • Product Updates
                      Moz Solutions
                      • SMB Solutions
                      • Agency Solutions
                      • Enterprise Solutions
                      • Digital Marketers
                      Free SEO Tools
                      • Domain Authority Checker
                      • Link Explorer
                      • Keyword Explorer
                      • Competitive Research
                      • Brand Authority Checker
                      • Local Citation Checker
                      • MozBar Extension
                      • MozCast
                      Resources
                      • Blog
                      • SEO Learning Center
                      • Help Hub
                      • Beginner's Guide to SEO
                      • How-to Guides
                      • Moz Academy
                      • API Docs
                      About Moz
                      • About
                      • Team
                      • Careers
                      • Contact
                      Why Moz
                      • Case Studies
                      • Testimonials
                      Get Involved
                      • Become an Affiliate
                      • MozCon
                      • Webinars
                      • Practical Marketer Series
                      • MozPod
                      Connect with us

                      Contact the Help team

                      Join our newsletter
                      Moz logo
                      © 2021 - 2025 SEOMoz, Inc., a Ziff Davis company. All rights reserved. Moz is a registered trademark of SEOMoz, Inc.
                      • Accessibility
                      • Terms of Use
                      • Privacy

                      Looks like your connection to Moz was lost, please wait while we try to reconnect.