Categorizator - problème Méta automatique

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Categorizator - problème Méta automatique

Message le Jeu Déc 13, 2007 12:13

bonjour,

j'ai installé categorizator, et ensuite la mise à jour la version rewriting récente.

seul probleme, dans mon admin, quand j'ajoute moi meme un site, dans une catégorie, lorsque je clique sur le bouton méta , il ne me met pas l'image sur site (meme ceux qui en on une) et il ne me met pas les métas automatiquement... comme il devrait le faire normalement...

meme probleme quand j'essaye d'ajouter un site, par la zone visiteur "proposer un site" , il ne trouve pas les métas, me met juste l'url, rien d'autre...

pourtant j'ai bien regarder, aucun fichiers ne manque...

merci pour votre aide


titiplanti
WRInaute impliqué
WRInaute impliqué
 
Messages: 430
Inscription: Jeu Nov 04, 2004 2:34

Message le Jeu Déc 13, 2007 13:14

Salut,
Tu as une fonction pour mettre à jour les images de sites dans ton admin. Pour qu'elle fonctionne il faut renommer un fichier qui se trouve dans le dossier /admin/

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Message le Jeu Déc 13, 2007 15:34

titiplanti a écrit:Salut,
Tu as une fonction pour mettre à jour les images de sites dans ton admin. Pour qu'elle fonctionne il faut renommer un fichier qui se trouve dans le dossier /admin/

oui mais c'est pas ca le problème :wink:


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Déc 13, 2007 18:08

il y a deux solutions : soit le paramètre func_get_meta_tags de la table infos_annuaire n'est pas a true soit il doit y avoir une problème dans une des fonctions appelée dans la function preremplir_formulaire (fopen, fread, get_meta_tags)

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Message le Jeu Déc 13, 2007 22:06

j'ai pas trouvé; la function preremplir_formulaire .

voila la table infos_annuaire , je n'ai pas de vu de True :

Image

Image

Image

ma page function : (je vois une true à $detected = true;)

Code: Tout sélectionner
function preremplir_formulaire($url,$fill)
// Préremplir le formulaire d'inscription grâce aux metas et la détection d'images
{
   if ( $fill )
   {
      global $PMA_infos;
      
      preg_match("/^(\d)(\d)(\d)$/",$PMA_infos['detect_images'],$detect_images);
      
      $detect_images = array (
         'ascreen'   => $detect_images[1],
         'thumbshots'   => $detect_images[2],
         'alexa'      => $detect_images[3],
      );
      
      asort($detect_images);
      
      $detected = false;
      foreach ( $detect_images as $methode => $ordre )
      {
         if ( $ordre )
         {
            $url_image = detect_images($methode,$url);
            
            if ( $url_image ) {
               $detected = true;
               break;
            };
         };
      };
      
      $url_image = $detected ? $url_image : 'http://';
      
      if ( $PMA_infos['func_get_meta_tags'] )
      {
         $fp = @fopen($url, 'r');
         $head = @fread($fp, 1024);
         @fclose($fp);
      }
      else
      {
         $head = null;
      };
      
      if ( $head )
      {
         $tags = @get_meta_tags($url);
         
         $nom_proprio = isset($tags['author']) ? $tags['author'] : '';
         $email_proprio = isset($tags['reply-to']) ? $tags['reply-to'] : ( isset($tags['email']) ? $tags['email'] : '' );
         $titre = preg_match( "/<title>([^<]*)<\/title>/si", $head, $match ) ? $match[1] : '';
         $description = $tags['description'] ? $tags['description'] : '';
      };
      
      return array( $url, $url_image, $nom_proprio, $email_proprio, $titre, $description );
   }
   else
   {
      $url = 'http://';
      $url_image = 'http://';
      $nom_proprio = null;
      $email_proprio = null;
      $titre = null;
      $description = null;


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Déc 13, 2007 22:23

la fonction preremplir_formulaire test si la zone $PMA_infos['func_get_meta_tags'] est vrai pour récupérer le contenu de l'url. dans ton cas c'est bon car $PMA_infos['func_get_meta_tags'] = 1 (0=faux, et 1=vrai). ce paramètre est modifié dans la partie administation en cliquant sur "Modifier les paramètres
de l'annuaire" avec la page /admin/param_annuaire.php

La fonction get_meta_tags ne doit pas fonctionner avec ta configuration. il faut regarder du coté de l'hébergeur pour vérifier.

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Message le Jeu Déc 13, 2007 23:56

webmasterlamogere a écrit:la fonction preremplir_formulaire test si la zone $PMA_infos['func_get_meta_tags'] est vrai pour récupérer le contenu de l'url. dans ton cas c'est bon car $PMA_infos['func_get_meta_tags'] = 1 (0=faux, et 1=vrai). ce paramètre est modifié dans la partie administation en cliquant sur "Modifier les paramètres
de l'annuaire" avec la page /admin/param_annuaire.php

La fonction get_meta_tags ne doit pas fonctionner avec ta configuration. il faut regarder du coté de l'hébergeur pour vérifier.

ok, il faut donc que je contacte mon hebergeur ?

je dois leur demander quoi ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Déc 14, 2007 9:31

il y a peut-être un petit test a faire pour trouver l'origine de l'erreur : enlever les @ devant fopen, fread, fclose et get_meta_tags pour voir si un message d'erreur est affiché (le préfixe @ empèche l'affichage des erreurs).

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Message le Ven Déc 14, 2007 16:29

webmasterlamogere a écrit:il y a peut-être un petit test a faire pour trouver l'origine de l'erreur : enlever les @ devant fopen, fread, fclose et get_meta_tags pour voir si un message d'erreur est affiché (le préfixe @ empèche l'affichage des erreurs).

