Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#51 30-12-2006 19:30:23

-aat-
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Perso j'ai simplement mis un rel=nofollow sur les liens vers les messages. De cette façon, il n'y a pas de duplicate content. Les liens du style PID pointent vers des messages, pas vers des pages. Donc ce qui est absurde, c'est de les laisser crawler par les moteurs de recherche: Consommation inutile de ressources pour le forum et pour le crawler, et pénalisation pour duplicate content.
Faites gaffe aussi à la premiere pages des topics qui par défaut est appelée aussi bien par TID=xxx que par TID=xxx&page=1.


Envie d'un blog? Créer un blog sur Blaug.fr

Hors ligne

#52 30-12-2006 19:39:04

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

-aat- a écrit :

Perso j'ai simplement mis un rel=nofollow sur les liens vers les messages. De cette façon, il n'y a pas de duplicate content. Les liens du style PID pointent vers des messages, pas vers des pages. Donc ce qui est absurde, c'est de les laisser crawler par les moteurs de recherche: Consommation inutile de ressources pour le forum et pour le crawler, et pénalisation pour duplicate content.

Google crawl mais indexe aussi. Et chacun sait que sa méthode d'indexation et en particulier de classement tient compte de bcp de paramétres : dont le nombre de liens qui appellent la page... même si c'est pas grand chose. De plus, tu accroîs les chances qu'il visite bien toutes tes pages et les mette souvent à jour. Bref, faut pas se priver de liens...
De plus, rel="nofollow" n'est pas un standard établi, et est loin d'être considéré par tous les moteurs.

-aat- a écrit :

Faites gaffe aussi à la premiere pages des topics qui par défaut est appelée aussi bien par TID=xxx que par TID=xxx&page=1.

Les 2 dernières lignes de la mod :

// On en profite pour virer tous les ?p=1 ou &p=1 qui doublonnent aussi inutilement les pages
$tpl_main = preg_replace('#(\?|&)p\=1#', NULL, $tpl_main);

Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#53 30-12-2006 20:14:13

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

romain9441 a écrit :

Et tu ne la proposes pas ici ? roll

Voilà wink
J'suis un grand maintenant, y'a marqué "1 mod" sur mon profil smile


Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#54 30-12-2006 20:15:50

Pandark
Guide

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

:canon:


=>  Plugins | Modifications | Liens utiles   <=
                .._ -Pandark- _..
                Serial Dreamer

Hors ligne

#55 31-12-2006 02:34:58

bertimus
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Ju a écrit :

J'ai juste rajouté :

<meta name="description" content="<?php echo $page_title ?>" />

Après :

<title><?php echo $page_title ?></title>

Dans le fichier header.php.
Et pour en mettre des statiques, suffit de les ajouter en dessous wink.

Ah voui OK, mais en fait moi je voulais définir manuellement le meta description de l'index uniquement (genre 2 lignes et non 2 mots) et faire un echo title pour toutes les autres pages mais ça j'y arrive pas... Mais c'est pas bien grave de toute façon : Echo title pour toutes les pages, ça le fait aussi wink

Sinon, plus grave, pour appliquer ta mod, j'ai dû repartir de 0 et enlever mon rewriting car je n'ai pas été en mesure d'adapter certaines expressions, snif huh. Je cherche donc la même solution que la tienne...

Dernière modification par bertimus (31-12-2006 05:12:06)

Hors ligne

#56 31-12-2006 04:23:36

bertimus
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Oops, en cherchant bien, m'enfin mieux smile, j'ai retrouvé ce vieux topic où tu avais participé. Juste une confirmation alors, tu utilises bien la solution du message #6 exposée par KaZhaR pour le rewriting de ctrlaltsuppr actuellement ?

Edit : Arf, j'ai aussi trouvé ce post sur ton beau forum mais ça date tout autant, aurais-tu trouvé plus light depuis au niveau serveur ?

Sinon, je note juste un bug au niveau du menu déroulant de saut rapide et je te le signale car tu en es aussi "victime" sur ton ton site Ju, ça génère des erreurs 404 à la volée (exemple : .../forum.html15 huh) et ça, Google il aime pas non plus sad
Je t'invite donc au pire à retirer comme moi ce menu et au mieux à nous trouver la solution ^^

Quoiqu'il en soit, encore merci pour ton aide passée et/ou future tongue

Dernière modification par bertimus (31-12-2006 05:12:54)

Hors ligne

#57 31-12-2006 05:39:31

mangafan
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Le bug est surtout gênant pour les utilisateurs car google ne valide pas tous les formulaires qu'il croise comme un petit fou !

