META Description automatisch zuweisen

  • Ich habe verschieden webseiten und mein webmaster ist seit einiger Zeit verschwunden und hat natürlich halbfertige scripte hinterlassen.
    Es geht darum, dass ich auf der index.php eine feste Meta[0][desc] Zuweisung habe, allerdings benötige ich auf der jeweiligen Seite eine Beschreibung der Seite zugehörig.
    Beispielseite: www.holiday-locations.com
    Die index.php ist wie folgt
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="robots" content="index, follow">
    <meta name="language" content="<?PHP echo $lang; ?>">
    <link rel="shortcut icon" href="favicon.ico">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <link rel="stylesheet" type="text/css" href="STYLE.css">
    <meta name="description" content="<?PHP echo $META[0]['desc'][$lang]; ?>">
    <meta name="keywords" content="<?PHP echo $META[0]['keyw'][$lang]; ?>">
    <?PHP
    // Seitentitel erstellen
    $SEITENTITEL = $TITLE[$_GET['site']][$lang];
    // Sonderfall Titel für Suchvorlage
    if($_GET['site'] == "ssearch"){ $SEITENTITEL = $TITLE['ssearch'][$_GET['sv']][$lang]; }
    // Sonderfall Titel für manuelle Seite
    if($_GET['site'] == "mansite"){ $SEITENTITEL = $TITLE['mansite'][$_GET['pgn']][$lang]; }
    if(strlen($SEITENTITEL) < 5){ $SEITENTITEL = $TITLE[0][$lang]; }
    ?>
    <title><?PHP echo $SEITENTITEL; ?></title>
    in der Zeile $META[0]['desc']['de'] wird die Beschreibung genommen für die oberste Ebene (index.php) welche ich in der Titel.php unter
    $META[0]['desc']['de'] = "xxx eingegeben habe, jetzt gibt es aber Seiten 34.php, in der Titel.php wie folgt
    $META[34]['desc']['de'], eine Villa muss nun eine Beschreibung bekommen und $META muss so aussehen
    $META[34121008]['desc']['de'], es gibt noch Sonderseiten, bei denen die Titel.php so aussieht
    $TITLE['mansite']['holiday_accommodation_marbella']['de'] = "holiday-locations | Ferienunterkünfte Marbella"; bzw
    $TITLE['ssearch'][345011]['de'] = "Die Küstenstadt Calpe befindet sich an der Ostküste Spaniens, zwischen Valencia und Alicante an der Costa Blanca ";
    d.h. wo oben $META[34]['desc']['de'], müsste in diesem Falle stehen
    $META['mansite']['holiday_accommodation_marbella']['desc']['de'], bzw
    $META['ssearch'][345011]['desc']['de'],
    wie kann ich nun eine diesen Meta[desc] und Meta[keyw] so aufbauen, dass alle Seiten den ihnen zugehörigen Text erhalten?
    WER KANN HELFEN??

  • Kannst du deinen Beitrag nochmal so verfassen das man genau versteht was du


    a) bereits hast
    b) haben willst


    und das ganze dann bitte entsprechend formatiert, z.b. indem man code Blöcke benutzt.

  • es gibt die index.php mit <meta name="description" content="<?PHP echo $META[0]['desc'][$lang]; ?>">
    dazu gibt es eine TITEL.php, in der alle Angabenhinterlegt sind, wie titel, Beschreibung, keywörter, speziel für jede Seite (ca. 1000), jetzt möchte ich aus der Titel.php die Informationen auslesen und sobald die Seite erstellt wird, z.B die Seite der Villa 34121008, automatisch keywords und Beschreibung einsetzen, augenblicklich haben alle Seiten die selben keywords und die selbe Beschreibung wie die index-Seite
    vieleicht wird es deutlicher, wenn du die Seite http://www.holiday-locations.com/index.php?site=34121008&lang=de anschaust, der Quelltext im header sieht genauseo aus wie bei http://www.holiday-locations.com/index.php?lang=de und wie bei http://www.holiday-locations.com/index.php?lang=de&site=mansite&pgn=golf, die jeweiligen Titel sind schon so wie es sein soll, jede Seite nimmt sich aus der Titel.php den speziellen Text, nicht aber die BEschreibung und keywords

  • genau gesagt brauche ich ein script, um die Informationen aus der titel.php auszulesen und so zusammen setzen, damit im header
    meta name="description" content="<?PHP echo $META[0]['desc'][$lang]; ?>">
    meta name="keywords" content="<?PHP echo $META[0]['keyw'][$lang]; ?>">
    richtig eingesetzt werden, es darf also nicht mehr $META[0] fest in der index.php stehen, sondern durch einen Platzhalter ersetzt werden wie $lang.
    die Routine, um den Seitentitel zu ermitteln sieht so aus:
    <?PHP
    // Seitentitel erstellen
    $SEITENTITEL = $TITLE[$_GET['site']][$lang];
    // Sonderfall Titel für Suchvorlage if($_GET['site'] == "ssearch"){ $SEITENTITEL = $TITLE['ssearch'][$_GET['sv']][$lang]; }
    // Sonderfall Titel für manuelle Seite if($_GET['site'] == "mansite"){ $SEITENTITEL = $TITLE['mansite'][$_GET['pgn']][$lang]; }
    if(strlen($SEITENTITEL) < 5){ $SEITENTITEL = $TITLE[0][$lang]; } ?>
    <title><?PHP echo $SEITENTITEL; ?></title>
    vieleicht ist dis nützlich und hilfreich

  • danke dieser Vorschlag funktioniert wenn ich
    $META[34] = Spanien
    $META[341] = Andalusien
    $META[34121008] = die Villa 34121008
    in der Titel.php vorgebe, es erscheint keine Beschreibung bei der index.php (dies wäre $META[0])
    und nicht wenn es sich um Seiten handelt


    $TITEL['ssearch'][34609]['de'] = "Torrevieja liegt an der Costa Calida, Torrevieja ist eine Stadt im Südosten von Spanien ";
    und
    $TITLE['mansite']['golf']['de'] = "Holiday-locations - Golfplätze - Marbella, Costa del Sol, Spanien";
    bei beiden schaffe ich die Umwandlung in META nicht
    :confused:

  • Bitte verwende doch die [code]-BBCodes, deine Beiträge sind wirklich sehr unlesbar ;)
    Und Aktiviere doch einmal alle Fehlermeldungen mit [PHP]error_reporting(E_ALL);[/PHP] dann siehst du auch, wenn Variablen nicht definiert sind...



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • es gibt keine Fehlermeldungen, wenn ich eine Seite aufrufe und mir den Quelltext anschauen erscheint keine Beschreibung, hier nochmals die Seite
    http://www.holiday-locations.com/ ist in englisch, aber auf der deutschen Seite genauso
    meta name="description" content="">
    <meta name="keywords" content="holiday, location, holiday-locationscontent leer, obwohl in der titel.php ein META[0]['desc']['de'] definiert ist
    bei der Seite:
    http://www.holiday-locations.com/index.php?lang=uk&site=34
    habe ich in der Titel.php diese information
    $META[34]['desc']['de'] = "Holiday-locations bietet Ihnen eine reiche Auswahl...
    im Quelltext erscheint dann dies
    <meta name="description" content="Holiday-locations offers you a great selection of holiday homes, country houses, villas and mansions for your unforgettable vacations and holidays in Spain. ">
    also korrekt, bei der Seite:
    http://www.holiday-locations.com/index.php?site=34121008&lang=de
    habe ich in der titel.php
    $META[34121008]['desc']['de'] = "Golfvilla mit beheiztem Pool, Fitness Raum, im Golf valley Nueva Andalucia, Puerto Bansu, Marbella zu mieten";
    und es erscheint im Quellcode
    <meta name="description" content="Golfvilla mit beheiztem Pool, Fitness Raum, im Golf valley Nueva Andalucia, Puerto Bansu, Marbella zu mieten">
    auch korrekt, keine Angabe erhalte ich wie gesagt bei META[0] und bei all den Seiten, welche in der Titel.php wie folgt aussehen
    $TITLE['mansite']['golf']['de'] = "Holiday-locations - Golfplätze - Marbella, Costa del Sol, Spanien"; === manuelle Seiten
    und
    $TITLE['ssearch'][34609]['de'] = "Torrevieja liegt an der Costa Calida, Torrevieja ist eine Stadt im Südosten von Spanien "; === Suchvorlagen

  • es gibt keine Fehlermeldungen, wenn ich eine Seite aufrufe und mir den Quelltext anschauen erscheint keine Beschreibung, hier nochmals die Seite
    http://www.holiday-locations.com/<span style=""> ist in englisch, aber auf der deutschen Seite genauso

    PHP
    meta name="description" content="">
    <meta name="keywords" content="holiday, location, holiday-locationscontent leer, obwohl in der titel.php ein META[0]['desc']['de'] definiert ist

    bei der Seite:
    http://www.holiday-locations.com/ind...ang=uk&site=34
    habe ich in der Titel.php diese information

    PHP
    $META[34]['desc']['de'] = "Holiday-locations bietet Ihnen eine reiche Auswahl...
    im Quelltext erscheint dann dies
    <meta name="description" content="Holiday-locations offers you a great selection of holiday homes, country houses, villas and mansions for your unforgettable vacations and holidays in Spain. ">

    also korrekt, bei der Seite:
    http://www.holiday-locations.com/ind...121008&lang=de
    habe ich in der titel.php

    PHP
    $META[34121008]['desc']['de'] = "Golfvilla mit beheiztem Pool, Fitness Raum, im Golf valley Nueva Andalucia, Puerto Bansu, Marbella zu mieten";
    und es erscheint im Quellcode
    <meta name="description" content="Golfvilla mit beheiztem Pool, Fitness Raum, im Golf valley Nueva Andalucia, Puerto Bansu, Marbella zu mieten">

    auch korrekt, keine Angabe erhalte ich wie gesagt bei META[0] und bei all den Seiten, welche in der Titel.php wie folgt aussehen

    PHP
    $TITLE['mansite']['golf']['de'] = "Holiday-locations - Golfplätze - Marbella, Costa del Sol, Spanien"; === manuelle Seiten
    und 
    $TITLE['ssearch'][34609]['de'] = "Torrevieja liegt an der Costa Calida, Torrevieja ist eine Stadt im Südosten von Spanien "; === Suchvorlagen
  • index.php -> Keine Übergabe von $_GET['site'], daher auch keine Information.


    Musst also ne Abfrage einbauen in der überprüft wird ob $_GET['site'] übergeben wurde, wenn nicht eben mit vordefiniertem drauf reagieren oder andere Sachen abfragen.


    Wozu genau soll mansite, bzw. ssearch dienen?

  • mansite = manuelle Seiten
    ssearch = Suchvorlagen
    diese Seiten werden in der titel.php definiert

    PHP
    $TITLE['mansite']['golf']['de'] = "Holiday-locations - Golfplätze - Marbella, Costa del Sol, Spanien";
    PHP
    $TITLE['ssearch'][34609]['de'] = "Torrevieja liegt an der Costa Calida, Torrevieja ist eine Stadt im Südosten von Spanien ";


    bei der Titelerstellung funktioniert alles, nicht aber bei META Bschreibung und META keywords

  • Wie rufst du dir mansite, bzw. ssearch denn auf?


    Grade die Informationen aus der URL sind wichtig. Durch die Seite klicken bis ich das gefunden habe wollte ich nämlich nicht.

  • Die Seite ist so aufgebaut, dass sobald ich im Suchfeld ein Objektnummer z.B. 34121008, eingebe das jeweilige Land (34 = Spanien), die Region (341 = Andalusien) und die Unterregion (3412 = Malaga bis Gibraltar) in der Navigation aufgerufen wird und sich die Seite dann aufbaut, hier habe ich absolut keine Probleme mit dem Seitentitel und Metabeschreibung, jetzt gibt es aber Seiten
    1. http://www.holiday-locations.com/index.php?lang=de&site=ssearch&sv=34109, hier wurde in der Suchvorlagen.php definiert, Objekte mit beheiztem Pool, Titel.php hierzu
    [PHP]
    $TITLE['ssearch'][34109]['de'] = "Luxusvillen mit beheiztem Schwimmbad in Andalusien...";
    [/PHP]
    und
    [PHP]
    $META[34121008]['desc']['de'] = "Golfvilla mit beheiztem Pool, Fitness Raum, im Golf valley Nueva Andalucia, Puerto Bansu, Marbella zu mieten";
    [/PHP]
    2. http://www.holiday-locations.com/index.php?lang=de&site=mansite&pgn=golf
    sogennante manuelel Seiten in der title.php so
    [PHP]
    $TITLE['mansite']['golf']['de'] = "Holiday-locations - Golfplätze - Marbella, Costa del Sol, Spanien";
    [/PHP]
    bei den manuelen Seiten, weis ich nichtmal wie die META aussehen soll

  • ssearch:


    $TITLE[$_GET['site']][$_GET['sv']]['de'] = "Luxusvillen mit beheiztem Schwimmbad in Andalusien...";


    mansite:
    $TITLE[$_GET['site']][$_GET['pgn']]['de'] = "Holiday-locations - Golfplätze - Marbella, Costa del Sol, Spanien";

  • danke, aber ich glaube es liegt ein Missverständnis vor, die Umsetzung der Titel.php, dass sich die jeweilige Seite den richtigen Titel nimmt, habe ich gelöst, es geht darum, das ich die Metaangabe

    PHP
    <meta name="description" content="<?PHP echo $META[$_GET['site']]['desc'][$lang]; ?>">

    so automatiesieren muss, dass zum einen der index, denn $META[0] was die index ebene ist, nimmt er nicht, er lässt es leer und die $META Erstellung für die sv und die manuellen png Seiten

  • die Umsetzung für die Seitentitel Erstellung sieht so aus, und funktioniert perfekt:

    jetzt vesuche ich eine ähnlich Konstruktion zu finden für die $META beschreibung

  • Wenn Parameter Seite vorhanden dann:
    - Ausgabe von Parameter Seite
    Ansonsten:
    - Ausgabe von vordefiniertem Wert


    Dir sollte bewusst sein wie dies umzusetzen ist, ansonsten baust du nämlich immer mehr Fehler rein.


    Ich habe dir sowohl den SV als auch den PNG teil gegeben, zumindest anhand der Angaben die du im vorigen Post gegeben hast.
    Jetzt musste das ganze nurnoch so in dein Skript einbauen das dies benutzt wird.


    Das ganze wäre aber vermutlich schon längst erledigt wenn du einfach mal den entsprechenden Code Block bereitstellst.
    Es bringt mir nichts wenn du mit den Begriffen "index.php", "titel.php" und sonstigem um dich wirfst. Den Einblick in die Struktur der Dateien bekomme ich dadurch nämlich auch nicht.


    Weiterhin frage ich mich wieso du das ganze nicht einfach aus einer Datenbank liest...

  • die Titel.php aus der alle Informationeneausgelesen werden sieht wie folgt aus:

  • die index.php sieht so aus
    [code=php]
    <html>
    <head>


    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="robots" content="index, follow">
    <meta name="language" content="<?PHP echo $lang; ?>">


    <link rel="shortcut icon" href="favicon.ico">


    <meta http-equiv="Content-Style-Type" content="text/css">
    <link rel="stylesheet" type="text/css" href="STYLE.css">


    <meta name="description" content="<?PHP echo $META[$_GET['site']]['desc'][$lang]; ?>">
    <meta name="keywords" content="<?PHP echo $META[0]['keyw'][$lang]; ?>">


    <?PHP
    // Seitentitel erstellen
    $SEITENTITEL = $TITLE[$_GET['site']][$lang];


    // Sonderfall Titel für Suchvorlage
    if($_GET['site'] == "ssearch"){ $SEITENTITEL = $TITLE['ssearch'][$_GET['sv']][$lang]; }


    // Sonderfall Titel für manuelle Seite
    if($_GET['site'] == "mansite"){ $SEITENTITEL = $TITLE['mansite'][$_GET['pgn']][$lang]; }


    if(strlen($SEITENTITEL) < 5){ $SEITENTITEL = $TITLE[0][$lang]; }
    ?>


    <title><?PHP echo $SEITENTITEL; ?></title>


    </head>
    [PHP]