Ich verwende AngularJS, um eine Seite mit Artikeln mit Links für Details zu den einzelnen Artikeln zu erstellen. Die Links basieren auf der ID, um sicherzustellen, dass sie eindeutig sind, aber ich möchte, dass die URLs der Titel mit Bindestrichen sind (viel mehr SEO / benutzerfreundlich) und nicht die ID. Hier ist das Eckige Beispiel, wo die Produktdetails sind saubere Titel:
Meine aktuellen URLs sind mit einer ID verknüpft, sodass sie als Artikel / 66D5069C-DC67-46FC-8A51-1F15A94216D4
angezeigt werdenIch möchte, dass sie als Artikeltitel angezeigt werden, wie Artikel / Start-Investing, und stellen Sie sicher, dass sie SEO-freundlich sind.
Meine Sorge ist, dass, wenn zwei Artikel von verschiedenen Autoren den gleichen Titel haben (z. B. etwas über das Investieren lernen), ich Fehler bekommen werde, wenn ich versuche, nach Titel zu verlinken / nach ID zu suchen, die pro Artikel eindeutig ist.
Hier sind meine Controller:
%Vor%Hier ist mein Router:
%Vor%Hier sind meine zwei Teile:
Categories.html (mehrere Artikel)
%Vor%
Article.html (einzelner Artikel)
%Vor%
Hier ist ein Beispiel meiner JSON-Ausgabe:
%Vor%Muss ich eine Art URL-Rewrite durchführen, und wenn ja, wie mache ich das in Angular? Gibt es eine andere Möglichkeit, den Link mit einer ID eindeutig zu machen, oder sind andere nur mit dem Titel verlinkt?
Ich würde empfehlen, zusätzlich zur bestehenden Route eine andere Route hinzuzufügen
%Vor%Für Ihren Fall können Sie die folgenden Links haben, die auf die gleiche Seite gehen.
%Vor%Der zweite funktioniert genauso wie der erste
Sie können eine der folgenden Optionen verwenden, ich habe sie nach meinen Wünschen geordnet:
Ich würde vorschlagen, dass Sie den Benutzernamen des Autors auch in der URL verwenden, damit die Route wie
aussieht %Vor%Dies würde das Problem lösen, dass verschiedene Autoren denselben Artikeltitel haben (aber jetzt würde es ein Problem geben, wenn der Autor zwei Artikel mit demselben Titel veröffentlicht. Dazu können Sie entweder das Jahr oder den Monat in die URL eingeben, um es zu machen einzigartig)
Sie können auch eine andere Ansicht erstellen, in der der Autor alle Artikel sehen kann (Route wäre wie)
%Vor% Die Verwendung von js zur Generierung Ihrer Seite ist nicht sehr SEO-konform ...
Und warum gibt es ein "article-link"
-Attribut in deinem JSON ..?
Wenn dieser Link nicht nutzlos ist, können Sie einfach den HTML-Inhalt abrufen und die Ausgabe analysieren, um Ihr Produktobjekt zu erstellen.
Oder besser, Sie sollten Ihre serverseitige Implementierung überarbeiten, denn wenn Sie einen HTML-Code mit einer GET-Anfrage für http://www.thebudgetcalculator.com/start-investing.html
erhalten, sollten Sie ihn für JSON-API-Aufrufe wie http://www.thebudgetcalculator.com/api/articles/start-investing
Tags und Links javascript angularjs seo