Probleme nach Änderung der Permalink-Struktur

  • Nach der Änderung meiner Permalink-Struktur Mitte November habe ich mit gravierenden Problemen hinsichtlich meiner täglich veröffentlichten Blogartikel unter der Webadresse http://www.sura1.at/wordpress/ zu kämpfen.

    Die Permalink-Struktur lautet: /%postname%/
    Ich habe zur Änderung das Plugin Dean's Permalinks Migration
    eingesetzt.

    Erklärung der Probleme:

    Ich möchte euch meine Schwierigkeiten mit meinem am 22.12.2009 veröffentlichten Artikel http://www.sura1.at/wordpress/die-…-die-kosmologie zeigen (gilt aber auch für andere Artikel!):

    Punkt 1:

    Wenn ich zum Beispiel den Titel meines Artikels [=Die Physik Albert Einsteins: Die Kosmologie] in der Google-Suche eintippe, erhalte ich auf der 2. Seite von Google folgendes Ergebnis:

    Zitat

    Sura1.at - Webdesign und Surftipps
    Die Physik Albert Einsteins: Folge 6 – Die Kosmologie. Für diese Folge brauchen Sie viel Gelassenheit. Denn was Harald Lesch erzählt, übersteigt eigentlich ...
    sura1.at/ - Im Cache - Ähnlich

    [Screenshot ansehen: http://sura1.at/google-1.png ]

    Daraus folgt:

    Das heißt, dass meine veröffentlichten Artikel in den Suchmaschinen immer(!) nur auf die Startseite meines Blogs http://www.sura1.at/wordpress/ verlinkt werden! Mit dieser Darstellung meines Blogartikels kann ich niemals von jemandem gefunden werden!

    Punkt 2:

    Wenn ich aber die Linkadresse zu meinem Artikel [=http://www.sura1.at/wordpress/die-physik-albert-einsteins-die-kosmologie/ ] in die Suchleiste bei Google eintippe, erhalte ich gleich als 1. Suchergebnis sofort meinen veröffentlichten Artikel:

    Zitat

    Die Physik Albert Einsteins: Die Kosmologie | Sura 1.at
    Harald Lesch erklärt das Phänomen Albert Einstein Die Physik Albert Einsteins: Folge 6 - Die Kosmologie Für diese Folge brauchen Sie viel Gelassenheit.
    http://www.sura1.at/wordpress/die-…-die-kosmologie - vor 14 Stunden gefunden -

    [Screenshot ansehen: http://sura1.at/google-2.png ]

    Hier erfolgt die Verlinkung in der richtigen Art und Weise. Wenn ich auf die oberste Zeile klicke, komme ich zum richtigen Artikel - und nicht(!) zur Startseite meines Weblogs.

    Daraus folgt: Ergebnis Nummer 2 wäre eigentlich richtig, erscheint jedoch nicht(!) oder erst in einigen Wochen in den Suchergebnissen auf!

    [size=12]Meine Frage an die Forummitglieder lautet daher:[/SIZE]

    Kann mir jemand schlüssig erklären, warum meine Blogartikel einfach unter meiner Domain-Adresse http://sura1.at/ in den Suchergebnissen von Google aufscheinen und nicht wie unter Punkt 2 angeführt.

    Hat es etwas damit zu tun, das meine Webseite http://sura1.at/ sowohl mit als auch ohnen 'www' zu erreichen ist?

    Ich bin schon ganz verzweifelt, weil ich bereits über 300 Artikel veröffentlicht habe. und leider erst jetzt bemerkt habe, dass ich von den Suchmaschinen eigentlich gar nicht gefunden werden kann!

    Vielen Dank im Voraus für die Hilfe

    lg
    Sura1

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ein Problem ist bestimmt die Ausgabe der Artikel im Volltext auf der Startseite, die ja naturgemäß ein höheres Ranking hat.

    Außerdem könnte dies hier brisant werden:

    HTML
    <link rel="canonical" href="http://www.sura1.at/wordpress/leschs-universum-virtuelle-welt/ " />

    Der HTML-Standard sagt zwar, daß Leerzeichen vor und nach Attributwerten stillschweigend entfernt werden sollen, aber darauf würde ich mich nicht verlassen. Möglicherweise sucht Google die kanonische Adresse also unter http://example.com/%20. Hast du solche 404er? Loggst du 404er überhaupt aktiv mit?

    Die Erreichbarkeit mit und ohne www. spielt keine Rolle, denn du leitest solche Anfragen ja auf einen kanonischen Host um.

  • Nachricht auf Antwort vom Toscho

    Dass im Quelltext ein ein Fehler vorliegt, habe ich nicht gewußt. Kannst du mir bitte verraten, wie ich diesen beheben könnte - ich kenne mich da leider zu wenig aus!

    Zu deiner Feststellung

    Zitat

    Möglicherweise sucht Google die kanonische Adresse also unter http://example.com/%20. Hast du solche 404er? Loggst du 404er überhaupt aktiv mit?

    kann ich leider nichts sagen, da ich mich mit den 404-Fehlermeldung überhaupt nicht auskenne. Ich weiß ehrlich nicht, was deine Frage [Loggst du 404er überhaupt aktiv mit?] bedeutet. Und wo muß ich suchen, um solche 404er zu finden!

  • Dass im Quelltext ein ein Fehler vorliegt, habe ich nicht gewußt. Kannst du mir bitte verraten, wie ich diesen beheben könnte - ich kenne mich da leider zu wenig aus!


    Das ist kein Fehler im Code, sondern in der Interpretation, wenn es denn überhaupt daran liegt.

    In der [FONT="Courier New"]header.php[/FONT] deines Themes steht irgendwo so etwas:

    PHP
    <?php if ( is_singular() ) 
        echo '<link rel="canonical" href="' . get_permalink() . '" /'; 
    ?>

    Zwischen den beiden Anführungszeichen im letzten Abschnitt – [FONT="Courier New"]'" /';[/FONT] – sollte kein Leerzeichen stehen. Wenn der Code bei dir ganz anders aussieht, post ihn hier mal.

    Ich weiß ehrlich nicht, was deine Frage [Loggst du 404er überhaupt aktiv mit?] bedeutet. Und wo muß ich suchen, um solche 404er zu finden!


    Steht eigentlich alles in der verlinkten Seite. Alle Zugriffe auf deine Seite findest du im Accesslog deines Hosters, darin steht auch, mit welchem Code der Server geantwortet hat. Der Code 404 heißt: Nicht gefunden. Darum solltest du dich immer kümmern.
    Im Artikel biete ich ein Script an, das dir in solchen Fällen eine E-Mail mit allen wichtigen Details schickt. Bequemer geht es nicht mehr. :)

  • In der header.php meines Blog finde ich den von dir angeführten Code-Abschnitt

    PHP
    <?php if ( is_singular() )  
        echo '<link rel="canonical" href="' . get_permalink() . '" /';  
    ?>

    leider nicht.

    Meine header.php sieht wie folgt aus (gesamter Code)

    Zu deiner Erläuterung

    Zitat

    Steht eigentlich alles in der verlinkten Seite. Alle Zugriffe auf deine Seite findest du im Accesslog deines Hosters, darin steht auch, mit welchem Code der Server geantwortet hat. Der Code 404 heißt: Nicht gefunden. Darum solltest du dich immer kümmern.
    Im Artikel biete ich ein Script an, das dir in solchen Fällen eine E-Mail mit allen wichtigen Details schickt. Bequemer geht es nicht mehr.

    möchte ich dir mitteilen, dass ich im Kontrollpanell meines Hosters die Accesslog gefunden habe. Ich habe nur ein Problem:

    Der Dateiname lautet

    Zitat

    access-2009120521-2009121921.log.gz

    aber ich dann diese mit WinZip nicht öffnen! Wie komme ich zu den Daten im Accesslog?

  • Meine header.php sieht wie folgt aus (gesamter Code)

    PHP
    <link rel="shortcut icon" href="<?php bloginfo(’url’); ?>/favicon.ico" type="image/x-icon" />

    Steht »url« wirklich in Apostrophen im Quelltext? Aua!
    (Die Forensaftware baut unbremsbar eine Maskierung ein, die ich nicht geschrieben habe … *grrr*)

    Wenn die kanonische Adresse nicht in der [FONT="Courier New"]header.php[/FONT] erzeugt wird und – da du noch WordPress 2.8.4 benutzt – auch nicht von WordPress selbst, wird sie entweder von einem Plugin erzeugt oder durch Code in der [FONT="Courier New"]functions.php[/FONT] deines Themes.
    Sieh mal, ob du da etwas findest.

    WordPress 2.9 erstellt das Element dann selbst und auch ohne Leerzeichen. Spätesten dann solltest du die aktuelle Quelle gefunden haben.

    Der Dateiname lautet
    access-2009120521-2009121921.log.gz
    aber ich dann diese mit WinZip nicht öffnen! Wie komme ich zu den Daten im Accesslog?


    Probier mal 7-Zip, das kann dieses Format öffnen.

    Nebenbei: Es gilt als höflich, auf Crosspostings hinzuweisen. Dann weiß man als Helfender gleich, ob sich die Mühe lohnt, oder ob du die passende Antwort schon bekommen hast. Noch besser kommt es an, wenn du erst das Ende einer Diskussion abwartest und dann woanders Rat suchst. Das ist kein Vorwurf, nur ein Tipp.

  • Zitat

    Wenn die kanonische Adresse nicht in der [FONT=Courier New]header.php[/FONT] erzeugt wird und – da du noch WordPress 2.8.4 benutzt – auch nicht von WordPress selbst, wird sie entweder von einem Plugin erzeugt oder durch Code in der [FONT=Courier New]functions.php[/FONT] deines Themes.
    Sieh mal, ob du da etwas findest.

    Ich habe die [FONT=Courier New]functions.php [FONT=Verdana]durchgesehen und dort den

    [/FONT][/FONT]

    PHP
    <?php if ( is_singular() )  
        echo '<link rel="canonical" href="' . get_permalink() . '" /';  
    ?>

    nicht gefunden.

    Sehr wohl habe ich aber folgenden ähnlichen Code-Schnipsel im Quelltext meines Wordpress-Plugins All in One SEO Pack gefunden:

    PHP
    if($aioseop_options['aiosp_can']){
                            $url = $this->aiosp_mrt_get_url($wp_query);
                                    if ($url) {
                                            $url = apply_filters('aioseop_canonical_url',$url);
    
    
                            echo "".'<link rel="canonical" href="'.$url.'" />'."\n";
                            }
                    }

    Ich weiß nicht, ob du damit etwas anfangen kannst.

    Die Datei access-2009120521-2009121921.log.gz kann ich mit 7-Zip leider auch nicht öffnen.

    Abschließend möchte ich mich wegen der Crosspostings entschuldigen. Ich wußte nicht, dass dies nicht gerne gesehen wird. Kommt nicht wieder vor!!

  • Sehr wohl habe ich aber folgenden ähnlichen Code-Schnipsel im Quelltext meines Wordpress-Plugins All in One SEO Pack gefunden […]

    Aha. Dann schreib mal in die [FONT="Courier New"]functions.php[/FONT] deines Themes diese Zeile:

    PHP
    add_filter('aioseop_canonical_url', 'trim');

    Das sollte das Leerzeichen entfernen. Wenn es so ist, schick dem Plugin-Autor den Link auf diese Diskussion; sicher möchte er das übernehmen.

    Die Datei access-2009120521-2009121921.log.gz kann ich mit 7-Zip leider auch nicht öffnen.


    Was passiert denn, wenn du es versuchst? Ich habe mit diesem Programm selbst schon gearbeitet. Es kann ganz sicher Gzip-Archive öffnen. Die entpackte Datei kannst du mit jedem Texteditor ansehen.

  • Ich habe deinen Code

    PHP
    add_filter('aioseop_canonical_url', 'trim');

    in die function.php geschrieben. Und wie du vorausgesagt hast, wird dadurch das Leerzeichen in Quelltext entfernt.

    Der Quelltext vom ursprünglichen Beispiel sieht dann so aus:

    HTML
    <link rel="canonical" href="http://www.sura1.at/wordpress/leschs-universum-virtuelle-welt/" />

    Wegen meinem Problem

    Zitat

    Die Datei access-2009120521-2009121921.log.gz kann ich mit 7-Zip leider auch nicht öffnen.

    habe ich bei der Accesslog einfach die Endung .gz in .txt umgewandelt. Damit kann ich dann die Datei im Editor ansehen. Außerdem kann ich sie auch im Browser aufrufen. Nur hilft mir dies nicht viel. Ich sehe nur eine Ansammlung von endlosen Zeilen:

    Siehe bitte dazu den Screenshot:http://cid-4961f4e8bffc2861.skydrive.live.com/self.aspx/Acry…niken/k-txt.png

    Im Kontrollpanell meines Webhosters habe ich dann unter den Statistiken für den Monat Dezember 2009 unter anderem folgendes gefunden:

    Statistik - Statuscode
    http://cid-4961f4e8bffc2861.skydrive.live.com/self.aspx/Acry…n/k-12-2009.jpg

    Broken Links:
    http://cid-4961f4e8bffc2861.skydrive.live.com/self.aspx/Acry…roken-links.jpg

    Interne Fehler:
    http://cid-4961f4e8bffc2861.skydrive.live.com/self.aspx/Acry…rnal-Errors.jpg

  • Und wie du vorausgesagt hast, wird dadurch das Leerzeichen in Quelltext entfernt.

    Sehr schön. Gib dem Autor bitte Bescheid.

    Zitat

    habe ich bei der Accesslog einfach die Endung .gz in .txt umgewandelt. Damit kann ich dann die Datei im Editor ansehen.


    Seltsam, da wurde die Datei offenbar nicht verpackt, sondern nur mit einer falschen Endung versehen.

    Zitat

    Nur hilft mir dies nicht viel. Ich sehe nur eine Ansammlung von endlosen Zeilen:

    Das sieht zunächst etwas seltsam aus, ist aber eine sehr nützliche Sammlung von Informationen.
    Das Logformat im Webserver Apache sieht meistens so aus:

    Code
    %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"

    Beispiel
    Die Zeile …

    Code
    mnhm-4d01aed3.pool.mediaways.net
    - - 
    [30/Nov/2009:01:00:57 +0100] 
    "GET /2009/php-magic-quotes-entfernen/ 
    HTTP/1.1" 
    200 
    5160 
    "http://toscho.de/2009/trennung-inhalt-layout/" 
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)"


    … die ich hier mal der Übersicht halber umgebrochen habe, sagt mir:

    Vom Host mnhm-4d01aed3.pool.mediaways.net aus wurde von jemandem, der sich nicht authentifiziert hat (- -) auf meine Seite zugegriffen.
    Datum und Zeit stehen in den eckigen Klammern, die Methode war GET (POST und HEAD sind auch üblich, DELETE, PUT und TRACE eher nicht).

    Dann kommt die angeforderte Ressource. Die sagt dir bei einem Fehler, welche URL da eigentlich kaputt ist. Wenn die am Ende ein [FONT="Courier New"]%20[/FONT] hat, dann hat jemand die falsch interpretierte »Canonical URL« angefordert.
    Oft steckt auch feindlicher Code in der URL.

    Dahinter steht das Protokoll, hier HTTP 1.1. Yahoo beispielsweise kann das immer noch nicht und benutzt 1.0 – Schande!

    Der Statuscode lautete 200 (Gefunden); das ist die häufigste Antwort. 404 hieße: Nicht gefunden, 410: Für immer weg. Die 500er sind Serverfehler. Du findest also alle 404er, wenn du nach [FONT="Courier New"][Leerzeichen]404[Leerzeichen][/FONT] suchst.

    Die nächste Zahl gibt die Menge der übertragenen Bytes an, hier 5160.

    Dann kommt der Referer, die Seite, von der aus der Zugriff erfolgt ist. Sehr wichtig, wenn jemand woanders einen kaputten Link auf deine Seite gesetzt hat: Du kannst ihn dann anschreiben, und ihm genau sagen, wo er den Link reparieren möge. Einige Leute senden den Referer nicht mit, andere packen feindlichen Code hinein … das ist also nicht unbedingt eine vertrauenswürdige Quelle.

    Zum Schluß noch der User-Agent (UA), ein Browser oder Crawler. Auch gerne gefälscht, vergiftet oder unterdrückt.

    Spannende und wichtige Informationen also. Ab und zu solltest du einen Blick hinein werfen, denn nur so siehst du beispielsweise, ob ein durchgeknallter Crawler deine Ressourcen vergeudet.

    So hatte ich oft einen UA mit der Kennung Java/1.6.0_04 im Logfile, der viermal pro Stunde sämtliche Feeds (auch die der einzelnen Artikel) abgeholt hat. Alles legale Zugriffe, die in keinem Fehlerbericht auftauchen, aber in der Masse eine ziemliche Zumutung.

    Durch die regelmäßige Logfile-Analyse ist der mir immer wieder aufgefallen, und irgendwann habe ich ihn ausgesperrt mit einem Eintrag in der .htaccess:

    Apache Configuration
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} !/greedy\.html
    RewriteCond %{HTTP_USER_AGENT} ^Java/1\.\d [NC]
    RewriteRule ^ /greedy.html [L,R=301]

    Die greedy.html hat 145 Bytes und ist eine einfache, statische HTML-Seite. Darin steht, warum ich das mache, und wer sich daran stört, kann ja mit einem richtigen Browser auf meine Seite kommen und mich anschreiben. Hat noch keiner gemacht. :)


    Zitat

    Im Kontrollpanell meines Webhosters habe ich dann unter den Statistiken für den Monat Dezember 2009 unter anderem folgendes gefunden:


    Naja, das ist hübsch bunt und einfach, unterschlägt aber die wichtigen Details.
    Fast 3% 404er finde ich ganz schön viel. Darum solltest du dich kümmern.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!