Antworten auf deine Fragen:
Neues Thema erstellen

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

lyzarr

Noch nicht viel geschrieben

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:
<?php require('includes/header.php'); ?>
<?php //include("includes/func.inc.php");?>
<div id="main">
    <div class="post postcontent">
  <h1>Einbauk&uuml;chen</h1>
<p>Auf dieser Seite finden Sie zeitnah Infos und Bilder.</p>
 </div><!-- /post postcontent full-width -->
</div>
<!-- SIDEBAR -->
<?php require('includes/sidebar.php'); ?>
<!-- /sidebar --> 
<div class="clear"></div>
<?php require('includes/footer.php'); ?>

header.php:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <meta name="robots" content="index, follow" />
 <meta name="keywords" content="XXX" />
 <meta name="title" content="XXX" />
 <meta name="author" content="XXX" />
 <meta name="description" content="XXX" />
 <title>XXX</title>
 
 <!-- main stylesheet & favicon -->
 <link rel="icon" type="image/png" href="images/icon/cub.ico" />
[...] 
 <!-- /main stylesheet & favicon -->
 
<!-- main javascript -->
 <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
[...]
<!-- /main javascript -->
 
</head>
<body class="dark-wood white">
 <div id="header">
  <div id="header-logo">
   <a href="index.php" title="XXX" rel="home"><img src="images/logo.gif" alt="XXX"  /></a>
  </div><!-- /header-logo -->
  <div id="header-ad">
 
[...]

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:

Aelfry

Web Developer

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

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?
du könntest versuchen, das mit einer Variablen zu lösen, die die Keywords enthält:

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

PHP:
<?
$var_keywords = "keyword1, keyword2, ...";
?>
 

dipo01

Noch nicht viel geschrieben

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:


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

lg
 

lyzarr

Noch nicht viel geschrieben

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:

Myhar

Hat es drauf

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.

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:

Duddle

Posting-Frequenz: 14µHz

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
 

Aelfry

Web Developer

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?
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 ;)
 

lyzarr

Noch nicht viel geschrieben

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

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 ;)

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... :)
 

dipo01

Noch nicht viel geschrieben

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

du definierst vor deinem header include deine meta variablen:
PHP:
<?php
$meta_keywords = "eins, zwei, drei, vier";
//... weitere meta variablen
require('includes/header.php');
//include("includes/func.inc.php");?>
<div id="main">
    <div class="post postcontent">
  <h1>Einbauk&uuml;chen</h1>
<p>Auf dieser Seite finden Sie zeitnah Infos und Bilder.</p>
 </div><!-- /post postcontent full-width -->
</div>
<!-- SIDEBAR -->
<?php require('includes/sidebar.php'); ?>
<!-- /sidebar --> 
<div class="clear"></div>
<?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:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <meta name="robots" content="index, follow" />
 <meta name="keywords" content="<?php echo $meta_keywords" />
 <meta name="title" content="XXX" />
 <meta name="author" content="XXX" />
 <meta name="description" content="XXX" />
 <title>XXX</title>

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...
 

Aelfry

Web Developer

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

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.
ich nenn dir dann nachher noch meinen Stundenlohn, ok? :D

Beispielseite:
PHP:
<?php 
// neue keywords definieren
$var_keywords = "keyword1, keyword2, keyword3";

require('includes/header.php');
?>
<div id="main">
    <div class="post postcontent">
  <h1>Einbauk&uuml;chen</h1>
<p>Auf dieser Seite finden Sie zeitnah Infos und Bilder.</p>
 </div><!-- /post postcontent full-width -->
</div>
<!-- SIDEBAR -->
<?php require('includes/sidebar.php'); ?>
<!-- /sidebar --> 
<div class="clear"></div>
<?php require('includes/footer.php'); ?>

Header:
PHP:
<?php
// Keywords, falls auf der Seite keine neuen definiert werden
if (empty($var_keywords))
{
   $var_keywords = "standard1, standard2, standard3";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <meta name="robots" content="index, follow" />
 <meta name="keywords" content="<?php echo $var_keywords; ?>" />
 <meta name="title" content="XXX" />
 <meta name="author" content="XXX" />
 <meta name="description" content="XXX" />
 <title>XXX</title>
 

lyzarr

Noch nicht viel geschrieben

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

ich nenn dir dann nachher noch meinen Stundenlohn, ok? :D
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
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben