Für News individueller Titel und Description erzeugen

CMS made simple ist grundsätzlich in der Lage, für Suchmaschinen optimierte URLs auszugeben. Die Feinheiten rund um Pretty URLs & SEO können hier diskutiert werden.
Locked
tbtip

Für News individueller Titel und Description erzeugen

Post by tbtip »

Guten Morgen an alle,

bei mir kommt schon seid längerer Zeit die Frage auf, wie man es im News Modul einrichten kann, das nach dem erzeugen einer News bzw. während des erzeugens, für die Suchmaschinen ein individueller Title und eine individuelle Description angeboten wird.

Nachdem z.B. Google die ganzen vorgeschlagenen Seiten indexiert hat und die News auch mit aufgenommen hat, fällt mir auf, das als Title ( ich spreche von der Meta Title Funktion vom Grundtemplate der Seite ) in der Regel immer ein und der selbe Text enthalten ist. Das gleiche gilt für die Description.

Kann man dafür die Funktion "Extra Felder" verwenden und wie kann ich diese, wahrscheinlich als If Abfrage, in meinen Header bekommen.

Bin nun mal leider nicht der Programmierer  :-[

Als kleine Nebenfrage noch, ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )
cyberman

Re: Für News individueller Titel und Description erzeugen

Post by cyberman »

Als erstes musst du sicherstellen, dass du die Detail-News in einem separaten CMSms-Template aufrufst (Parameter findest du in der Modulhilfe).

Im News-Detail-Template ergänzt du als erste Zeile

Code: Select all

{assign var='detail_title'  value=$entry->title}


Und in deinem für die News-Details festgelegten CMSms-Template ergänzt du im html-Header

Code: Select all

{content assign='captured_content'}
{if isset($detail_title)}
    <title>{$detail_title}</title>
{else}
    <title>{title}</title>
{/if}


Da die News-Details inline angezeigt werden (der content-tag wird durch die News-Details ersetzt), muss der Content geparst werden, damit dir die Variable {$detail_title} zur Verfügung steht.

Und im body kannst du dann {content} durch {$captured_content} ersetzen - damit dieser nicht zwei mal geparst wird.

In ähnlicher Weise kannst du dann die Extra-Felder für die description verwenden. Hier ein Thread, der dir dabei helfen dürfte

http://forum.cmsmadesimple.org/index.ph ... 563.0.html
tbtip

Re: Für News individueller Titel und Description erzeugen

Post by tbtip »

Ok, ich geb auf, ich finde nicht die Antwort für
geparst

Wie geht dies bzw. wie macht man sowas. Ich bin eben kein Programmierer.

Suche jetzt seid Stunden, entweder bin ich blind oder blöd  >:(

Kann mir dies vielleicht einer erklären. Danke schon mal im voraus
NaN

Re: Für News individueller Titel und Description erzeugen

Post by NaN »

Das Wort geparst (engl. to parse = analysieren) ist doch eigentlich irrelevant um das Prinzip zu verstehen.

Du brauchst nur im News-Detail Template eine Zeile einzufügen (oben, am Ende, links, rechts ... völlig wurscht.)

Dann sollst Du ein Template anlegen, welches Du der Seite zuweist, auf der die News-Details angezeigt werden sollen. (Wie man dem News-Modul sagt, dass es Details nicht auf der aktuellen sondern auf einer ganz bestimmten Seite anzeigen soll, siehe Modul Hilfe - einfach nach Parameter "detailpage" suchen)
Dazu brauchst Du nur das normale Seitentemplate kopieren und wie folgt bearbeiten:

Den {content} Tag einfach vor den Title setzen und dabei den Parameter "assign" verwenden. Damit wird der Inhalt nicht ausgegeben sondern einer Variablen zugewiesen.
Diese Variable nutzt Du dann an der Stelle wo vorher der {content} Tag stand.
(Sonst isser ja zweimal da)

Bei den News-Details wird der eigentliche Seiteninhalt durch die Details eines News-Artikels ersetzt. D.h. an dieser Stelle wird anstelle des eigentlichen Seiteninhalts sinngemäß das News Modul mit der Aktion "Details für Artikel XY anzeigen" ausgeführt. Dadurch stehen dem Rest des Templates ab dieser Stelle an der der Seiteninhalt verarbeitet wird bzw. ab der Stelle wo er im Template steht - also alles was im Template nach {content} kommt - alle Variablen des News-Moduls zur Verfügung.

Wenn der {content} Tag also vor dem Title steht, dann kann man im Title logischerweise auch irgendeine Ausgabe des News-Moduls verwenden. Z.B. den Titel des gerade angezeigten News-Artikels. Oder die Kategorie, den Author, Datum ... alles was man so im Head dieser Seite braucht und im News-Detail-Template definiert wurde.
Last edited by NaN on Sun Aug 08, 2010 4:59 pm, edited 1 time in total.
cyberman

Re: Für News individueller Titel und Description erzeugen

Post by cyberman »

tbtip wrote:Ok, ich geb auf, ich finde nicht die Antwort für
geparst

Wie geht dies bzw. wie macht man sowas.


Sorry, manchmal ist man zu sehr im Fachjargon drin  :-\ - Smarty parst die Templates automatisch. Da musst du nix zu tun.

Ansonsten einfach noch mal fragen ...
cyberman

Re: Für News individueller Titel und Description erzeugen

Post by cyberman »

tbtip wrote:ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )


