Vor- und Nachteile der Hash-Navigation aus SEO-Sicht

15

Ich arbeite an einer Anwendung, die die Navigation basierend auf Hash-Change-Ereignissen implementiert. Inhalt wird meistens durch Ajax-Aufrufe nach Hash-Änderungen geladen (und durch DOM-Injektionen angezeigt).

Sind Suchmaschinen aus SEO-Sicht in der Lage, diesen injizierten Inhalt zu indizieren?
Können Suchmaschinen meinen Hash-Links folgen (ex href = "# page = 1")?

Wenn nicht - gibt es außer statischen Inhalten auf meinen Seiten auch noch Problemumgehungen, nur aus SEO-Gründen?

Danke

Ich habe einige ähnliche Themen auf SO gefunden, aber keine befriedigenden Antworten gefunden. Verzeihen Sie mir, dass ich noch einmal nachfrage.


quelle

Antworten:

2

können Suchmaschinen diesen injizierten Inhalt indizieren?

Ans - Ja & Nein.

Nein: Wenn Sie den Inhalt nur durch Ändern des Hashtags einfügen , kann der Crawler den Inhalt nicht indizieren. Diese normalen Hashtags waren für die gleiche Seitennavigation gedacht (lange vor dem Aufkommen von AJAX) und nicht für die Änderung des Seitenstatus. Um zu verhindern, dass dieselben Seiten mehrmals neu indiziert werden, wurden die Crawler absichtlich so programmiert, dass sie nach dem Hashtag in der URL alles ignorieren.

Ja, Sie haben zwei Umgehungsmöglichkeiten:

In Bezug auf SEO funktionieren beide Workarounds / Lösungen bei korrekter Implementierung gleich gut. Aber welcher der beiden ist besser, abgesehen von SEO ist eine andere Diskussion .

Anchit
quelle
0

Um die Antwort von legoscia ( /programming//a/11582278/1518423 ) zu vervollständigen , können Sie eine Headless-Browser-Bibliothek auf der Serverseite verwenden, um dem Google Bot statisches HTML zu geben.

Da Sie Ajax stark nutzen, scheint Ihnen Javascript zu gefallen. Daher ist hier ein Javascript-Browser ohne Kopf, der von node.js aus verwendet werden kann: http://zombie.labnotes.org/

Hoffe das funktioniert für dich, viel Spaß!

Gemeinschaft
quelle
0

Während es Suchmaschinen gibt, die das Crawlen von Ajax-Inhalten unterstützen, sind herkömmliche URLs und statische Seiteninhalte für die Sichtbarkeit in Suchmaschinen noch zuverlässiger.

Wenn ein erheblicher (großer) Teil einer Seite neu geladen werden muss, ist es normalerweise wünschenswert, dass Ajax-Inhalt gecrawlt werden kann. In solchen Fällen wäre eine Umleitung jedoch normalerweise eine praktikable (aber unerwünschte) Alternative.

Ich würde vorschlagen, die Seite anfangs so zu codieren, dass sie umgeleitet wird, wenn große / signifikante Teile der Seite neu geladen werden müssen ( Schritt 1 ). Das heißt, wir sind eher ein Anker mit einer traditionellen URL <a href="/webmasters//page/1">(oder etwas ähnlichem) als <a href="#page=1">.

Schreiben Sie anschließend Javascript (jQuery) auf, um die Umleitung abzufangen, und verwenden Sie Ajax, um den Teil der Seite neu zu laden, der sich ändern würde, wenn die Seite umgeleitet würde ( Schritt 2 ).

<a id="page1" href="/page/1">Page 1</a>
<script>
    $("#page1").click(function () {

        /*
         * Perform ajax here to replace a portion of the page.
         */

        return false;    // prevent redirection
    });
</script>

Der erste Schritt führt zu Webseiten mit statischem Inhalt und herkömmlichen URLs, die auch ohne Javascript funktionieren, während der zweite Schritt die Webseite dynamisch macht (statischen Inhalt vermeidet).

Zar
quelle