/meta-tags

HTML meta tags generator for PHP. Supports Open Graph and Twitter Cards out of the box.

Primary LanguagePHP

PHP Meta Tags Release Issues

HTML meta tags generator for PHP. Supports Open Graph and Twitter Cards out of the box.

Installation

composer require pedroborges/meta-tags

Basic Usage

Create a new MetaTags instance then you are ready to start adding meta tags:

use PedroBorges\MetaTags\MetaTags;

$tags = new MetaTags;

// <title>My Awesome Site</title>
$tags->title('My Awesome Site');

// <meta name="description" content="My site description">
$tags->meta('description', 'My site description');

// <link rel="canonical" href="https://pedroborg.es">
// <link rel="alternate" hreflang="en" href="https://en.pedroborg.es">
$tags->link('canonical', 'https://pedroborg.es');
$tags->link('alternate', [
'hreflang' => 'en',
'href' => 'https://en.pedroborg.es'
]);

// <meta property="og:title" content="The Title">
// <meta property="og:type" content="website">
// <meta property="og:url" content="https://pedroborg.es">
// <meta property="og:image" content="https://pedroborg.es/cover.jpg">
$tags->head->og('title', 'The title');
$tags->head->og('type', 'website');
$tags->head->og('url', 'https://pedroborg.es');
$tags->head->og('image', 'https://pedroborg.es/cover.jpg');

// <meta name="twitter:card" content="summary">
// <meta name="twitter:site" content="@pedroborg_es">
$tags->head->twitter('card', 'summary');
$tags->head->twitter('site', '@pedroborg_es');

When you are ready to output them, use the render method inside your template <head> element:

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php echo $tags->render() ?>

By default Meta Tag will indent the tags with 4 spaces and use the following order:

  1. <title>
  2. <meta> (General)
  3. <meta property="og:*"> (Open Graph)
  4. <meta name="twitter:*"> (Twitter Cards)
  5. <link>

You can change that when instantiating the MetaTag class:

use PedroBorges\MetaTags\MetaTags;

$tags = new MetaTags("\t", ['meta', 'title', 'link', 'og', 'twitter']);

Change Log

All notable changes to this project will be documented at: https://github.com/pedroborges/meta-tags/blob/master/changelog.md

License

Meta Tags is open-sourced software licensed under the MIT license.

Copyright © 2017 Pedro Borges oi@pedroborg.es