We use the Content type hub feature to share content type across site collections.
how to do it:
1) Create a source site collection
2) Activate Content type hub site collection feature on it.
3) Create a content type and the site columns inside this site collection
4) After that run the below powershell script
$mms = Get-SPServiceApplication -Name "Managed Metadata Service"
Set-SPMetadataServiceApplication -Identity $mms -HubUri "https://servername/sites/ContentTypeHubSite/"
Write-Host "Set content type hub uri"
$mmsp = Get-SPServiceApplicationProxy | ? {$_.DisplayName -eq "Managed Metadata Service"}
Set-SPMetadataServiceApplicationProxy -Identity $mmsp -ContentTypeSyndicationEnabled -ContentTypePushdownEnabled -Confirm:$false
Write-Host "Content type syndication enabled "
If you dont want to run powershell, you can go to central admin > manage service application > managed metadata service application. Configure it as below:
After that click on the proxy:
And configure it as below:
5) After that, publish your content type from "Manage Publishing For this Content Type" by going to your content type in source site collection.
6) Now , go to the destination site collection to which content type is required.
7) here, go to Site Settings and Select the "Content Type Publishing".
8) Your content type would be visible now. If its not visible immediately, you need to run the Content type subscriber
timer job. It runs on hourly basis.
Reference - Create Content Type Hub in SharePoint 2013
Using content type hub in SP 2013
My 2 Rupees on this , instead of doing all this, just create a visual studio project solution and create the content type and site columns inside it. After that, deploy the the solution and activate the feature on the site collections that require the content types. Personally, I am not a big fan of this feature, I use in SP online because I cant do wsp deployment there and there is no other option. But if its On Premise environment, I would go with the wsp approach. The hub approach is slow and in case there is some issue its a bit difficult to debug and has more headaches compared to wsp. But this is strictly my opinion, your experience could be different :)