Search packages, repositories and app categories

meta_seo cover
Package detailsv3.0.9

meta_seo

Meta SEO is package for adding meta data for html document in head tag which meta tags or meta data make search engine optimization for web apps.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
5K
Likes
183
Pub points
150

Install package

flutter pub add meta_seo

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Meta SEO is a Flutter package designed for web applications to dynamically manage HTML meta tags in the document head. It enables developers to enhance search engine optimization (SEO) by setting metadata such as title, description, keywords, and Open Graph properties. The package integrates seamlessly with Flutter Web projects, allowing easy customization of SEO elements without manual DOM manipulation. It supports all major platforms, including Web, Android, iOS, macOS, Windows, and Linux, making it ideal for cross-platform web apps that require strong SEO performance.

Use cases

  • Improving search engine visibility
  • Enhancing social media sharing
  • Optimizing web app metadata
  • Dynamic SEO for multi-page apps
  • Supporting web analytics tracking

Key features

  • Easy integration with Flutter Web
  • Dynamic meta tag management
  • Support for Open Graph and Twitter cards
  • Cross-platform compatibility
  • Automatic head tag updates

Suitable for

  • Flutter web developers
  • SEO-focused web applications
  • Apps with dynamic content
  • Marketing-driven web apps
  • Full-stack Flutter teams

Considerations

  • Primarily intended for web platforms
  • Requires manual handling of server-side rendering
  • Limited to client-side meta management
  • Not suitable for non-web targets
  • Depends on correct usage within Flutter's web build process

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

MetaSEO Package

Pub Star on Github License: MIT


Meta Seo

Flutter package for Meta SEO.

Screenshots

Screen Shot 2022-10-08 at 12 01 33 PM

About:

  • Meta SEO is package for adding meta data for html document in head tag which meta tags or meta data make search engine optimization for web apps.

Installation and Basic Usage

First: Add to pubspec.yaml:

dependencies:
  meta_seo: ^3.0.9

Second: import it to your project:

import 'package:meta_seo/meta_seo.dart';
import 'package:flutter/foundation.dart';

Then add the config MetaSEO method before the running of the Flutter app into main.dart file:

void main() {
  // It is required to add the following to run the meta_seo package correctly
  // before the running of the Flutter app
  if (kIsWeb) {
    MetaSEO().config();
  }
  runApp(const MyApp());
}

Finally add MetaSEO into your target web pages:

@override
Widget build(BuildContext context) {

  // Add MetaSEO just into Web platform condition
  if(kIsWeb) {
    // Define MetaSEO object
    MetaSEO meta = MetaSEO();
    // add meta seo data for web app as you want
    meta.author(author: 'Eng Mouaz M AlShahmeh');
    meta.description(description: 'Meta SEO Web Example');
    meta.keywords(keywords: 'Flutter, Dart, SEO, Meta, Web');
  }

  return const Scaffold(
    body: Center(child: Text('Meta SEO Web Example')),
  );
}

Other example with GoRouter package

First: Add to pubspec.yaml:

dependencies:
  meta_seo: ^3.0.9
  go_router: ^5.2.0 # Add the latest version

Second: The same as before and add the config MetaSEO method before the running of the Flutter app into main.dart file:

void main() {
  // It is required to add the following to run the meta_seo package correctly
  // before the running of the Flutter app
  if (kIsWeb) {
    MetaSEO().config();
  }
  runApp(const MyApp());
}

Then follow GoRouter configuration steps and latest add MetaSEO into your GoRouter as you want:

final router = GoRouter(
  initialLocation: '/',
  routes: <GoRoute>[
    GoRoute(
      path: '/',
      builder: (BuildContext context, GoRouterState state) {
        // Add MetaSEO just into Web platform condition
        if(kIsWeb) {
          // Define MetaSEO object
          MetaSEO meta = MetaSEO();
          // add meta seo data for web app as you want
          meta.ogTitle(ogTitle: 'First Screen');
          meta.description(description: 'First Screen');
          meta.keywords(keywords: 'Flutter, Dart, SEO, Meta, Web');
        }

        return const FirstScreen();
      },
    ),
    GoRoute(
      path: '/second_screen',
      builder: (BuildContext context, GoRouterState state) {
        // Add MetaSEO just into Web platform condition
        if(kIsWeb) {
          // Define MetaSEO object
          MetaSEO meta = MetaSEO();
          // add meta seo data for web app as you want
          meta.ogTitle(ogTitle: 'Second Screen');
          meta.description(description: 'Second Screen');
          meta.keywords(keywords: 'Flutter, Dart, SEO, Meta, Web');
        }

        return const SecondScreen();
      },
    ),
  ],
);

Extended MetaSEO tags

If you want to use Open Graph or Twitter Card meta tags

Note: You must be in live server not as a local host.

Note: The package delete any duplicated meta tags and keep the latest in order.

The same as before and if you want to use any tags does not exist into the main package methods just add extended tags as the below:

@override
Widget build(BuildContext context) {
  
    // Add MetaSEO just into Web platform condition
    if(kIsWeb) {
      // Define MetaSEO object
      MetaSEO meta = MetaSEO();
      // add meta seo open graph tags as you want
      meta.facebookAppID(facebookAppID: 'your_app_id');
      meta.ogTitle(ogTitle: 'Example Screen');
      meta.ogDescription(ogDescription: 'Example Screen Description');
      meta.ogImage(ogImage: 'https://example.com/example.png');

      // here you can add any tags does not exist in the package as this
      meta.propertyContent(property: 'og:site_name', content: 'example');
      
      // or if you want to add twitter card meta tags just as the following
      meta.twitterCard(twitterCard: TwitterCard.summaryLargeImage);
      meta.twitterTitle(twitterTitle: 'Example Screen');
      meta.twitterDescription(twitterDescription: 'Example Screen Description');
      meta.twitterImage(twitterImage: 'https://example.com/example.png');
    
      // here you can add any tags does not exist in the package as this
      meta.nameContent(name: 'twitter:site', content: '@mouaz_m_shahmeh');
    }
    
    return const Scaffold(
      body: Center(child: Text('Extended Meta SEO Web Example')),
    );
}

Make sure to check out go_router_meta_seo_example project. If you find this package useful, star my example GitHub repository.

Thank you

Make sure to check out example project. If you find this package useful, star my GitHub repository.

Flutter plugin was developed by: Eng Mouaz M. Al-Shahmeh

Categories

Source repository

Projects using this package

No data available yet.