Anzeige

php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten | PSD-Tutorials.de

Erstellt von lyzarr, 13.12.2012.

  1. lyzarr

    lyzarr Noch nicht viel geschrieben

    Dabei seit:
    20.02.2008
    Beiträge:
    42
    Geschlecht:
    männlich
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    Hallo Allerseits!

    Ich habe die Pflege einer bestehenden Website übernommen, welche in php geschrieben ist. Darin bin ich alles andere als fit, aber das Ändern der Inhalte ist selbstverständlich kein Problem.

    Nun ist das erklärte Ziel an der Suchmaschinenoptimierung zu arbeiten, und in diesem Zuge für jede (zumindest aber für die inhaltlich entscheidenden) Seite(n) einen eigenen Satz an keywords, description text und title zu erstellen.

    Das Problem ist nun, daß der gesamte header (inkl. der keywords etc) nur einmal vorhanden ist und so in dieser Form auf jeder Seite per include reingeladen wird.
    Ich kann also in dieser Variante nicht einfach für jede Seite Änderungen daran durchführen.

    Beispielseite:

    PHP:
    1. <?php require('includes/header.php'); ?>
    2. <?php //include("includes/func.inc.php");?>
    3. <div id="main">
    4.     <div class="post postcontent">
    5.   <h1>Einbauk&uuml;chen</h1>
    6. <p>Auf dieser Seite finden Sie zeitnah Infos und Bilder.</p>
    7.  </div><!-- /post postcontent full-width -->
    8. </div>
    9. <!-- SIDEBAR -->
    10. <?php require('includes/sidebar.php'); ?>
    11. <!-- /sidebar -->
    12. <div class="clear"></div>
    13. <?php require('includes/footer.php'); ?>
    header.php:

    PHP:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    2.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head>
    5.  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    6.  <meta name="robots" content="index, follow" />
    7.  <meta name="keywords" content="XXX" />
    8.  <meta name="title" content="XXX" />
    9.  <meta name="author" content="XXX" />
    10.  <meta name="description" content="XXX" />
    11.  <title>XXX</title>
    12.  
    13.  <!-- main stylesheet & favicon -->
    14.  <link rel="icon" type="image/png" href="images/icon/cub.ico" />
    15. [...]
    16.  <!-- /main stylesheet & favicon -->
    17.  
    18. <!-- main javascript -->
    19.  <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
    20. [...]
    21. <!-- /main javascript -->
    22.  
    23. </head>
    24. <body class="dark-wood white">
    25.  <div id="header">
    26.   <div id="header-logo">
    27.    <a href="index.php" title="XXX" rel="home"><img src="images/logo.gif" alt="XXX"  /></a>
    28.   </div><!-- /header-logo -->
    29.   <div id="header-ad">
    30.  
    31. [...]
    Besteht die Möglichkeit so eine Art override zu machen, bei dem in der eigentlichen Seiten-Datei nach dem include (header) eben die gewünschten keywords etc. für diese Seite aufgeführt werden und dann anstelle der in der header.php genannten Angaben übernommen werden?

    Wenn ja, WIE macht man das?

    Falls das so einfach nicht geht, bliebe ja nur noch die Möglichkeit, die gesamte Geschichte (also jede einzelne Datei) soweit umzuprogrammieren, daß eben keywords & Co. wieder grundsätzlich in der jeweiligen Seite.php stehen und nicht mehr ausgelagert sind.
    Ein Tip, oder am liebsten ein konkretes Beispiel, wie ich das dann am schmerzfreiesten umsetzen kann?

    Vielen Dank im Voraus. Gruß,
    Lyzarr
     
    Zuletzt bearbeitet: 13.12.2012
    #1      
  2. Aelfry

    Aelfry Web Developer

    Dabei seit:
    17.02.2007
    Beiträge:
    794
    Geschlecht:
    männlich
    Ort:
    Mönchengladbach
    Software:
    CC, SublimeText, Git, Sass, Gulp
    Kameratyp:
    Canon EOS 60D
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    du könntest versuchen, das mit einer Variablen zu lösen, die die Keywords enthält:

    PHP:
    1. <meta name="keywords" content="<?=$var_keywords?>" />
    und in der jeweiligen Seiten definierst du dann diese Variable

    PHP:
    1. <?
    2. $var_keywords = "keyword1, keyword2, ...";
    3. ?>
     
    #2      
  3. dipo01

    dipo01 Noch nicht viel geschrieben

    Dabei seit:
    15.06.2008
    Beiträge:
    10
    Geschlecht:
    männlich
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    was ich weiß werden die meta tags von keiner einzigen suchmaschine mehr gelesen. das wichtigste und aussagekräftigste sollte der title tag sein und die verwendung von überschriften!
    interessant dazu vielleicht folgender artikel, der besagt, dass die keywords nicht mehr von den suchanbietern durchsucht werden, in einem test jedoch die seite mit metatags vor der seit ohne lag:
    http://www.html-metatags.de/34-die-meta-keywords-ein-seo-mythos-lebt-wieder-auf/

    es liegt daher an dir, ob dir der aufwand wert ist, für jede einzelne seite eigene keywords zu definieren!

    lg
     
    #3      
  4. lyzarr

    lyzarr Noch nicht viel geschrieben

    Dabei seit:
    20.02.2008
    Beiträge:
    42
    Geschlecht:
    männlich
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    Vielen Dank ersteinmal Aelfry!
    Das ist ein interessanter, für mich leicht nachvollziehbarer, Ansatz. Leider erfordert das jedoch die Änderung aller files, da ich ja dann aus der header die keywords komplett rausnehme und auf die Variablen der eigentlichen Inhaltsseite verweise. Wenn da keine angegeben sind...
    Ich würde das natürlich auch für description text und title machen wollen.
    Der Aufwand wäre dann ja weitestgehend gleichauf mit einem generellen Ausklammern der meta-tags aus der header.php, hin zur jeweiligen Inhalts.php. (wie ich das unten nochmals aufgreife)

    Daher wäre so ein override, sprich generell gültige meta-tags sind in der header.php angegeben, lassen sich aber wenn gewünscht für bestimmte Seiten, durch die dort angegebenen meta-tags überschreiben.
    Geht denn sowas garnicht?

    Auch Dir, dipo01, danke für Deinen gut gemeinten Hinweis, und aufschlußreichen link.
    Leider bringt mich das nicht vorwärts, da
    1.) Ich nur der Ausführende bin, sprich wenn ich das umsetzen soll, dann ist das eben so. Und
    2.) geht es ja, wie von mir einleitend geschildert, nicht ausschließlich um keywords, sondern eben auch um description texte und title-tags.

    Ich bin mir gerade der Wichtigkeit der title-tags in Kombination mit den passenden Überschriften und Texten auf der Seite wohl bewußt.

    Für mich wäre es eine riesengroße Hilfe, wenn mir Jemand anhand der oben aufgeführten Beispiele (Beispielseite & header.php) zeigen könnte, wie diese umgeschrieben werden müssen, damit ich eben die gesamten meta-tag Angaben wieder auf jeder einzelnen Inhalts-Seite habe (und gezielt ändern kann), und die header.php dann nur noch den Rest (Navigation) beinhaltet.
    Ich bin eben einfach ein php-noob, und würde gerne wissen, wie ich das fehlerfrei und exakt umsetzen kann. Danke!

    Am liebsten jedoch ein override, wenn irgend umsetzbar... :)

    Viele Grüße,
    Lyzarr
     
    Zuletzt bearbeitet: 13.12.2012
    #4      
  5. Myhar

    Myhar Hat es drauf

    Dabei seit:
    01.11.2007
    Beiträge:
    2.046
    Geschlecht:
    männlich
    Ort:
    Ö
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    Edit: Ja, wenn man einen Link nicht beim ersten mal Lesen als solchen erkennt, dann stellt man solche Fragen ;)

    Das interessiert mich. Kannst du diese Behauptung auch mit einer Quellenangabe belegen?
    Ich kann mir nicht vorstellen, dass sämtliche Suchmaschinen diese Tags ignorieren.
    Edit 2:
    Google zB ignoriert die keywords, allerdings wird zB description sehr wohl verwendet. Die Aussage "die meta tags" werden nicht verwendet, ist also falsch. :)
     
    Zuletzt bearbeitet: 13.12.2012
    #5      
  6. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    Es gibt da mehrere Wege:
    Du könntest vor dem require() auf jeder individuellen Seite eine Variable mit den jeweiligen Stichwörtern festlegen, so wie es Aelfry schon gesagt hatte. In der header.php prüfst du dann mit isset(), ob diese Variable gesetzt ist und wenn nicht gibst du die Standard-Stichwörter aus. So kannst du nach und nach die individuellen Seiten anpassen und zerschiesst nicht die anderen.

    Alternativ könntest du das require() mit ob_start() in einen Puffer stecken, diesen mit ob_get_contents() in einen String speichern und dann den Puffer mit ob_end_clean() beenden. Dann kannst du den String mit Ersetzungsfunktionen bearbeiten, bevor du ihn ausgibst.

    Erstere ist wohl die einfachere Lösung und mir fällt jetzt kein Nachteil gegenüber der zweiten Methode ein.


    Duddle
     
    #6      
  7. Aelfry

    Aelfry Web Developer

    Dabei seit:
    17.02.2007
    Beiträge:
    794
    Geschlecht:
    männlich
    Ort:
    Mönchengladbach
    Software:
    CC, SublimeText, Git, Sass, Gulp
    Kameratyp:
    Canon EOS 60D
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    du kannst deinen override mit meiner Methode doch problemlos umsetzen:
    dazu musst du dann einfach die Variable für die Keywords bereits in der header.php definieren.
    Möchtest du auf einer einzelnen Seite andere keywords haben, gibst du hier der Variable einen neuen Wert.
    Und schon hast du deinen override ;)
     
    #7      
  8. lyzarr

    lyzarr Noch nicht viel geschrieben

    Dabei seit:
    20.02.2008
    Beiträge:
    42
    Geschlecht:
    männlich
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    Ehm,...okay.
    Wie genau mach ich das? Sorry, aber wie schon gesagt, ich steh diesbezüglich da wie die Kuh beim Donnern. :)
    Wärst Du so nett, mir das mal beispielhaft "vorzukauen"?!
    Also quasi die header.php inkl. einem Standard-Satz an meta-tags und eine content.php bei der ein neuer meta-tag-Satz zum Einsatz kommt.

    Vielen Dank im Voraus.

    P.s. @Duddle: Danke - ich nehme an Aelfry's Variante ist doch noch etwas einfacher? Ansonsten wüßte ich Deinen Vorschlag leider auch nicht umzusetzen... :)
     
    #8      
  9. dipo01

    dipo01 Noch nicht viel geschrieben

    Dabei seit:
    15.06.2008
    Beiträge:
    10
    Geschlecht:
    männlich
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    du definierst vor deinem header include deine meta variablen:
    PHP:
    1.  
    2. <?php
    3. $meta_keywords = "eins, zwei, drei, vier";
    4. //... weitere meta variablen
    5. require('includes/header.php');
    6. //include("includes/func.inc.php");?>
    7. <div id="main">
    8.     <div class="post postcontent">
    9.   <h1>Einbauk&uuml;chen</h1>
    10. <p>Auf dieser Seite finden Sie zeitnah Infos und Bilder.</p>
    11.  </div><!-- /post postcontent full-width -->
    12. </div>
    13. <!-- SIDEBAR -->
    14. <?php require('includes/sidebar.php'); ?>
    15. <!-- /sidebar -->
    16. <div class="clear"></div>
    17. <?php require('includes/footer.php'); ?>
    und in der header.php, die du includest lädst du diese variablen rein. hier wieder für die keywords:
    PHP:
    1.  
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    3.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    4. <html xmlns="http://www.w3.org/1999/xhtml">
    5. <head>
    6.  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    7.  <meta name="robots" content="index, follow" />
    8.  <meta name="keywords" content="<?php echo $meta_keywords" />
    9. <meta name="title" content="XXX" />
    10. <meta name="author" content="XXX" />
    11. <meta name="description" content="XXX" />
    12. <title>XXX</title>
    13.  
    zusätzlich kannst du wie Duddle erwähnt hat mit isset() noch überprüfen, ob die variable tatsächlich gesetzt ist und sie sonst gegebenfalls mit einer anderen ersetzen...
     
    #9      
  10. Aelfry

    Aelfry Web Developer

    Dabei seit:
    17.02.2007
    Beiträge:
    794
    Geschlecht:
    männlich
    Ort:
    Mönchengladbach
    Software:
    CC, SublimeText, Git, Sass, Gulp
    Kameratyp:
    Canon EOS 60D
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    ich nenn dir dann nachher noch meinen Stundenlohn, ok? :D

    Beispielseite:
    PHP:
    1. <?php
    2. // neue keywords definieren
    3. $var_keywords = "keyword1, keyword2, keyword3";
    4.  
    5. require('includes/header.php');
    6. ?>
    7. <div id="main">
    8.     <div class="post postcontent">
    9.   <h1>Einbauk&uuml;chen</h1>
    10. <p>Auf dieser Seite finden Sie zeitnah Infos und Bilder.</p>
    11.  </div><!-- /post postcontent full-width -->
    12. </div>
    13. <!-- SIDEBAR -->
    14. <?php require('includes/sidebar.php'); ?>
    15. <!-- /sidebar -->
    16. <div class="clear"></div>
    17. <?php require('includes/footer.php'); ?>
    Header:
    PHP:
    1. <?php
    2. // Keywords, falls auf der Seite keine neuen definiert werden
    3. if (empty($var_keywords))
    4. {
    5.    $var_keywords = "standard1, standard2, standard3";
    6. }
    7. ?>
    8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    9.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    10. <html xmlns="http://www.w3.org/1999/xhtml">
    11. <head>
    12.  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    13.  <meta name="robots" content="index, follow" />
    14.  <meta name="keywords" content="<?php echo $var_keywords; ?>" />
    15.  <meta name="title" content="XXX" />
    16.  <meta name="author" content="XXX" />
    17.  <meta name="description" content="XXX" />
    18.  <title>XXX</title>
     
    #10      
  11. lyzarr

    lyzarr Noch nicht viel geschrieben

    Dabei seit:
    20.02.2008
    Beiträge:
    42
    Geschlecht:
    männlich
    php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten
    AW: php-Website nur 1 header, trotzdem unterschiedliche keywords für einzelne Seiten

    Na klar, is doch nur fair... :D

    Wa-hn-sinn!
    Das klappt hervorragend. Tausend Dank
    Ich bin erstaunt, wie kurz und knackig das ist - wirklich spitze. Du bist mein Held! :)

    Auch Dir, dipo01 und den anderen Hilfsbereiten Usern vielen Dank.

    Viele Grüße,
    Lyzarr
     
    #11      
x
×
×