2015-09-08 2 views
5

Nach der Überprüfung von Google Analytics und Ad-Traffic haben wir festgestellt, dass Personen Seiten auf Client-Sites auf eine sehr seltsame Weise finden konnten. Ersetzen Sie die Bindestriche durch Punkte.Verbieten Sie es Benutzern, Bindestriche durch Punkte auf WordPress-Seiten zu ersetzen

Zum Beispiel ...

Correct Permalink: www.domain.com/this-is-a-link Falsch: www.domain.com/this.is.a.link

Both arbeiten und senden Sie den Benutzer auf die gleiche Seite. Aber ich bin mir nicht sicher warum. Wir haben verschiedene Browser ausprobiert und es scheint in allen dasselbe zu sein. Normalerweise wäre dies für den Benutzer (allgemein gesprochen) hilfreich, aber es verfälscht die Analytik.

Ich vermute, dass die Werbekampagne Leute eine Verbindung mit den Perioden erstellt haben, die das Problem begannen. Aber selbst wenn man das korrigiert, beantwortet es nicht die Frage, warum das überhaupt funktioniert oder wie man dieses Verhalten/diese Funktionalität verbietet.

Irgendwelche Gedanken?

+0

Das ist merkwürdiges Verhalten, Danke für die Heads Up Upvoted, damit wir einige offizielle Take von Core Entwicklern bekommen konnten. Ich habe das gleiche in WP.org Foren auch https://wordpress.org/support/topic/url-with-dash-can-be-placed-with-dot-and-give-no-404 gepostet – Mohsin

+0

Danke, @ Mohsin! Lass es mich wissen, wenn einer der Entwickler antwortet. –

+1

Gern geschehen! Sorry keine Antwort in Foren noch, aber ein Core-Entwickler in Slack reagierte auf meinen Chat zur Verfügung gestellt einen Einblick z. B. "dot" -Version kanonische Tag zu "Dash" Version URL, das bedeutet keine seo schadet, aber ich weiß, dass dies immer noch nicht lösen Problem, das sind zwei URLs in Analytics. – Mohsin

Antwort

1

Wordpress verwendet mod_rewrite für Permalink. Und mod_rewrite verwendet Mustererkennung in Ihren URLs, um zu unterscheiden, was neu geschrieben und was nicht in Ihrer .htaccess-Datei neu geschrieben werden soll.

Das . Zeichen bedeutet eigentlich ein beliebiges Zeichen in regulären Express-Musterabgleich, was Mod_rewrite verwendet, um zu bestimmen, was neu geschrieben werden soll.

dies besser zu veranschaulichen, nehmen Sie Ihr Beispiel

www.domain.com/this-is-a-link 

den richtigen Link zu sein, die Sie sich wünschen, aber im Fall von

www.domain.com/this.is.a.link 

es auch als . übereinstimmen als - gelesen wird da ein einzelner Punkt bedeutet ein beliebiges Zeichen

können Sie mehr überlesen, um besser zu verstehen, warum die Periode auch als Bindestriche gelesen wird.

Die einzige Möglichkeit, dies zu lösen, besteht darin, das standardmäßige native mod_rewrite-Muster von Wordpress neu zu schreiben oder dies als Fehler zu melden, um die Kerngemeinschaften aufzufordern, es als Fehler aufzulisten. Aber dies ziemlich häufig scheint auch bei großer Website wie eBay mit url

http://www.ebay.com/rpp/halloween-events/sweet-treats 

der URL mit

http://www.ebay.com/rpp/halloween-events/sweet.treats 

ist auch gültig. Ich glaube, das ist eine Einschränkung in mod_rewrite, damit Sie damit leben können.

+0

Vielen Dank, @ cylua2.Ich habe nicht einmal darüber nachgedacht und es macht absolut Sinn. Die Tatsache, dass es im gesamten Web üblich ist (zB: Ihr ebay-Beispiel) zeigt, dass es sich nicht unbedingt um einen Fehler handelt. –

Verwandte Themen