• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

Permalinks und Pagination

Heffalump

Bekanntes Mitglied
Lizenzinhaber
Registriert
6. Apr. 2014
Beiträge
945
Punkte
158
XF Version
  1. 2.1.2
PHP-Version
7.3
Provider/Hoster
FC-Hosting
Beim Korrigieren vieler Links bin ich auf ein merkwürdiges Permalink-Verhalten gestoßen:

domain.com/forum/themen/kuechenplanung-im-eigenheim.8311/page-44#post-193377
ist der korrekte Permalink

Allerdings funktioniert der in der Weiterleitung von vBulletin nicht, weil in vB die Seitenzahl nicht mit angegeben wurde, was auch eigentlich logisch sein sollte.

Wenn der Permalink ohne Seitenzahl angegeben wird
domain.com/forum/themen/kuechenplanung-im-eigenheim.8311/#post-193377

erfolgt eine Umleitung auf den Anfang des Threads.

Permalinks ohne Angabe der Seitenzahl funktionieren also nur auf der ersten Seite eines Themas.

Was passiert denn jetzt bitte, wenn man die Anzahl der Beiträge pro Seite von, sagen wir mal, 20 auf 30 erhöht oder auf 15 reduziert?

Das Ganze ist also kein vBulletin-Import-Problem, sondern gleiches kann man auch bei Themen, die nach der Migration erstellt wurden, beobachten.
 
hmm vielleicht ein Bug aber wozu sollte das überhaupt wichtig sein. Bei mir sind die #Post eh per Robotst.txt gesperrt da sie meiner Meinung nach DC Schleudern sind.

Ich würde die auch gerne direkt per Meta Tag sperren, aber leider ist, das das gleiche Template, wie auch die normale Threadanzeige.
 
man könnte die "lösung" von vbseo übernehmen, da dort durch die seoed Links das Problem ebenfalls auftreten konnte

Code:
<script type="text/javascript">
//<![CDATA[
window.orig_onload = window.onload;
window.onload = function()
{
	var cpost=document.location.hash.substring(1);
	var cpost2='';
	if(cpost && (typeof fetch_object != 'undefined'))
	{ 
		var ispost=cpost.substring(0,5)=='post-';
		if(ispost)cpost2='post-'+cpost.substring(5);
		if((cobj = fetch_object(cpost))||(cobj = fetch_object(cpost2)))
		{
			cobj.scrollIntoView(true);
		}else if(ispost){cpostno = cpost.substring(5,cpost.length);
		if(parseInt(cpostno)>0)
		{
			location.replace('http://www.domain.com/goto/post?id='+cpostno);
		};
	} 
}
if(typeof window.orig_onload == "function") window.orig_onload();
}
//]]>
</script>

das JS müsste ins Temple der Threadansicht

alternativ die PostIDs gleich auf den /goto/post?id=** Link setzen
 
Man muss die Permalinks ja nicht indexieren lassen, aber funktionieren sollten sie trotzdem - schon wegen der internen Verlinkung auf einzelne Beiträge.
Das wird bei uns sehr viel genutzt weil wir sehr viele Hilfethemen haben und die Planer gerne direkt auf den Punkt verlinken.
Ich stelle mir eigentlich nur die Frage, warum für die Permalink-URL die Seitenzahl erforderlich ist? (page-44)

Die vBSEO-Lösung (wenn es denn eine sein sollte) kenne ich auch noch und sie befand sich immer fast am Ende des Quelltextes. Sie verursachte aber auch massenhaft Crawlerfehler und ich bin eigentlich froh, dass ich das los bin.
 
Hallo, Heffalump -


ich weiss nicht, ob's Dein Problem trifft, aber ...

domain.com/forum/showthread.php?p=193377

bringt Dich in das jeweilige Thema, zu dem gewünschten Beitrag, egal auf welcher Seite.

Analog vermute ich, dass

domain.com/forum/themen/kuechenplanung-im-eigenheim.8311/post-193377

da auch funktionieren könnte. Leider habe ich derzeit kein VB-Forum greifbar, das diese Notation verwendet.
 
domain.com/forum/themen/kuechenplanung-im-eigenheim.8311/post-193377

Das ist die XenForo URL und die funktioniert nicht ohne die Seitenangabe.

Bei vBulletin ( domain.com/forum/showthread.php?p=193377) funktionierte es einwandfrei. Ich habe noch ein vB-Testforum - deshalb weiß ich es.
 
ist auch sinnvoll diese leidigen Postids garnicht zu unterstützen, um den Beitrag anzuspringen nutzt XF ja wie in jedem Zitat zu sehen ist domain.com/goto/post?id=193377 was dann wiederum auf den Permalink springt

man sollte sich also jetzt die Weiterleitung von dem vB-Skript ansehen und entweder die Einbeziehung der korrekten Seite forcieren, oder eben direkt auf das "goto/post" umsatteln
ich würde mal vermuten, dass die Fehler von Post-Links stammen die dank SEO die Threadid enthalten und den Redirecter vermutlich verwirren weil die Seitenzahl fehlt, oder falsch ist
 
domain.com/goto/post?id=193377

Und warum verwenden die Permalinks das nicht?
Hier bei XenDACH sieht es so aus:
http://www.xendach.de/threads/fifa-fussball-weltmeisterschaft-2014.2852/page-8#post-31735

Lässt du "page-8" weg landest du beim ersten Post des Themas statt direkt auf dem Beitrag, obwohl die Beitrags-ID eindeutig ist.

http://www.xendach.de/threads/goto/post?id=31735#post-31735 funktioniert ebenfalls nicht wenn man nicht auf den Zitat-Link klickt.

Was aber funktioniert sind die Themen von der Forenstartseite nach diesem Schema: http://www.xendach.de/posts/31735/
Das wäre eigentlich eine Permalink-URL.

Bin etwas verwirrt...
 
Hallo, Heffalump -


forum.com/posts/12345 ist doch genau das, was Du suchst. XenForo löst das dann nach forum.com/threads/Das-ist-der-Thread-um-den-es-geht.777/#post-12345 auf. Und das hat doch den Effekt, den Du suchst: Positionierung in dem Thema, auf dem entsprechenden Beitrag - und das, ohne die Seite zu kennen. (777 ist in dem Fall die ID des Threads.) VB macht es übrigens analog.
 
Hallo, Heffalump -


in Deinem zweiten Beispiel fehlt das # vor post-31735.
 
Hmmm...

Bist du sicher?
Ich lande auf der ersten Seite des Themas und der Post 31735 befindet sich auf Seite 8.
 
Das ist es ja gerade.
Die URL zu deinem Post funktioniert nur auf der ersten Seite eines Themas. Wenn wir hier noch etwas weiterschreiben und uns auf Seite 2 befinden werden alle dort angezeigten Permalinks mit Seitenzahl angegeben.


Lasse ich die Seitenzahl weg wird auf die erste Seite des Themas verlinkt und nicht mehr auf einen bestimmten Permalink.

Im Prinzip ist die Seitenzahl ja egal und es wäre kein Problem wenn man nicht nachträglich die Anzahl der Beiträge pro Seite verändern könnte. Dann stimmt die Seitenzahl nämlich nicht mehr und alle Permalinks laufen zur Startseite des Themas.

Beispiel:

Mein Thema hat 100 Beiträge und somit bei 20 Beiträgen/Seite insgesamt 5 Seiten.
Ein Permalink auf Seite 5 hat den URL-Zusatz "page-5"
Ändere ich auf 10 Beiträge pro Seite habe ich insgesamt nicht mehr 5 sondern 10 Seiten im Thema und der Permalink für diesen Beitrag müsste den Zusatz "Page-10" bekommen.
Er ist aber mittlerweile dutzendfach mit "page-5" verlinkt.
 
Hallo,


verstehe ich nicht. Der Post #31776 befindet sich auf der letzten Seite des Themas. Adressiere ich ihn mit

http://www.xendach.de/posts/31776

lande ich auch auf der Seite.

Wenn ich also die ID eines Beitrags kenne, genügt es, den Beitrag über .../posts/Beitrags-ID zu adressieren.
 
Hallo, Heffalump -


beide von mir beschriebenen Vorgehensweisen funktionieren sowohl bei VB, als auch bei XenForo. Vielleicht verstehe ich aber Dein Problem nicht richtig?

Wenn Du Permalinks von VB nach XF portieren willst (ich habe das nicht gemacht, mangels VB-Installation), dann sollte es wie von mir beschrieben gehen, ohne dass Du eine Seitenzahl angeben musst.

Ich versuche das mal mit meinen Worten zu beschreiben, auch wenn's technisch anders realisiert ist: Die einzig real existierende Einheit ist der Beitrag. Ein Beitrag kann aber nur im Kontext eines Themas (Thread) adressiert werden, da ein Beitrag immer zu einem (und genau einem) Thema zugeordnet ist.

