Seite 1 von 1

Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 21.12.2013 20:48
von sepp71
Hallo zusammen,

derzeit experimentiere ich mit dem Artodia Mobile and SEO-Style und habe auch den mitgelieferten "Switch" eingebaut. Am Smartphone läuft auch alles prima, aber wenn man die Seite vom Desktop-PC aus erstmals aufruft (Cookies gelöscht), wird leider stets zuerst die mobile Version ausgeliefert. Erst nach einem aktiven Umschalten bekommt man den klassischen Desktop-Style.
Die Frage steht zwar bei phpbb.com schon seit einigen Wochen auf englisch, eine Antwort habe ich aber weder hier noch dort gefunden.

Hat jemand eine Idee?
Miriam vielleicht? :D :oops:

Vielen Dank und vorweihnachtliche Grüße

Sepp

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 21.12.2013 22:16
von Crizzo
Hi,

dann kontrolliere doch mal komplett deinen Einbau.

Kannst uns auch gerne mal dein Forum verlinken. Dieser Style mit dem "Mobil-Detektor" ist bei mir auch im Einsatz und geht da prima: http://www.victorypoint.de/ kannst du ja mal ausprobieren und schauen, ob es bei dir da auch Probleme gibt.

Grüße

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 22.12.2013 00:29
von sepp71
Vielen Dank für die Rückmeldung!
Voller Neid stelle ich fest, dass die Styleerkennung bei Dir funktioniert - auch unter den von mir verdächtigten erschwerten Bedingungen, wenn ich mit dem Browser keine Cookies akzeptiere. :o
Meine Version läuft derzeit - wegen des Fehlers - nur auf einem lokalen Server, darum habe ich leider keinen Link.

Der Fehler stellt sich folgendermaßen dar:
Ich rufe die Seite vom Desktop-PC aus auf, für Sekundenbruchteile wird die richtige (Desktop-)Version angezeigt, dann schaltet der Style auf "mobile" und ich komme nur wieder heraus, wenn ich den entsprechenden Button anklicke. Das bedeutet im Klartext, dass ca. 90% meiner User erst einmal den "falschen" Style angebote bekämen und sich dann manuell befreien müßten, was ich ihnen nicht zumuten möchte. :-?

Mittlerweile weiß ich auch nicht mehr, wo genau ich suchen soll:
  • Die mobile.php stammt aus dem Original-Download bei phpbb.com (Version 3.5), ich habe dort nichts geändert oder eingetragen (auch wenn ich bei manchen Comments unsicher war).
  • Die Style-Dateien habe ich hochgeladen und in prosilver angepasst.
  • Den Style art_mobile hatte ich zeitweilig auch im ACP installiert, habe ihn aktuell deinstalliert (damit er nicht versehentlich von Usern fest eingestellt wird), machte aber keinen Unterschied.
  • Im Verdacht habe ich daher die session.php, weil ich dort ja manuell ändern musste. Das "Add before..." habe ich berücksichtigt. In der entsprechenden Region meiner session.php sieht es folgendermaßen aus:

    Code: Alles auswählen

    {
    				$db->sql_transaction('commit');
    				add_log('admin', 'LOG_IMAGESET_LANG_MISSING', $this->theme['imageset_name'], $this->img_lang);
    			}
    		}
    		
    		// Mod: phpBB Mobile start
    		include_once($phpbb_root_path . 'includes/mobile.' . $phpEx);
    		phpbb_mobile::setup('art_mobile');	// Change first parameter to correct directory name of mobile style
    		// Mod: phpBB Mobile end
    
    		// Call phpbb_user_session_handler() in case external application want to "bend" some variables or replace classes...
    		// After calling it we continue script execution...
    		phpbb_user_session_handler();
    
    		// If this function got called from the error handler we are finished here.
    		if (defined('IN_ERROR_HANDLER'))
    Hier war ich zwar unsicher, was es mit der Zeile

    Code: Alles auswählen

    phpbb_mobile::setup('art_mobile'); 
    auf sich haben soll, allerdings liegt jener Style bei mir tatsächlich in styles/art_mobile, so dass das m.E. stimmt.
  • Browser:
    Ich arbeite und teste überwiegend mit Firefox, z Zt 26.0, dort lief die Erkennung wie oben beschrieben falsch. Meine Datenschutz- und Sicherheitseinstellungen sind eher konservativ.
    Mit dem Internet Explorer funktionierte sie. Weil ich den ausschließlich zu Testzwecken benutze, ist er evtl. nicht ganz so 'sensibel' eingestellt).
    Opera kann ich nicht testen, da xampp ohne WWW-Zugriff überhaupt nicht genutzt werden kann (bekannter Fehler in Opera).
