Meta-Daten und dynamische Seitentitel

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche

In diesem Artikel erfahren Sie, wie man DynPG dazu benutzt einer Webseite eine bessere Tauglichkeit für Suchmaschinen zu verschaffen. Dies geschieht, indem der HTML-Title und die Meta-Keywords der Webseite von DynPG automatisiert erzeugt werden. So erstellte Websites werden bei Google trotz kritischen Zeichen in der URL wie ? oder & sehr gut indexiert! Auch wird bei von DynPG erstellten Webseiten der Titel mit in die URL übernommen, was das Ranking in Suchmaschinen verbessert.

Hierzu müssen Sie nun im Kopf der PHP-Seite, die Ihren Inhalt anzeigt, folgende Änderungen im oberen Bereich des Codes durchführen:

<title>
  <?php include("inc/meta_title.php"); ?> (und allenfalls eine manuelle Ergänzung...)
</title>
<meta name="keywords" content=" <?php include("inc/meta_keywords.php"); ?> (und allenfalls manuell eingegebene Schlüsselwörter, welche auf allen Seiten erscheinen sollen" />

Nun benötigen Sie noch die Dateien aus folgender ZIP-Datei: Suchmaschine.zip

  • das tpl-Verzeichnis entpacken Sie in Ihr DynPG-Hauptverzeichnis (dort befindet sich auch schon ein tpl-Ordner!)
  • das inc-Verzeichnis entpacken Sie in dasselbe Verzeichnis in dem die PHP-Datei liegt, die Sie mit obigen Code ergänzt haben

DynPG schreibt nun automatisch die Artikel-Titel, die im Backend eingegeben wurden, in die ausgegebene HTML-Datei. Ebenso geschieht dies mit den Keywords, diese werden im Backend bei den Artikeln im Feld Suchindizies mit Leerzeichen ohne Kommata eingegeben.

Inhalt der ZIP-Datei

Zur Information hier noch der Inhalt der ZIP-Datei:

  • enthält in obigem Code eingebundene PHP-Dateien inc/meta_keywords.php und inc/meta_title.php
inc/meta_keywords.php
<?php
  $GLOBALS["DynPG"]->setupTemplate('meta');
  $GLOBALS["DynPG"]->SetParam_AG_Anytime(FALSE);
  $GLOBALS["DynPG"]->SetParam_AG_ForceNav(FALSE);
  $GLOBALS["DynPG"]->SetParam_AG_Order( Array( 'INDEX' ) );
  $GLOBALS["DynPG"]->SetParam_AG_Sort( Array( 'ASC' ) );
  $GLOBALS["DynPG"]->Write_AllGroups();
 
  $GLOBALS["DynPG"]->SetParam_AA_Anytime(FALSE);
  $GLOBALS["DynPG"]->SetParam_AA_Order( Array( 'date_from' ) );
  $GLOBALS["DynPG"]->SetParam_AA_Sort( Array( 'DESC' ) );
  $GLOBALS["DynPG"]->SetParam_AA_Maxview(10);
  $GLOBALS["DynPG"]->SetParam_AA_ForceNav(FALSE);
  $GLOBALS["DynPG"]->SetParam_AA_CategoryNavigation(FALSE);
  $GLOBALS["DynPG"]->Write_AllArticles();
 
  $GLOBALS["DynPG"]->SetParam_A_Anytime(FALSE);
  $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(FALSE);
  $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(FALSE);
  $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(FALSE);
  $GLOBALS["DynPG"]->Write_Article();
 
  $GLOBALS["DynPG"]->SetupTemplate('default');
?>
inc/meta_title.php
<?php
  $GLOBALS["DynPG"]->setupTemplate('title');
  $GLOBALS["DynPG"]->SetParam_AG_Anytime(FALSE);
  $GLOBALS["DynPG"]->SetParam_AG_ForceNav(FALSE);
  $GLOBALS["DynPG"]->SetParam_AG_Order( Array( 'INDEX' ) );
  $GLOBALS["DynPG"]->SetParam_AG_Sort( Array( 'ASC' ) );
  $GLOBALS["DynPG"]->Write_AllGroups();
 
  $GLOBALS["DynPG"]->SetParam_AA_Anytime(FALSE);
  $GLOBALS["DynPG"]->SetParam_AA_Order( Array( 'date_from' ) );
  $GLOBALS["DynPG"]->SetParam_AA_Sort( Array( 'DESC' ) );
  $GLOBALS["DynPG"]->SetParam_AA_Maxview(10);
  $GLOBALS["DynPG"]->SetParam_AA_ForceNav(FALSE);
  $GLOBALS["DynPG"]->SetParam_AA_CategoryNavigation(FALSE);
  $GLOBALS["DynPG"]->Write_AllArticles();
 
  $GLOBALS["DynPG"]->SetParam_A_Anytime(FALSE);
  $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(FALSE);
  $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(FALSE);
  $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(FALSE);
  $GLOBALS["DynPG"]->Write_Article();
 
  $GLOBALS["DynPG"]->SetupTemplate('default');
?>
  • enthält Templates für den Titel (tpl/MyCMS/title/*.tpl) und die Keywords (tpl/MyCMS/meta/*.tpl)
tpl/MyCMS/title/articles.tpl
<!-- RepeatedListBegin name="listing" -->{$# {$LIST_INDEX} == 1#}{$GROUP_NAME}{$# End #}<!-- RepeatedListFinish -->
tpl/MyCMS/title/detail.tpl
{$TITLE}
tpl/MyCMS/title/groups.tpl
{$GROUP_NAME}
tpl/MyCMS/meta/articles.tpl
<!-- RepeatedListBegin name="listing" -->{$# {$LIST_INDEX} == 1#}{$GROUP_NAME}{$# End #}<!-- RepeatedListFinish -->
tpl/MyCMS/meta/detail.tpl
{$SEARCHKEYS}
tpl/MyCMS/meta/groups.tpl
{$GROUP_NAME}

Siehe auch