2016-06-19 9 views
0

Ich habe eine Knoten-App (meine API) neben einem statischen Ordner mit meiner Angular-App, die Daten aus der API wie: app.use(express.static('site')); zieht.Knoten/Express Sitemap Generator Ideen

Ich hatte einen schnellen Blick auf Googles Webmaster-Tools zu finden, dass ich wirklich eine Sitemap haben sollte.

Also habe ich npm überprüft und ein Paket gefunden, das dies erstellt, aber es fragt nach jeder URL. Meine Website ist sehr dynamisch, d. H. Benutzer posten ständig Inhalte, also meine Frage - auf welche Weise haben Leute Sitemaps erstellt.

  • Gibt es ein npm-Paket, das tatsächlich gecrawlt?
  • Oder - muss ich etwas Code schreiben, z. das bekommt alle Inhalte von meiner DB dann erstellt eine lange Liste von URLs?

Danke.

+0

So ging ich die DIY-Route - machte meine erste Sitemap - jetzt, wenn ein neuer Beitrag gemacht wird, aktualisiere ich nur die sitemap.xml. Benutzte fs, um das xml zu lesen, das in JSON konvertiert wurde, so dass es einfach angehängt werden kann, und dann zurück zu xml. – userMod2

Antwort

0

Inspiriert von der Stellungnahme des OP, ging ich den gleichen Weg wie das OP.

Mein Server ist so eingerichtet, dass er nach dem Speichern eines Objekts eine Funktion auslöst. (Parse-Server mit afterSave-Funktionalität) Die ausgelöste Funktion liest die vorhandene sitemap.xml ein, konvertiert sie in json, schiebt die URL für das neu gespeicherte Objekt in das json-Objekt, konvertiert das json-Objekt zurück in xml und schreibt die gesamte sitemap.xml-Datei mit neuer Inhalt.

Diese Funktion verwendet xml2js und das Node.js File System Modul. Hier sieht die Funktion aus.

Todo: Entfernen Sie den Eintrag aus der Sitemap, wenn das Objekt aus der Datenbank gelöscht wird.