Vielen Dank für's Lesen und Kümmern!
Sepp

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 03.02.2014 21:51
von sepp71
Hmpf. Ich habe nun den Einbau noch einmal ganz von vorn begonnen, aber das Problem besteht immer noch, und zwar unter Windows mit Firefox. Auf Smartphones etc. wird alles korrekt angezeigt.
Aber wenn ich mit Firefox nachschaue, erscheint erst (korrekt) der Desktop-Style und dann, nach kurzem Laden, falsch der mobile Style und an die URL wird der Parameter "mobile=on" angehängt.
Inzwischen habe ich herausgefunden, dass das Skript mit zwei Erkennungsmethoden arbeitet:
Erstens über den User agent, das sind die Funktionen in der mobile.php ab

Code: Alles auswählen

public static function is_mobile_browser($user_agent)
- soweit alles ok.
Und zweitens über ein Javascript namens "detect.js", das in art_mobile/templates/ liegt.
Dieses Javascript macht den letzten Schritt zum Fehler, denn es gibt den verhängnisvollen Parameter "on" zurück ("mobile=on"), obwohl er in dieser Konstellation (Win+FF) "off" lauten müßte.
Bei richtigen Mobilgeräten gibt es schon nach der php-Erkennung ein "mobile=mobile" bzw. "mobile=desktop".
Es sieht am Ende so aus:

Code: Alles auswählen

		// Check if browser has applied desktop or mobile style
		switch (style)
		{
			case 'left':
				if (phpBBMobileStyle)
				{
					redirect('off');
				}
				break;
			case 'right':
				if (!phpBBMobileStyle)
				{
/*Originalzustand:*/
					redirect('on');
// Sepp's workaround:	redirect('off');
				}
		}

	}, false) : false;

})();
Mir scheint das ganze Javascript verzichtbar, ich wäre mit der Erkennung über den User agent schon zufrieden, da er die meisten Mobilgeräte erfasst und allen übrigen die Möglichkeit lässt, manuell umzuschalten.
Wie man sieht, habe ich mir mit einem Workaround beholfen Das ist aber natürlich ziemlicher Ressourcen-Unsinn, denn es wird ein langes Javascript geladen und ausgeführt, das am Ende immer (?) "off" zurückgibt.
Hat jemand einen Tipp für mich?


Sepp

@Blackhawk:
Auf Deiner Seite (Link s. oben) tritt das Problem bei mir nicht auf. :roll:
In Deinem Forum können dafür mobile Gäste die Namen der Verfasser (Poster) nicht sehen.
Ich könnte Dir den Tipp hier anbieten, um das abzustellen :wink:

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 03.02.2014 22:06
von Crizzo
sepp71 hat geschrieben: @Blackhawk:
Auf Deiner Seite (Link s. oben) tritt das Problem bei mir nicht auf. :roll:
In Deinem Forum können dafür mobile Gäste die Namen der Verfasser (Poster) nicht sehen.
Ich könnte Dir den Tipp hier anbieten, um das abzustellen :wink:
Wo genau sollen sie den Verfasser nicht sehen können? Im Thema funktioniert das wunderbar:

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 04.02.2014 08:18
von sepp71
@Blackhawk:
Huch, sorry - da hab' ich beim "Testen" wohl den Überblick verloren!

Im Gegenteil bemerkt (vermutlich) das detect.js-Skript sogar, wenn ich meinen Desktop per User-Agent nur als iphone/smartphone tarne: Dann schaltet Deine Seite nämlich nicht auf die mobile Version um, sondern auf "mobile=off".

Aber warum läuft es dann bei mir nicht rund??? :roll: :roll:

Sepp

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 15.10.2015 13:53
von Lonley
Ich möchte mich bei diesem Problem mal anschließen. Genau das selbe, erst wird beim Desktop PC die normale Version geladen, danach schaltet er um. Fehler tritt übrigends an verschiedenen Rechnern auf.

Hat einer eine Lösung gefunden?

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 15.10.2015 22:15
von sepp71
Ich jedenfalls nicht, tut mir leid. Inzwischen habe ich auf phpBB 3.1 aktualisiert, das ja von Natur aus responsive ist. Damit sind meine Anforderungen schon erfüllt.
Gruß
Sepp

Re: Artodia Mobile and SEO: Falsche Auswahl für Desktop

Verfasst: 21.01.2016 13:36
von Lonley
Für alle die das Problem haben oder noch haben werden, dass Problem konnte ich finden. Es liegt wirklich an der detect.js.

Ein Fehler ist in diesem Script nicht, nur scheint Firefox Probleme mit einer Bedingungsabfrage zu haben. Um das Problem zu lösen macht in der detect.js folgendes:

SUCHE:

Code: Alles auswählen

		// Check if browser has applied desktop or mobile style
		switch (style)
		{
			case 'left':
				if (phpBBMobileStyle)
				{
					redirect('off');
				}
				break;
			case 'right':
				if (!phpBBMobileStyle)
				{
					redirect('on');
				}
		}
ERSETZE DURCH:

Code: Alles auswählen

		// Check if browser has applied desktop or mobile style
         if (switch == 'left'){
	            if (phpBBMobileStyle)
     		       {
           	    redirect('off');
	            }
     		}
		else {
            	if (!phpBBMobileStyle)
	            {
				redirect('on');
			}
            }