it-swarm.com.de

entferne rel = next auf der Homepage, aber nicht andere

Bei den meisten neuen Vorlagen für WordPress gibt es ein großes Problem, bei dem Sie Ihre Homepage aufYour Latest Postseinstellen möchten.

Auf diese Weise können viele der großartigen Themenfunktionen ausgeführt werden.

Das Problem dabei ist, dass die Titelseite (auch wenn sie keine Blog-Seite ist) vom WordPress-Kern und auch vom Yoast SEO als ausgelagerte Entität angesehen wird.

Also, was bedeutet das?

Sie haben eine Homepage www.mysite.com, wenn Sie Ihre Seite besuchen und in den angezeigten Quellcode schauenrel="next" href="hxxps://www.mysite.com/page/2/"

Wenn Sie tatsächlich auf diesen/page/2-Link klicken, gelangen Sie direkt zurück zu Ihrer Startseite, außer diesmal, wenn Sie sich den Quellcode ansehen, der jetztrel="prev" href="hxxps://www.mysite.com/"undrel="next" href="hxxps://www.mysite.com/page/3/"

Wenn Sie auf den Link zu/page/3/klicken und den Quellcode noch einmal überprüfen, sehen Sierel="prev" href="hxxps://www.mysite.com/page/2/"undrel="next" href="hxxps://www.mysite.com/page/4/"

Dies geht immer weiter und ist nichts, was ein Endbenutzer jemals sehen wird, aber es ist sehr schlecht für Suchmaschinen, insbesondere für Google, die dies möglicherweise als doppelten Inhalt ansehen.

Ich bin seit einigen Wochen in Support-Gesprächen mit Yoast zu diesem Thema und sie sind fest davon überzeugt, dass es sich um ein Theme-Problem handelt, und geben den Theme-Entwicklern die Schuld, wp_enqueue nicht korrekt zu verwenden. Ich glaube, dass dies größtenteils der Fall ist, aber es bedeutet auch, dass die große Mehrheit der beliebtesten WordPress-Themes dieses Problem hat.

Die einzige Möglichkeit, dies zu umgehen, besteht darin, in den Leseeinstellungen von WordPress einen static page für Ihre Startseite und einen your posts page für Ihre Posts-Seite festzulegen. Ganz einfach, aber Sie verlieren die Funktionalität einer wirklich tollen Vorlage, für die Sie gerade eine Woche lang Customizing betrieben oder sogar gutes Geld bezahlt haben.

Das mag zwar eine Lösung sein, ist aber nicht wirklich eine Lösung, und die meisten Theme-Entwickler wissen anscheinend nicht, wie sie das umgehen sollen.

Ich hatte dieses Problem mit meinem früheren Thema Tempera, ich habe zu ein paar neuen Themen von GraphPaperPress gewechselt und dann auch eines der beliebtesten Themen Zerif ausprobiert, und alle haben dieses Problem.

Ich habe alle möglichen Code-Schnipsel in functions.php ausprobiert und ich kann die rel = next und rel = prev nicht auf der Titelseite anzeigen lassen, aber dann funktioniert es auch nicht auf jeder anderen Seite wie der/blog/page, auf der dies der Fall ist Sie möchten diese Meta-Links und auch alle Kategorieseiten, die auch die Links rel = next und rel = prev benötigen, um Suchmaschinen anzuweisen, weiter zu crawlen.

Ich kann auf eine statische Startseite wechseln und eine anständige Startseite erhalten, ähnlich der dynamischen Startseite des Themas, aber es geht so viel Funktionalität verloren und es ist ziemlich deprimierend, sich mit weniger zufrieden zu geben, insbesondere mit all den wunderbaren Ajaxies und Parallaxe Dinge, die heute verfügbar sind.

Gibt es eigentlich eine einfache Funktion, die es nur von der Homepage entfernt, aber auf Seiten wie/blog// category1// category2/erscheinen lässt?

Hier sind einige, die ich ausprobiert habe, aber ich verstehe die bedingten Aussagen nicht richtig oder mache etwas anderes falsch, aber es ist zu lange her, dies jetzt zu diagnostizieren, und ich denke, ich verliere mit Sicherheit den Verstand.

function wpseo_disable_rel_next_home( $link ) {
  if ( is_home() ) {
    return false;
  }
}
add_filter( 'wpseo_next_rel_link', 'wpseo_disable_rel_next_home' );

und

function genesis () {
if ( !is_home() || !function_exists( 'genesis' ) )
            $this->adjacent_rel_links();
}

und

if ( is_front_page() && is_home() )
{
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action(‘wp_head’, ‘cor_rel_next_prev_pagination’);
}

Hoffe, jemand kann dieses Rätsel lösen. Jeder, der dies ausprobieren möchte, kann das Zerif-Theme herunterladen und sicherstellen, dass auch Yoast installiert ist. Verwenden Sie ihr dynamisches Front-Page-System und erstellen Sie dann eine Blog-Seite für eine separate Blog-Listingseite.

1
MitchellK

Hier ist die Antwort:

function bg_disable_front_page_wpseo_next_rel_link( $link ) {
    if ( is_front_page() ) {
        return false;
    }

    return $link;
}
add_filter( 'wpseo_next_rel_link', 'bg_disable_front_page_wpseo_next_rel_link' );

Sie müssen den $ -Link zurückgeben, wenn Sie nichts zurückgeben, wird er für jede einzelne Seite deaktiviert ...

2
NiteRaven

Ich sehe, du hast es schon mit wpseo_next_rel_link versucht, kannst es damit noch einmal versuchen.

function wpseo_disable_rel_next_hom () {
  if ( is_home() || is_front_page() ) {
    return '';
  }
}
add_filter('wpseo_next_rel_link', 'wpseo_disable_rel_next_hom');

Und eine weitere Sache, wie ich weiß, ist nicht Yoast SEO Plugin Problem. Sie können es mit dem WordPress-Standarddesign versuchen und dann werden Sie die verschiedenen sehen.

0
Mohammad Limon