Seite 1 von 1

Aufbau von Seiten mit unterschiedlichen Metas

Verfasst: 14.11.2007, 18:14
von getafamousface
Hallo und guten Abend!

Mir hat man für meine Homepage geraten, jede Seite mit anderen Metas zu versehen.

Nun habe ich folgendes Problem. Ich baue meine Seiten mit PHP auf:

z.b. Seite TEST.PHP wird zusammengebaut aus
-HEADER.PHP
-SEITENINHALT.PHP
-FOOTER.PHP

Da in der Headerdatei die gesamte obere Menusteuerung eingebaut ist, liegen da natürlich auch die Metas bzw der Quelltextbeginn.

Wie sollte Eurer Meinung nach die Seite aufgebaut werden, dass jede Seite neue Metas bekommen kann?!?

Unterteile ich die Seite dann in 4 Bausteine?
-METAS.PHP
-HEADER.PHP
-SEITENINHALT.PHP
-FOOTER.PHP

Ich bin nicht so fachmännisch drauf, wie viele andere hier. Erklärungen bitte einfach halten. Grosse Programmierkenntnisse habe ich nicht.

Schon mal vielen Dank.

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 14.11.2007, 18:27
von e-fee
Ich mache das bei meinen selbstgestrickten PHP-Seiten so:

Meine "Hauptseite" hat Includes auf jeweils eine Datei für den Header und den Footer. Die Hauptseite hat eine wie auch immer geartete ID. Diese ID ist also schon "bekannt", wenn der Header aufgerufen wird. Mit Hilfe der ID ziehe ich die zur jeweiligen Seite gehörigen Angaben - also beispielsweise Title, Metas, den Haupttext ... - aus der Datenbank, bevor überhaupt irgendeine Ausgabe erfolgt, und lege sie in Variablen ab, ggf. verkette ich in den Variablen Inhalte.
Dann beginne ich mit der HTML-Ausgabe, und zwischen die entsprechenden Tags setze ich die Variablen - fertig ist der Lack!
(Also eigentlich brauche ich für so 'nen Internetauftritt nur 3 Dateien, mal abgesehen vom Datenbankzugriff, den ich aus Sicherheitsgründen auslagere, und diversen Bildchen - der Rest fließt komplett aus der Datenbank rein ... ah ja, und 'ne .htaccess natürlich noch!)

