John Mueller, a Webmaster Trends Analyst at Google, confirmed in a Google Hangout that when redirecting content to new URLs, you should upload a copy of the old sitemap so that Google can pick up on the redirects faster.
Furthermore, Mueller said that you should only keep the old sitemap in place for a maximum of 6 months.
This advice will likely prove helpful after migration to a new domain, migration to HTTPS, or after a website re-design that causes the URL structure to change.
While trying and keeping the same URL structure is recommended to avoid the need for 301 redirects, it is not always possible.
30x redirects don't lose PageRank anymore.— Gary 鯨理／경리 Illyes (so official, trust me) (@methode) July 26, 2016
The problem with 301 redirects is that the links pointing to the old URLs will not be counted toward the new URL until the old URL is re-crawled by Google.
Furthermore, when most webmasters change their website structure, the sitemap is updated with the new URLs. It can, therefore, take a very long time for the old URLs to be re-crawled and for Google to recognize that there is a redirect in place.
The solution is to upload a copy of the old sitemap to webmaster tools and the new version. This will expedite Google finding the redirects, indexing the new pages, and removing the old ones from the SERPs.
This tactic of uploading the old sitemap is the best practice for migrating URL structures. In the Hangout, John Mueller stressed that you should not leave the old sitemap file forever. He recommended that you should remove the old sitemap from Google after just six months.
We have transcribed the relevant part of the Google Hangout (time 32:05) below:
You could submit them as a sitemap file. And say these URLs have all changed recently with the last modification date, and we will take that last modification date and say oh well, we will try to re-crawl these URLs to see what you changed there. Based on that, we’ll probably re-crawl them a bit faster and try to re-index them a bit faster with that redirect in place. Meaning they will drop out, so that could help for a period of time.
I wouldn’t leave that sitemap file in place forever; I’d maybe remove it after half a year because it is pointing at URLs that you don’t want to care about anymore.
You can view the video at the relevant time below:
One thing to note is that you should ideally keep the 301 redirects in place forever to allow for old links to be crawled again. As the old links are re-crawled, the signals will pass to the new URL. After you believe all the old links have been re-crawled, technically, you can remove the 301 redirects. However, sometimes it can take many months for this process to take place.
Illyes confirmed the position over several tweets: