Pagina 1 din 3

Generare sitemap automat

Scris: Dum Dec 02, 2012 9:52 pm
de cadou
Am vazut ca sitemap e important pentru site asa ca am cautat pe net cod de generare sitemap.
adica daca eu fac azi modificari si adaug inregistrari mie sa imi apara in sitemap rapid, pe loc, nu ca sa ma duc eu pe site-uri sa dau generare sitemap manual.
Am gasit 2 coduri.
Am inlocuit cum trebuie pe acolo in loc de domeniu am pus site-u meu, in loc de host parola si ce mai e pe acolo am completat tot dar da erori
primul e

Cod: Selectaţi tot


    <?php
    //include baza de date
    $db=mysql_connect($[b]dbhost[/b],$[b]dbuser[/b],$[b]dbpass[/b]);
    mysql_select_db($[b]dbdatabase[/b]);
    $mainPages = array(
    “http://www.domeniu.ro/”,
    “http://www.domeniu.ro/topuseri/”,
    “http://www.domeniu.ro/toparticole/”);
    //declara header si insceput sitemap
    header (‘Content-type: text/xml’);
    echo ‘<?xml version=”1.0″ encoding=”ISO-8859-1″ ?>’;
    echo ‘<urlset xmlns=”http://www.google.com/schemas/sitemap/0.84″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd”>’;
    for($i=0; $i<count($mainPages); $i++){
    echo ‘<url>
    <loc>’. $mainPages[$i] .’</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    </url>’;
    }
    //genereaza categoriile
    $map_result = mysql_query(“SELECT id FROM categorii”);
    while ($map_row = mysql_fetch_array($map_result)) {
    $category = “http://www.domeniu.ro/categorie/” . $map_row['id'] . “/”;
    echo ”
    <url>
    <loc>”. $category  .”</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    </url>”;
    }
    //genereaza elementele
    $map_result = mysql_query(“SELECT id FROM articole WHERE aprobat = 1″);
    while ($map_row = mysql_fetch_array($map_result)) {
    echo ‘
    <url>
    <loc>http://www.domeniu.ro/articol/’. $map_row['id'] .’/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    </url>’;
    }
    //inchide sitemapul
    echo ‘
    </urlset>’;
    ?>

la al 2 lea am inlocuit pe acolo ce si cum trebuie dar afiseaza asa :

Acest fișier XML nu pare să aibă nicio informație de stil asociată lui. Mai jos este afișat arborele documentului.
<?phprequire_once('conectare.php');


$pagina = @$_GET['pagina'];
// how many rows to show per page
$drowsPerPagina = 50;

// by default we show first page
$paginaNum = 1;

// if $page defined, use it as page number
if(isset($pagina))
{
$paginaNum = $pagina;
}

// counting the offset
$offset = ($paginaNum -1) * $drowsPerPagina;


$sql = "select * from `statusuri` LIMIT $offset, $drowsPerPagina";
$result = mysql_query($sql, $database) or die(mysql_error());
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset>
";

{
while($row = mysql_fetch_array($result)) {
$URL = $row["status"];
echo "<url><loc>http://www.MYSITE.com/product_$URL.html</loc></url>";
}
}
?>
</urlset>

Al 2 lea cod este :

Cod: Selectaţi tot



    <?php

    require_once('conectare.php');


      $pagina = @$_GET['pagina'];
    // how many rows to show per page
    $drowsPerPagina = 50;

    // by default we show first page
    $paginaNum = 1;

    // if $page defined, use it as page number
    if(isset($pagina))
    {
        $paginaNum = $pagina;
    }

    // counting the offset
    $offset = ($paginaNum -1) * $drowsPerPagina;


    $sql = "select * from `statusuri` LIMIT $offset, $drowsPerPagina";
    $result = mysql_query($sql, $database) or die(mysql_error());
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9\">
    ";

    {
    while($row = mysql_fetch_array($result)) {
      $URL = $row["status"];
    echo "<url>
            <loc>http://www.MYSITE.com/product_$URL.html</loc>
          </url>";
    }
    }
    ?>
    </urlset>


Re: Generare sitemap automat

Scris: Joi Dec 13, 2012 3:59 pm
de ViezuREX
Iti recomand sa folosesti aplicatia de aici http://enarion.net/tools/phpsitemapng/ . Nu stiu daca este cu adevarat insa mie mi s-a parut cea mai buna solutie.

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 12:07 am
de cadou
Eu as fi vrut ceva automat
adica sa ia din baza de date datele
ViezuREX scrie:Iti recomand sa folosesti aplicatia de aici http://enarion.net/tools/phpsitemapng/ . Nu stiu daca este cu adevarat insa mie mi s-a parut cea mai buna solutie.

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 1:32 am
de ViezuREX
Cred a e mai buna solutia recomandata de mine, mai ales ca functioneaza similar cu crawler-ul Google. Daca vrei sa faci ceva care sa citeasca din DB este posibil dar trebuie sa ti-o faci singur(a) pentru ca nici o aplicatie nu poate stii cum iti construiesti tu link-urile.

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 11:21 am
de cadou
Da am incercat sa fac dar imi da erorare dar nu inteleg de ce ?

Cod: Selectaţi tot

    <?xml version="1.0" encoding="utf-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <?php
    require_once('conectare.php');

    $cerereSQL = "SELECT * FROM `membri` ORDER BY id DESC";
    $rezultat = mysql_query($cerereSQL);
    while($rand = mysql_fetch_array($rezultat))
    {
    echo "
    <url>
        <loc>http://www.scapadeplictiseala.tk/profil-$rand[nume].php</loc>
        <lastmod>2013-01-26</lastmod>
        <changefreq>always</changefreq>
        <priority>1.0</priority>
      </url>
    ";
    }
    ?>
    </urlset>

Dar afiseaza codu php folosit.


ViezuREX scrie:Cred a e mai buna solutia recomandata de mine, mai ales ca functioneaza similar cu crawler-ul Google. Daca vrei sa faci ceva care sa citeasca din DB este posibil dar trebuie sa ti-o faci singur(a) pentru ca nici o aplicatie nu poate stii cum iti construiesti tu link-urile.

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 12:29 pm
de ViezuREX
Fa urmatoarea modificare:

Cod: Selectaţi tot

 <loc>http://www.scapadeplictiseala.tk/profil-".$rand[nume].".php</loc>

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 2:40 pm
de cadou

Cod: Selectaţi tot

<xml version="1.0" encoding="utf-8";>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php require_once('conectare.php'); $cerereSQL = "SELECT * FROM `membri` ORDER BY id DESC";
 $rezultat = mysql_query($cerereSQL);
while($rand = mysql_fetch_array($rezultat))
{
echo '
<url>
<loc>http://www.scapadeplictiseala.tk/profil-'.$rand['nume'].'.php</loc>
<lastmod>2013-01-26</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
';
}
?>
</urlset>

Dar afiseaza asa :
try.JPG
try.JPG (209.6 KiB) Vizualizat de 4976 ori


ViezuREX scrie:Fa urmatoarea modificare:

Cod: Selectaţi tot

 <loc>http://www.scapadeplictiseala.tk/profil-".$rand[nume].".php</loc>

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 3:26 pm
de ViezuREX
Daca vrei sa se vada frumos in browser pune si tu cate un <br /> la sfarsitul fiecarei linii, adica dupa tag-ul de inchidere.

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 3:30 pm
de cadou
Pai nu e bine cum afiseaza adica ma refer ca nu apare ca un fisier xml cum e un adevar sitemap.xml
ci google nu mi-l citeste asa !
spune ca nu recunoaste linia <xml version="1.0" encoding="utf-8";> ca nu e un format bun
ViezuREX scrie:Daca vrei sa se vada frumos in browser pune si tu cate un <br /> la sfarsitul fiecarei linii, adica dupa tag-ul de inchidere.

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 6:21 pm
de ViezuREX
Pentru a fi intrepretat de browser ca si XML trebuie sa pui inainte de linia de afisare

Cod: Selectaţi tot

header("Content-type: text/xml");

Re: Generare sitemap automat

Scris: Dum Ian 27, 2013 10:39 pm
de cadou
sitemap.php, in htacces
regula RewriteRule ^sitemap\.xml/?$ sitemap.php [L]
Erori :
Eroare la analiza XML: niciun element găsit
Adresă: http://www.scapadeplictiseala.tk/site.xml
Număr linie 437, coloană 10:
</urlset>
-----------^
Care linie 437 ? eu am decat 10-12 linii de cod.

Cod: Selectaţi tot

<xml version="1.0" encoding="utf8_general_ci">
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php header("Content-type: text/xml"); require_once('conectare.php');
$cerereSQL = "SELECT * FROM `membri` ORDER BY id DESC"; $rezultat = mysql_query($cerereSQL);
while($rand = mysql_fetch_array($rezultat))
{
echo '
<url>
<loc>http://www.scapadeplictiseala.tk/profil-'.$rand['nume'].'.php</loc>
<lastmod>2013-01-26</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
';
}
?>
</urlset>

ViezuREX scrie:Pentru a fi intrepretat de browser ca si XML trebuie sa pui inainte de linia de afisare

Cod: Selectaţi tot

header("Content-type: text/xml");

Re: Generare sitemap automat

Scris: Lun Ian 28, 2013 7:26 am
de ViezuREX
Ai uitat sa pui tag-ul de inchidere al XML-ului. Adauga la sfarsit </xml>

Re: Generare sitemap automat

Scris: Lun Ian 28, 2013 10:54 am
de cadou
Ok acum afiseaza cum trebuie, dar cand il trimit la google ca sa indexeze zice asa :
Format fişier neacceptat
Sitemapul dvs. nu pare să fie într-un format acceptat. Asiguraţi-vă că acesta respectă Regulamentul nostru pentru sitemapuri , apoi retrimiteţi-l.

ViezuREX scrie:Ai uitat sa pui tag-ul de inchidere al XML-ului. Adauga la sfarsit </xml>

Re: Generare sitemap automat

Scris: Lun Ian 28, 2013 10:57 am
de MihaiC
ViezuREX scrie:Ai uitat sa pui tag-ul de inchidere al XML-ului. Adauga la sfarsit </xml>


Aia e declaratia documentului, nu tag. Si e scrisa gresit.

Re: Generare sitemap automat

Scris: Lun Ian 28, 2013 11:03 am
de cadou
si ce este de facut ?
Ce am scris gresit ?
Asta e codul care il am in prezent

Cod: Selectaţi tot

<xml version="1.0" encoding="utf8_general_ci">
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php header("Content-type: text/xml"); require_once('conectare.php');
$cerereSQL = "SELECT * FROM `membri` ORDER BY id DESC"; $rezultat = mysql_query($cerereSQL);
while($rand = mysql_fetch_array($rezultat))
{
echo '
<url>
<loc>http://www.scapadeplictiseala.tk/profil-'.$rand['nume'].'.php</loc>
<lastmod>2013-01-26</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
';
}
?>
</urlset>
</xml>

Daca modific linia asta : <xml version="1.0" encoding="utf8_general_ci"> in <?xml version="1.0" encoding="utf8_general_ci"?>
Imi da eroarea : Parse error: syntax error, unexpected T_STRING in /site.php on line 1
desi toate sitemapurile au aceea linie asa <?xml version="1.0" encoding="utf8_general_ci"?>

MihaiC scrie:
ViezuREX scrie:Ai uitat sa pui tag-ul de inchidere al XML-ului. Adauga la sfarsit </xml>


Aia e declaratia documentului, nu tag. Si e scrisa gresit.