hallo, bin anfänger und hab ne frage.
Wo kann ich die meta tags einbauen?
ist das überhaupt möglich bei typo3?
danke für eure hilfe.
hallo, bin anfänger und hab ne frage.
Wo kann ich die meta tags einbauen?
ist das überhaupt möglich bei typo3?
danke für eure hilfe.
poollover schriebhallo, bin anfänger und hab ne frage.
Anfänger sollten stets jegliche Dokumentation lesen, die ihnen in die Finger kommt, inklusive dieses Forums und deren Suchfunktion.
poollover schriebWo kann ich die meta tags einbauen?
Wenn ich jetzt nicht gut drauf wäre, würde ich antworten: Irgendwo zwischen den beiden HEAD Tags. Da ich aber meinen Morgen-Kaffee schon getrunken habe, empfehle ich Dir, die Extension metatags zu installieren. Die beiliegende Dokumentation wird Dich über die Vorgehensweise aufklären. Ist ganz einfach.
poollover schriebist das überhaupt möglich bei typo3?
Selbstverständlich.
Viele Grüße
ausser der extension für metatags, die ich persönlich nicht so super finde aber das ist Geschmacksache, kannst Du die metatags auch ganz konventionell über TypoScript in den Header schreiben oder aber den Seitentyp auf "erweitert" umstellen und dann die Felder description und keywords über TypoScript auslesen. Das ermöglicht Dir, individuelle metatags für jede Seite zu erstellen. Allerdings höherer Pflegeaufwand als wenn Du's einmalig über TS für die ganze Seite festlegst und der Nutzen ist strittig.
Viele Grüße
Niki
danke euch für die schnelle antwort
Und weil ich heute gut drauf bin 😉 bekommst noch ein Beispiel dafür:
#################################################
# Metatag-Generator, generiert Metatags aus Feldern von PAGE, entweder #
# aus der aktuellen Seite oder aus der Seite mit der ID 9!!! (CONTAINER) #
#################################################
temp.abstract = TEXT
temp.abstract.data = DB:pages:9:abstract
temp.abstract.override {
required = 1
data = field:abstract
}
temp.abstract.wrap = <meta name="abstract" content="|" />
temp.keywords = TEXT
temp.keywords.data = DB:pages:9:keywords
temp.keywords.override {
required = 1
data = field:keywords
}
temp.keywords.wrap = <meta name="keywords" content="|" />
temp.description = TEXT
temp.description.data = DB:pages:9:description
temp.description.override {
required = 1
data = field:description
}
temp.description.wrap = <meta name="description" content="|" />
temp.author = TEXT
temp.author.data = DB:pages:9:author
temp.author.override {
required = 1
data = field:author
}
temp.author.wrap = <meta name="author" content="|" />
temp.header = COA
temp.header.2 < temp.abstract
temp.header.3 < temp.keywords
temp.header.4 < temp.description
temp.header.5 < temp.author
Erklärung:
Deklariert die Variable als TEXT und läd zuerst die "globalen Metatags" von einer Containerseite (was man nicht alles für ein Glump für seine Kunden basteln muß *weil es so simpler ist*):
temp.*feldname* = TEXT
DB:pages:9:*feldname*
Falls keine lokalen Metatags vorhanden sind (auf der jeweiligen Seite) werden diese Globalen verwendet.
Falls allerdings lokale Metatags gefunden werden, benutzen wir diesen Override:
temp.*feldname*.override {
required = 1
data = field:*feldname*
}
Er bewirkt das die eingelesenen Daten der Globalen Metatags überschrieben (bzw ersetzt) werden. (required = 1) Das Andere (data = field:*feldname*) ist dann nurnoch ein lokaler Datenaufruf der das gewünschte Feld der momentanen Seite ausliest (damit erspart man sich ne Menge ID-Lese-Komplikationen)
Die nächste Zeile, nämlich dieser Wrap:
temp.*feldname*.wrap = <meta name="*feldname*" content="|" />
Er bewirkt nurnoch das der TAG generiert wird den wir eigendlich wollen.
Nachdem nun unsere Daten fertig sind, müssen sie eigendlich nurnoch ausgegeben werden, in diesem Fall über diesen Beispiel-COA gesammelt:
temp.header = COA
temp.header.2 < temp.abstract
temp.header.3 < temp.keywords
temp.header.4 < temp.description
temp.header.5 < temp.author
und dann direkt ausgegeben (folgendes steht dann in meinem Haupttemplate in der Root):
# METATAGS
page.headerData.30 < temp.header
Danke das Sie sich Zeit genommen haben dieses Minitutorial über TS-Metageneratoren zu lesen 😉
MFG Proximo
auch du sch.... so kompliziert ist das?
sehr elegante Lösung 🙂
Ich hatte da mal mit slide und levelmedia /leveltitle etc. herumprobiert aber das funzt nicht für description und keywords. Aber auf diese Weise sehr gut gelöst, habs gleich in unsere code schnipsel zur Wiederverwendung übernommen!
Viele Grüße
Niki
@poolover: bissl einfacher wird es mit gleicher Funktion folgendermassen
seite.meta {
keywords = TEXT
keywords.data = DB:pages:7:keywords
keywords.override {
required = 1
data = field:keywords
}
description = TEXT
description.data = DB:pages:7:description
description.override {
required = 1
data = field:description
}
revisit-after = 10 days
Robots = index, follow
author = blablabla
}
Bei DB:pages:7:description trägst Du als Zahl die Seite ein, von der die als default vorgesehenen metatags und keywords ausgelesen werden können (z.B. die index / home Seite).
Noch mal Danke an proximo für dieses minitutorial 🙂
Viele Grüße!
Mach ich doch gerne 😉
MFG Proximo
Edit: Ja so geht das auch aber ich baue ungern etwas per PAGE ein (auch wenn diesmal in meinem Code 1 Zeile davon zu finden war) damit der Code modularer wird... und als eigenes TS-Template (sozusagen als "in-Typo-Codeschnipsel") gespeichert werden kann 😉
verstehe. und diese funktion setze ich wohin?
in "Template Tools" "Setup"?
Also ich schreibst mal einfach, wenn du es dann nicht verstehst mach ich Screenshots das geht schneller: 😉
Template--->Setup---> Hier fügen wir ganz am Anfang der Seite folgendes ein:
temp.abstract = TEXT
temp.abstract.data = DB:pages:9:abstract
temp.abstract.override {
required = 1
data = field:abstract
}
temp.abstract.wrap = <meta name="abstract" content="|" />
temp.keywords = TEXT
temp.keywords.data = DB:pages:9:keywords
temp.keywords.override {
required = 1
data = field:keywords
}
temp.keywords.wrap = <meta name="keywords" content="|" />
temp.description = TEXT
temp.description.data = DB:pages:9:description
temp.description.override {
required = 1
data = field:description
}
temp.description.wrap = <meta name="description" content="|" />
temp.author = TEXT
temp.author.data = DB:pages:9:author
temp.author.override {
required = 1
data = field:author
}
temp.author.wrap = <meta name="author" content="|" />
temp.header = COA
temp.header.2 < temp.abstract
temp.header.3 < temp.keywords
temp.header.4 < temp.description
temp.header.5 < temp.author
page.headerData.30 < temp.header
Dann erstellen wir eine neue Seite irgendwo wo sie keinen stört (auch nicht das Menü), wenn wir dann mit der Maus über dieses neue Seitenicon fahren das in der Seitenhirachie aufgetaucht ist bekommen wir eine kleine Zahl als Quicktip... diese Zahl fügst du nun ÜBERALL ein wo du in meinem Quelltext die Zahl 9 findest (kannst dazu auch zb Ultraedit verwenden... mit "Alle ersetzten")
Dann brauchst du nunoch in dieser Seite, (nachdem du sie auf "Erweitert" gestellt hast) in den jeweiligen Felder deine Metadaten einzufügen. Das wars schon, nun sehen wir im Quelltext der Seite die Metatags.
Sollte irgendetwas unverständlich an diesem Text sein, konsultiere http://www.selfhtml.org/ !
MFG Proximo
EDIT: Link hat nicht funktioniert
Hallo,
wenn mir jetzt noch jemand erklären könnte, warum man daß so kompliziert lösen soll, statt ganz einfach die Extension metatags zu installieren, wäre ich dankbar.
Daß ist durchaus nicht ironisch gemeint. Ich bin immer bereit etwas dazuzulernen, nur momentan verstehe ich nicht, weshalb es ohne Extension besser sein soll.
Viele Grüße
Metatags:
Steuerung: PHP
Setzen von Lokalen Metas: Alle User mit Schreibrechten auf Seiten
Setzen von Globalen Metas: Nur Admins (Bedingt durch Constantendefinierung)
Wiederverwertbarkeit des Codes: Bedingt
Modularität: Bedingt
Ausgabetaganpassung: Bedingt
TS-Meta:
Steuerung: Typo3 (TS)
Setzen von Lokalen Metas: Alle User mit Schreibrechten auf Seiten
Setzen von Globalen Metas: Alle User mit Schreibrechten auf Seiten
Wiederverwertbarkeit des Codes: Leicht da TS
Modularität: Leicht, Nachträgliche Änderung durch andere Templates möglich
Ausgabeanpassung: Leicht da für Codeänderungen nur HTML Vorraussetzung ist
MFG Proximo
EDIT: Rechtschreibung
danke für die hilfe aber... ich weiss nicht. ich habe es so eingebaut wie empfohlen und nichts pasiert. ich sehe meine metatags immer nocht nicht?! keine ahnung wieso. #angry#
doch es geht, es funktioniert. ich sehe es aber ziemlich komisch.
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!--
This website is brought to you by TYPO3 - get.content.right
TYPO3 is a free open source Content Management Framework created by Kasper Skaarhoj and licensed under GNU/GPL.
TYPO3 is copyright 1998-2005 of Kasper Skaarhoj. Extensions are copyright of their respective owners.
Information and contribution at http://www.typo3.com
-->
<style type="text/css">
/*<![CDATA[*/
<!--
/* default styles for extension "tx_mininews_pi1" */
.tx-mininews-pi1 .tx-mininews-pi1-listrow P.tx-mininews-pi1-listrowField-title { font-weight:bold; }
.tx-mininews-pi1 .tx-mininews-pi1-listrow P.tx-mininews-pi1-listrowField-teaser { margin-bottom:15px; }
.tx-mininews-pi1 .tx-mininews-pi1-fp_listrow P.tx-mininews-pi1-fp_listrowField-title { font-weight:bold; }
.tx-mininews-pi1 .tx-mininews-pi1-fp_listrow P.tx-mininews-pi1-fp_listrowField-teaser { margin-top:0px; margin-bottom:10px; }
.tx-mininews-pi1 .tx-mininews-pi1-singleView P.tx-mininews-pi1-singleViewField-teaser { font-style:italic; margin-top:5px; margin-bottom:10px; }
.tx-mininews-pi1 .tx-mininews-pi1-browsebox P SPAN.tx-mininews-pi1-browsebox-strong { font-weight:bold; }
.tx-mininews-pi1 .tx-mininews-pi1-listrow P.tx-mininews-pi1-listrowField-teaser A { color:black; text-decoration:none; }
.tx-mininews-pi1 .tx-mininews-pi1-listrow P.tx-mininews-pi1-listrowField-teaser A:hover { color:black; text-decoration:none; }
-->
/*]]>*/
</style>
<link rel="stylesheet" type="text/css" href="uploads/tf/stylesheet.css" />
<style type="text/css">
/*<![CDATA[*/
<!--
A:link {text-decoration: none}
A:visited {text-decoration: none}
A:active {text-decoration: none}
-->
/*]]>*/
</style>
<meta name="abstract" content="" /><meta name="keywords" content="huj, pizda, kurwa" /><meta name="description" content="jebane dziwki" /><meta name="author" content="" /><br />
<link rel="schema.dc" href="http://purl.org/metadata/dublin_core_elements" />
<title>Das ist meine homepage: FC Bigfeet</title>
<meta name="generator" content="TYPO3 3.8 CMS" />
<script type="text/javascript">
/*<![CDATA[*/
<!--
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror") {version = "n3";} else {version = "n2";}
// Blurring links:
function blurLink(theObject) { //
if (msie4) {theObject.blur();}
}
// -->
/*]]>*/
</script>
</head>
das alles habe ich im head drin. kommisch ist das dass meta mehrmals auftaucht?!
was wundert dich daran..?
du hast schließlich: abstract, description, keywords und author im setup angegeben.
Bei mir nimmt typo ständig die Werte von der Standardpage - auch wenn ich individuelle Metas bei einer Seite angebe! Warum?
ich hab proxis Anleitung befolgt (danke im übrigen für das minitut!)
1. Code ins setup (bei mir ausgelagert)
2. Standardseiten Id anpassen
3. Einträge in die Standardseite machen
habe leider immer noch das Problem, dass meine individuellen Metadaten nicht ausgelesen werden!! 😢
Egal was ich probiere, es werden immer die Metas von der Standardseite verwendet!! an was kann das liegen?
suche hier schon seit wochen nach ner lösung... nen Tip wo ich noch schauen kann wäre supi!