Sinon vin100 non je ne plaisantais pas, j'aimerais vraiment que google soit capable de reconnaître un forum quand il en voit un... Mais bon, ce qui me chagrine c'est toutes ses règles imposées et surtout tout ce qu'on ne sait pas sur le référencement.

Sinon à part ça ! Ca pénalise comment le duplicate content ? Parce qu'au pire moi qu'il me cache les 19 liens de message sur une page de sujet de 20 messages pour n'en garder qu'une ça me gêne pas après si on a un malus parce qu'on utilise un forum, c'est autre chose...


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#58 31-12-2006 06:40:27

bertimus
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Un petit article pas mal pour comprendre les risques liés à la duplication de contenu.

Extrait :

Si nous nous attardons plus particulièrement sur l'algorithme de Google (dont le filtre de duplicate content est assez tatillon), il semble que la popularité en terme de lien soit le critère déterminant.

Et oui, vous l'aurez deviné cela ouvre des possibilités de nuisance assez importantes.

Hors ligne

#59 31-12-2006 10:43:20

romain9441
Admin locker

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Ju a écrit :
romain9441 a écrit :

Et tu ne la proposes pas ici ? :rolleyes:

Voilà ;)
J'suis un grand maintenant, y'a marqué "1 mod" sur mon profil :)

Tu n'as qu'à reproposer les autres. :P


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#60 31-12-2006 14:48:34

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

bertimus a écrit :

Sinon, plus grave, pour appliquer ta mod, j'ai dû repartir de 0 et enlever mon rewriting car je n'ai pas été en mesure d'adapter certaines expressions,

Je ne comprends pas hmm.
Avec le dernier code que j'ai donné, je ne vois pas du tout comment tu as pu avoir un pb : il suffisait d'adapter le plus simplement du monde le contenu des deux variables $pattern_in et $pattern_out hmm

bertimus a écrit :

Edit : Arf, j'ai aussi trouvé ce post sur ton beau forum mais ça date tout autant, aurais-tu trouvé plus light depuis au niveau serveur ?

Ce code est tjrs d'actualité wink.
A part les messageXX.html qui ne servent plus à rien, en théorie smile.
C'est comme ce que je t'ai expliqué pour mon autre code au niveau ressources : c'est de l'ordre du rien du tout mais il y a tous les avantages non-négligeables que je t'ai listé (il faudrait vraiment un très très gros forum ac bcp bcp de monde pr ce soucier de ces petites économies de ressources).
Si tu décides d'utiliser ce code, tu n'auras pas à modifier mon code anti-duplication mais il faut évidemment que tu places le code du rewrite du footer après celui de la duplication.

bertimus a écrit :

Sinon, je note juste un bug au niveau du menu déroulant de saut rapide et je te le signale car tu en es aussi "victime" sur ton ton site Ju, ça génère des erreurs 404 à la volée (exemple : .../forum.html15 huh) et ça, Google il aime pas non plus sad
Je t'invite donc au pire à retirer comme moi ce menu et au mieux à nous trouver la solution ^^

Je sais, j'ai déjà vu et c'est logique.
Je prévois de m'en occuper, mais en attendant, effectivement pour Google ça ne change rien dans la mesure où il ne voit pas javascript.

romain9441 a écrit :

Tu n'as qu'à reproposer les autres. tongue

J'ai jamais eu le courage d'aller les retrouver et les mettre correctement en forme sad.


Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#61 10-01-2007 05:37:26

maximum
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

I from Russia. Very badly I know English language and the more so French.

I have put yours of mod. Also I use mod punoogle.

See here: http://wpforum.ru/

Now references look so:

/topic11-1.html#p11 ("-1" is number of page... "-2"; "-3"; etc.)

And it is necessary here so:

/topic11.html#p11

How to me to clean from the address of the reference page at number one?

It is necessary to make replacement in a code.

$tpl_main = preg_replace('#(\?|&)p\=1#', NULL, $tpl_main);

Help me. siffle

Dernière modification par maximum (10-01-2007 05:39:45)

Hors ligne

#62 10-01-2007 14:18:01

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Привет !

After :

$tpl_main = preg_replace('#(\?|&)p\=1#', NULL, $tpl_main);

Add :

$tpl_main = str_replace('-1.html', '.html', $tpl_main);

Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#63 10-01-2007 14:22:39

romain9441
Admin locker

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

On fait du support "English" maintenant. mdr


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#64 10-01-2007 17:23:07

Keulig
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Rien à voir avec le sujet, mais c'est pour le forum de Ju, que je remercie pour sa mod d'antiduplication de contenu smile

Solutionner le bug quickjump dans un forum rewrité :

