Is there a way to remove the "#" from the URL without breaking the anchored links in the menu on a one-page site in Webflow?

Published on
September 22, 2023

Yes, there is a way to remove the "#" from the URL without breaking the anchored links in the menu on a one-page site in Webflow. Here's how you can achieve that:

  1. Create sections for each page section: In your Webflow project, make sure each page section that you want to anchor to has its own unique ID. To set the ID for a section, select it, go to the settings panel on the right, and enter a unique ID in the "ID" field.

  2. Create anchored links in the menu: Add a menu component to your site and create menu items that link to the desired sections. To link to an anchored section, you should use the URL of the page followed by the "#" symbol and the ID of the section. For example, if you have a section with the ID "about", the link should be yourpageURL.com/#about.

  3. Add smooth scrolling behavior: By default, Webflow automatically adds smooth scrolling behavior to anchored links, which provides a smooth scrolling transition when navigating within the page. This creates a smooth user experience without the need for the "#" symbol in the URL.

  4. Remove the "#" from the URL: To remove the "#" symbol from the URL, you can use a JavaScript code snippet. Here's an example of how to achieve this:

<script>window.onhashchange = function() {  history.replaceState('', document.title, window.location.pathname);};</script>
  1. Add the code snippet: In Webflow, you can add custom code to your site by going to the project settings and clicking on the "Custom Code" tab. Paste the code snippet in the "Footer Code" section.

By following these steps, you can remove the "#" from the URL while maintaining the functionality of anchored links in your one-page Webflow site.

Additional questions:

  1. How do I create anchored links in Webflow?
  2. Can I customize the smooth scrolling behavior in Webflow?
  3. Is it possible to create a one-page scrolling website in Webflow?