1

I use managed navigation bound to a custom term set.

The navigation is setup to reuse the same actual page, which contains a search result web part that consume {Term.Title}

This allows to create a people browser (term set represent the organisation) by selecting the business unit.

Everything is working fine except for the generated page's title.

In the index, all pages are present, but titles are actually the title present on the physical page, not the matching term.

Is there a way to index the actual term of the current navigation node ?

I tried to tweak the search schema, looking for a crawled property that may contains the value. But I didn't found one.

How can I reach my goal ?

PS: I'm on SP2016

[Edit] To complete Rothrock's answer, here's a PS script that resync the term labels with the underlying SEO property (too long for comments):

Add-PSSnapin Microsoft.sharePoint.POwershell

$site = Get-SPSite https://mysharepoint/sites/somepublishingsite 

$taxSession = Get-SPTaxonomySession -Site $site
$termStore = $taxSession.DefaultSiteCollectionTermStore
$SiteTermGroup = $termStore.Groups | ? { $_.SiteCollectionAccessIds -eq $site.ID }

$termSet = $SiteTermGroup.TermSets["Navigation du site"] # my Sharepoint is in French, you should adapt this

$allTerms = $termSet.GetAllTerms()

for($i=0;$i -lt $allTerms.Count; $i++){
    $term = $allTerms[$i]

    if($term.LocalCustomProperties["_Sys_Seo_PropBrowserTitle"] -ne $term.Labels[0].Value){
        Write-Host "Mise à jour de $($term.Labels[0].Value) requise"
        $term.SetLocalCustomProperty("_Sys_Seo_PropBrowserTitle", $term.Labels[0].Value)

    }
}

$termStore.CommitAll()

1 Answer 1

2
+50

I only know how to do this page by page. Maybe there is a faster/easier way, but this is how I do it.

Navigate to each node in your navigation. Edit the page. If you're using a template for multiple pages, click Edit template. Then go up to the ribbon and from select Edit Properties > Edit SEO Properties. This will allow you to set Browser Title and some other metadata for the specific node. Even if it is a template used by all of your navigation nodes, you'll still have to set it for each one by hand.

You can then use SeoBrowserTitleOWSTEXT. (Because you would totally expect it to start with 'seo' right?)

I don't have tenant-level permissions, but you might also be able to map your property directly to that? I found that suggested in this blog post.

enter image description here

2
  • This sound promising, but my search engine does not seems to see any SeoBrowserTitleOWSTEXT managed property or something similar in crawled properties. I'll compare OOB page layouts and master page to check if I missed something
    – Steve B
    Commented Aug 31, 2021 at 6:50
  • Further investigation and a bit of disassembling (sic), I found that the title reflect the _Sys_Seo_PropBrowserTitle property on the term. It can be fixed either from the Seo prop page, or via the term store page. Both allowed me to change the page title. I wonder if it can be automated OOB. If not I'll move to Powershell population of the prop
    – Steve B
    Commented Aug 31, 2021 at 8:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.