Dann solltest du es vielleicht erst mal testen ... ansonsten müsste man separat was programmieren.
geraldo
Forum Members
Forum Members
Posts: 10
Joined: Fri Dec 12, 2008 10:38 am
Location: Calheta de S. Miguel, Ilha de Santiago, Cabo Verde

Re: Für News individueller Titel und Description erzeugen

Post by geraldo »

tbtip wrote:ist es eigentlich möglich die News auch in die Sitemap.xml mit rein zu bringen? Komme auf diese Frage weil ein anderes Modul diese Möglichkeit anbietet ( habe ich aber ehrlich gesagt noch nicht getestet )

Hallo Wenn Du in Calguys modul SiteMapMadeSimple den nachfolgenden Code einfügst, werden auch die News angezogen. Quelle habe ich mir seinerzeit leider nicht notiert

Code: Select all

{foreach from=$output item='page'}
<url>
  <loc>{$page->url}</loc>
  <lastmod>{$page->date|date_format:"%Y-%m-%d"}</lastmod>
  <priority>{$page->priority}</priority>
  <changefreq>{$page->frequency}</changefreq>
</url>
{/foreach}
tbtip

Re: Für News individueller Titel und Description erzeugen

Post by tbtip »

@geraldo

Danke für deinen Hinweis, aber dies ist ein Auszug aus dem Standard Template vom Modul SiteMapMadeSimple. Jedenfalls steht es so bei mir drin und damit funktioniert es leider nicht.
Aber noch mal Danke für deinen Tip

@cyberman + @NaN

leider bin ich aufgrund Zeitmangel noch nicht dazu gekommen euren Tip umzusetzen. Melde mich ob es so geklappt hat.
tbtip

Re: Für News individueller Titel und Description erzeugen

Post by tbtip »

So heute abend bin ich endlich mal dazu gekommen die Vorschläge anzutesten auf meinem Testsystem.

Leider ohne Erfolg.

Vorab folgende Information:

CMSMS Version 1.8.1
News Version 2.10.6

Habe in Detail Template von News die vorgeschlagene Zeile von cyberman eingefügt, siehe Auszug:

{* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *}
{if isset($entry->canonical)}
  {assign var='canonical' value=$entry->canonical}
{/if}

{assign var='detail_title'  value=$entry->title}


{if $entry->postdate}

{$entry->postdate|cms_date_format}

{/if}
{$entry->title|cms_escape:htmlall}



Habe ein neues Template eingerichtet mit dem Namen "weihnews" und den Vorschlag ebenfalls eingefügt.







{content assign='captured_content'}
{if isset($detail_title)}
    {$detail_title}
{else}
    {title}
{/if}




Danach im Template weihnews auch den {content} ausgetauscht gegen {$captured_content}, siehe Auszug:


     
     

     
     
        {print showbutton=true script=true}
        {title}
        {$captured_content}


       


{anchor anchor='main' text='^ Top'}

       

Danach eine eigene Seite erstellt mit dem menu Namen News und dort folgenden Smarty Tag eingegeben:

{cms_module module='News' pagelimit='100000' sortasc='true' sortby='news_date' detailtemplate='weihnews' moretext='Weiter Lesen...' }

ich habe aber auch andere Varianten schon ausprobiert, z.B.
{news detailpage='weihnews'}
oder
{news deteiltemplate='weihnews'}

nichts funktioniert, es kommt beim anklicken der Detail News kein neues Template aber dafür eine Fehlermeldung

string(74) "Smarty error: unable to read resource: "module_db_tpl:News;detailweihnews""

Grundtemplate ist mit einer Harley und das News Detail Template ist in anlehnung an das Template von der Internetseite http://www.weihnachts-lichter.de

So das man auch einen wirklichen krassen unterschied hat wegen dem testen
Last edited by tbtip on Mon Feb 28, 2011 3:37 pm, edited 1 time in total.
NaN

Re: Für News individueller Titel und Description erzeugen

Post by NaN »

Wie heißt denn das News Detail-Template?
tbtip

Re: Für News individueller Titel und Description erzeugen

Post by tbtip »

@NaN

Das News Detail Template hat die Standard Bezeichnung Sample behalten.

Das derzeitige allgemeine Standard Template vom CMSMS heißt Harley und für die News Seite habe ich weihnews verwendet
NaN

Re: Für News individueller Titel und Description erzeugen

Post by NaN »

tbtip wrote:
Das News Detail Template hat die Standard Bezeichnung Sample behalten.