j'ai enlevé et il me marque ca :

Code: Tout sélectionner
Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /home/.arizona/video/e-gratuit.com/annuaire/functions.php on line 625

Warning: fopen(http://www.tchat.com) [function.fopen]: failed to open stream: no suitable wrapper could be found in /home/.arizona/video/e-gratuit.com/annuaire/functions.php on line 625

Warning: fread(): supplied argument is not a valid stream resource in /home/.arizona/video/e-gratuit.com/annuaire/functions.php on line 626

Warning: fclose(): supplied argument is not a valid stream resource in /home/.arizona/video/e-gratuit.com/annuaire/functions.php on line 627


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Déc 14, 2007 16:47

il y a surement un paramétrage du serveur qui interdit la lecture du contenu d'une url. Il faire un phpinfo(); et regarder si allow_url_fopen = On
Si ce n'est pas le cas, il faut modifier le fichier php.ini et mettre allow_url_fopen = On si tu as la main sur ce fichier. sinon il faut voir avec l'hébergeur.

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Message le Lun Déc 17, 2007 0:24

mon hebergeur m'a répondu ca :? :

im betting its trying to remotely
open a file. We have this disabled by default. Here is a useful.

The PHP option allow_url_fopen would normally allow a programmer to open, include or otherwise use a remote file using a URL rather than a local file path. For security reasons, server has disabled this feature; however, a feature-rich alternative exists in the form of the bundled cURL library, and you can always get around the problem by compiling your own version of PHP.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Déc 17, 2007 8:07

j'ai l'impression qu'ils conseillent d'utiliser curl : voici un petit exemple a adapter :
Code: Tout sélectionner
      if (($ch = curl_init($url)) === false) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'initialisation de la session cURL pour $url : $num_erreur : $text_erreur</font>";
      }
      if (!curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8')) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'ajout de l'option cURL USERAGENT pour $url : $num_erreur : $text_erreur</font>";
      }
      if (!curl_setopt($ch, CURLOPT_HEADER, false)) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'ajout de l'option cURL HEADER pour $url : $num_erreur : $text_erreur</font>";
      }
      if (!curl_setopt($ch, CURLOPT_RETURNTRANSFER, true)) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'ajout de l'option cURL RETURNTRANSFER pour $url : $num_erreur : $text_erreur</font>";
      }
      if (!curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'ajout de l'option cURL FOLLOWLOCATION pour $url : $num_erreur : $text_erreur</font>";
      }
      $header[] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
      $header[] = "Accept-Language: fr\r\n";
      if (!curl_setopt($ch, CURLOPT_HTTPHEADER, $header)) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'ajout de l'option cURL HTTPHEADER pour $url : $num_erreur : $text_erreur</font>";
      }
      if (!empty($referer)) {
         if (!curl_setopt($ch, CURLOPT_REFERER, $referer)) {
            $num_erreur = curl_errno($ch);
            $text_erreur = curl_error($ch);
            return "<font color=\"red\">Erreur d'ajout de l'option cURL REFERER pour $url : $num_erreur : $text_erreur</font>";
         }
      }
      if (($res = curl_exec($ch)) === false) {
         $num_erreur = curl_errno($ch);
         $text_erreur = curl_error($ch);
         return "<font color=\"red\">Erreur d'exécution cURL pour $url : $num_erreur : $text_erreur</font>";
      }
      $url_reelle = convert_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
      $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
      curl_close($ch);
      if (($http_code <> 200) && ($http_code <> 301) && ($http_code <> 302)) {
         $description = get_http_code_description($http_code);
         return "<font color=\"red\">Code retour $http_code : $description</font>";
      }

MarieLer.
Nouveau WRInaute
 
Messages: 19
Inscription: Ven Oct 19, 2007 20:03

Message le Mer Déc 19, 2007 1:49

et ce code que tu me donne, j'en fais quoi ?
je dois le coller dans une page ?

merci


alliax
WRInaute passionné
WRInaute passionné
 
Messages: 561
Inscription: Lun Aoû 29, 2005 23:19

Message le Mer Déc 19, 2007 1:53

il faut transformer les appels fopen en utilisant curl, je t'avoue que c'est pas facile si tu ne connais rien à PHP, sinon c'est faisable en connaissant un petit peu et en sachant trouver et utiliser un exemple de conversion dans ton cas particulier.
Car cela arrive souvent que les hébergeurs au bout d'un moment désactive les url dans fopen et qu'il faille utiliser curl à la place.


keroin
WRInaute accro
WRInaute accro
 
Messages: 2299
Inscription: Sam Avr 29, 2006 16:33

Message le Mer Déc 19, 2007 2:55

Heu...juste au cas où, l'option
Pouvez-vous utilisez la fonction get_meta_tags() de PHP ?

est bien à "oui" dans les paramêtres de l'annuaire ? :wink:


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 :

  • Calcul d'indice de densité
    Cet outil vous permet de calculer l'indice de densité d'un mot-clé d'une page web. Il est calculé à la fois pour la balise TITLE, la balise META description et l'ensemble du texte de la page.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités