9

Ich erstelle ein Bulletin-Board-System, und ich implementiere jetzt eine Funktion zum Löschen von Themen für Administratoren. Wenn jemand das gelöschte Thema öffnet, kann der Server es nicht finden, also muss es 404 sein. Andererseits hat das Thema irgendwann existiert, also muss ich 410 verwenden. Das Implementieren des 410 würde eine neue Tabelle namens deleted_topics erfordern, und das würde auch so sein benötige mehr Platz. 410, denke ich, ist besser für Suchmaschinen. Was denken Sie? Soll ich 404 oder 410 benutzen?Sollte ich 404 Not Found oder 410 Gone für ein Bulletin Board-System verwenden, wenn ein Thema gelöscht wird?

404 Not

Der Server hat nichts gefunden Anpassung der Request-URI gefunden. Es wird kein Hinweis gegeben, ob die Bedingung vorübergehend oder dauerhaft ist. Der Statuscode 410 (Gone) SOLLTE verwendet werden, wenn der Server durch einen intern konfigurierbaren Mechanismus weiß, dass eine alte Ressource permanent nicht verfügbar ist und keine Weiterleitungsadresse hat. Dieser Statuscode wird häufig verwendet, wenn der Server nicht genau angeben möchte, warum die Anforderung abgelehnt wurde oder wann keine andere Antwort anwendbar ist.

410 Vorbei

Die angeforderte Ressource ist nicht mehr auf dem Server vorhanden und keine Weiterleitungsadresse bekannt ist. Diese Bedingung wird voraussichtlich als dauerhaft angesehen. Clients mit Linkbearbeitungsfunktionen SOLLTEN nach der Benutzerfreigabe Verweise auf den Request-URI löschen. Wenn der Server nicht weiß oder nicht feststellen kann, ob die Bedingung dauerhaft ist oder nicht, sollte stattdessen der Statuscode 404 (Not Found) verwendet werden. Diese Antwort kann im Cache gespeichert werden, sofern nicht anders angegeben. Die 410-Antwort soll in erster Linie die Aufgabe der Webwartung unterstützen, indem sie dem Empfänger mitteilt, dass die Ressource absichtlich nicht verfügbar ist und dass die Serverbesitzer wünschen, dass Remotelinks zu dieser Ressource entfernt werden. Ein solches Ereignis ist für zeitlich begrenzte Werbekampagnen und für Ressourcen von Personen, die nicht mehr am Standort des Servers arbeiten, üblich. Es ist nicht notwendig, alle permanent nicht verfügbaren Ressourcen als "weg" zu markieren oder die Markierung für irgendeinen Zeitraum zu behalten - dies liegt im Ermessen des Serverbesitzers.

Danke,

Antwort

9

Das Anzeigen eines 410 erfordert ein wenig mehr Aufwand als ein 404, denn um zu wissen, dass es ein 410 ist, müssen Sie mindestens einen "Geist" der früheren Seite in Ihrer Datenbank beibehalten. Wenn das kein Problem für Sie ist, würde ich die 410 "besser" und "freundlicher" betrachten, weil sie mehr Informationen bietet. Wenn Sie nicht mit der Pflege eines Friedhofs in Ihrer Datenbank belästigt werden wollen, dann ist natürlich auch 404 akzeptabel.

Ich mag nicht Alohcis Ansatz der Umleitung auf eine andere Seite. Das Endergebnis sieht so aus, als ob der Benutzer zufällig auf der Seite "neues Thema eingeben" (oder was auch immer) gelandet ist. Das funktioniert, aber ich denke, eine bevorzugte Lösung wäre, eine benutzerdefinierte 410 Seite (oder 404 Seite, wenn Sie nicht 410 unterstützen wollen) mit spezifischen Informationen für den vorliegenden Fall zu erstellen. I.e. Ihr 410 sollte nicht nur "weg" sagen, sondern auch "dieser Beitrag wurde gelöscht, hier ist ein Link zu ähnlichen Beiträgen oder ein Link, um einen neuen Beitrag zu erstellen". Ihr "404" hätte nicht so viele Informationen zur Verfügung, könnte aber dennoch eine Untermenge solcher Informationen und Links anbieten.

Ich denke, die "benutzerdefinierte 410 Seite" kommt in Erscheinung zu "Umleiten mit 301" aber ein wichtiger Unterschied ist, dass robotische Benutzer Ihrer Website (von denen gibt es viele!) Erhalten den genaueren Status, und wissen, um den alten Link aus ihrem Crawl-Index zu löschen – das wird sie schließlich speichern und Sie einige unnötige Datenverkehr.

+0

Eine Antwort 410 ist eine gute Möglichkeit, einen Grund dafür anzugeben, warum eine Ressource nicht mehr verfügbar ist. – Gumbo

+0

Ich habe meine Antwort gelöscht, da sie eindeutig nicht hilfreich war, aber ... Warum sollte eine Suchmaschine die Seite "301 Moved Permanently" nicht aus ihrem Index entfernen? – Alohci

+0

301 sagt, "dies ist kein funktionierender Link, aber wenn Sie dieser Umleitung folgen, erhalten Sie irgendwie ein Ergebnis". Ein gieriger Crawler wird alles mitnehmen können, was er mit seinen pelzigen kleinen Krallen erreichen kann. 410 sagt: "Nichts zu sehen, geh weg und hör auf zu stören!" SE-Algorithmen sind Gegenstand vieler Diskussionen, aber es ist vernünftig anzunehmen, dass die stärkere Nachricht eher den Crawler entmutigen wird. –

4

denke ich, der richtige Weg, dies durch das Senden der 410 seit einiger Zeit und nach ein paar Wochen/Monate auf 404 nicht gefunden wechseln gegangen zu tun ist. Natürlich entscheiden Sie selbst, ob das den Aufwand wert ist.

+0

Diese Frage ist mit SEO getaggt und das ist aus SEO-Sicht keine gute Idee. Siehe meine Antwort. – allesklar

0

Weder. Da du deine Frage "SEO" getaggt hast, gehe ich davon aus, dass du die beste SEO-Antwort willst. Wenn es Backlinks (von externen Seiten) zu Ihrem gelöschten Thema gibt, werden alle "Link Juice" mit 404 und 410 Status verloren gehen.

Stattdessen sollten Sie definitiv einige 301 Weiterleitungen erstellen, die auf den Stamm der Site, den Stamm des Forums oder eine verwandte Kategorie verweisen. Sie erhalten somit den Link Juice und Sie entscheiden, welche Seiten Ihrer Seite am meisten profitieren.

+15

Das Ziel, korrekte und aktuelle Informationen zu liefern, widerspricht dem Ziel, viele Seitenaufrufe zu generieren. Dies erklärt viel, was mit dem Internet nicht stimmt. * seufz *. –

+1

@Carl. Ja tut es. Aber seien wir ehrlich, HTTP-Statuscodes sind im ganzen Internet entsetzlich kaputt. Sich um ihre Reinheit zu kümmern, ist praktisch sinnlos. – Alohci

+5

Genau deshalb versuche ich Menschen davon abzuhalten, noch mehr Bruch in das Netz einzubringen. Die Wahrheit ist gut, Lügen sind schlecht; So einfach ist das. –