Verfasst: 14.11.2007, 18:33
von getafamousface
mmmh...
Hört sich zwar gekonnt an, aber umsetzen kann ICH das nicht :-( Leider!

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 14.11.2007, 18:51
von e-fee
naja, keine Ahnung ... nutzt du denn überhaupt 'ne Datenbank oder "nur" PHP?

Heißen Deine Seiten dann alle anders? Oder selber Dateiname, wo im URL irgendeine ID hinterhängt oder ...?
Wöre schon mal sinnvoll zu wissen.
D.h. wenn Du eine test1.php, eine test2.php und so weiter hast und da alle 3 anderen Dateien includest, dann würde ich in die jeweilige test.php auch einfach einer Variablen die Metaangaben mitgeben, die dann in der header.php eingebunden wird - das ist nicht schwer, im Prinzip so:

Code: Alles auswählen

echo "...<meta ... content='" . $variable . "'>...";
Ansonsten kann ich dazu nur sagen: Die Metaangaben müssen ja schließlich schon mitten IM Header stehen, zumindest

Code: Alles auswählen

<html><head><meta ...
müsste dann in eine vorgelagerte metas.php rein.

Wenn Dir das jetzt irgendwie zu schwierig erscheint, Du dieses Feature aber unbedingt haben willst, dann gibt es in etwa diese Möglichkeiten:
1. ein CMS installieren, bei dem man für jede Seite unterschiedliche Metas angeben kann (auf der Seite in meinem Footer hier z.B. hab ich Typolight im Einsatz)
2. Dir jemanden suchen und ggf. bezahlen, der Dir das programmiert
oder 3. eben doch dann ganzen Kram mal *lernen* - ich hab mir das auch alles autodidaktisch beigebracht und viel selbst usprobiert, was ich für meine Zwecke haben wollte und was es *damals* so nicht vorgefertigt gab, das ist nicht unmöglich.

Verfasst: 14.11.2007, 18:58
von getafamousface
Also meine Header.php ist folgendermaßen aufgebaut:

<html>
<head>
METAS
</head>
<body>
MENU

danach wir dann jede seite (seite1.php, seite2.php, use) eingefügt. abschließend jeweils immer mit der footer.php

und da jede seite mit HEADER.PHP geladen wird... sind immer die gleichen metas drin. mit variablen, cms etc habe ich keine erfahrung.

wie ist denn der vorschlag von mir, den ich im 1. post gemacht habe:
-METAS.PHP
-HEADER.PHP
-SEITENINHALT.PHP
-FOOTER.PHP

Verfasst: 14.11.2007, 19:10
von SchnaeppchenSUMA
Wo genau wäre denn das Problem mit deiner Lösung?

Google selbst merkt den Unterschied auf jeden Fall nicht.

Verfasst: 14.11.2007, 19:11
von e-fee
Du *kannst* die Metas aber halt nicht VOR den Header schreiben ... also können schon, valider Code ist dann anders, ich hab die Wirkungen noch nicht ausprobiert. Du müsstest zumindest den 2. von mir geposteten Codeblock noch mit in die metas.php rein und die header.php dann hinter den Metas fortsetzen.

Nur eine Frage hast Du mir immer noch nicht beantwortet: sind header.php und footer.php in seitex.php included?
Oder sind header.php, seitex.php und footer.php in einer noch anderen Seite included?
Auf jeden Fall würde ich, wenn mit einer Variablen gearbeitet wird, in der Seite, die die anderen Seiten included, diese Variable dann setzen und ihr einen Wert mitgeben.
Anderenfalls müsstest Du eine metasx.php zu jeder einzelnen Seite erstellen und includen - nicht wirklich weniger Arbeit als mit einer Variablen.
mit variablen, cms etc habe ich keine erfahrung.
Dann wird es verdammt noch mal Zeit, dass Du aus Deiner Komfortzone rauskommst und Dir diese Erfahrung aneignest, wenn Du hier im Netz was reißen willst! Von nix kütt nix, wie man hier im Rheinland sagt. Da kannst Du auch noch so 'ne nette "Ich will jetzt auch Internet-Millionär werden"-Seite auf die Beine gestellt haben, aber 'n bisschen den Arsch hochkriegen musst Du schon, wenn das was werden soll!

Verfasst: 14.11.2007, 19:33
von getafamousface
verwechsel bitte nicht header.php mit dem head-teil meiner seite. der header ist der kopf der seite, also queltextbeginn bis zum menu.

ich include alle php-dateien. z.b. INDEX.PHP included header.php, seitexx.php und footer.php (also 1 seite aus 4 dateien)

ich glaube, am einfachsten ist es, wie folgt das problem zu lösen:
SEITE1.PHP mit folgenden includes:
-META.PHP mit <html><head></head>
-MENU.PHP mit <body>
-SEITENINHALT.php
-FOOTER mit </body></html>

wobei META.PHP und SEITENINHALT.PHP durch etwaige andere inhalte ausgetauscht werden kann.

Verfasst: 14.11.2007, 23:04
von e-fee
Ja, das wäre eine absolut praktikable Lösung und sollte auch valide sein, vorausgesetzt, der Code an sich stimmt. Eine Suchmaschine wird da keine (negativen) Unterschiede finden.

Aber glaub mir, wenn man das mit Variablen macht, dann ist das schon einfacher.
Das, was Du da vorhast bzw. bislang praktizierst, also das PHP nur zum Includen sagen wir anstelle von Frames nehmen, ist in etwa so, als würde man mit 'nem Porsche außerhalb 'Ner verkehrsberuhigten Zone trotzdem Schritt fahren, weil mansich nicht schneller traut ... bloß den Porsche hat man genommen, weil man grad kein Fahrrad zur Hand hat.

Ich geb Dir einfach mal ein bisschen Beispielcode an die Hand, vielleicht leckst Du ja dann Blut?
In die index.php:

Code: Alles auswählen

<?
$meta1="irgendwas, z.B. Keywords";
$meta2="wasanderes, z.B. Beschreibung";
include&#40;"header.php"&#41;;
include&#40;"seiteninhalt.php"&#41;;
include&#40;"footer.php"&#41;;
?>
wobei ich nicht die seiteninhalt.php include, sondern an der Stelle einen Variableninhalt ($content) ausgebe, diese Variable habe ich wiederum in der header.php mit Inhalten aus der Datenbank ausgestattet; $meta1 und $meta2 habe ich dort auch nicht, sondern eine $id, die (aus dem URL gezogen) an die header.php weitergegeben wird.
Wichtig ist in Deinem Fall, dass die Variablen noch VOR dem Includen der header.php
deklariert werden.

Und in der header.php sieht das dann so aus:

Code: Alles auswählen

<?
echo "<html><head><meta name='keywords' content='" . $meta1 .  "'><meta name='description' content='" . $meta2 .  "'>...</head><body>Menü...";
?>
Und dann würe an schon beim Seiteninhalt.

Vorteil wäre: in der header.php muss danach NICHT MEHR geändert werden für neue Seiten (außer ggf. Menü, wenn Du da was änderst). Du müsstest nur in der (in dem Fall dann z.B.) index.php die Variableninhalte innerhalb der anführungszeichen ändern.

Bei Deinem Vorgehen musst Du a) für jede Seite noch eine zusätzliche neue Datei erstellen, in der Du die Meta-Angaben änderst. Und b) musst Du in der auf der index.php auch jedes Mal den Namen der zu includenden Datei mit den Meta-Angaben ändern.
Wenn das Projekt mal wächst, weiß man das schon zu schätzen.