ouvrir include/cache.php

Ligne 178, remplacer :

        $output .= "\t\t\t\t".'<form id="qjump" method="get" action="viewforum.php">'."\n\t\t\t\t\t".'<div><label><?php echo $lang_common[\'Jump to\'] ?>'."\n\n\t\t\t\t\t".'<br /><select name="id" onchange="window.location=(\'viewforum.php?id=\'+this.options[this.selectedIndex].value)">'."\n";


        $result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.redirect_url, f.parent_forum_id FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$group_id.') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Impossible de retrouver la liste des catégories et des forums', __FILE__, __LINE__, $db->error());

        $cur_category = 0;
        while ($cur_forum = $db->fetch_assoc($result))
        {
            if ($cur_forum['cid'] != $cur_category)    // A new category since last iteration?
            {
                if ($cur_category)
                    $output .= "\t\t\t\t\t\t".'</optgroup>'."\n";

                $output .= "\t\t\t\t\t\t".'<optgroup label="'.pun_htmlspecialchars($cur_forum['cat_name']).'">'."\n";
                $cur_category = $cur_forum['cid'];
            }

            $redirect_tag = ($cur_forum['redirect_url'] != '') ? ' >>>' : '';
            $output .= "\t\t\t\t\t\t\t".'<option value="'.$cur_forum['fid'].'"<?php echo ($forum_id == '.$cur_forum['fid'].') ? \' selected="selected"\' : \'\' ?>>'.pun_htmlspecialchars($cur_forum['forum_name']).$redirect_tag.'</option>'."\n";
        }

Par :

$output .= "\t\t\t\t".'<form id="qjump" method="get" action="forum">'."\n\t\t\t\t\t".'<div><label><?php echo $lang_common[\'Jump to\'] ?>'."\n\n\t\t\t\t\t".'<br /><select name="id" onchange="window.location=(\'forum-\'+this.options[this.selectedIndex].value)">'."\n";


        $result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.redirect_url FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$group_id.') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Impossible de retrouver la liste des catégories et des forums', __FILE__, __LINE__, $db->error());

        $cur_category = 0;
        while ($cur_forum = $db->fetch_assoc($result))
        {
            if ($cur_forum['cid'] != $cur_category)    // A new category since last iteration?
            {
                if ($cur_category)
                    $output .= "\t\t\t\t\t\t".'</optgroup>'."\n";

                $output .= "\t\t\t\t\t\t".'<optgroup label="'.pun_htmlspecialchars($cur_forum['cat_name']).'">'."\n";
                $cur_category = $cur_forum['cid'];
            }

            $redirect_tag = ($cur_forum['redirect_url'] != '') ? ' >>>' : '';
            $output .= "\t\t\t\t\t\t\t".'<option value="'.$cur_forum['fid'].'-'.pun_url($cur_forum['forum_name']).'"<?php echo ($forum_id == '.$cur_forum['fid'].') ? \' selected="selected"\' : \'\' ?>>'.pun_htmlspecialchars($cur_forum['forum_name']).$redirect_tag.'</option>'."\n";
        }

Puis, ligne 196, vous pouvez adapter en fonction du nom de vos pages :

<option value="'.$cur_forum['fid'].'-'.pun_url($cur_forum['forum_name']).'"<?php echo ($forum_id == '.$cur_forum['fid'].') ? \' selected="selected"\' : \'\' ?>>'.pun_htmlspecialchars($cur_forum['forum_name']).$redirect_tag.'</option>

Dernière modification par Keulig (10-01-2007 17:39:00)

Hors ligne

#65 10-01-2007 18:45:34

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Merci Keulig, tu m'as forcé à m'en occupé du coup happy.
Par contre je ne comprends pas pourquoi autant de modifications.

Finalement je n'ai eu qu'à faire ceci :

Remplacer :

        $output .= "\t\t\t\t".'<form id="qjump" method="get" action="viewforum.php">'."\n\t\t\t\t\t".'<div><label><?php echo $lang_common[\'Jump to\'] ?>'."\n\n\t\t\t\t\t".'<br /><select name="id" onchange="window.location=(\'viewforum.php?id=\'+this.options[this.selectedIndex].value)">'."\n";

Par :

        $output .= "\t\t\t\t".'<form id="qjump" method="get" action="viewforum.php">'."\n\t\t\t\t\t".'<div><label><?php echo $lang_common[\'Jump to\'] ?>'."\n\n\t\t\t\t\t".'<br /><select name="id" onchange="window.location=(\'forum\'+this.options[this.selectedIndex].value+\'.html\')">'."\n";

