EasySEOBaseWrapper class abstract

Base class for all SEO wrapper widgets that decorate a child widget tree with semantic HTML tags, attributes, JSON-LD, and optional global registration.

Inheritance
Implemented types
Implementers
Available extensions

Constructors

EasySEOBaseWrapper({Key? key, required Widget child, String? className, Map<String, String?>? attributes, String? globalName, Map<String, dynamic>? jsonLd, String? id, bool? persistHidden, List<SEOHtml> children = const []})
const

Properties

additionalAttributes Map<String, String>
Override point for subclasses to supply extra HTML attributes that are always present on the generated element.
no setter
attributes Map<String, String?>?
Additional HTML attributes for the generated element.
final
child Widget
The widget tree being wrapped.
final
children List<SEOHtml>
Pre-defined SEOHtml child nodes nested inside this wrapper.
no setter
className String?
Optional CSS class name applied to the generated HTML element.
final
globalName String?
Global identifier for cross-page inclusion. Widgets with the same globalName are registered with EasySEOManager so they can be pulled into generated pages outside this page's widget tree.
final
hashCode int
The hash code for this object.
no setterinherited
highlightColor Color
Color used for the debug highlight border when EasySEOManager.showHighlights is enabled, determined by the concrete wrapper type.
no setter
id String?
Stable identifier for this wrapper, used to match a re-mounted wrapper (e.g. after a tab switch) to its persistent SEO entry. Prefer a stable value that survives unmounts — otherwise matching falls back to the wrapper's tree position and content hash.
final
jsonLd Map<String, dynamic>?
Optional JSON-LD structured data object.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
persistHidden bool?
Whether this wrapper's SEO subtree should persist in the generated output after the widget unmounts (e.g. hidden TabBarView/PageView tabs).
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
seoWidgetName String
Stable human-readable name shown by the interactive-mode hover tooltip.
no setter

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
Creates the mutable state for this widget at a given location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
easySeo({String? tag, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a generic HTML container (<div> by default) with optional attributes, JSON-LD children, and a global name for cross-page inclusion.
easySeoAnchor({required String path, String? text, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in an <a> anchor tag pointing to path.
easySeoArticle({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, dynamic>? jsonLd}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in an <article> element with optional JSON-LD structured data (e.g. @type: Product, @type: WebPage).
easySeoAside({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in an <aside> element for tangential or sidebar content.
easySeoBrand(String brandName, {String? globalName, String? id, bool? persistHidden}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <span> with itemprop="brand" and a @type: Brand JSON-LD stanza.
easySeoContainer({String tag = 'div', String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a generic HTML element with a configurable tag name (e.g. <div>, <span>).
easySeoFaq({required List<EasySEOFaqItem> items, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <section> with FAQPage structured data. Each items entry generates a Question + Answer pair.
easySeoFigure({String? caption, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <figure> element with an optional <figcaption>.
easySeoFooter({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <footer> element.
easySeoForm({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <form> element.
easySeoH1({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.h1. Emits <h1>.
easySeoH2({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.h2. Emits <h2>.
easySeoH3({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.h3. Emits <h3>.
easySeoH4({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.h4. Emits <h4>.
easySeoH5({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.h5. Emits <h5>.
easySeoH6({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.h6. Emits <h6>.
easySeoHeader({String? h1, String? p, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <header> element with optional <h1> and <p> children for page-level identification.
easySeoHtml({String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Attaches custom SEOHtml child nodes to this widget without generating an extra wrapper tag.
easySeoImage({String? name, String? url, String? globalName, String? id, bool? persistHidden}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget with itemprop="image" attributes for image markup in structured data contexts.
easySeoList({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, bool generateJsonLd = false, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <ul> element. Use easySeoListItem on individual children.
easySeoListItem({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in an <li> element, intended as a child of easySeoList.
easySeoMain({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, dynamic>? jsonLd}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <main> element, denoting the primary content of the page.
easySeoNav({bool isBreadcrumb = false, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <nav> element. Set isBreadcrumb to true for breadcrumb-style ARIA and JSON-LD BreadcrumbList output.
easySeoNavAnchor({required String path, String? text, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a navigation <a> anchor, intended for use inside easySeoNav or breadcrumb contexts.
easySeoP({String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, String>? attributes}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Shortcut for easySeoText with SEOTextType.p. Emits <p>.
easySeoProduct(String productName, {String? path, SEOHtml headingBuilder(String content, {Map<String, String>? attributes, List<SEOHtml> children, Map<String, dynamic>? jsonLd}) = SEOH1.new, List<SEOHtml> children = const [], String? globalName, String? id, bool? persistHidden}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in an <article> with itemscope="Product" and generates a @type: Product JSON-LD stanza.
easySeoSection({String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const [], Map<String, dynamic>? jsonLd}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <section> element with optional JSON-LD structured data.
easySeoText({SEOTextType textType = SEOTextType.p, String? className, Map<String, String>? attributes, String? text, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Exposes this widget's content as a semantic HTML text element (<p>, <h1><h6>) specified by textType.
easySeoTime({required DateTime dateTime, String? text, String? className, Map<String, String>? attributes, String? globalName, String? id, bool? persistHidden, List<SEOHtml> children = const []}) Widget

Available on Widget, provided by the EasySEOWidgetExtension extension

Wraps this widget in a <time> element with a machine-readable dateTime attribute.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSEOHtml({required List<SEOHtml> children, required List<SEONavItem> navItems, required BuildContext context}) SEOHtml
Builds the SEOHtml representation of this wrapper, including its children, navItems, and the current BuildContext.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited