https://github.com/tabone/metahelper
This is a library which helps web developers to better manage Open Graph, Twitter Cards and HTML Meta Data which are important for Search Engine Optimization.
https://github.com/tabone/metahelper
Last synced: 3 days ago
JSON representation
This is a library which helps web developers to better manage Open Graph, Twitter Cards and HTML Meta Data which are important for Search Engine Optimization.
- Host: GitHub
- URL: https://github.com/tabone/metahelper
- Owner: tabone
- License: mit
- Created: 2014-07-07T18:26:46.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2014-07-08T08:40:31.000Z (almost 12 years ago)
- Last Synced: 2025-11-07T14:11:54.432Z (8 months ago)
- Language: PHP
- Size: 148 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#MetaHelper
This is a library which helps web developers to better manage Open Graph, Twitter Cards and HTML Meta Data enabling them to implement Search Engine Optimization easier.
##Installation
Add the package to your `composer.json` and run `composer update` in your shell.
{
require: {
"jwebkid/metahelper": "dev-master"
}
}
If you use Laravel you may also add an alias in your `app/config/app.php` file:
'aliases' => array(
'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan',
'Auth' => 'Illuminate\Support\Facades\Auth',
'Blade' => 'Illuminate\Support\Facades\Blade',
...
'MetaHelper' => 'JWebKid\MetaHelper'
),
##Quick Start
###Example 1
title("MetaHelper Rocks")
->description("A small description...")
->charset("UTF-8)
->view();
?>
...
##Meta Data
---------
`MetaHelper` library cater for the following meta tags:
|Meta Tag | Default Value | HTML Displayed | Syntax
|-------------|--------------------|--------------------------------------------------|-----------------------------
| Title | null | `` | `$helper->title("")`
| Description | null | `` | `$helper->description("")`
| charset | UTF-8 | `` | `$helper->charset("")`
| Next | null | `` | `$helper->next("")`
| Prev | null | `` | `$helper->prev("")`
| Canonical | null | `` | `$helper->canonical("")`
##Open Graph
As mentioned, you can easily use `MetaHelper` to display [Open Graph](http://ogp.me/) information about your web page.
'MetaHelper Rocks',
'type' => 'website',
'image' => array(
'url' => 'http://example.com/logo.png',
'secure_url' => 'https://example.com/logo.png',
'type' => 'image/jpeg',
'width' => '300',
'height' => '500'
)
);
$metaHelper->og($ogConfig)->view();
This would display the following meta tags:
``
``
``
``
``
``
``
##Twitter Cards
Finally `MetaHelper` can also take care of [Twitter Cards](https://dev.twitter.com/docs/cards). `MetaHelper` caters for all the different cards which Twitter Cards provide (Summery Card, Summery Image Card, Photo Card, Gallery Card, App Card, Product Card, Player Card).
###Summery Cards Example
//To Create a Summery Card
$metaHelper = new MetaHelper();
$metaHelper->card('SummerCard', [
'title' => 'This is a title',
'description' => 'This is a description',
'image' => 'http://example.com/logo.png',
]
);
//You can also change individual attributes
$metaHelper->setCard()->title("A New Title");
All attribute names of all the Twitter Cards available follow the below convention:
| Twitter Card Attribute Style | MetaHelper Style |
|----------------------------------|-------------------------|
| twitter:app | `$helper->app()` |
| twitter:app:name:googleplay | `$helper->appNameGoogleplay`|
The only exception is the Summery Card with Large Image where for its `twitter:image:src` the normal `image` attribuet is used.
| Twitter Card | MetaHelper Keyword |
|--------------------------------|---------------------|
| Summery Card | `SummeryCard` |
| Summery With Large Image Card | `SummeryImageCard`|
| Gallery Card | `GalleryCard`|
| Photo Card | `PhotoCard`|
| Player Card | `PlayerCard`|
| App Card | `AppCard` |
| Product Card | `ProductCard` |
It is important to keep in mind that all of these meta data can be used together like so:
title("Title")
->description("A description")
->card("SummeryCard", ["title"])
->og(["Title" => "title])
->view();