Search by

jonatasfenske / optimizer

jonatasfenske

SEO e meta tags PHP 8.5 com Schema.org JSON-LD, Open Graph, Twitter Cards, Sitemap.xml e robots.txt generator

Package info

github.com/jonatasfenske/optimizer

pkg:composer/jonatasfenske/optimizer

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-13 19:01 UTC

This package is auto-updated.

Last update: 2026-11-13 19:24:12 UTC


README

SEO e meta tags PHP 8.5 com Schema.org JSON-LD, Sitemap e robots.txt

PHP 8.5+ MIT License

Instalação

composer require jonatasfenske/optimizer

Recursos

  • Meta tags completas — title, description, robots, canonical
  • Open Graph — og:title, og:description, og:image, og:type, og:locale
  • Twitter Cards — twitter:card, twitter:site, twitter:creator
  • Schema.org JSON-LD — Article, Product, BreadcrumbList, FAQPage, LocalBusiness, Event
  • @graph automático para múltiplos schemas
  • Sitemap.xml generator com XML válido e escape de caracteres
  • robots.txt generator com regras por user-agent
  • Interface fluente — todos os métodos retornam $this

Uso Rápido

Meta Tags + Open Graph + Twitter Cards

use JonatasFenske\Optimizer\Optimizer;

echo (new Optimizer())
 ->optimize(
 title: 'Título da Página',
 description: 'Descrição para SEO',
 url: 'https://meusite.com/pagina',
 image: 'https://meusite.com/img.jpg',
 )
 ->openGraph(siteName: 'Meu Site', locale: 'pt_BR')
 ->twitterCard(creator: '@user', site: '@site', domain: 'meusite.com')
 ->render();

Schema.org JSON-LD

use JonatasFenske\Optimizer\SchemaOrg;

echo (new SchemaOrg())
 ->article(
 headline: 'Como Modernizar PHP',
 description: 'Guia completo',
 url: 'https://meusite.com/blog/php',
 author: 'João Silva',
 datePublished: new DateTimeImmutable(),
 publisher: ['name' => 'Meu Blog', 'logo' => 'https://meusite.com/logo.png'],
 type: 'BlogPosting',
 )
 ->breadcrumbList([
 ['name' => 'Home', 'url' => 'https://meusite.com'],
 ['name' => 'Blog', 'url' => 'https://meusite.com/blog'],
 ])
 ->render();

Sitemap.xml e robots.txt

use JonatasFenske\Optimizer\SitemapGenerator;

$sitemap = new SitemapGenerator('https://meusite.com');
$sitemap
 ->addUrl('/', priority: 1.0, changefreq: 'daily')
 ->addUrl('/blog', priority: 0.8, changefreq: 'weekly');

file_put_contents('public/sitemap.xml', $sitemap->render());
file_put_contents('public/robots.txt', $sitemap->robotsTxt());

Testes

composer test

Licença

MIT