Sitemap

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Sitemap

Re: Sitemap

par Ryle » 13 oct. 2015, 09:18

Bonjour,

Attention, le sitemap n'est pas une page html à destination d'un utilisateur qui la consultera via le navigateur, mais un fichier xml qui est exclusivement destiné aux moteurs de recherche. Il doit donc être constitué comme un fichier xml et respecter la structure attendu pour les fichiers sitemap :
- Pas de balises <br> ou <li> destinées à l'affichage sur le navigateur, les retours à la ligne éventuels se font avec "\n"
- Ton fichier doit impérativement contenir la ligne <?xml version="1.0" encoding="UTF-8"?>
- Tes balises url doivent se trouver à l'intérieur d'une balise <urlset>

En fonction de la fréquence à laquelle des pages sont ajoutées/retirées sur ton site, il peut être préférable de générer un fichier physique sur le serveur de façon régulière plutôt que de générer un flux de façon dynamique à chaque appel du script.
<?php
  $pub = "SELECT id FROM `mabase`"; // pas besoin de faire un SELECT * si tu as juste besoin de l'id :)
  $req = $bdd->query($pub);

  $xml = '<?xml version="1.0" encoding="UTF-8"?>';
  $xml.= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

  while ($ligne = $req->fetch(PDO::FETCH_ASSOC)) {
    $xml.= '<url>' . "\n";
    $xml.= '   <loc>http:// ... /annonce?id=' . $ligne['id'] . '</loc>' . "\n";
    $xml.= '   <changefreq>weekly</changefreq>' . "\n";
    $xml.= '   <priority>0.9</priority>' . "\n";
    $xml.= '</url>' . "\n";
  }  
  $xml.= '</urlset>';

  echo $xml; // tu peux aussi utiliser cette variable pour coller le contenu dans un fichier au lieu de l'afficher

?>

Re: Sitemap

par yoann38 » 12 oct. 2015, 18:56

Re.
Bon bah du coup j'ai fait un truc très simple avec un while pour parcourir mes entrées du genre:
Juste j'aimerais affiches les balise <url> et <loc> mais du coup tel quel ça ne marche pas ....
PS: Auriez vous fait comme ça ?
merci encore
<?php
	$pub = "SELECT * FROM `mabase`";
    $req = $bdd->query($pub);
	if($req->rowCount() > 0) {
			
		while($ligne = $req->fetch(PDO::FETCH_ASSOC)){ 
		
		echo ' 
				<url><br>
  					 <loc><br>
					  http://monsite.fr/annonce?id='.$ligne['id'].'</loc><br>
					  <changefreq>weekly</changefreq><br>
					  <priority>0.9</priority><br>
					 </url><br>

				</li>
    		'."\n";

		}  
		
	} else {
		echo 'Aucune annonce enregistrée ';
	}  
	?>

Re: Sitemap

par Ryle » 12 oct. 2015, 18:31

Les générateurs de sitemap gratuits sont généralement limités à un certain nombre d'url (de 30 à 100 en moyenne). Et il n'est effectivement pas bien compliqué en php de réaliser un générateur pour produire dynamiquement un plan du site et/ou le sitemap associé (certains trouverons même l'exercice amusant ... sont pas nets ces développeurs ;))

Re: Sitemap

par or 1 » 12 oct. 2015, 18:25

si tu as su faire un site dynamique, tu sauras faire un sitemap, qui n'est qu'une liste des urls du site.

Sitemap

par yoann38 » 12 oct. 2015, 18:23

Bonjour à tous.
Je m'adresse à vous car je suis en pleine optimisation de site et j'arrive à la phase du sitemap.
J'aimerais avoir vos retour dessus.
Faut il passer par un générateur de sitemap ?
Tout faire soit même ( environ 30.000 Pages )...

Merci à vous par avance ;)