movescode / seo
Official SEO component for MovesOS
Requires
- php: ^8.2
- ext-simplexml: *
README
Componente oficial de metadados e dados estruturados do MovesOS. Gera title, description, canonical, robots, Open Graph, perfis sociais, Organization e LocalBusiness com saída segura.
Instalação
composer require movescode/seo:^2.0
Requer PHP 8.2+ e SimpleXML.
Uso
use MovesCode\Seo\Seo; $seo = (new Seo()) ->openGraph('MovesOS', 'pt_BR', 'website') ->socialProfiles([ 'instagram' => 'https://www.instagram.com/moves', 'facebook' => 'https://www.facebook.com/moves', 'tiktok' => 'https://www.tiktok.com/@moves', 'google_business' => 'https://www.google.com/maps?cid=SEU_ID', 'linkedin' => 'https://www.linkedin.com/company/moves' ]) ->organization('Moves', 'https://www.moves.com.br', 'https://www.moves.com.br/logo.png') ->optimize('Título', 'Descrição da página.', 'https://www.moves.com.br/pagina', 'https://www.moves.com.br/share.jpg'); echo $seo->render();
Redes sociais
socialProfiles() aceita URLs completas de Facebook, Instagram, TikTok, Perfil da Empresa no Google, LinkedIn, YouTube, Pinterest e Threads. Elas são publicadas em sameAs no JSON-LD. As plataformas de compartilhamento utilizam os dados Open Graph da página.
Empresa local e Google
$seo->localBusiness( 'Moves São Paulo', 'https://www.moves.com.br', 'https://www.moves.com.br/fachada.jpg', [ 'streetAddress' => 'Rua Exemplo, 100', 'addressLocality' => 'São Paulo', 'addressRegion' => 'SP', 'postalCode' => '01000-000', 'addressCountry' => 'BR' ], '+55 11 4000-0000' );
O JSON-LD LocalBusiness informa endereço, telefone e presença oficial. O Perfil da Empresa deve também ser reivindicado e verificado diretamente no Google.
API
optimize(): title, description, robots, canonical, Open Graph e itemprop.openGraph(): tipo, nome do site e localidade.publisher(): publicador e autor de artigos no Facebook.facebook(): App ID e administradores da Meta.socialProfiles(): perfis oficiais viasameAs.organization()elocalBusiness(): JSON-LD.render(): tags HTML e JSON-LD.meta(),debug()estructured(): dados normalizados.
A saída HTML é escapada em UTF-8 e o JSON-LD usa codificação segura contra fechamento de tags. Veja exemple/index.php. Licença MIT.