Ich habe eine Reihe von Seiten auf meiner Website, auf die nur Administratoren zugreifen können, und der Zugriff auf diese Seiten wird angegeben, wenn ein Querystring-Wert gefunden und korrekt festgelegt wurde. Zum Beispiel:
http://www.mydomain.com/show-daily-statistics?key=abc
Der obige Link zeigt den Inhalt der Seite an, alles andere wie der folgende jedoch nicht:
http://www.mydomain.com/show-daily-statistics
Jetzt überlegte ich, was ich tun sollte, wenn Suchmaschinen und / oder Benutzer ohne Administratorrechte irgendwie auf diesen versteckten Seiten landen.
Ich kann natürlich entweder den Statuscode der Seite in 404 ändern oder 301 umleiten zu:
http://www.mydomain.com/404-error
Was ist die beste Lösung in Bezug auf Google und SEO?
301-redirect
404
WPRookie82
quelle
quelle
Antworten:
Der richtige Code wäre 401 Nicht autorisiert
Gemäß den HTTP-Spezifikationen
10.4.2 401 Nicht autorisiert
oder alternativ
10.4.4 403 Verboten
Beide sind semantisch korrekter als
404
. Die Ressource ist vorhanden, daher ist sie404
nicht korrekt.401
sollte korrekt sein, aber Sie benötigen keine Authentifizierung. Sicherheit durch Dunkelheit ist keine Sicherheit.403
ist auch korrekt, da die Anfrage verstanden wird, die Ressource existiert und sich nur weigert, die Anfrage zu bearbeiten.404
ist angemessen, wenn Sie nicht verraten möchten, warum dies403
geschieht.In jedem Fall sind
301
Weiterleitungen nicht angemessen, die Ressource wurde nicht verschoben.quelle
Da dies eine Seite für Administratoren mit oder ohne den Parameter "key" ist, können und sollten die Seiten nicht indiziert werden. Daher kann die Webseite für Nicht-Administratoren den 404-Statuscode senden, und Sie können dieselbe URL intakt lassen. Leiten Sie nicht weiter, da Sie Google mitteilen, dass die Seite verschoben wurde, sondern auf eine Seite, die nicht vorhanden ist.
So macht es auch Google. Sehen Sie, was passiert, wenn Sie zu einer Dummy-Seite gehen: http://www.google.com/analytics/asdsas
quelle
http://www.example.com/404-error
Es handelt sich um eine Art globale 404-Seite der gesamten Website, sodass ich nicht auf eine nicht existierende Seite umleiten wollte.Der semantisch korrekte HTTP-Antwortcode für diese Situation wäre 403 Verboten :
(Obwohl die Definition der 403-Antwort besagt, dass "Autorisierung nicht hilft", sollte IMO dies so verstehen, dass es sich speziell auf die HTTP Basic / Digest-Authentifizierung bezieht , für die stattdessen der Statuscode 401 Unauthorized verwendet werden sollte. Da Sie nicht verwenden Bei jeder dieser Authentifizierungsmethoden ist 403 in Ihrem Fall der entsprechende Statuscode.)
Allerdings zeigt einen 403 - Statuscode (oder zumindest impliziert stark) die Tatsache , dass es ist eine Seite mit dieser URL, obwohl der Server um es zu liefern verweigert. Da dies etwas ist, das Sie möglicherweise vor potenziellen Eindringlingen verbergen möchten, erlaubt der HTTP / 1.1-Standard explizit die Rückgabe des Statuscodes 404 Not Found stattdessen ( Hervorhebung von mir):
Um eine solche Verschleierung überhaupt wirksam zu machen, muss die von Ihnen zurückgegebene 404-Fehlerseite natürlich mit der identisch sein, die Sie für tatsächlich nicht vorhandene Seiten zurückgeben. Andernfalls täuscht es nur die dümmsten und gelegentlichsten Angreifer. (Wenn Ihr Ziel nur darin besteht, die Seiten aus dem Google-Index herauszuhalten, funktioniert eine 403-Antwort genauso gut.)
Was ist mit den anderen möglichen Antworten, die in Ihrer Frage vorgeschlagen wurden, und den anderen Antworten?
Wie ich bereits erwähnt habe, glaube ich nicht, dass eine 401-Antwort hier angemessen ist. Es kann in der Praxis, soweit die meisten Browsern und Suchmaschinen wird jede fehlerhafte oder unbekannte 4 behandeln xx Serie Antwortcode , als ob es sich um eine 404 waren, aber es ist noch nicht gültig gemäß der HTTP - Spezifikation, und es gibt keinen praktischen Grund , es zu bevorzugen über 403 oder 404.
Die Verwendung einer 301- (oder 302-) Umleitung auf eine separate "404-Fehler" -Seite ist eine schreckliche Praxis, die durch schlampige mod_rewrite-Tutorials verbreitet wird, und hat absolut keine einlösenden Funktionen im Vergleich zur direkten Rückgabe einer 404-Antwort:
Es ist verwirrend für die Besucher, wie die URL sie versuchen zu Besuch durch die URL der Fehlerseite ersetzt wird. Daher wird eine Meldung angezeigt, die besagt, dass sie eine nicht vorhandene Seite erreicht haben, aber keinen leicht sichtbaren Hinweis darauf, welche Seite sie besuchen wollten. Daher können sie keine Wiederherstellungsstrategien wie das Beheben offensichtlicher Tippfehler in der URL versuchen. oder kopieren und einfügen in Google oder die Wayback-Maschine.
Dies kann Suchmaschinen verwirren, insbesondere wenn Ihre 404-Seite in robots.txt nicht zulässig ist oder wenn fälschlicherweise eine 200-OK-Antwort anstelle eines echten 404-Statuscodes ( "soft 404" ) zurückgegeben wird, was möglicherweise dazu führt, dass Ihre 404-Seite in der Suche angezeigt wird Ergebnisse für zufällige Suchbegriffe.
Dies führt zu einer (zusätzlichen) zusätzlichen Belastung Ihrer Server, erhöht die Antwortzeit für Besucher und verlangsamt möglicherweise das Crawlen Ihrer Website durch Suchmaschinen, da jede Anforderung einer nicht vorhandenen (oder verborgenen) Seite jetzt eine zusätzliche HTTP-Runde umfasst. Ausflug.
Es hat keinen SEO-Vorteil, da jeglicher "Link-Saft" von Seiten, die auf eine 404-Seite umgeleitet wurden, sowieso verloren geht.
(Natürlich ist die eine Situation , wo Sie tun wollen stattdessen eine 301 - Weiterleitung auf die Verwendung eines 404 - Antwort, wenn die Seite tatsächlich hat bewegt, und Sie können die Besucher an die richtige Position umgeleitet werden . Aber das ist hier nicht der Fall diskutiert.)
Abschließend möchte ich das in vielen Kommentaren zum Ausdruck gebrachte Gefühl wiederholen, dass das bloße "Verstecken" Ihrer Administrationsseiten auf diese Weise kein angemessener Ersatz für eine ordnungsgemäße kennwortbasierte Authentifizierung ist . Das sei gesagt, wenn Sie bereits ein sicheres Authentifizierungssystem eingerichtet haben, versteckt die Seiten als eine zusätzliche Schicht, wenn auch eine ziemlich schwachen nützlich sein können, in einem gestaffelten Sicherheitsansatz.
quelle
Ich würde ein
noindex,nofollow,noarchive
Tag im Kopf der Seiten verwenden, die Sie aus der Suche entfernen möchten.Ich habe festgestellt, dass das
noarchive
Tag dazu neigt, Dinge ziemlich schnell aus der Suche zu entfernen, während dasnoindex
möglicherweise verhindert, dass es in die Suche aufgenommen wird. Wenn es jedoch bereits vorhanden ist, müssen Sie es aus den Suchergebnissen entfernen.Was die Frage zum Administratorzugriff betrifft, haben die anderen Jungs hier bereits einige Ratschläge zur Sicherheit gegeben, die ich zum Auschecken empfehlen würde.
quelle