Beiträge von Synonym

    Ähm, Alex. Sagt mal, bekommst Du auch diese Mails von Letsencrypt, dass ein Zertifikat ausläuft? Stimmen die Daten bei Dir in den Mails?

    Vor 20 Min kam diese hier rein:

    "Your certificate (or certificates) for the names listed below will expire in 20 days (on 11 Nov 16 08:06 +0000)."

    Irgendwie macht mich so was kirre. Schaute mir den Webserver an, der Auto-Renew ist am 18.10 gelaufen und hat aktualisiert. Auf der Webseite das Zertifikat angesehen, jep, da ist ein neues und bis Januar 2017 gültig.

    Nur warum bekomme ich denn dann von Letsencrypt diese Mail? Irgendwie ist mir das alles noch nicht 100% geheuer.

    Also bei dem hier muss ich Sistrix widersprechen...

    "Problematisch wird es für Websitebetreiber, die nur eine abgespeckte Version ihrer Inhalte mobil anbieten. Sie könnten in Zukunft Keywords und Rankings auf dem Desktop verlieren. "

    Wenn ich richtig verstanden habe, dann geht es eben genau darum, dass Mobile Seiten nicht den gleichen Inhalt haben wie die Desktop-Version. Bisher gab es nur einen experimentellen Mobile-Index, der soll nun primär werden. Aber nicht für alle, sondern für Mobile-Anfragen. Bei denen war der Desktop-Index aktuell noch bevorzugt. Genau das soll sich ändern.

    Ansonsten finde ich das nun logisch. Warum sollte eine Seite auf dem Smartphone xy denn ranken, wenn der Begriff xy vielleicht gar nicht auf der Mobile-Version vorhanden ist.

    So, sage nun doch noch mal was dazu, denn seit 2 Wochen habe ich endlich saisonbedingt wieder ordentlich Traffik auf einer Seite - hält aber nur 4 Wochen an.

    Ich differenziere nicht zwischen Google/Bing und Mobile oder Desktop, denn beides gehört indirekt zusammen. Je mehr Mobile, desto schlechter Bing.

    So, dann mal die Fakten.

    Primärkey bei Googel auf P5 oder P6
    Primärkey bei Bing auf P1 und eine weitere Unterseite auf P3

    Zugriffe pro Tag: In den letzten zwei Wochen im Schnitt 3000 am Tag, täglich 5-10% steigend.
    Anteil an mobilen Nutzern: Laut Piwik 83% !!! Dieser Wert wird auch stimmen, denn es ist ein Thema, wo man normalerweise keinen PC vor sich hat.

    Displaygröße der Top 50% der mobilen Nutzer: Kleiner/gleich 480px, also echte Smartphones und keine Tablets oder so. Top 70% kleiner/gleich 640px. Wir reden hier also von wirklich kleinen Geräten.

    Von den durchschnittlich 3000 Besuchern am Tag kommen ganze 27 von Bing (Anmerkung, als Vergleich: ca. 50 kommen von Pinterest). Von diesen 27 sind es im Schnitt nicht mal 1 am Tag, der Mobil kommt, genau gesagt 0,9. Die restlichen 26,1 kommen per Desktop auf die Seite.

    Was ich sagen will, man muss das Thema Mobile mit in die Betrachtung nehmen. Schließlich heißt es auch immer, mobile sei so wichtig und wird wichtiger. Aber bei Mobile wird Bing immer unwichtiger!

    Ja, das geht, aber die bleibt dann nicht weg. Es gibt noch die Einstellungen für Start, dort kann man "selten" oder "nie" auswählen. Frag mich nicht wie oft ich da schon "nie" ausgewählt habe. Ständig ist es wieder an. Genauso wie Apps in der Taskleiste, die kommen auch ständig wieder. Vorhin klickte ich spaßeshalber auf die Werbung. War eine für einen Filmkauf. Passt ja zu mir, ein Film über Spinnen (muss mir das zu denken geben ??). Dann plötzlich war der Store wieder im Start mit aktiver Kachel. Den hatte ich schon längst da entfernt.

    Hab das schon seit Wochen auf beiden Rechnern. Finde es eigentlich besser als vorher .... Das Problem ist nur, man kann Cortana nicht mehr abschalten, das läuft also immer mit. Auch werden Apps teilweise wieder aktiviert, die vorher deaktiviert wurden. Das Startmenü ist aufgeräumter und irgendwie besser. Allerdings ist da nun auch Werbung drinnen. Wie die weg geht, keine Ahnung.

    Hund geht nicht, zu viel Arbeit, keine Zeit. Katze überlegte ich mir schon, aber DG-Wohnung und im Sommer immer alle Fenster offen. Will keine Feuerwehr rufen müssen, weil die auf dem Dach rumrennt und nicht mehr runter kommt :(

    Ansonsten. Ich stehe mit JS auch auf dem Kriegsfuß. Hier ist fast nichts Wissen, sondern fast alles try and error. Meine Seiten bestanden früher aus vielleicht max. 1% JS, und sie gingen auch ohne. Jetzt sind es ca. 20% und ohne geht fast nix mehr.

    Was ich mir nun noch zusammenbasteln muss ist etwas wie onExit, denn es kann ja sein, dass einer einen Link klickt oder die Seite schließt, bevor die Queue abgeschickt wurde. Die muss aber auf jeden Fall gesendet werden, egal was passiert.

    Ich weiß echt nicht, das ist verhext. Ich schreibsel hier alles möglich aufs Papier, ja, extra Papier, weil man da mehr Gedanken reinmalen kann als im Editor und komme keinen Schritt weiter. Dann poste ich hier und nach dem Post denke ich mir, warum machst Du das nicht so? Und wieder, einen großen Schritt weiter. Es scheint erst mal zu laufen. Ob das Ressourcen-freundlich ist, keine Ahnung.

    Ich darf keinen Listener auf Scroll nehmen, denn der kollidiert in der Tat. Den auf Resize brauche ich aber, wenn sich der Viewport ändert.

    Also den für Resize auf 50ms gesetzt, damit der eine Änderung erkennt und dann die eigentliche Validierung per setInterval mit 100ms. Also wird alle 100ms geprüft, was im Viewport ist und bei den Divs, die drinnen sind, der Timer um 100ms erhöht. Bei mehr als 3s fliegen die raus bzw. in die Queue und der Rest wird "begutachtet". Die Queue wird dann alle 250ms abgearbeitet, die mir das Traking an die DB schickt.

    Ja, so einen Knoten im Kopf und Brett vorm Kopf, dass mir noch nicht mal ein Titel einfällt. Ich versuche mal zu erklären was ich vorhabe, was ich habe und was ich möchte, bzw. wo ich hänge.

    Im Prinzip geht es um einen Counter, der die Ansicht von Unterkünften in der Unterkunftsliste zählen soll. Das aber nicht so pauschal, alle 20 wurden angezeigt, sondern welche auch wirklich sichtbar waren, also in Abhängigkeit vom Viewport.

    Grundvoraussetzung ist also schon mal ein Listener auf Scroll und Resize.

    Das an sich habe ich schon, also ich weiß, welches DIV vollständig im Viewport ist. Das soll nun aber nicht einfach so gewertet werden, sondern in Abhängigkeit der Dauer, wie lange es im Viewport war bzw. eben einen Mindestwert von z.B. 3 Sekunden.

    Und hier beginnt nun der Knoten, eigentlich genau bei der Dauer.

    Bisher wird immer validiert, wenn man scrollt oder der Viewport sich ändert. Das ist aber ein schlechter Ansatz, denn man scrollt ja nicht immer. Dennoch wird es benötigt, um überhaupt zu erkennen, ob ein DIV drinnen ist.

    Also kam die Idee das zusätzlich mit einem setInterval zu machen, der z.B. alle 250ms selbst validiert und eben einen Zähler dann um 250ms erhöht, wenn das DIV drinnen war. Rein gedanklich hört sich das nicht schlecht an, aber auch hier hänge ich irgendwie.

    Mir scheint, als ob das mit dem Listener dann irgendwie kollidiert bzw. doppelt gemoppelt ist. Hatte es auch schon mit einem Timestamp versucht, aber das geht gar nicht, denn das DIV kann ja kurz drinnen gewesen sein, dann 2 Minuten draussen und dann wieder kurz drinnen und wieder draussen, etwa wenn man schnell hoch und runter scrollt. Also Timestamp geht definitiv nicht. Daher der Ansatz mit dem Timer, der bei 0 beginnt und bei 3000ms enden soll.

    Kann einer meinen Knoten etwas entwirren?

    Danke und Gruß,
    Ingo

    Wie komme ich denn auf 2.8.x???? Ich meine natürlich die 2.16.3 oder 2.16.4 !!! Machte das Update auch von der 2.16.2. auf die 2.16.4 Bei der x.2 lief noch alles normal, da stimmten die Suchbegriffe und Seiten, nun so gänzlich nicht mehr.

    Moment.... 2.16.5 Gibt es da schon wieder eine neue? Habe die x.4 doch erst gestern um 15 Uhr geladen und dann eine tunde gebraucht, die auf den Webspace zu bekommen, wegen diesem Pre-Load-Kopier-Problem, das noch immer besteht.

    Wer von euch hat denn eine der beiden Versionen laufen und kann mal die Suchbegriffe checken? Habe die seit 4 Stunden drauf und da passt gar nichts mehr.

    Klicke z.B. "große ferienhäuser fehmarn" an und bekomme dann Bing als Ursprung. Klicke ich dann da drauf, dann lande ich bei der Bing-Suche mit "ferienhaus in alleinlage mit hund bayern". Das ist bei allen Zugriffen über Sumas so, da stimmt keine einzige mehr.

    Oder in Piwik "ferienwohnung bewertung schreiben", als Suma dann Google und dort als Suchanfrage dann "urlaub mit hund bayerischer wald eigenem haus eingezäunt".

    ^^ auffallend, das sind alles Suchanfragen mit "Hund", die gehören eigentlich zu einer anderen als der aktuell in Piwik offenen Seite.

    Würde sogar behaupten, dass noch nicht mal die Seiten stimmen, denn bei einer, vom Bodensee-Portal, klickte ich auch drauf, bekam auch eine andere Suchanfrage und als Treffer an der von Piwik angegeben Position mein Berlin-Portal ???

    So, Fehler gefunden, wobei nicht wirklich den Fehler, aber was es verursacht... Ob das ein Bug ist??? Jedenfalls ist PHP-FPM in Verbindung mit Apache-Proxy ganz schön giftig. Hier scheint nginx besser zu sein, denn dort gibt es zwei Direktiven für die Fehlerbehandlung, beim Apache nur eine und die verursacht das Problem....

    Die persönliche eigene Fehlerseite, die ein Portal ausliefert, die kennt wohl jeder.... Um die bei FPM und Proxy zu aktivieren, also das ErrorDokument nutzbar zu machen, muss man die Direktive ProxyErrorOverride einschalten. Wenn die an ist, dann nutzt der Apache die unter ErrorDocument hinterlegte Datei und nicht einfach nur "File not found".

    Nun gehen die Probleme aber los, denn wenn ProxyErrorOverride aktiviert ist, dann wird der Response-Body von PHP bei allen Header von 400 und höher, also auch bei 5xx, nicht mehr beachtet. Der erscheint einfach nicht. Es kommt entweder die Meldung aus dem ErrorDokument oder, wenn nicht vorhanden, die Standardmeldung vom Apache.

    Es ist also nicht möglich, mit PHP einen Header 404 zu senden und einen Body dazu.

    Braucht man das, und das brauchen viele Scripte, dann muss man ProxyErrorOverride deaktivieren (Ich denke mal, das ist auch der Grund, warum es per Default aus ist). Dann kommt auch wieder der Body von PHP mit auf den Schirm. Das Problem hier dann aber, wenn ProxyErrorOverride aus ist, dann wird das ErrorDokument nicht mehr beachtet. Bei irgendwelchen Aufrufen, wo die Datei dann nicht gefunden werden kann, oder ein Header >= 400 kommt, aber kein Body, kommt nicht mehr die personalisierte Standard-Fehlermeldung vom ErrorDokument, sondern "File not found".

    Wie man es auch dreht und wendet, die Katze beißt sich in den Schwanz.

    So, also muss man für bestimmte Files das ProxyErrorOverride deaktivieren (z.B. für den Page-Restrictor) und dennoch global an lassen, z.B. mit so einem Konstrukt

    PHP
    ProxyErrorOverride On
    <Files "page.restrictor.php">
       ProxyErrorOverride Off
    </Files>


    Dann gehen die globalen Fehlerseiten und der Restrictor kann seine eigene Fehlermeldung schicken. Fertig? Nein!

    Es gibt ja auch noch andere Scripte, Funktionen und Klassen, die Fehlercodes und gleichzeitig Meldungen absetzen. Bei denen fehlen die Meldungen dann ja auch. Nur kann man die ja schlecht alle freigeben. Also muss man hier alles überarbeiten und die ganzen Error-Meldungen mit Status 400 oder größer in ein extra File als eigene Funktion auslagern und dieses dann inkluden und aufrufen, anstelle den Fehler "direkt vor Ort" zu erzeugen.

    Dann sind alle Fehlerheader und Meldungen, also alles was was größergleich 400 erzeugt und einen eigenen Body sendet, in einem File und das kann man dann auch "freigeben"

    PHP
    <Files "error_funktionen_mit_eigenem_body.php">
       ProxyErrorOverride Off
    </Files>


    Irgendwie ist das ganze FPM/Proxy-Gedöns ganz schön umständlich.

    ok, eben viel es mir auch auf, als ich 403 schrieb....

    Die Bottrap geht auch nicht! Die sperrt zwar, aber man kann nicht entsperren, weil die eigene Fehlerseite fehlt.... Kommt nur

    HTML
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access / on this server.<br /> </p> </body></html>

    Also dieser Proxy-FPM-Mist macht mich noch wahnsinnig. Da läuft ja gar nichts "normal".

    Hab den Code nun einfach mal umgedreht:

    <?php
    echo 'Die persönliche Fehlermeldung';
    header ('HTTP/1.0 404 Not Found');
    ?>

    Das lieferte bisher korrekterweise immer einen Fehler, weil der Header gesendet werden sollte, aber vorher schon andere Daten geschickt wurden. Seltsamerweise kommt dieser Fehler da auch nicht, der akzeptiert es. Er liefert auch hier einen 404, aber nicht meinen Text :fluch: Selbiges übrigens auch bei Header 401, 403 und 410, da kommen auch keine eigenen Texte mit..... Das ist doch alles Mist hoch drei....

    Vielleicht weiß es ja einer und hat den Wink mit dem Pfahl....

    Früher ging das einfach mit PHP so:

    PHP
    <?php
    header ('HTTP/1.0 404 Not Found');
    echo 'Die persönliche Fehlermeldung';
    ?>

    Es erschien also der Text "Die persönliche Fehlermeldung" und die Seite hatte den Status 404.

    Nun seit FPM und Proxy habe ich ein großes Problem, denn der Code von oben geht nicht mehr. So bald da ein Header 404 kommt, wird der nachfolgende Output einfach ignoriert. Bedeutet also, es wird zwar der 404 gesendet, aber angezeigt wird nicht der individuelle Text, sondern die Default-Fehlerseite aus der ErrorDocument-Direktive.

    z.b. hier:ferien - netzwerk . de / test.php
    Dort ist genau der Code von oben hinterlegt und es wird nicht der Text angezeigt, sondern mein Default-ErrorDocument.

    Lasse ich ErrorDocument in den Apache-Einstellungen weg, dann kommt einfach ein "File not found".

    Das ist beides schlecht, denn ich benötige teilweise bestimmt Fehlerseiten, die anzeigen, warum der Fehler ausgelöst wurde. PHP muss also den Text ausgeben und den Header 404 senden.

    Ich schaffe es aber irgendwie nicht, den eigenen Text auf den Schirm zu bekommen und habe keine Ahnung, wo es hängt. An PHP? An Apache? Am Proxy?

    läuft..... Vor gut einer Woche 4 RR-Anträge bei Google gestellt. Eben kamen die Antworten. Alle 4 abgelehnt. Langsam gehen die mir echt auf den Sack. Bei einer Seite baue ich schon seit 4 Jahren Links ab und ständig kommen die mit was neuen oder einer neuen Ablehnung und in der doofen Linkliste von denen stehen jedes mal wieder neue Links drinnen, die ich gar nicht kenne.