Balises pour Référencement

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 : Balises pour Référencement

Re: Balises pour Référencement

par AB » 14 août 2009, 16:44

J'ai essayé de mettre des metas HTML dans une de mes pages php à la place des metas php (= celles que j'ai collées dans mon message précédent)
Au bout de quelques jours, ma page a gagné 73 places dans le classement google.
Regarde le principe que t'indique Victor pour mieux comprendre, car ta phrase ci-dessus n'a pas de sens, ou plutôt si c'est une confirmation que ton code PHP n'était pas opérationnel, ou alors simplement c'était une coïncidence et ta page était déjà entrain de gagner des places quand tu as fait le changement.

Quand je veux dire qu'elle n'a pas de sens c'est que les robots regardent la code html généré, celui que tu vois dans ton navigateur dans le menu "Affichage" -> "code source de la page" avec firefox ou "Affichage" -> "source" avec IE.

Et que tu fasses <title>Mon titre</title> ou <title><?php echo 'Mon titre' ?></title> tu ne verras aucune différence au niveau du code généré.

Re: Balises pour Référencement

par megapoulpe » 14 août 2009, 15:43

Perso j'ai eu ce problème de header unique pour toutes les pages sur mon site.

C'est assez difficile à résoudre, parce qu'on est obligé de faire un include de la page de contenu à l'endroit ou doit apparaître le contenu, en plein milieu de la page HTML.

Autrement dit, après le <head>.

Or c'est gênant, parce qu'on a besoin de la variable $title dans le head. La seule solution que j'ai trouvé c'est d'inclure le fichier tout en haut de ma page, et de mettre la sortie en cache.

Comme ça j'affiche le titre dans le <head>, et le contenu du cache dans le contenu.

Re: Balises pour Référencement

par Victor BRITO » 13 août 2009, 23:50

Voici ce qu'il faut dans le code du fichier site-entete.inc.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- Le titre de ta page (on affiche la variable $ref_Titre_Page) -->
<title><?php echo $ref_Titre_Page; ?></title>
<!-- Son classement (on affiche la variable $ref_Classification_Page) -->
<meta name="classification" content="<?php echo $ref_Classification_Page; ?>" />
<!-- Sa description (on affiche la variable $ref_Description_Page) -->
<meta name="description" content="<?php echo $ref_Description_Page ?>" />
<!-- Ses mots clés (on affiche la variable $ref_Keywords_Page) -->
<meta name="keywords" content="<?php echo $ref_Keywords_Page ?>" />
<meta name="y_key" content="9edd28db0c528c26" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="<?php echo URL; ?>style/style.css" rel="stylesheet" type="text/css" />
<link href="<?php echo URL; ?>favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="<?php echo URL; ?>css/lightbox.css"rel="stylesheet"  type="text/css" media="screen" />
<script type="text/javascript" src="<?php echo URL; ?>script/mootools.js"></script>
<script type="text/javascript" src="<?php echo URL; ?>script/viewer.js"></script>
<script type="text/javascript" src="<?php echo URL; ?>script/script.js"></script>
<!--<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>-->
</head>
Est-ce vraiment plus clair ? ;)

Re: Balises pour Référencement

par bertrand31 » 13 août 2009, 23:27

J'ai essayé de mettre des metas HTML dans une de mes pages php à la place des metas php (= celles que j'ai collées dans mon message précédent)
Au bout de quelques jours, ma page a gagné 73 places dans le classement google.

Re: Balises pour Référencement

par bertrand31 » 13 août 2009, 23:22

Tout le site a été refait de A à Z en php.

J'ai au début de chaque page :

<? include("../inc/front.inc.php"); ?>
<?
$ref_Titre_Page = "titre";
$ref_Classification_Page = "classification";
$ref_Description_Page ="description";
$ref_Keywords_Page ="keywords";
?>
<? include("../inc/entete.inc.php"); ?>
<? include("../inc/haut.inc.php"); ?>


J'ai dans la page site-entete.inc.php :

