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
      • SEO Q&A
      • Webinars, Whitepapers, & Guides
    • Blog
    • Why Moz
      • Agency Solutions
      • Enterprise Solutions
      • Small Business Solutions
      • Case Studies
      • 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.

      NEW Keyword Suggestions by Topic
      Moz Pro

      NEW Keyword Suggestions by Topic

      Learn more
    • 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.

    • 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.

      • SEO Q&A

        Insights & discussions from an SEO community of 500,000+.

      Unlock flexible pricing & new endpoints
      Moz API

      Unlock flexible pricing & new endpoints

      Find your plan
    • Blog
    • Why Moz
      • 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.

      • Case Studies

        Explore how Moz drives ROI with a proven track record of success.

      • 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
    45432
    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

                      • jessicarcf

                        Removing a canonical tag from Pagination pages

                        Hello, Currently on our site we have the rel=prev/next markup for pagination along with a self pointing canonical via the Yoast Plugin. However, on page 2 of our paginated series, (there's only 2 pages currently), the canonical points to page one, rather than page 2. My understanding is that if you use a canonical on paginated pages it should point to a viewall page as opposed to page one. I also believe that you don't need to use both a canonical and the rel=prev/next markup, one or the other will do. As we use the markup I wanted to get rid of the canonical, would this be correct? For those who use the Yoast Plugin have you managed to get that to work? Thanks!

                        Technical SEO | | jessicarcf
                        0
                      • Pack

                        Redirect non slash to slash

                        Hello SEO gurus We have an issue here ( www.xyz.com.au) is having 200 responses www.xyz.com.au and www.xyz.com.au/ ( when i ran the crawl test i found this ) We have been advised to do a 301 from non slash to slash ( as our other pages are showing up with slash ) for the consistency we decided to go with this but our devs just couldnt do it. Error is - redirect loop and this site is a wordpress one Can anyone help us with this issue? Help is much appreciated.

                        Technical SEO | | Pack
                        0
                      • Jseddon92

                        Should we remove category paths for better SEO?

                        We're looking to build some serious content and capitalise on long-tail keyword traffic for our sub-category pages, example for targeted keyword "designer dining tables". Example of current link: www.website.com/designer-furniture/designer-dining-tables.html Would removing the category paths help? Example result - www.website.com/designer-dining-tables More user friendly URLs and better for SEO would you suggest? The only problem is, if we removed the paths would this have a hit on our traffic? Any advice would be much appreciated. We are using Magento platform.

                        Technical SEO | | Jseddon92
                        0
                      • SarahLK

                        Removed Subdomain Sites Still in Google Index

                        Hey guys, I've got kind of a strange situation going on and I can't seem to find it addressed anywhere.  I have a site that at one point had several development sites set up at subdomains.  Those sites have since launched on their own domains, but the subdomain sites are still showing up in the Google index.  However, if you look at the cached version of pages on these non-existent subdomains, it lists the NEW url, not the dev one in the little blurb that says "This is Google's cached version of www.correcturl.com."  Clearly Google recognizes that the content resides at the new location, so how come the old pages are still in the index?  Attempting to visit one of them gives a "Server Not Found" error, so they are definitely gone. This is happening to a couple of sites, one that was launched over a year ago so it doesn't appear to be a "wait and see" solution. Any suggestions would be a huge help.  Thanks!!

                        Technical SEO | | SarahLK
                        0
                      • SOtBOrlando

                        how to set rel canonical on wordpress.com sites

                        I know how to do this with a wordpress.org site but I have a client that does not want to switch and without a plugin I am lost. any help would be greatly appreciated. Jeremy Wood

                        Technical SEO | | SOtBOrlando
                        0
                      • Veva

                        Can I remove 301 redirects after some time?

                        Hello, We have an very large number of 301 redirects on our site and would like to find a way to remove some of them. Is there a time frame after which Google does not need a 301 any more? For example if A is 301 redirected to B, does Google know after a while not to serve A any more, and replaces any requests for A with B? How about any links that go to A? Or: Is the only option to have all links that pointed to A point to B and then the 301 can be removed after some time? Thank you for you you help!

                        Technical SEO | | Veva
                        0
                      • cmjolley

                        Trailing Slash Problems

                        Link juice being split between trailing slash and non versions.  ie.  ldnwicklesscandles.com/scentsy-uk and ldnwicklesscandles.com/scentsy-uk/ Initially asked in here and was told to do a rewrite in the htaccess file. I don't have access to this with squarespace, nor can I add canonical tags on a page by page basis. 301 redirect from scentsy-uk to scentsy-uk/ didn't work either...said that the redirect wasn't completing in an error message on the browser. Squarespace hasn't been very helpful at all. My question is....is there another way to fix this? or should I just call it a day with squarespace and move to wordpress?

                        Technical SEO | | cmjolley
                        0
                      • markadoi84

                        Exclude Child URLs from XML Sitemap Generator (Wordpress)

                        Hi all, I was recommended the XML Sitemap Generator for Wordpress by the very helpful Keith Bloemendaal and John Pring - however I can't seem to exclude child URLs. There is a section Exclude items  and a subsection Exclude posts.  I have tried inputting the URLs for the pages I don't want in the sitemap, however that didn't work.  So I read that you have to include a list of "IDs" - not sure where on earth to find that info, tried the page name and the post= number from the URL, however neither worked. I hope somebody can point me in the right direction - and apologies, I am a Wordpress novice, and I got no answers from the Wordpress forums so turned right back to SEOmoz! Cheers.

                        Technical SEO | | markadoi84
                        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
                      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.