Et évidemment aller supprimer les fichiers cacher_quickjump_n.php du dossier cache/.

romain9441 a écrit :

On fait du support "English" maintenant. mdr

Pire, le support russe tongue.


Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#66 10-01-2007 19:16:31

Keulig
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Ah oui en effet dans ton cas tu n'as qu'une ligne à changer !

Perso j'avais aussi changé les <input>.

Hors ligne

#67 11-01-2007 03:37:14

maximum
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Ju a écrit :

Привет !

After :

$tpl_main = preg_replace('#(\?|&)p\=1#', NULL, $tpl_main);

Add :

$tpl_main = str_replace('-1.html', '.html', $tpl_main);

Здраствуйте!

But the small problem all has remained, look here at the first theme: http://wpforum.ru/forum1.html

The reference to 11 theme looks so: /topic1.html1#p11

I see, what at your forum (look at the third line: http://www.ctrlaltsuppr.com/forum4.html) of the given problem does not exist, how you have solved it?

viewforum.php, 148:

            $last_post = '<a href="viewtopic.php?pid='.$cur_topic['last_post_id'].'#p'.$cur_topic['last_post_id'].'">'.format_time($cur_topic['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['last_poster']).'</span>';

Many thanks guys!

Dernière modification par maximum (11-01-2007 03:37:44)

Hors ligne

#68 11-01-2007 21:09:34

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Ok...

Replace :

// URL Rewriting ?
$pattern_in = 'viewtopic.php?pid=<PID>';
$pattern_out = 'viewtopic.php?id=<ID>&p=<P>';

By :

// URL Rewriting ?
$pattern_in = 'message-<PID>.html';
$pattern_out = 'topic<ID>-<P>.html';

And leave it :

$tpl_main = str_replace('-1.html', '.html', $tpl_main);

EDIT :
You use PunOOgle, no ?
How works your rewrite ?

Dernière modification par Ju (11-01-2007 21:10:14)


Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#69 14-01-2007 13:07:40

maximum
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

As you have specified all. Here still a part of a code responsible for a conclusion of pages.

functions.php, 532:

//
// Generate a string with numbered links (for multipage scripts)
//
function paginate($num_pages, $cur_page, $link_to)
{
    $pages = array();
    $link_to_all = false;

    // If $cur_page == -1, we link to all pages (used in viewforum.php)
    if ($cur_page == -1)
    {
        $cur_page = 1;
        $link_to_all = true;
    }

    if ($num_pages <= 1)
        $pages = array('<strong>1</strong>');
    else
    {
        if ($cur_page > 3)
        {
            $pages[] = '<a href="'.$link_to.'-1.html">1</a>';

            if ($cur_page != 4)
                $pages[] = '&hellip;';
        }

        // Don't ask me how the following works. It just does, OK? :-)
        for ($current = $cur_page - 2, $stop = $cur_page + 3; $current < $stop; ++$current)
        {
            if ($current < 1 || $current > $num_pages)
                continue;
            else if ($current != $cur_page || $link_to_all)
                $pages[] = '<a href="'.$link_to.'-'.$current.'.html">'.$current.'</a>';
            else
                $pages[] = '<strong>'.$current.'</strong>';
        }

        if ($cur_page <= ($num_pages-3))
        {
            if ($cur_page != ($num_pages-3))
                $pages[] = '&hellip;';

            $pages[] = '<a href="'.$link_to.'-'.$num_pages.'.html">'.$num_pages.'</a>';
        }
    }

    return implode(' ', $pages);
}

Yes, renaming of references works on the basis of punoogle.

Hors ligne

#70 14-01-2007 22:14:47

Ju
Admin Fantôme

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

maximum : Download the version 1.1 here !

It's for you wink


Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#71 15-01-2007 04:38:10

maximum
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Thanks, but again nothing works. smile

Нow to lead to a kind: topic<ID>-<P>.html ?

Hors ligne

#72 30-01-2007 16:55:23

maximum
Membre

Re : Eviter duplication de contenu - Récupérer ID des sujets dans index.php

Where you were gone? As to me to alter function

$tpl_main = preg_replace('#(\?|&)p\=1([^0-9]{1})#', '$2', $tpl_main);

under the reference of a kind: topic<id>-<p>.html ?

And still, how you have solved a problem of protection of a forum?

Bad HTTP_REFERER. You were referred to this page from an unauthorized source. If the problem persists please make sure that 'Base URL' is correctly set in Admin/Options and that you are visiting the forum by navigating to that URL. More information regarding the referrer check can be found in the PunBB documentation.

Dernière modification par maximum (30-01-2007 17:02:26)

Hors ligne

Pied de page des forums