XMF Metagen Sınıfı
XMF Çerçevesindeki Metagen sınıfı, HTML meta etiketleri, Açık Grafik etiketleri ve SEO ile ilgili diğer meta verileri oluşturmak ve yönetmek için kapsamlı bir araç seti sağlar.
Sınıfa Genel Bakış
Section titled “Sınıfa Genel Bakış”Metagen sınıfı şunları yönetir:
- Standart HTML meta etiketleri (açıklama, anahtar kelimeler vb.)
- Sosyal paylaşım için Grafik meta etiketlerini açın
- Twitter Kartı meta etiketleri
- Yapılandırılmış veriler ve JSON-LD
- Kanonik URLs
- Dil ve yerel ayar özellikleri
Temel Sınıf Yapısı
Section titled “Temel Sınıf Yapısı”namespace Xmf;
class Metagen{ protected $meta = []; protected $ogTags = []; protected $twitterTags = []; protected $jsonLd = []; protected $canonicalUrl; protected $language;
public function __construct() {}
public function setDescription(string $description): self {}
public function setKeywords(string $keywords): self {}
public function renderAll(): string {}}Temel Kullanım
Section titled “Temel Kullanım”Basit Meta Etiketleri
Section titled “Basit Meta Etiketleri”use Xmf\Metagen;
$metagen = new Metagen();
// Set basic meta tags$metagen->setDescription('This is my awesome website');$metagen->setKeywords('php, xoops, web development');
// Render to HTMLecho $metagen->renderAll();
// Output:// <meta name="description" content="This is my awesome website" />// <meta name="keywords" content="php, xoops, web development" />Grafik Meta Etiketlerini Aç
Section titled “Grafik Meta Etiketlerini Aç”Açık Grafik etiketleri, içeriğin sosyal medyada paylaşıldığında nasıl görüneceğini kontrol etmenize yardımcı olur.
Temel Açık Grafik Kurulumu
Section titled “Temel Açık Grafik Kurulumu”$metagen = new Metagen();
$metagen->setOpenGraphProperty('og:title', 'My Awesome Article');$metagen->setOpenGraphProperty('og:description', 'Learn how to use Metagen for SEO');$metagen->setOpenGraphProperty('og:image', 'https://example.com/image.jpg');$metagen->setOpenGraphProperty('og:url', 'https://example.com/article');$metagen->setOpenGraphProperty('og:type', 'article');
echo $metagen->renderAll();Yapılandırılmış Veri ve JSON-LD
Section titled “Yapılandırılmış Veri ve JSON-LD”JSON-LD, arama motorlarının daha iyi anlayabileceği yapılandırılmış veriler sağlar.
Makale Yapılandırılmış Verileri
Section titled “Makale Yapılandırılmış Verileri”$metagen = new Metagen();
$articleData = [ '@context' => 'https://schema.org', '@type' => 'Article', 'headline' => 'Understanding XOOPS 4.0', 'description' => 'A comprehensive guide to XOOPS modernization', 'image' => 'https://example.com/article.jpg', 'datePublished' => '2026-01-31T10:00:00Z', 'dateModified' => '2026-01-31T15:00:00Z', 'author' => [ '@type' => 'Person', 'name' => 'John Developer', 'url' => 'https://example.com/author' ]];
$metagen->setJsonLd($articleData);
echo $metagen->renderAll();module Entegrasyon Örnekleri
Section titled “module Entegrasyon Örnekleri”Blog/Article Modülü
Section titled “Blog/Article Modülü”namespace MyModule\Controller;
use Xmf\Metagen;use MyModule\Repository\ArticleRepository;
class ArticleController{ public function viewAction($id) { $repository = new ArticleRepository(); $article = $repository->getById($id);
if (!$article) { return $this->notFound(); }
// Initialize Metagen $metagen = new Metagen();
// Set article metadata $metagen->setTitle($article->getTitle()); $metagen->setDescription( substr($article->getBody(), 0, 160) ); $metagen->setKeywords( implode(', ', $article->getTags()) ); $metagen->setAuthor($article->getAuthorName());
// Open Graph $metagen->setOpenGraphProperty('og:type', 'article'); $metagen->setOpenGraphProperty('og:title', $article->getTitle()); $metagen->setOpenGraphProperty('og:description', $article->getExcerpt()); $metagen->setOpenGraphProperty('og:image', $article->getFeaturedImage()); $metagen->setOpenGraphProperty('og:url', $article->getUrl());
// Canonical URL $metagen->setCanonicalUrl($article->getUrl());
// Store in template $this->template['metagen'] = $metagen;
return $this->render('article/view.php'); }}template Entegrasyonu
Section titled “template Entegrasyonu”template Uygulaması
Section titled “template Uygulaması”<!-- In your template header --><?php if (isset($metagen)): ?> <?php echo $metagen->renderAll(); ?><?php endif; ?>
<!-- Standard HTML structure --><!DOCTYPE html><html><head> <meta charset="utf-8"> <?php echo $metagen->renderAll(); ?> <title><?php echo $metagen->getTitle(); ?></title></head><body> <!-- Content --></body></html>En İyi Uygulamalar
Section titled “En İyi Uygulamalar”SEO Optimizasyon
Section titled “SEO Optimizasyon”- Her sayfa için benzersiz açıklamalar (150-160 karakter)
- Alakalı anahtar kelimeler (sayfa başına 5-10 birincil anahtar kelime)
- Yinelenen içeriği önlemek için Canonical URLs
- Sosyal medya optimizasyonu için Grafik etiketlerini açın
- Gelişmiş arama sonuçları için yapılandırılmış veriler
- Duyarlı tasarım için Mobil görünüm meta etiketi
Tamamlandı SEO Uygulama
Section titled “Tamamlandı SEO Uygulama”$metagen = new Metagen();
// Basic meta tags$metagen->setTitle('My Website - Web Development Services');$metagen->setDescription('Professional web development services');$metagen->setKeywords('web development, php, xoops');$metagen->setAuthor('John Developer');$metagen->setLanguage('en');
// Canonical URL$metagen->setCanonicalUrl('https://example.com/services/web-development');
// Open Graph for social sharing$metagen->setOpenGraphProperty('og:title', 'Web Development Services');$metagen->setOpenGraphProperty('og:description', 'Professional services');$metagen->setOpenGraphProperty('og:image', 'https://example.com/og-image.jpg');$metagen->setOpenGraphProperty('og:url', 'https://example.com/services/web-development');$metagen->setOpenGraphProperty('og:type', 'website');
// Twitter Card$metagen->setTwitterCard('summary_large_image');$metagen->setTwitterProperty('twitter:site', '@mycompany');$metagen->setTwitterProperty('twitter:title', 'Web Development Services');$metagen->setTwitterProperty('twitter:image', 'https://example.com/twitter-image.jpg');
echo $metagen->renderAll();API Referans
Section titled “API Referans”Temel Yöntemler
Section titled “Temel Yöntemler”| Yöntem | Parametreler | İade | Açıklama |
|---|---|---|---|
setTitle() | dize | öz | Sayfa başlığını ayarla |
setDescription() | dize | öz | Meta açıklamayı ayarla |
setKeywords() | dize | öz | Meta anahtar kelimeleri ayarlayın |
setAuthor() | dize | öz | Yazar adını ayarla |
setCanonicalUrl() | dize | öz | Kurallı ayarla URL |
setLanguage() | dize | öz | Sayfa dilini ayarla |
setViewport() | dize | öz | Görüntü alanı ayarlarını belirleyin |
setOpenGraphProperty() | dize, dize | öz | OG etiketi ekle |
setTwitterCard() | dize | öz | Twitter kartı türünü ayarlayın |
setJsonLd() | dizi | öz | Yapılandırılmış verileri ayarlayın |
renderAll() | - | dize | Tüm meta etiketleri oluştur |
İlgili Belgeler
Section titled “İlgili Belgeler”- database - XMF database referansı
- JWT - JWT, XMF’de kimlik doğrulama
- ../../03-Module-Development/Best-Practices/Frontend-Integration - Ön uç entegrasyonu için en iyi uygulamalar
Kaynaklar
Section titled “Kaynaklar”- Grafik Protokolünü Aç
- Twitter Kartı Belgeleri
- Schema.org Yapılandırılmış Verileri
- Google Arama Merkezi
Sürüm Bilgisi
Section titled “Sürüm Bilgisi”- Tanıtılan: XOOPS 2.5.8
- Son Güncelleme: XOOPS 4.0
- Uyumluluk: PHP 7.4+