Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Google Seo - SiteMap XML Error
#1
Hab mir das Google Seo Plugin von Frostschutz installiert, funzt auch alles außer die Sitemap. Ich bekomme folgenden Error:

Zitat:XML-Verarbeitungsfehler: XML- oder Text-Deklaration nicht am Beginn der Entität
Adresse: http://diehoerbar.net/forum/sitemap-index.xml
Zeile Nr. 3, Spalte 1:<?xml version="1.0" encoding="UTF-8"?>
^

Kann damit jetzt garnichts anfangen Big Grin
Zitieren
#2
@Michael,
da das schon der x-te Thread zu meinem Plugin hier in deinem Forum ist, wenn du willst kann man das alles in einen Google SEO Support Thread zusammenfassen.

@RhymeFront,

Du hast in deinem Forum irgend etwas, das zwei Leerzeilen in die Ausgabe an den Anfang von jeder Seite setzt.

Geh auf http://diehoerbar.net/forum/portal.php , mach Quelltext anschauen, und du siehst, dass vor der <!DOCTYPE Zeile schon zwei Leerzeilen sind. Auf anderen Seiten hast du da sogar drei Leerzeilen.

Bei HTML ist sowas egal, bei XML und damit auch bei der XML Sitemap, gelten viel viel strengere Regeln.

Du musst suchen was bei dir diese Leerzeilen einfügt - möglicherweise in irgendwelchen .php Dateien, Leerzeilen vor oder nach <?php ?> - PHP hat leider die schlechte Angewohnheit, alles was ausserhalb dieser Klammern ist, in die Ausgabe mit reinzuwurschteln.

An meinem Plugin liegt es nicht, die Ursache ist irgend etwas anderes auf deinem Server oder in einer deiner .php Dateien. Falls du PHP-Dateien modifiziert hast solltest du dir die nochmal anschauen, ausserhalb von <?php ?> darf sich weder Text noch Leerzeilen noch sonst etwas befinden.
Zitieren
#3
hmpf ok danke dir Smile dann geh ich mal auf die suche Big Grin
Zitieren
#4
Deine Thread-Links sind auch irgendwie komisch.

http://diehoerbar.net/forum/showthread.php?tid=202 bleibt so

http://diehoerbar.net/forum/showthread.php?pid=2566 wird http://diehoerbar.net/forum/Thread-rhymefront?pid=2566

http://diehoerbar.net/forum/Thread-rhymefront wird http://diehoerbar.net/forum/showthread.php?tid=202

Das soll so nicht sein. Ich kann mir das auch nicht erklären.

Hast du irgendwas komisches gemacht?

inc/functions.php get_thread_link() nicht (richtig) modifiziert?

Wenn du functions.php von Hand editiert hast könnten daher auch die Leerzeilen kommen, falls du beim editieren Leerzeilen eingefügt hast. Toungue
Zitieren
#5
Wenn ich das in deiner Doku richtig verstehe müssen doch immer nur die Funktionen und die erste öffnende Klammer ersetzt werden durch deinen Code oder ?

PHP-Code:
/**
 * Build the post link.
 *
 * @param int The post ID of the post
 * @param int The thread id of the post.
 */
 
function get_post_link($pid$tid=0)
       {
           if(
function_exists("google_seo_url_post"))
           {
               
$link google_seo_url_post($pid$tid);

               if(
$link)
               {
                   return 
$link;
               }
           }

    if(
$tid 0)
    {
        
$link str_replace("{tid}"$tidTHREAD_URL_POST);
        
$link str_replace("{pid}"$pid$link);
        return 
htmlspecialchars_uni($link);
    }
    else
    {
        
$link str_replace("{pid}"$pidPOST_URL);
        return 
htmlspecialchars_uni($link);
    }


EDIT:
PHP-Code:
function get_thread_link($tid$page=0$action='')
       {
           if(
function_exists("google_seo_url_thread"))
           {
               
$link google_seo_url_thread($tid$page$action);

               if(
$link)
               {
                   return 
$link;
               }
           }

    if(
$page 1)
    {
        if(
$action)
        {
            
$link THREAD_URL_PAGED_ACTION;
        }
        else
        {
            
$link THREAD_URL_PAGED;
        }
        
$link str_replace("{tid}"$tid$link);
        
$link str_replace("{action}"$action$link);
        
$link str_replace("{page}"$page$link);
        return 
htmlspecialchars_uni($link);
    }
    else
    {
        if(
$action)
        {
            
$link THREAD_URL_ACTION;
            
$link str_replace("{action}"$action$link);
        }
        else
        {
            
$link THREAD_URL;
        }
        
$link str_replace("{tid}"$tid$link);
        return 
htmlspecialchars_uni($link);
    }

Zitieren
#6
Das sieht richtig aus, jetzt scheints auch zu klappen. War also ein Fehler drin den du schon gefunden hast?
Zitieren
#7
Ach sorry, ja ich hatte das get_thread_link vergessen -.- ... So nu muss ich ma gucken das ich die php finde, wobei ich eigentlich nix groß gemacht habe. Mal davon abgesehen weiß ich ja jetzt auch nicht wie lange das schon so ist... Kann das auch von nem Template herkommen ?
Zitieren
#8
Nein, ein Template ist (zumindest bei der Google SEO Sitemap) nicht involviert.

Was du machen kannst, in index.php, ganz unten, vor dem Aufruf von Output-Page, einfügen:

PHP-Code:
header("X-Debug: 1"); 

Dann sollte eine Headers already sent Warnung kommen, mit einer Angabe, wer schon gesendet hat - und das ist dann die Datei die (mit) Schuld dran ist... (deine User sehen die Warnung aber auch, wenn du das nicht willst muss noch ne if-Abfrage für Admins bzw. cancp drumrum)
Zitieren
#9
Da kommt keine Warnung. Habs einfach mal reingesetzt, alles normal, komisch Oo
Zitieren
#10
Dann musst du suchen, andere Ideen hab ich leider auch nicht im Moment.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Sitemap Generator Erkan 1 1.207 23.07.2017, 12:10
Letzter Beitrag: MrBrechreiz
  Google Sitemap lumpi 1 1.234 17.10.2015, 23:58
Letzter Beitrag: SvePu
  Google Seo Anleitung Mario1690 22 8.125 28.09.2012, 23:30
Letzter Beitrag: der unwissende
  .htaccess Google SEO Problem NoNoZ 8 4.326 24.07.2012, 00:48
Letzter Beitrag: SteepX
  XML Error sonic1978 2 1.600 16.03.2012, 20:46
Letzter Beitrag: sonic1978