Dynamische Metatags

Carrear

Erfahrenes Mitglied
Hi Leute,

dynamische Metatags dürfte ja jedem was sagen. Habe gesucht um mir verschiedene Anregungen zu holen. Habe nur ein einigermaßen vertretbares Script gefunden, das die Metatags aus der URL holt, aber das finde ich noch nicht so optimal.

Ich weiß nicht ob hier jedem das Wort Keyword Density was sagt? Das ist die sogenannte Keyworddichte. Ich habe an ein Script gedacht, das automatisch den Inhalt eines bestimmten div Layers ausliest (Layerbestimmung über die id) und die keywords darin mit der besten density raussucht (2 - 3 % Also die Anzahl des Keywords sollte zwischen 2 - 3 % der Gesamtwortzahl ausmachen). Außerdem sollten bestimmte Wörter von dieser Suche ausgeschlossen werden können (Füllwörter wie z.B. "der" "und" usw), wohl am sinnvollsten über eine Blacklist. An sich würde ich es sicherlich umsetzen können. Problem ist nur, dass die Keywords ja oben in der Seite bestimmt werden müssen und der div Layer in dem die Wörter gesucht werden müssten ist weiter unten im body Tag. Hat jemand eine spontane Idee, wie man diese Problematik lösen könnte?
Achso eins sollte das Script auch noch können: Bestimmte Seiten von diesem CatchKeywords Verfahren ausschließen und ihr Standartkeywords zuweisen.

Gruß
Carrear

PS: Die Anzahl der Wörter die am Ende auch tatsächlich benutzt werden, nachdem das Script eine Rangliste der ganzen Wörter mit der jeweiligen Density erstellt hat solle über eine Variable begrenzbar sein.
 
Du kannst die Ausgabepufferung dazu benutzen.
Schau dir hier (http://at.php.net/ob_start) das 1te Beispiel an, dann wird denk ich alles klar.

Ich stell mir das mit dem keywords suchen aber ziemlich rechenintensiv vor. Willst du das nur 1mal machen und nachher irgendwie cachen oder bei jedem Aufruf neu?
 
Humm das ist eigentlich eine gute Frage. Meinst du es ist soo Rechenintensiv? Also ich meine die PCs heutzutage bekommen 3D Grafiken in Echtzeit hin :D Man müsste es ausprobieren. Denn gerade durch dieses Script wollte ich mir ja die Arbeit ersparen zum einen die ganzen schon vorhandenen Seiten irgendwie mit Metatags zu versehen und zum anderen auch die zukünftig erstellten Seiten damit zu versehen, zumal sich der Inhalt mancher Seiten (der Startseite z.B. aus dem immer je ein Preview des neuesten Berichtes aus 4 Kategorien gezeigt wird) ja auch oft ändert. Aber der User soll dadurch natürlich nicht stundenlang warten müssen.

Gruß
Carrear
 
Ich muss noch dazu sagen, dass ich das Problem nicht hätte,wenn jede meiner Seiten einen eigenen HTTP-Head versenden würde, aber ich erstelle meine Seite ja via Include, dass heißt nur der Inhalt des BodyTags wird neu geladen und das Gerüst inklusive Head bleibt immer gleich.

Gruß
Carrear
 
Ich schlage dir folgendes Vorgehen vor:
  • puffere die Ausgabe zwischen
  • suche den Anfang des entsprechenden div-Elements (preg_match())
  • zähle die Anzahl der danach vorkommenden öffnenden sowie schließenden div-Tags um die Position des richtigen schließenden div-Tags und damit den kompletten Inhalt dieses Elements zu bekommen
  • filtere die im Element enthaltenen Tags raus (strip_tags())
  • zerlege den Inhalt in Wörter (preg_split() auf Leerzeichen, Satzzeichen etc. anwenden)
  • bestimme die Anzahl der Vorkommen der einzelnen Wörter (array_count_values())
  • filtere die Wörter der Schwarzen Liste heraus
… und schon hast du deine Liste.
 
Wow :D ich wünschte das käme bei mir auch so zack zack. Ich habe mir aber heute überlegt es doch nicht so zu machen. Aber trotzdem sollen es noch dynamische Metatags sein. Ich werde die Metatags in der includierten Datei (die im Body includiert wird) einfach einer Variable zuordnen. Aber das mit dieser Bufferung verstehe ich ehrlich gesagt noch nicht. Denn die Problematik wäre ja wieder das gleich: Die zu benutzenden Metatags würden sich im Body wiederfinden und somit wäre der HTTP Head schon weg samt MetaTags. Gibt es vielleicht irgendwo ein tutorial oder ein kleines Beispiel für diese Bufferung?

Gruß und Dank
Carrear
 
Wenn du den content sowiso includest kannst du ihn ganz am Anfang deiner Seite in eine Variable einlesen, dann das machen wie es gumbo geschrieben hat, und nachher im body tag die Variable ausgeben.
 
Wie kann man denn den Inhalt einer ganzen Datei in eine Variable einlesen? Sowas habe ich noch nie gemacht :-(
 
hi Leute,

habe jetzt folgendes:

PHP:
<?php
include './include/connect.inc.php';
        if (!isset($_GET["site"])) {
            $_GET["site"] = "index";
            }
        if (file_exists("./include/".$_GET["site"].".inc.php")) {
             $datei = 'http://www.policy-broker.de/include/'.$_GET['site'].'.inc.php';
             $verbindung = fopen($datei, 'r');
             $inhalt = fread($verbindung, filesize($datei);
      fclose($verbindung);
            }
        else {
            
            }
?>


Also die Datei wird jeweils schonmal geöffnet, der Inhalt eingelesen und wieder geschlossen. Ich wollte dann in der jeweiligen Datei einfach ganz oben diese Zeile erstellen: <?php $metakey= "xxx, xxx, xxxx, fff, dd"; $metatitel= "Irgendeintitel"; $metadescription="BLa bla labla" ?>

Das alles kommt in die Erste Zeile. Wie kann ich denn jetzt diese Geschichte auslesen
bzw. die Inhalte dieser Variabeln in der oben beschriebenen index.php aus der Variable $inhalt auslesen?

Gruß
Carrear
 
Zuletzt bearbeitet:
Zurück