<?
echo"<?xml version=\"1.0\"?>";
if (!eregi('MSIE 7', $_SERVER['HTTP_USER_AGENT'])){
echo("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Titre</title>
<meta name="classification" content="classification" />
<meta name="y_key" content="9edd28db0c528c26" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="<?=URL;?>style/style.css" rel="stylesheet" type="text/css" />
<link href="<?=URL;?>favicon.ico" rel="icon" type="image/icon" />
<link href="<?=URL;?>css/lightbox.css"rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="<?=URL;?>script/mootools.js"></script>
<script type="text/javascript" src="<?=URL;?>script/viewer.js"></script>
<script type="text/javascript" src="<?=URL;?>script/script.js"></script>
<?php /*?><script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script><?php */?>
</head>



Ce qui fait que ce sont les balises HTML de la page site-entete.inc.php qui sont appelées à chaque fois !

Re: Balises pour Référencement

par AB » 13 août 2009, 18:06

Il y a quelque chose que je ne comprends pas bien dans tes explications, c'est la relation entre tes fichiers. Est-ce que tu écris les titres de tes pages manuellement dans ton entête HTML (<title>le titre de la page actuelle</title>) et tu as du code PHP après, dans lequel tu essaies de récupérer la valeur du titre ?
Cela n'aurait aucun sens.
ou bien ton code PHP se trouve avant l'entête HTML dans ta page et tu ne sais pas comment réutiliser les infos que tu génères en PHP dans l'entête HTML qui suit ?
Si justement il sait le faire.

EDIT : Ah bah non effectivement c'est ce dernier point qui lui manquait :wink:

Re: Balises pour Référencement

par abelthorne » 13 août 2009, 14:22

Mais non, je veux que chaque page ait son propre titre, ses propres mots clés. Si j'appelle une page, toutes les pages seront homogènes au niveau du référencement.
Il y a quelque chose que je ne comprends pas bien dans tes explications, c'est la relation entre tes fichiers. Est-ce que tu écris les titres de tes pages manuellement dans ton entête HTML (<title>le titre de la page actuelle</title>) et tu as du code PHP après, dans lequel tu essaies de récupérer la valeur du titre ? ou bien ton code PHP se trouve avant l'entête HTML dans ta page et tu ne sais pas comment réutiliser les infos que tu génères en PHP dans l'entête HTML qui suit ?

Re: Balises pour Référencement

par enneite » 13 août 2009, 13:52

tu crees un fichier de fonction à la manière que je t'ai montré. Tu le nommes par exemple fonctions_header.php
Tu le place dans chacune des tes page avec un :

Ensuite dans chaque page tu appelles la fonction affiche_header()

Mais là, tu changes la valeur de $id_page en fonction de ce que tu as écrit dans tes fonctions (donne_titre() ...)se trouvant dans ton fichier fonctions_header.php .
sur la page 1
<?php
include_once "fonctions_header.php";
$id_page=1;
 affiche_header($id_page);
?>
sur la page 2 :
<?php
include_once "fonctions_header.php";
$id_page=2;
 affiche_header($id_page);
?>
...
Et ainsi de suite sur chaque page de ton site.
Comme tu as défini dans les fonctions donne_titre(), donne_keywords etc..., les mots clés en fonction de l'ID de ta page, du coup chaque page a ses propres META pour leur référencement.
Après tu te crés un fichier MAP avec toutes tes pages, tu l'envoies à google et le tour est joué.

Voilà, c'est la méthode la plus simple que je connaisse.
La méthode est un peu longue si tu a enormement de fichiers, mais après il y a moyen de racourcir le procédé. Mais ça devient plus compliqué;
Il faut d'abord comprendre ce processus.

Fais le et teste cela avec deux ou trois pages de ton site et tu verras le résultat.
GARANTI QUE CA MARCHE (vu que c'est à peu près comme ça que je fait)

Re: Balises pour Référencement

par bertrand31 » 12 août 2009, 20:46

Mais non, je veux que chaque page ait son propre titre, ses propres mots clés. Si j'appelle une page, toutes les pages seront homogènes au niveau du référencement.

Re: Balises pour Référencement

par enneite » 12 août 2009, 14:09

function donne_titre($id_page)
{
   switch($id_page)
   {
      case 1 : $titre="Mon site, page d'accueil";break;
      case 2 : $titre="Mon site, Autre page";break;

//...

      default : $titre="Mon site le plus beau";break;
   }
return $titre;
}

function donne_keywords($id_page)
{

//METTRE environ 10 mots cles par page séparés par des virgules
switch($id_page)
   {
      case 1 : $sortie="jeux, internet, mots-cles, test";break;
      case 2 : $sortie="page, videos, annonces";break;

//...

      default : $sortie="themes, spectacles,";break;
   }
return $sortie;

}

function donne_description($id_page)
{
$description="La description de mon site!";
if($id_page==1)$description="Nouvelle description pour page 1";
if($id_page==2)$description="Nouvelle description plus mieux encore.";
//...

return $description

}


function affiche_header($id_page)
{

$titre=donne_titre($id_page);

$keywords=donne_titre($id_page);

$description=donne_titre($id_page);

echo'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="'.$keywords.'">
<meta name="description" content="'.$description.'">
<title>
'.$titre.'
</title>
</head>';
}
Tu crées des fonctions pour afficher tes entetes des pages HTML grossomodo à la manière de cidessus.
Tu les ranges dans un fichier php que tu appeleras sur toutes les pages (du genre, tu modifies site-entete-inc.php en conséquences).
Et tu appeles dans chaque page la fonction affiche_header($id_page) en remplacant $id_page par la bonne variable
<?php affiche_header(1);?>

au lieu de :
<html>
<head>
</head>
...

Re: Balises pour Référencement

par zeus » 12 août 2009, 09:31

La syntaxe <? ?> est un raccourci qui n'est pas forcément authorisé sur tout les serveurs (directive de configuration "short_open_tag").
Pour être sûr que tes balises soient reconnues comme des balises php, utilise la version standard : <?php ?>

Et, bizarrement, si les short_open_tags ne sont pas authorisés, le php n'est pas affiché, mais pas exécuté ;)

Re: Balises pour Référencement

par bertrand31 » 12 août 2009, 09:29

C'est pas très clair non.

Les pages php font appel à la page site-entete.php pour afficher le haut de chaque page.
du coup, toutes les pages ont le même titre, les mêmes mots clés provenant des balises html de site-entete.php.


Je me rends compte que toutes les pages débutent par :
<? include("../inc/front.inc.php"); ?>
<?
$ref_Titre_Page = "...";
$ref_Classification_Page$ref_Titre_Page = "...";
$ref_Description_Page ="...";
$ref_Keywords_Page ="..";
?>
<? include("../inc/entete.inc.php"); ?>
<? include("../inc/haut.inc.php"); ?>
...
Ces balises ont l'air muettes. Seul les balises html de la page entete.inc.php sont appelées.


Qu'en pensez-vous ?

Re: Balises pour Référencement

par Victor BRITO » 09 août 2009, 15:13

L'élément HTML title est d'autant plus indispensable… qu'il est obligatoire.

Pour que le titre de page soit unique, tu n'as pas le choix que de passer par une variable, dont la valeur est définie selon la page consultée.

Un exemple permettant d'en illustrer le principe :
// Une liste autorisée de noms de page
$liste_pages = array (
  'contact',
  'mentions-legales',
  'presentation'
);

// Un paramètre d'URL permettant d'afficher telle ou telle page (qu'il y ait ou non URL rewriting)
$page = (isset ($_GET['page']) && in_array ($_GET['page'], $liste_pages))? $_GET['page']: null;

// Définition du titre de la page
switch ($page)
{
  case 'contact':
    $titre = 'Contact - Nom du site';
    break;
  case 'mentions-legales':
    $titre = 'Mentions légales - Nom du site';
    break;
  case 'presentation':
    $titre = 'Présentation - Nom du site';
    break;
  default:
    $titre = 'Accueil - Nom du site';
    break;
}
Et, plus loin, dans le gabarit HTML contenu dans ton fichier site-entete-inc.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title><?php echo $titre; ?></title>
<!-- Le reste des éléments HTML contenus dans head (link, meta, script, style) -->
</head>
<!-- Le reste de la structure HTML -->
Est-ce clair ? ;)

Balises pour Référencement

par bertrand31 » 09 août 2009, 11:57

Bonjour,

Pour un site en php, respectant toutes les normes du W3, dois-je placer des meta balises type html comme <title>, meta name="classification", ...
ou dois-je mettre les balise php comme $ref_Titre_Page = "", $ref_Classification_Page ="", ...

Pour info. J'ai une page site-entete-inc.php contenant des balises html pour le référencement. Cette page est rappelée sur chaque page du site. Ce qui fait que page de mon site a les mêmes titres, mots clés définis dans site-entete-inc.php. Ce qui est génant. Je voudrai différencier chaque titre, mots clés... de chaque page pour permettre un meilleur placement dans les moteurs de recherches.