Benutzerdefinierte Route wird im Crawler-View nicht indexiert/angezeigt

Fortsetzung von: Creating Routes in Discourse and Showing Data

Entschuldigung für das Wiederbeleben dieses Threads, aber dies scheint der richtige Ort zu sein, um zu fragen…
Nachdem ich diesem und anderen Tutorials zum Erstellen einer Route und zum Anzeigen von Daten gefolgt bin

Ich habe dies für eine Nicht-Admin-Seite /snack repliziert, und es funktioniert und zeigt meine Daten perfekt an!
Es sieht also ungefähr so aus:

...\u003c/header\u003e

\u003ch1\u003edonut\u003c/h1\u003e

\u003chr\u003e

\u003cp\u003elecker!\u003c/p\u003e

\u003cfooter\u003e...\n```

Aber mir ist gerade aufgefallen, dass diese Seite nirgendwo indiziert, gecrawlt, in Sitemap aufgenommen, für SEO optimiert usw. wird, und anscheinend liegt das daran, dass Discourse-Seiten Nicht-JS-Versionen haben, die für Crawler gedacht sind...

Also... nachdem ich dem obigen Tutorial gefolgt bin, **wo geht es von hier aus weiter**, um dieselben Daten in einer "Crawler-Ansicht", einer Nicht-JS-Version dieser Seite anzuzeigen?

Im Moment sieht die Nicht-JS-Version so aus:
![image|570x244](upload://wRMiDckoPB1tfwBvGNR2J05z9U2.png)

…\u003c/header\u003e

leer

\u003cfooter\u003e…\n```

Dort steht “leer” mit tatsächlichem Text… das liegt daran, dass es standardmäßig empty.html.erb lädt, oder? Wie kann ich es dazu bringen, stattdessen unser { name: "donut", description: "delicious!" } anzuzeigen? :slight_smile:
Ich habe einiges aus Google ausprobiert, aber nichts Nützliches gefunden…
Sachen wie… respond_to do… und format.html… und format.json…
Und verschiedene Arten von render plain, text, html…
Nichts…

:frowning:

Vielleicht eine separate .html.erb-Vorlage für die Nicht-JS-Ansicht?
Wie soll sie heißen? Wo soll sie platziert werden? Wie bekomme ich { name: "donut", description: "delicious!" } dorthin?

:frowning:

Hilfe :grinning:

Ich weiß es nicht. Aber du brauchst definitiv eine Nicht-JS-Vorlage. Was passiert, wenn du die Seite mit ausgeschaltetem JavaScript besuchst?

1 „Gefällt mir“

Es zeigt die übliche Nicht-JS-Seite… Header… Footer…

Aber das ist wie erwartet, da jedes Tutorial nur behandelt, wie man JSON-Daten an eine Ember-Vorlage übergibt…

1 „Gefällt mir“

JavaScript-only Seiten werden anscheinend nicht gecrawlt.

Vielleicht möchten Sie sich etwas ansehen, woran ich gearbeitet habe:

1 „Gefällt mir“

Warum zeigst du mir das? ^^
Ich habe nach dem Tutorial Erstellen von Routen in Discourse und Anzeigen von Daten gefragt…
Ich habe es befolgt
Ich habe eine Route
Ich habe Daten: { name: "donut", description: "delicious!" }
Die Route liest JSON und zeigt diese Daten an

Wie bekomme ich dieselben Daten auf die Crawler-Seite?

Wie hilft mir eine andere Version des Static Page Plugins dabei? ^^ Es gibt eine Reihe von Static Page Plugins, meist tot und verlassen. Also… juhu… noch eins…
Ich habe ein Thema mit derselben Frage gefunden, How to transfer data from plugin to app/views templates?
Und niemand hat ihm auch geholfen ^^
Und es scheint, dass die Lösung des Typen darin bestand, die Verwendung von Discourse einzustellen ^^

Ist das die einzige “echte” Lösung? :slight_smile:

Es ist ein Plugin für Discourse, das letztendlich Backend-Vorlagen rendert, die für Crawler zugänglich sind und eigene Routen haben, das ist der Grund. Vielleicht könnten Sie:\n\n1. es verwenden\n2. es an Ihre Bedürfnisse anpassen?\n\nWenn ich darüber nachdenke, ist es am besten, sich das Vanilla-Plugin ohne die Erweiterungen anzusehen:\n\nhttps://meta.discourse.org/t/landing-pages-plugin/180967\n\nAber wie Sie wünschen.

1 „Gefällt mir“

Sie wissen also eindeutig, wie es geht…
Können Sie nicht einfach zeigen, wie es geht? ^^

Wie z. B. „damit „Donut lecker!“ auch auf der Crawler-Seite erscheint, fügen Sie diese winzige Codezeile zu dieser bestimmten Datei hinzu“…
Erledigt…

Oder ist es hier illegal zu helfen? ^^
Wenn es zu komplex oder hackelig ist und 20 neue Dateien mit Hunderten und Aberhunderten Zeilen unlesbaren Müllcodes erstellt werden müssen, dann ist es sicher vernünftig, alternative Lösungen zu wählen… ^^

Hallo @MrBug :slight_smile:

Es tut mir leid, dass Sie nicht die Antworten erhalten, die Sie sich erhofft hatten, aber nach Überprüfung dieses Themas ist der Ton Ihrer Beiträge zunehmend aus dem Charakter geraten, den wir hier auf Meta erwarten. Wenn Sie weiterhin teilnehmen möchten, denken Sie bitte daran, denjenigen, die ihre Zeit und Mühe investieren, um Menschen bei ihren Problemen zu helfen, Respekt entgegenzubringen.

Ich werde dieses Thema jetzt schließen.

3 „Gefällt mir“