Skip to content

Sitemap: Exclude Private or System Branches #72

@JeremyCaney

Description

@JeremyCaney

Currently, all topics are exposed to the SitemapController unless they are explicitly excluded by adding the root ContentType to the ExcludedContentTypes list or marking a Container as NoIndex. As identified in #38, however, this isn't an entirely satisfactory approach, however, for two reasons (reference):

  1. It requires that the root topic for the branch be a special content type, or a Container, and
  2. The NoIndex nomenclature is ambiguous with the NoIndex used on Page, which is not recursive.

To mitigate this, ideally, we'll find a different way to establish a non-ambiguous, universal nomenclature for excluding entire branches from the sitemap.

Options

  • NoIndex or NoIndexBranch
  • IsSystem or IsSystemBranch
  • IsPrivate or IsPrivateBranch

Metatag

Should this be exposed to TopicViewModel? This would allow child pages to include the noindex metatag in their HTML headers. Mapping inherited attributes is more expensive than mapping normal attributes, however, and especially for a property that we don't normally expect to be defined. For that reason, this may make more sense to be used exclusively for branches that we don't expect to be exposed to be exposed as web pages. In that case, IsSystem(Branch) or IsPrivate(Branch) better distinguishes this behavior from the metatag.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: WebRelates to the `AspNetCore` or other web-related functionality.Priority: 2Severity 1: MinorStatus 5: CompleteTask is considered complete, and ready for deployment.Type: ImprovementImproves the functionality or interface of an existing feature.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions