Ankündigung

Einklappen
Keine Ankündigung bisher.

HTML-Header und Suchmaschinen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • HTML-Header und Suchmaschinen

    Hallo

    Nachdem man mir in dankenswerter Weise bereits einmal und noch dazu sehr rasch geholfen hat, erdreiste ich mich, wieder mit einer Frage zu erscheinen.

    Zunächst: Ich bastle an einer Webseite, bei der ich die gleichbleibenden Teile jeder Seite in eigene Dateien schreibe und diese mit include() einbette. Das sieht dann so aus:

    Der Anfang von index.php:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/transitional.dtd">

    <?php
    include("header.htm");
    ?>

    <h1>Startseite</h1>
    <p>Hier folgt Text...
    ...


    Und die Datei header.htm sieht so aus:

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; CHARSET=ISO-8859-1">
    <meta name="keywords" lang="DE" content="Hier stehen Stichwörter für Suchmaschinen">
    <meta name="description" content="Hier steht der Inhalt in knappen Worten">
    <meta name="robots" content="all">
    <meta name="author" content="shoobodoo">
    <link href="styles75.css" rel="stylesheet" type="text/css">
    <title>Hier steht der Text für die Titelleiste</title>
    <base target="_self">
    <script type="text/javascript">
    <!--
    if(top!=self)
    top.location=self.location;
    //-->
    </script>
    </head>
    <body>
    <a name="oben">


    Meine Absicht ist es, den stets gleichbleibenden Head (also alles was zwischen <head> und </head> steht und ein bisschen mehr) nur einmal zu schreiben und nicht immer wieder aufs neue für jede Unterseite.
    Der Nachteil, den ich allerdings sehe: Suchmaschinen könnten die Datei header.htm als Ergebnis liefern, was natürlich nicht erwünscht wäre.

    Liege ich da falsch oder wäre es besser, den Code zumindest bis zu <meta name="description"... stets in die eigentliche HTML-Seite zu schreiben?

  • #2
    Hallo shoobidoo,

    als erstes möchte ich Dir etwas zu der Benennung von Include-Dateien schreiben:
    Für die Include-Dateien hat sich die Endung „*.inc.php“ als Standard durchgesetzt. In deinem Beispiel heißt die Datei „header.inc.php“ Durch die Bezeichnung „inc“ weißt jeder auch noch in Jahren, dass es eine Include-Datei ist und durch die Endung „php“ wird inhaltender php-Code in jedem Fall geparst. Dann würde ich alle inc-Dateien in einem Ordner legen und diesen in der robots.txt für Suchmaschinen ausschließen. Da deine inc-Dateien weder extern noch intern verlinkt werden, können sie von den Suchmaschinen kaum gefunden werden.

    Wenn ich den Header per include laden, dann habe ich in jeder Datei davor Variablen mit individuellen werden für jede Datei stehen.

    Beispiel für eine html-Datei:
    PHP-Code:
      <?php
      $strTitle 
    "Title der Seite";
      
    $strKeywords "hier, nun, deine, keywords";
      
    $strDescription "und ist platz für die seitenbeschreibung.";
      
    $strCSSPfad "css/style.css";
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ...
    Beispiel für die inc-Datei:
    PHP-Code:
        <title><? echo $strTitle; ?></title>
        <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
        <meta name="keywords" lang="de" content="<? echo $strKeywords; ?>">
        <meta name="description" lang="de" content="<? echo $strDescription; ?>">
        <meta name="Language" CONTENT="DE">
        <meta http-equiv="Content-Language" content="de">
        <meta name="robots" content="index,follow">
        <link rel="stylesheet" href="<? echo $strCSSPfad; ?>" type="text/css">
    Ich hoffe, ich konnte Dir alle Fragen beantworten.

    so long dudi

    Kommentar


    • #3
      Genau, für Jede Seite sollten Sachen wie Keywords, Description und Title individuell gestaltet werden. Sonst kannst du dir den Spass auch sparen

      Kommentar


      • #4
        Wenn du nicht willst das include-Dateien direkt aufgerufen werden können, hier ein Vorschlag:

        index.php:

        PHP-Code:
        // ...
        define("INDEX_LOADED",true);
        include(
        "head.inc.php");
        // ... 
        head.inc.php:
        PHP-Code:
        if(defined("INDEX_LOADED") && INDEX_LOADED == true)
        {
          
        // ... hier der Inhalt ...

        Kommentar


        • #5
          Etwas einfacher wäre es wenn du einfach in der head.inc.php folgendes schreibst, so sparrst du dir ansich den ganzen restlichen Code einzurücken etc.

          PHP-Code:
          <?php
          if (!defined('INDEX_LOADED') {
              die(
          'no access');
          }

          // hier kann dann der rest stehen :)

          Kommentar

          Lädt...
          X