Créer un sitemap en php
20 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Créer un sitemap en php
Bonjour,
Je souhaiterai créer un sitemap pour google en php. Seulement, j'ai lu que le sitemap devait être en XML. Hors, si je fais un sitemap.php, ça ne fonctionnera pas ?
Et si je fais un sitemap.xml, je ne pourrais pas faire un fichier dynamique qui se met à jour à chaque interrogation (comme un .php par exemple)
Bref, je ne comprend pas comment faire un fichier xml dynamique en utilsant php ?
Je souhaiterai créer un sitemap pour google en php. Seulement, j'ai lu que le sitemap devait être en XML. Hors, si je fais un sitemap.php, ça ne fonctionnera pas ?
Et si je fais un sitemap.xml, je ne pourrais pas faire un fichier dynamique qui se met à jour à chaque interrogation (comme un .php par exemple)
Bref, je ne comprend pas comment faire un fichier xml dynamique en utilsant php ?
Tu n'y es pas. En fait on utilise les deux.
Un sitemap.xml lisible seulement par des robots comme Google qui propose son ajout dans ses outils webmasters.
Une page normale (exemple monsite.php) reprenant toutes les catégories et liens principaux de ton site. Il permet d'être crawlé par les robots et permet aussi au visiteur de s'y retrouver.
Les deux peuvent être générés en php mais n'ont pas la même utilité ni la même finalité. N'oublie pas qu'il est possible d'appeler une page X.php X.xml grâce aux règles de réécritures
Et puis, tu as juste à changer les headers en php pour faire comme si ta page X.php était un fichier xml !
Un sitemap.xml lisible seulement par des robots comme Google qui propose son ajout dans ses outils webmasters.
Une page normale (exemple monsite.php) reprenant toutes les catégories et liens principaux de ton site. Il permet d'être crawlé par les robots et permet aussi au visiteur de s'y retrouver.
Les deux peuvent être générés en php mais n'ont pas la même utilité ni la même finalité. N'oublie pas qu'il est possible d'appeler une page X.php X.xml grâce aux règles de réécritures
Merci, la réécriture d'url était la brique qui manquée à mon raisonnement.
Pour les générations futures que Dieu Google enverra sur ce post. Si ça peut les aider un peu
Le script php pour générer le sitemap dynamique :
fct_general.php contient la connexion à la base MySQL
L'extrait du .haccess pour réécrire sitemap.php en sitemap.xml :
Pour les générations futures que Dieu Google enverra sur ce post. Si ça peut les aider un peu
Le script php pour générer le sitemap dynamique :
fct_general.php contient la connexion à la base MySQL
- Code: Tout sélectionner
<?php
require_once("fct_general.php");
header("Content-Type: text/xml;charset=utf-8");
echo '<?xml version="1.0" encoding="utf-8"?>';
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<?php
// Charge les actu pour créer le tableau
$vChaineSQL="SELECT actu.id_actu, actu.motsCles FROM actu ORDER BY id_actu DESC";
$vResult=mysql_query($vChaineSQL);
while ($row=mysql_fetch_array($vResult)) {
$urlActu=$_SERVER["HTTP_HOST"]."/actualite-".$row["id_actu"]."-".str_replace(" ","_",$row["motsCles"]).".html";
?>
<url>
<loc><?php echo $urlActu; ?></loc>
</url>
<?php } ?>
</urlset>
L'extrait du .haccess pour réécrire sitemap.php en sitemap.xml :
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^sitemap.xml /sitemap.php [NC,L]
Salut,
pour ma part, comme toutes les pages de mon site passent par index.php, j'ai ajouté un code qui ajoute systématiquement toutes les urls qui ne provoquent pas d'erreur 404 dans la db.
Ca se présente comme ça (à adapter bien entendu) :
et le fichier sitemap.php
Si ça peut aider
pour ma part, comme toutes les pages de mon site passent par index.php, j'ai ajouté un code qui ajoute systématiquement toutes les urls qui ne provoquent pas d'erreur 404 dans la db.
Ca se présente comme ça (à adapter bien entendu) :
- Code: Tout sélectionner
// Gestion du SITEMAP
if( !isset($NOSITEMAP) AND !ereg('\?', $_SERVER['REQUEST_URI']) AND !ereg('#', $_SERVER['REQUEST_URI']) ) {
$url_ = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$title_ = str_replace(' - '.$_CONFIG['name'], '', $_HEAD['title']);
$title_ = mysql_escape_string($title_);;
$module_ = ucfirst(module_name());
// On vérifie que le domaine est correct
if(ereg(SITE_URL, $url_)) {
$url_ = str_replace(SITE_URL, '', $url_);
$sql = "UPDATE sitemap SET title='{$title_}', counter=counter+1 WHERE url='{$url_}'";
db_query($sql);
if(mysql_affected_rows()==0) {
$timestamp_ = time();
$sql = "
INSERT INTO sitemap(url, title, module, counter, timestamp)
VALUES('{$url_}', '{$title_}', '{$module_}', '1', '{$timestamp_}')
";
db_query($sql);
}
}
}
et le fichier sitemap.php
- Code: Tout sélectionner
<?php
# Génère le fichier sitemap.xml
// Includes
include('db.inc.php');
include('functions.inc.php');
// Connexion à la DB
db_connect();
// On récupère SITE_URL
query_config();
// En-tete http
header('Content-Type: text/xml');
// Début du fichier
echo <<< ECHO
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
ECHO;
// Récupération des data
$sql = 'SELECT * FROM sitemap ORDER BY url';
$result = db_query($sql);
while( $element = mysql_fetch_assoc($result) ) {
if ( !ereg('\./', $element['url']) AND !ereg('index\.php', $element['url']) AND !ereg('#', $element['url']) ) {
$url = SITE_URL . $element['url'];
$lastmod = date('Y-m-d', $element['timestamp']);
echo "
<url>
<loc>{$url}</loc>
<lastmod>{$lastmod}</lastmod>
</url>
";
}
}
// Fermeture de la DB
db_close();
?>
</urlset>
Si ça peut aider
-

Rod la Kox - WRInaute accro

- Messages: 1812
- Inscription: Mar Juin 24, 2008 15:03
Ouais, enfin, tout sitemap est spécifique à chaque site.
un type qui sait faire une requête vers sa bdd et mettre en forme pour le format attendu par GG obtiendra un joli sitemap.
Pas compliqué en somme.
Le truc important, comme pour tout flux ou page, c'est de ne pas se planter dans l'encodage.
un type qui sait faire une requête vers sa bdd et mettre en forme pour le format attendu par GG obtiendra un joli sitemap.
Pas compliqué en somme.
Le truc important, comme pour tout flux ou page, c'est de ne pas se planter dans l'encodage.
-

WebzineMusik - WRInaute discret

- Messages: 51
- Inscription: Sam Avr 19, 2008 7:21
Bonjour à tous,
Je suis d'accord que tout site doit posséder son propre sitemap.
L'idéal est de le créer en fichier compressé, Google aime le Gz

Je suis d'accord que tout site doit posséder son propre sitemap.
L'idéal est de le créer en fichier compressé, Google aime le Gz
-

Rod la Kox - WRInaute accro

- Messages: 1812
- Inscription: Mar Juin 24, 2008 15:03
Mouais, mais ça avance à quoi ?
10k ou 200ko... sur les hébergeur d'aujourd'hui...
10k ou 200ko... sur les hébergeur d'aujourd'hui...
-

WebzineMusik - WRInaute discret

- Messages: 51
- Inscription: Sam Avr 19, 2008 7:21
Un fichier XML est automatiquement indexé par Google à moins de l'interdire,
donc le contenu est visible ensuite depuis la toile.
Un fichier compressé restera invisible.
Ce n'est qu'une idée parmi tant d'autre
donc le contenu est visible ensuite depuis la toile.
Un fichier compressé restera invisible.
Ce n'est qu'une idée parmi tant d'autre
-

WebzineMusik - WRInaute discret

- Messages: 51
- Inscription: Sam Avr 19, 2008 7:21
Euh... ne doit-on pas ajouter quelques balises optionnelles ?
- <url>
<loc>http://www.mon-site-a-moi.fr/agenda.html</loc>
<lastmod>2008-12-06</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
-

screuscreu - WRInaute passionné

- Messages: 911
- Inscription: Lun Jan 14, 2008 12:14
WebzineMusik a écrit:Euh... ne doit-on pas ajouter quelques balises optionnelles ?- <url>
<loc>http://www.mon-site-a-moi.fr/agenda.html</loc>
<lastmod>2008-12-06</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
Pas de réponses résponse de pro ?
WebzineMusik a écrit:Euh... ne doit-on pas ajouter quelques balises optionnelles ?- <url>
<loc>http://www.mon-site-a-moi.fr/agenda.html</loc>
<lastmod>2008-12-06</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
tu l'as dit, c'est optionnel
pour ce qui est du xml vs php, j'envoie tout à google dans un sitemap.php, et il aime très bien
rien n'interdit un fichier.php à renvoyer du xml, tant que le header est bien positionné :
- Code: Tout sélectionner
header("Content-Type: text/xml;charset=utf-8");
echo '<?xml version="1.0" encoding="utf-8"?>';
donc, la regle de réécriture sitemap.php => sitemap.xml n'apporte rien
-

screuscreu - WRInaute passionné

- Messages: 911
- Inscription: Lun Jan 14, 2008 12:14
ayor a écrit:donc, la regle de réécriture sitemap.php => sitemap.xml n'apporte rien
Elle apporte au moins à yahoo, msn ... et autres moteurs de recherche !
Sinon on peut mettre ça dans le robots.txt
- Code: Tout sélectionner
Sitemap: http://www.example.com/sitemap.xml
Mais je sais pas si un php sera apprécié par les autres
20 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Contraintes d'emplacement du Sitemap
- Déclarer son fichier sitemap dans le fichier robots.txt
- Google Sitemap Generator version 1.3
- Référencement de vidéos avec les fichiers sitemaps vidéo
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit
- Où placer son fichier Sitemap ? A la racine ?
- Ecrire un sitemap pour Google News
- Exalead rejoint le protocole Sitemaps.org
- Nouvelle version de Yahoo Site Explorer (août 2008)
- Google Sitemaps : explications en français :-)
- créer un sitemap en PHP (pages dynamiques)
- Help : inserer des meta tag,le sitemap sur un site en php ?
- script PHP de sitemap pour des pages dynamiques et htm
- Sitemap: GG reprend des info post sitemap
- Index sitemap + sitemap déclarés à google
- Sitemap, format url et index sitemap
- Problème Sitemap : URL not under sitemap domain .
- [Sitemap] Sitemap generator et lastmod
- Un sitemap dans un sitemap
- Sitemap ou pas Sitemap ?
- probleme entre index.php centre.php et news.php
Consultez la description détaillée des produits ou services de Google suivants : Google Sitemaps
- Liste de mots-clés
Cet outil vous permet de créer à partir de quelques mots-clés une liste d'expressions constituées des mots pris dans tous les ordres possibles. Il sert aux analyses de positionnement et achats de mots-clés.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum