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. SEO and Digital Marketing Forum
    2. Categories
    3. SEO Tactics
    4. Technical SEO
    5. 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
    9 6 45.7k
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as question
    Log in to reply
    This topic has been deleted. Only users with topic 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


                      Explore more categories

                      • Moz Tools

                        Chat with the community about the Moz tools.

                        Getting Started
                        Moz Pro
                        Moz Local
                        Moz Bar
                        API
                        What's New

                      • SEO Tactics

                        Discuss the SEO process with fellow marketers

                        Content Development
                        Competitive Research
                        Keyword Research
                        Link Building
                        On-Page Optimization
                        Technical SEO
                        Reporting & Analytics
                        Intermediate & Advanced SEO
                        Image & Video Optimization
                        International SEO
                        Local SEO

                      • Community

                        Discuss industry events, jobs, and news!

                        Moz Blog
                        Moz News
                        Industry News
                        Jobs and Opportunities
                        SEO Learn Center
                        Whiteboard Friday

                      • Digital Marketing

                        Chat about tactics outside of SEO

                        Affiliate Marketing
                        Branding
                        Conversion Rate Optimization
                        Web Design
                        Paid Search Marketing
                        Social Media

                      • Research & Trends

                        Dive into research and trends in the search industry.

                        SERP Trends
                        Search Behavior
                        Algorithm Updates
                        White Hat / Black Hat SEO
                        Other SEO Tools

                      • Support

                        Connect on product support and feature requests.

                        Product Support
                        Feature Requests
                        Participate in User Research

                      • See all categories

                      • Canonical homepage link uses trailing slash while default homepage uses no trailing slash, will this be an issue?
                        Deacyde
                        Deacyde
                        0
                        3
                        2.0k

                      • Will removing the trailing slash impact my SEO?
                        Amr-Haffar
                        Amr-Haffar
                        0
                        2
                        6.3k

                      • Removing Media from Wordpress
                        emasaa
                        emasaa
                        0
                        9
                        1.3k

                      • Trailing Slash Problems
                        cmjolley
                        cmjolley
                        0
                        9
                        3.5k

                      • How to force a trailing slash after the domain name
                        JollyBoy
                        JollyBoy
                        0
                        11
                        6.2k

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