Lets say I have a URL like example.com/non-seo-optimized-link. So I create a new route and a 301 redirect to example.com/great-optimized-link.Now the dilemma for me is, should I keep the old link in the navigation (even temporarily), just until the crawler crawls at least once just so it sees that the page was moved, as opposed to it just finding a new page with identical content? Or should I just update the link in navigation with new address?I am just trying to avoid duplicate content, or am I overthinking it?
Should I remove old links after creating 301 redirect?
seo;301 redirect;links
If any URL's on your website have changed and the content is the same (or at the very least, similar in nature), then the old URL should 301 redirect to the new URL.It is not necessary to leave the old URL in the site navigation at all, search engines will still visit the old URL whether it is linked to or not providing it is indexed as they will just pull it from their cache. As soon as it is crawled and it correctly 301 redirects elsewhere, (close to) all weight will be passed to the new URL and the old URL will eventually be dropped from the search engine indices (indexes).If it is simple to modify any existing links on your website that point to the old URL, then it is best to update these to the new URL but usually, there can be lots of these buried deep in the website and can take some time to manually update so where this is apparent, the 301 redirect handles this scenario in exactly the manner it is intended.If a URL on your website changes and there are no intentions to provide an alternative URL for that same (or similar) content any longer, then the correct process would be to serve a 404 error to indicate that the URL no longer exists.