Wenn ich eine Anforderung an ein Board schicke, mir einen Beitrag anzuzeigen, dann wird der Beitrag (meinforum.com/posts/#12345) im Kontext des Themas lokalisiert (meinforum.com/threads/das-ist-das-thema) und dann über die URL des Themas adressiert (meinforum.com/threads/das-ist-das-thema/#post-12345). Die Software positioniert die Anzeige des Themas so (auch bezogen auf die Seite), dass der Beitrag 12345 angezeigt wird.

Das funktioniert bei VB und bei XF. Ich habe eine Software, mit der ich bei verschiedenen Foren-Softwaren Beiträge einstellen und pflegen kann. Dazu gehört es auch, den korrespondieren Beitrag aufzurufen. Das funktioniert bei VB wie bei XF wie von mir oben dargestellt, da der Beitrag (dessen ID ich kenne) in den Kontext des Themas gesetzt wird, und die Software die entsprechende Seite in mehreseitigen Themen anzeigt und den entsprechenden Beitrag auf der Seite anzeigt.


Wenn's immer noch an Deinem Problem vorbeigeht, wäre ich für eine deutlichere Problembeschreibung dankbar.
 
Detailierter ist es eigentlich nicht zu beschreiben. Aber es gibt ja noch das Bild. :cool:
Im nachfolgenden Anhang habe ich kurz skizziert um was es geht. Ein Beitrag hat einen Permalink, welcher eine URL hat.
In dieser URL ist die Seitenzahl integriert (page-4).

permalink.jpg

Wenn ich den in einem Beitrag verlinke wird der User auf die Seite 4 und innerhalb der Seite 4 auf den entsprechenden Post geleitet. Das ist sehr gut und funktioniert auch bis zu dem Zeitpunkt,
an dem der Administrator die Anzahl der Beiträge pro Seite verändert. Und zwar hier:

beitraege pro seite.jpg

In dem Moment funktioniert der zuvor gesetzte Permalink nicht mehr und der User landet am Anfang der Seite 4.

Und genau deswegen frage ich mich warum die Seitenzahl in der Permalink-URL vorhanden ist, wenn es doch, wie ihr eindrucksvoll bewiesen habt, auch anders ginge. Nämlich mit /goto/#post-xxxxx

Es ist nämlich so, dass diese Einstellung im Admin-CP zur Änderung der Beiträge pro Seite, damit eine "Set-it-and-forget-it"-Einstellung ist und, wenn es schon keine andere Lösung gibt und es kein bug ist, als solche gekennzeichnet werden sollte.

Ich finde auch nicht, dass ich da irgendwie pingelig bin. Ein Permalink hat genau diese Funktion zu gewährleisten - er sollte unabhängig von anderen Einstellungen und Sortierungen immer genau auf exakt diesen Post zeigen. Tut er das nämlich nicht, dann brauche ich keinen Permalink und kann gleich zu dem Thema verlinken und den User suchen lassen.

Wir erstellen z-B. Hilfethemen, dessen einzelne Beiträge unterschiedliche Kapitel sind. Bei Fragen verlinken wir auf das entsprechende Kapitel (einzelnen Beitrag/Permalink).
 
Und warum verwenden die Permalinks das nicht?
weil das eine Weiterleitung ist, kein Permalink
die links mit einer Postid sind nun mal prädestiniert für DupplicateContent - die einzig wahre Lösung sind die SeitenIDs wie sie verwendet werden
Problematisch wird es höchstens wenn die Forensoftware userspezifische Konfigurationen der Beiträge/Seite zulässt - hier wäre eben eine Fallbackstrategie wünschenswert wie eben vbseo das schon seinerzeit verwendet hat - denn der Beitrag kann ja auch verschoben worden sein

außerdem solltet ihr bedenken dass dieser #post-1234 nur Anker sind, was ab der Raute kommt erfährt der Server beim Aufruf der Seite garnicht, weil es nur eine Sprungmarke für den Browser ist, aber kein Bestandteil des Requests zum Server
daher kannst du so viele unterschiedliche #post-*id* Links auf eine Seite verlinken wie du willst, Google sollte die als einen Werten (vermutlich, es sei denn die Seite arbeitet exzessiv mit AJAX wie bspw. Mega, da dürfte es anders sein, da diese teil des Requests sind)
 
Zurück
Oben