Autor Zpráva
pogg
Profil
Zdravím...

Už delší dobu řeším jak udělat sitemap z DB, ale bezvýsledně. No vlastně se mi povedlo udělat strukturu sitemap jak má být viz http://video.strojnet.com/sitemap.xml, ale je to jen php. Nemohli by jste mi poradit jak to to dostat do .xml


Zdroják je zde:

<?php echo "&lt;?xml version=\"1.0\" encoding=\"windows-1250\"?&gt;<br>
&lt;urlset
xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\"&gt;<br>";

include 'funkc.php';

require "mysql.php";mysql_query("SET NAMES windows-1250"); mysql_query("SET CHARACTER SET 'windows-1250'");

$stranky = MySQL_Query("SELECT * FROM videa ORDER BY id desc");

$t = "&nbsp;&nbsp;&nbsp;";
while($stranka = MySQL_Fetch_Array($stranky)){
$stranka = $stranka["url"];

$datum = w3cDate($time=NULL);


echo "&lt;url&gt;<br>
$t&lt;loc&gt;$stranka&lt;/loc&gt;<br>
$t&lt;priority&gt;0.5&lt;/priority&gt;<br>
$t&lt;lastmod&gt;$datum&lt;/lastmod&gt;<br>
$t&lt;changefreq&gt;daily&lt;/changefreq&gt;<br>
&lt;/url&gt;<br>";

}


echo "&lt;/urlset&gt;";
?>

Díky za každou radu...
kletely
Profil
pogg
Namiesto entity daj normálne tagy.
bohyn
Profil
pogg
A <br> naopak vyhod.
pogg
Profil
pogg
Namiesto entity daj normálne tagy.
pogg
A <br> naopak vyhod.

Obojí jsem udělal a výsledek je takovýhle: http://video.strojnet.com/sitemap.xml

zmizely

<url></url>

atd a zůstaly jen výsledky z proměnných....

Co s Tím???
bohyn
Profil
pogg
Prohlidni si to jako zdrojovy kod, ne to co ti ukaze browser.
pogg
Profil
pogg
Prohlidni si to jako zdrojovy kod, ne to co ti ukaze browser.

jo zdroják je v pohodě....

Mě jde vlastně jen o to aby to google webmaster Tool vzal.... jdu mu to zkusit předhodit..... :)
pogg
Profil
Ješte jsem se chtěl zeptat na jednu věc:

Ny stránce se mi generuje obsah, takže je aktualizovaná každý den, ale udělal jsem v téhle sitemapě funkci:

<?
function w3cDate($time=NULL)
{
if (empty($time))
$time = time();
$offset = date("O",$time);
return date("Y-m-d\TH:i:s",$time).substr($offset,0,3).":".substr($offset,-2);
}
?>

která bere aktuální datum. Aby to bral google jako aktualizované a indexoval.
To právě ale neví, zda když google přijde na sitemap, aktivuje se skript a obnoví se to datum????
Změní se na aktuální hodnotu.
pogg
Profil
No a google vypsal tohle:

Nepodporovaný formát souboru
Zdá se, že váš soubor Sitemap není v podporovaném formátu. Ujistěte se prosím, že splňuje naše pokyny pro soubory Sitemap a znovu jej odešlete

Takže to asi nebere jako xml??
Kajman_
Profil *
Zkuste ještě opravit toto...

<xml version="1.0" encoding="windows-1250"?>
<urlset 
      xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">


<?xml version="1.0" encoding="windows-1250"?>
<urlset 
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
pogg
Profil
no to je právě ten problém.... ten otazník

<?xml version="1.0" encoding="windows-1250"?>

tam nejde vložit.... nechce mi to přeložit už jsem to ho zkoušel moc:

<?echo '<?xml version="1.0" encoding="windows-1250"?>'?>
<?echo "<?xml version=\"1.0\" encoding=\"windows-1250\"?>"?>
<?php echo "<?xml version=\"1.0\" encoding=\"windows-1250\"?>"?>

ani jedna z variant nejede?!?!?!?

Tak už nevím....
pogg
Profil
Dostal jsem se do této fáze a vše se zdá být jako obyč xml ale nejede to:

<?echo "<?xml version=\"1.0\" encoding=\"windows-1250\"?>"?>

<?php echo "
<urlset
xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\">";

include 'funkc.php';

require "mysql.php";mysql_query("SET NAMES windows-1250"); mysql_query("SET CHARACTER SET 'windows-1250'");

$stranky = MySQL_Query("SELECT * FROM videa ORDER BY id desc");


while($stranka = MySQL_Fetch_Array($stranky)){
$stranka = $stranka["url"];

$datum = w3cDate($time=NULL);


echo "<url>
<loc>$stranka</loc>
<priority>0.5</priority>
<lastmod>$datum</lastmod>
<changefreq>daily</changefreq>
</url>";

}

echo "</urlset>";
?>


Výsledek je zde: http://video.strojnet.com/sitemap.xml

Už jsem bezradný.........
nightfish
Profil
pogg
při zobrazení zdrojového kódu vygenerovaného xml souboru zjistíš, že tam přebývá jedno zpětné lomítko a chybí jedny uvozovky...

konkrétně
<urlset
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9\> <url>
  <loc>http://video.strojnet.com/stroj/SP180-CNC.php</loc>
pogg
Profil
Nyní jsem to uvedl do stavu jak mám i ostatní sitemapy na jiných webech.....
Nedělám třeba chybu jinde????
sitemap generuji na

../rss-sitemap/sitemap.php

pak jen přes.htaccess

RewriteRule ^sitemap\.xml$ %{DOCUMENT_ROOT}/rss-sitemap/sitemap.php [L]

už fakt nevím....
nightfish
Profil
momentálně je tam

<urlset
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
            http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">[/pre]


nejsem si zcela jist, že v xsi:schemaLocation mohou být dvě url... osobně bych tam nechal jen
<urlset>
pogg
Profil
Zkusil jsem vytvořit sitemap na:

http://www.xml-sitemaps.com/details-video.strojnet.com.html

a tam to takto vygenerovalo:
<?xml version="1.0" encoding="windows-1250"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">;

A tohle je moje vytvořená:
<?xml version="1.0" encoding="windows-1250"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd";

Asi to bude chyba jinde.....
pogg
Profil
sitemap z http://www.xml-sitemaps.com/ je uplně stejná jako tato vytvořená... Není tedy problém nekde při tom jak z sitemap.php se dělá sitemat.xml???
bohyn
Profil
pogg
Ten urlset mas najekej divokej. Ja pouzivam toto:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">


XML prolog se tiskne s jednoduchymi uvozovkami.
echo '<?xml version="1.0" encoding="UTF-8"?>';

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: