Auf 'Tag' und 'Category' Seiten die Description als Meta Description ausgeben

  • Guten Tag,

    Bei Artikeln und Seiten gebe ich den "Auszug" (excerpt) als Meta description aus. Damit Suchmaschienen meine Zusammenfassung in den Serps anzeigen kann. Dies erledige ich in der Header.php mit folgendem Code

    PHP
    <meta name="description" content="<?php echo strip_tags(get_the_excerpt()); ?>" />

    Auf den automatisch generierten "seiten" also den Tag und Category-Übersichts-Seiten (http://www.domain.xyz/tag/schlagwort) wird mit meiner Lösung allerdings die Zusammenfassung des aktuelsten Artikels in den Suchergebnissen der Suchmaschienen angezeigt. Was ich nicht möchte.

    Da man in Wordpress ja ebenfalls für die Tag's und Categoryeine Beschreibung eingeben kann, würde ich diese gerne auf diesen Seiten angezeigt bekommen. Denn so komme ich ohne Plugin aus.

    Ich denke, ich bräuchte also eine Abfrage:
    Wenn es eine Beitrags oder normale Seite ist dann verwende den vorhanden Code, wenn es eine Tag oder Category Seite ist dann zeige den <?php echo tag_description(); ?> bzw den Category_description.

    Gehe ich da richtig vor? und wie müsste die gesammte php version lauten. Meine Php kenntnisse sind nicht ausreichend um so etwas zu schrieben.

    Vielen Dank für Deine Hilfe.

    Danke für die Hilfe.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • jetzt noch links rausfiltern

    Danke, das hat mir sehr geholfen.

    Ich bin zu der Lösung gekommen:

    PHP
    <?php if( is_tag()  ): ?>
    <meta name="description" content="<?php echo tag_description(); ?>" />
    <?php elseif : ?>
    <?php if( is_category()  ): ?>
    <meta name="description" content="<?php echo category_description(); ?>" />
    <?php else : ?>
    <meta name="description" content="<?php echo strip_tags(get_the_excerpt()); ?>" />
    <?php endif; ?>

    Das Problem ist nur, dass ich in den category_description auch noch links habe (also <a href= ...) was dann auch in den Meta angaben stehen würde. Gibt es eine Methode diesen html code rauszufiltern?

    Danke für die Hilfe.

  • Schau Dir mal wp_kses im Codex an.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!