Here’re some methods for you.
1.Use save site as a template.
(1)Go to SharePoint Designer, open the site, click Site Options in the ribbon.
(2)Locate the property SaveSiteAsTemplateEnabled and modify the value to True.
(3)Go to http://yourdomain.sharepoint.com/sites/site collection name/_layouts/savetmpl.aspx.
(4)Click include contents.
References:
save-publishing-site-as-a-template
save-download-and-upload-a-sharepoint-site-as-a-template
2.Use ShareGate to move contents between site collections.
sharepoint-migration