Step 1: Create an XML document and place below code in it and configure as per your need.
<TermStore Name="Managed Metadata Service" SiteUrl="http://sharepointSite">
<TermSet Name="Home" PageUrl="~sitecollection/Pages/Target1.aspx"/>
<TermSet Name="Screening" PageUrl="~sitecollection/Pages/Target1.aspx">
<Term Name="Selected" PageUrl="~sitecollection/Pages/Target2.aspx"/>
<Term Name="Rejected" PageUrl="~sitecollection/Pages/Target2.aspx"/>
</TermSet>
<TermSet Name="Profiles" PageUrl="~sitecollection/Pages/Target1.aspx">
<Term Name="Scheduled" PageUrl="~sitecollection/Pages/Target2.aspx"/>
<Term Name="In Progress" PageUrl="~sitecollection/Pages/Target2.aspx"/>
</TermSet>
<TermSet Name="Report" PageUrl="~sitecollection/Pages/Target1.aspx">
<Term Name="Live" PageUrl="~sitecollection/Pages/Target2.aspx"/>
<Term Name="Archive" PageUrl="~sitecollection/Pages/Target2.aspx"/>
</TermSet>
</TermStore>Step 2: Create a powershell file and place the below code.[xml] $xml = get - content deployment.xml
Add - PSSnapin Microsoft.SharePoint.PowerShell
$site = Get - SPSite $xml.TermStore.SiteUrl
$taxonomySession = Get - SPTaxonomySession - Site $site
$termStore = $taxonomySession.TermStores[$xml.TermStore.Name]
$defaultGroup = $termStore.GetSiteCollectionGroup($site)
$navigationTermSetName = "Top Navigation"
$navigationTermSet = $defaultGroup.CreateTermSet($navigationTermSetName)
$termStore.CommitAll()
$navigationTermSet = $defaultGroup.TermSets[$navigationTermSetName]
foreach($topMenu in $xml.TermStore.TermSet) {
$navigationTermSet.CreateTerm($topMenu.Name, 1033)
$termStore.CommitAll()
foreach($childMenu in $topMenu.Term) {
$termSet = $navigationTermSet.Terms[$topMenu.Name]
$term = $termSet.CreateTerm($childMenu.Name, 1033)
$termStore.CommitAll()
}
}
$navigationTermSet.SetCustomProperty("_Sys_Nav_IsNavigationTermSet", "True")
$termStore.CommitAll()
foreach($topMenu in $xml.TermStore.TermSet) {
$termSet = $navigationTermSet.Terms[$topMenu.Name]
$termSet.SetLocalCustomProperty("_Sys_Nav_SimpleLinkUrl", $topMenu.PageUrl)
$termStore.CommitAll()#set child menu link
foreach($childMenu in $topMenu.Term) {
$termSet = $navigationTermSet.Terms[$topMenu.Name]
$term = $termSet.Terms[$childMenu.Name]
$term.SetLocalCustomProperty("_Sys_Nav_SimpleLinkUrl", $childMenu.PageUrl)
$termStore.CommitAll()
}
}"Sharepoint publishing infrastructure feature must be enabled" from site collection features. Step 3: Go to site settings -> navigation, choose navigation type Managed Metadata option, then select below termset on page.
Note: Reference for all other properties for navigation terms.
<a href="http://sharepointsimply.com/application-development/configure-term-store-settings-for-navigation-and-term-driven-pages-using-powershell/">click here </a> 