Installation
Komplette Installationsanleitung für die AI Metatags TYPO3 Extension.
Systemvoraussetzungen
Mindestanforderungen
- TYPO3: Version 13.0.0 – 13.99.99
- PHP: Version 8.1 oder höher
- OpenAI API: Gültiger API-Schlüssel erforderlich
- Internet: Stabile Verbindung für API-Aufrufe
Empfohlene Umgebung
- PHP: Version 8.2 oder höher
- Memory Limit: Mindestens 256M
- Max Execution Time: 60 Sekunden oder mehr
- SSL/HTTPS: Für sichere API-Kommunikation
Installation
Option 1: Installation über Extension Manager
- Extension-Datei herunterladen
- Laden Sie die Extension von TER (TYPO3 Extension Repository) herunter
- Oder verwenden Sie die bereitgestellte .zip-Datei
- Im TYPO3 Backend installieren
Admin Tools → Extensions → Upload Extension
- Wählen Sie die .zip-Datei aus
- Klicken Sie auf „Upload and Install“
- Extension aktivieren
Admin Tools → Extensions → Installed Extensions
- Suchen Sie „AI Metatags“
- Klicken Sie auf „Activate“
Option 2: Manuelle Installation
# Extension in fileadmin/extensions/ entpacken cd /path/to/your/typo3/project/fileadmin/extensions/ unzip ai-metatags.zip # Oder in typo3conf/ext/ (für ältere TYPO3 Versionen) cd /path/to/your/typo3/project/typo3conf/ext/ unzip ai-metatags.zip
Alternative: Installation über Composer
# In Ihr TYPO3 Root-Verzeichnis wechseln cd /path/to/your/typo3/project # Extension installieren composer require itmichel/ai-metatags # TYPO3 Cache leeren ./vendor/bin/typo3 cache:flush
Grundkonfiguration
1. OpenAI API-Schlüssel einrichten
API-Schlüssel generieren
- Besuchen Sie https://platform.openai.com/account/api-keys
- Melden Sie sich mit Ihrem OpenAI-Account an
- Klicken Sie auf „Create new secret key“
- Kopieren Sie den generierten API-Schlüssel
In TYPO3 konfigurieren
Admin Tools → Settings → Extension Configuration → ai_metatags
OpenAI API Einstellungen:
API Key: [Ihr OpenAI API-Schlüssel] Model: gpt-4o (empfohlen) Temperature: 0.5 Max Tokens: 1000 Top P: 1 Frequency Penalty: 0.8 Presence Penalty: 0
2. Grundlegende Extension-Konfiguration
Prompt-Einstellungen:
Firmenname: [Ihr Unternehmensname] Firmenbeschreibung: [Kurze Beschreibung Ihres Unternehmens] Zielgruppe: [Ihre Hauptzielgruppe]
Weitere Einstellungen:
Webseitenanalyse aktiviert: Ja (1) Textlänge für Analyse: 200 Zeichen Anzahl Vorschläge: 2
3. Cache leeren
Bei Composer-Installation:
# Backend Cache leeren ./vendor/bin/typo3 cache:flush
Bei manueller Installation oder Extension Manager:
Admin Tools → Maintenance → Flush Cache
Erweiterte Konfiguration
Custom Extensions integrieren
Für News Extension (EXT:news)
- TCA-Override erstellen:
Configuration/TCA/Overrides/tx_news_domain_model_news.php
- Dateiinhalt:
<?php $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['teaser']['config'] = array_merge_recursive( $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['teaser']['config'], [ 'fieldControl' => [ 'importControl' => [ 'renderType' => 'aiMetaTitle' ] ] ] ); $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['keywords']['config'] = array_merge_recursive( $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['keywords']['config'], [ 'fieldControl' => [ 'importControl' => [ 'renderType' => 'aiMetaTitle' ] ] ] ); $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['alternative_title']['config'] = array_merge_recursive( $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['alternative_title']['config'], [ 'fieldControl' => [ 'importControl' => [ 'renderType' => 'aiMetaTitle' ] ] ] ); - Extension-URL konfigurieren:
extensionUrl = 14|tx_news_domain_model_news|['tx_news_pi1'=>['controller' => 'News','action' => 'detail','news' => @id]]
- Kategorien-Support (optional):
extensionUrlCat = tx_news_domain_model_news|\GeorgRinger\News\Domain\Repository\NewsRepository|categories|category
Für eigene Extensions
- TCA-Override Vorlage:
<?php // Datei: Configuration/TCA/Overrides/tx_myext_domain_model_item.php $GLOBALS['TCA']['tx_myext_domain_model_item']['columns']['title']['config'] = array_merge_recursive( $GLOBALS['TCA']['tx_myext_domain_model_item']['columns']['title']['config'], [ 'fieldControl' => [ 'importControl' => [ 'renderType' => 'aiMetaTitle' ] ] ] ); $GLOBALS['TCA']['tx_myext_domain_model_item']['columns']['description']['config'] = array_merge_recursive( $GLOBALS['TCA']['tx_myext_domain_model_item']['columns']['description']['config'], [ 'fieldControl' => [ 'importControl' => [ 'renderType' => 'aiMetaTitle' ] ] ] ); - Extension-URL konfigurieren:
Format: UIDSingleSidePage|TabelName|URLBuilder Beispiel: extensionUrl = 42|tx_myext_domain_model_item|['tx_myext_pi1'=>['controller' => 'Item','action' => 'show','item' => @id]]
TypoScript einrichten (falls erforderlich)
# Seiten-Types für Webseitenanalyse (optional)
page.typeNum = 1237
page.1237 = PAGE
page.1237 {
config {
disableAllHeaderCode = 1
additionalHeaders.10.header = Content-Type: text/plain; charset=utf-8
}
10 = CONTENT
10 {
table = tt_content
select {
orderBy = sorting
where = deleted=0 AND hidden=0
}
renderObj = TEXT
renderObj {
field = bodytext
stripHtml = 1
}
}
}
# Keywords-Type
page.1240 = PAGE
page.1240 {
config {
disableAllHeaderCode = 1
additionalHeaders.10.header = Content-Type: text/plain; charset=utf-8
}
10 = TEXT
10.value = {field:keywords}
10.insertData = 1
}
Funktionstest
1. Basis-Funktionalität testen
- Seite bearbeiten:
- Öffnen Sie eine Seite im TYPO3 Backend
- Navigieren Sie zum „SEO“ Tab
- Suchen Sie nach AI-Buttons bei den Metadaten-Feldern
- AI-Generierung testen:
- Klicken Sie auf einen AI-Button
- Warten Sie auf die Vorschläge (5-10 Sekunden)
- Wählen Sie einen Vorschlag aus und übernehmen Sie ihn
2. Custom Extension testen
- News-Item bearbeiten (falls News Extension installiert):
- Öffnen Sie einen News-Eintrag
- Prüfen Sie ob AI-Buttons in den konfigurierten Feldern erscheinen
- Testen Sie die Funktionalität
3. Debug-Informationen sammeln
Bei Problemen können Sie Debug-Informationen sammeln:
# In Configuration/AdditionalConfiguration.php temporär hinzufügen: $GLOBALS['TYPO3_CONF_VARS']['BE']['debug'] = true; $GLOBALS['TYPO3_CONF_VARS']['FE']['debug'] = true;
Troubleshooting
Häufige Probleme und Lösungen
Problem: AI-Buttons erscheinen nicht
Mögliche Ursachen:
- Extension nicht aktiviert
- Cache nicht geleert
- TCA-Override fehlt (bei Custom Extensions)
Lösungsschritte:
Bei Composer-Installation:
# Cache komplett leeren ./vendor/bin/typo3 cache:flush # Extension-Status prüfen ./vendor/bin/typo3 extension:list | grep ai_metatags # Database-Schema aktualisieren ./vendor/bin/typo3 database:updateschema
Bei manueller Installation:
Admin Tools → Maintenance → Flush Cache Admin Tools → Extensions → Installed Extensions (Extension-Status prüfen)
Problem: „Keine OpenAI API Key“ Fehlermeldung
Lösung:
- Prüfen Sie die Extension-Konfiguration
- Stellen Sie sicher, dass der API-Key korrekt eingegeben wurde
- Testen Sie den API-Key über OpenAI Website
Problem: Vorschläge zu kurz/lang oder irrelevant
Mögliche Anpassungen:
Max Tokens: Erhöhen auf 1500-2000 Temperature: Anpassen (0.3 für konservativere, 0.8 für kreativere Ergebnisse) Firmenbeschreibung: Detaillierter ausfüllen
Problem: Custom Extension funktioniert nicht
Prüfpunkte:
- TCA-Override korrekt erstellt?
- Extension-URL richtig konfiguriert?
- Entsprechende Seite für Single View existiert?
- Repository-Klasse korrekt angegeben (bei Kategorien)?
Log-Dateien prüfen
# TYPO3 Logs prüfen tail -f var/log/typo3_*.log # Webserver-Logs prüfen tail -f /var/log/apache2/error.log # oder tail -f /var/log/nginx/error.log
Performance-Optimierung
Empfohlene Einstellungen
Für bessere Performance:
Max Tokens: 500-800 (für kürzere Antwortzeiten) Textlänge Analyse: 150-200 Zeichen Anzahl Vorschläge: 2 (weniger API-Calls)
Cache-Konfiguration:
# Additional Configuration für besseres Caching
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['ai_metatags'] = [
'backend' => \TYPO3\CMS\Core\Cache\Backend\FileBackend::class,
'options' => [
'defaultLifetime' => 3600,
],
];
Sicherheitshinweise
API-Schlüssel schützen
- Umgebungsvariablen verwenden:
# In .env Datei: OPENAI_API_KEY=sk-your-secret-key-here # In AdditionalConfiguration.php: $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['itm_ai_metatags']['apiKeyOpenAi'] = getenv('OPENAI_API_KEY'); - Dateiberechtigungen prüfen:
# Extension-Verzeichnis schützen chmod 755 public/typo3conf/ext/itm_ai_metatags/ chmod 644 public/typo3conf/ext/itm_ai_metatags/Configuration/*
Netzwerksicherheit
# .htaccess Regel für zusätzliche Sicherheit
<Files "ext_conf_template.txt">
Order Deny,Allow
Deny from all
</Files>
Support und Updates
Updates
Bei Composer-Installation:
# Extension aktualisieren composer update itmichel/ai-metatags # Nach Updates immer Cache leeren ./vendor/bin/typo3 cache:flush ./vendor/bin/typo3 database:updateschema
Bei manueller Installation:
- Neue Version herunterladen und entpacken
- Über Extension Manager installieren
- Cache über Backend leeren: Admin Tools → Maintenance → Flush Cache