Dann verstehe ich nicht, wieso Du dem News-Modul sagst, es soll ein News-Detail-Template mit Namen "weihnews" verwenden (detailtemplate='weihnews') .
Wenn das News Detail Template 'weihnews' nicht existiert, dann kommt es zu diesem Fehler.

Detailpage hast Du auch nicht angegeben bzw. hast Du dort den Namen des Seitentemplates eingetragen anstatt des Seitenalias.
owr_bgld

Re: Für News individueller Titel und Description erzeugen

Post by owr_bgld »

Hier gibts einen guten Thread über die Einbindung des Newstitle

http://forum.cmsmadesimple.org/index.ph ... 475.0.html

Für das extra-feld als description würde das analog umzuwandeln sein.

Code: Select all

{assign var='pagedescription'  value=$entry->extra}
wo auch der title "assign'd" wird, also im detailtemplate

und in den globalen Einstellungen / Metatags:
{if isset($pagedescription)}

{else}

{/if}

und als kleiner Tipp: ich würde {content assign='captured_content'} an den Anfang des Templates setzen (also auf jeden Fall noch vor )
tbtip

Re: Für News individueller Titel und Description erzeugen

Post by tbtip »

@owr_web

Danke für den Tip, alleine das setzen von {content assign='captured_content'} vor war der entscheidene Hinweis.

Klar vorher natürlich den Blödsinn den ich gemacht habe mit dem detailpage und detailtemplate gelöscht.

Werde es jetzt noch mal weiter mit der Description probieren und wenn es alles so passt wie es soll werde ich es mal auf meiner www.weihnachts-lichter.de Seite umsetzen und warten was Google daraus macht.
tbtip

Re: Für News individueller Titel und Description erzeugen

Post by tbtip »

So, individuelle News Titel und Description für Suchmaschinenoptimierung ( SEO ) wurde auf das scharfe System übertragen und funtioniert erst einmal. Jetzt muß man abwarten wie Google diese Variante akzeptiert.

Zusammenfassend möchte ich jetzt noch einmal hier auflisten was ich gemacht habe aufgrund der reichhaltigen Tips von Cyberman, NaN und owr_web.

Danke noch einmal auf diesen Wege an alle  :)

1. Ich habe ein neues Extra Feld im News Modul definiert mit der Bezeichnung "description". Achtung dies muß auf öffentlich stehen, weil sonst die Daten später nicht angezeigt werden und darum habe ich unter Punkt 5 auch ein Teil des Standard News Detail Template gelöscht.

2. Standard Layout Template mit dem Theme Manager mit einem neuem Namen exportiert und danach mit diesem neuen Namen importiert ( mit den anderen Möglichkeiten gab es komischerweise leider Probleme )

3. Danach im neuen Template, was zwar aktiv sein muß aber nicht als Standard definiert wird aus dem Head Bereich "{title} - {sitename}" und {metadata} gelöscht.

4. Dafür wurde vor  
{content assign='captured_content'}
eingesetzt, sowie {content} im Body Bereich durch
{$captured_content}
erstezt.

Des weiteren habe ich im Head Bereich folgendes eingetragen als Ersatz für Title und Metadata:

{if isset($detail_title)}
{$detail_title}
{else}
{title}
{/if}



{if isset($detail_title)}

{else}

{/if}

{if isset($pagedescription)}

{else}

{/if}

{if isset($pagedescription)}

{else}

{/if}

........ usw. usw.


5. Danch habe ich ein neues Detail Template für die News erzeugt und den Code folgendermaßen geändert:

{* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *}
{if isset($entry->canonical)}
 {assign var='canonical' value=$entry->canonical}
{/if}

{assign var='detail_title'  value=$entry->title}
{assign var='pagedescription'  value=$entry->description}

{if $entry->postdate}

{$entry->postdate|cms_date_format}

{/if}

{$entry->title|cms_escape:htmlall}






{if $entry->summary}


{eval var=$entry->summary}


{/if}

{if $entry->category}

{$category_label} {$entry->category}

{/if}
{if $entry->author}

{$author_label} {$entry->author}

{/if}


{eval var=$entry->content}


{if $entry->extra}

{$extra_label} {$entry->extra}

{/if}


{if $return_url != ""}

{/if}



6. Jetzt habe ich die vorhandene Inhaltsseite " News aktuell " ( Inhaltstyp ) unter Optionen umgestellt auf das NICHT Standard Layout Template ( in diesem Fall hieß es "weihnews" )

Danach konnte ich unter dem Quellcode die entsprechenden Felder sehen.

Natürlich muß das zusätzliche Extra Feld ( description ) gefüllt werden wenn eine neue News erstellt wird bzw. wenn alte News vorhanden sind, weil sonst permanent als Description in meinem Fall "Weihnachtshäuser | Lichterhäuser | Neuigkeiten auf Weihnachts-Lichter.DE" kommen würde.
Last edited by tbtip on Sat Aug 14, 2010 11:42 am, edited 1 time in total.
Locked

Return to “Suchmaschinenoptimierung (SEO)”