SeoHead class
Declarative SEO meta tags management widget.
Place this in your widget tree (typically at the page level) to set all meta tags for the current page. When this widget is removed or updated, meta tags update automatically.
Basic usage:
SeoHead(
title: 'My Page Title',
description: 'Page description for search engines',
child: MyPageContent(),
)
Full usage:
SeoHead(
title: 'Product Name',
description: 'Amazing product that solves your problems',
canonicalUrl: 'https://example.com/products/my-product',
keywords: ['flutter', 'seo', 'web'],
ogTags: OgTags(
image: 'https://example.com/og-image.png',
type: OgType.product,
),
twitterCard: TwitterCardConfig(
card: TwitterCardType.summaryLargeImage,
creator: '@myhandle',
),
structuredData: [
ProductSchema(name: 'Product Name', ...),
],
child: ProductPageContent(),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- SeoHead
Constructors
-
SeoHead({Key? key, String? title, String? description, List<
String> ? keywords, String? canonicalUrl, String? author, OgTags? ogTags, String? ogImage, OgType? ogType, TwitterCardConfig? twitterCard, bool? indexable, bool? followable, String? robots, List<JsonLdSchema> ? structuredData, String? noscriptTitle, String? noscriptDescription, String? noscriptBody, List<NoscriptLink> ? noscriptLinks, Map<String, String> ? customMeta, Map<String, String> ? customPropertyMeta, List<Map< ? customLinkTags, bool trackPageView = true, Map<String, String> >String, dynamic> ? trackingParameters, Widget? child}) -
const
Properties
-
Author name
final
- canonicalUrl → String?
-
Canonical URL for this page
final
- child → Widget?
-
Child widget — SeoHead can wrap content or be standalone
final
-
customLinkTags
→ List<
Map< ?String, String> > -
Custom link tags
final
-
customMeta
→ Map<
String, String> ? -
Custom name-based meta tags
final
-
customPropertyMeta
→ Map<
String, String> ? -
Custom property-based meta tags
final
- description → String?
-
Meta description — used for description and og:description fallback
final
- followable → bool?
-
Whether search engines should follow links on this page
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- indexable → bool?
-
Whether search engines should index this page
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
keywords
→ List<
String> ? -
Meta keywords
final
- noscriptBody → String?
-
Custom HTML body for noscript fallback
final
- noscriptDescription → String?
-
Description for noscript fallback (defaults to description)
final
-
noscriptLinks
→ List<
NoscriptLink> ? -
Navigation links for noscript fallback
final
- noscriptTitle → String?
-
Title for noscript fallback (defaults to title)
final
- ogImage → String?
-
Shorthand for og:image (used when ogTags is null)
final
- ogTags → OgTags?
-
Open Graph tags — if null, falls back to title/description/image
final
- ogType → OgType?
-
Shorthand for og:type (used when ogTags is null)
final
- robots → String?
-
Raw robots directive (overrides indexable/followable)
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
structuredData
→ List<
JsonLdSchema> ? -
JSON-LD structured data schemas to inject
final
- title → String?
-
Page title — used for title and og:title fallback
final
-
trackingParameters
→ Map<
String, dynamic> ? -
Additional analytics parameters for page view tracking
final
- trackPageView → bool
-
Whether to automatically track a page view
final
- twitterCard → TwitterCardConfig?
-
Twitter card configuration
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< SeoHead> -
Creates the mutable state for this widget at a given location in the tree.
override
-
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
-
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
-
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