SEOLYMP Heading Progress Navigation

Description

SEOLYMP Heading Progress Navigation creates a visual page navigation from the headings in the main content. It provides separate layouts for desktop and mobile and can serve as an alternative to the browser’s default scrollbar.

The plugin follows the semantic structure of the active WordPress theme. It automatically detects visible H1 and H2 headings inside a <main> element or an element with role="main". Headings outside the main content are ignored by default.

Heading detection

  • Detects visible H1 and H2 headings in the main content.
  • Supports <main> and [role="main"] content containers.
  • Allows manual navigation points with the hpn-headline CSS class.
  • Allows mobile-only navigation points with the hpn-headline-mobile CSS class.
  • Supports custom marker labels with the data-hpn-label attribute.
  • Avoids duplicate markers when a regular heading is placed inside a manual marker.

Flexible display rules

  • Separate activation controls for desktop and mobile.
  • Configurable desktop breakpoint.
  • Scope controls for the front page, single post types, archives, and taxonomy archives.
  • Line-by-line URL exclusions with optional subordinate-path matching.
  • Responsive switching between desktop and mobile navigation when the viewport crosses the breakpoint.

Custom design

  • Configurable positioning, sizing, colors, opacity, borders, backgrounds, and indicators.
  • Separate design settings for desktop and mobile.
  • Multiple mobile indicator shapes and color modes.
  • Configurable mobile navigation controls.
  • Built-in design presets that remain fully editable after they are applied.

Helpful diagnostics

Logged-in administrators receive front-end notices when the navigation cannot be displayed because the main content area is missing, fewer than two eligible headings were found, or the scroll distance is too short. Visitors do not see these notices.

Installation

  1. Upload the plugin files to WordPress or install the plugin ZIP through the Plugins screen.
  2. Activate SEOLYMP Heading Progress Navigation.
  3. Open Settings > SEOLYMP Heading Progress Navigation.
  4. Enable the desktop and/or mobile navigation under General.
  5. Select the required content areas and configure the breakpoint.
  6. Customize the desktop and mobile designs or apply a design preset.

The navigation requires at least two eligible headings and sufficient vertical distance between the first and last heading.

FAQ

Which headings are detected automatically?

Visible H1 and H2 headings inside the first <main> element or the first element with role="main" are detected automatically. Headings in global headers, footers, sidebars outside the main content, and other page areas are ignored.

What should I do if my theme does not provide a main element?

Add role="main" to the parent container of the page content in the active template. Many page builders allow custom HTML attributes to be added without code. In Elementor, the attribute can be entered as role|main.

Can I include headings or other elements manually?

Yes. Add the hpn-headline CSS class to any visible element to include it on desktop and mobile. Use hpn-headline-mobile to include it only in the mobile navigation.

How are labels for manual navigation points generated?

The plugin extracts the element text and shortens it to a maximum of three words. Add a data-hpn-label="Custom label" attribute to define a specific label.

Why is the progress navigation not displayed?

Check that the relevant desktop or mobile switch and the current content scope are enabled. The page also needs a main content container, at least two eligible headings, and sufficient scroll distance. Logged-in administrators receive a notice for these structural conditions.

Does the plugin support custom post types and taxonomies?

Yes. Public post types, post type archives, and public taxonomy archives registered in WordPress can be selected in the scope settings when the corresponding views are available.

Can individual URLs be excluded?

Yes. Enter one URL path per line under General > URL exclusions. Add /* to exclude all subordinate paths as well.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“SEOLYMP Heading Progress Navigation” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.0.0

  • Initial public release of the fully configurable plugin.