• User Attivo

    phpnuke e motori di ricerca

    forse qualcuno di voi ha utilizzato o sta utilizzando cms tipo phpnuke

    il fatto è che phpnuke è osticissimo per i motori di ricerca, per cercare di migliorare questo difetto ho provato ad implementare il modulo mod_rewrite, però vedo che in realtà le visite da Google sono diminuite drasticamente da quando l'ho fatto...

    qualcuno mi sa spiegare bene come si usa mod_rewrite con phpnuke, oppure mi può dare qualche dritta indicando un sito dove posso trovare informazioni in merito?

    ciao e tutti e grazie


  • Community Manager

    Ciao Paolo,

    mai usato phpnuke, ma tu dici che hai ottenuto scarsi risultati dopo aver usato il mod rewrite.

    Infatti in corsa devi essere esperto per farlo, altrimenti potresti commettere alcuni errori.

    Vuoi dirci per bene come hai agito con il mod_rewrite


  • User Attivo

    praticamente ho scaricato una serie di archivi da un sito, dal quale purtroppo non ricevo quasi nessun aiuto, che comprendevano un .htaccess, gli archivi header, footer e un archivio sessions...

    diciamo che non sono esperto in php, quindi mi sono basato sulle indicazioni che ho trovato, ho fatto quasi tutto a occhi chiusi...

    questo è il contenuto di .htaccess:

    deniega el acceso excepto a .php

    <FilesMatch ".(inc|tpl|h|ihtml|sql|ini|conf|class|bin|spd|theme|module)$">
    deny from all
    </FilesMatch>

    <Limit GET PUT POST>
    Order Allow,Deny
    Allow from all
    </Limit>

    RewriteEngine on

    RewriteRule /index.html /index.php

    #Articles
    RewriteRule ^article([1-9][0-9]). modules.php?name=News&file=article&sid=$1
    RewriteRule ^article-topic-([0-9]*).html modules.php?name=News&new_topic=$1

    #Content
    RewriteRule ^contentid-([1-9][0-9]).html modules.php?name=Content&pa=showpage&pid=$1
    RewriteRule ^content-cat-([1-9][0-9]
    ).html modules.php?name=Content&pa=list_pages_categories&cid=$1

    #FAQ
    RewriteRule ^faq.html modules.php?name=FAQ
    RewriteRule ^faq-([0-9])-([a-zA-Z0-9+]).html modules.php?name=FAQ&myfaq=yes&id_cat=$1&categories=$2

    #Forums
    RewriteRule ^forums.html modules.php?name=Forums
    RewriteRule ^forums.* modules.php?name=Forums&file=index
    RewriteRule ^forumx([0-9]+)-([0-9]+)-([0-9]+).html modules.php?name=Forums&file=viewforum&f=$1&topicdays=$2&start=$3
    RewriteRule ^postlite([0-9])-([/:-'(){}.&=_a-zA-Z0-9\ ]).html modules.php?name=Forums&file=viewtopic&t=$1&highlight=$2
    RewriteRule ^forum([1-9][0-9]). modules.php?name=Forums&file=viewforum&f=$1
    RewriteRule ^posts([0-9])-([0-9]).html modules.php?name=Forums&file=viewtopic&t=$1&start=$2
    RewriteRule ^postx([0-9]+)-([0-9]+)-([0-9]+).html modules.php?name=Forums&file=viewtopic&t=$1&postdays=$2&postorder=asc&start=$3
    RewriteRule ^post(p|t)([1-9][0-9]). modules.php?name=Forums&file=viewtopic&$1=$2
    RewriteRule ^markread([0-9]).html modules.php?name=Forums&file=viewforum&f=$1&mark=topics
    RewriteRule ^newposts([0-9]
    ).html modules.php?name=Forums&file=viewtopic&t=$1&view=newest

    #Downloads
    RewriteRule ^downloads.html modules.php?name=Downloads
    RewriteRule ^downloads-cat-([0-9]).html&orderby=([a-zA-Z_]) modules.php?name=Downloads&d_op=viewdownload&cid=$1&orderby=$2
    RewriteRule ^downloads-cats-([0-9])-([0-9])-([0-9]).html modules.php?name=Downloads&d_op=viewdownload&cid=$1&min=$2&orderby=titleA&show=$3
    RewriteRule ^downloads-cat-([0-9]
    ).html modules.php?name=Downloads&d_op=viewdownload&cid=$1
    RewriteRule ^downloads-file-([0-9])-details-([/:-'{}()._&a-zA-Z0-9+=]).html modules.php?name=Downloads&d_op=viewdownloaddetails&lid=$1&ttitle=$2
    RewriteRule ^downloads-file-([0-9]*).html modules.php?name=Downloads&d_op=getit&lid=$1

    #Stories Archive
    RewriteRule ^archive.html modules.php?name=Stories_Archive
    RewriteRule ^archive-([0-9])-([0-9])-([a-zA-Z]). modules.php?name=Stories_Archive&sa=show_month&year=$1&month=$2&month_l=$3

    #Reviews
    RewriteRule ^reviews.html modules.php?name=Reviews
    RewriteRule ^reviews-([0-9]).html modules.php?name=Reviews&rop=showcontent&id=$1
    RewriteRule ^reviews-new.html modules.php?name=Reviews&rop=write_review
    RewriteRule ^reviews-sortby-([a-zA-Z0-9]
    ).html modules.php?name=Reviews&rop=$1
    RewriteRule ^reviews-comment-([0-9])-([a-zA-Z0-9]).* modules.php?name=Reviews&rop=postcomment&id=$1&title=$2
    RewriteRule ^reviews-([0-9])-delete.html modules.php?name=Reviews&rop=del_review&id_del=$1
    RewriteRule ^reviews-([0-9]
    )-edit.html modules.php?name=Reviews&rop=mod_review&id=$1

    #Sections
    RewriteRule ^section-(printpage|viewarticle)-([0-9]).html modules.php?name=Sections&op=$1&artid=$2
    RewriteRule ^section-([0-9]
    ).html modules.php?name=Sections&op=listarticles&secid=$1
    RewriteRule ^sections.html modules.php?name=Sections

    #Surveys
    RewriteRule ^surveys.html modules.php?name=Surveys
    RewriteRule ^survey([a-zA-Z0-9])results.html modules.php?name=Surveys&op=results&pollID=$1
    RewriteRule ^survey([a-zA-Z0-9]
    ).html modules.php?name=Surveys&pollID=$1

    #Submit
    RewriteRule ^submit.html modules.php?name=Submit_News

    #Top10
    RewriteRule ^top.html modules.php?name=Top

    #Topics
    RewriteRule ^topics.html modules.php?name=Topics

    #Your Account
    RewriteRule ^userinfo-([a-zA-Z0-9_-]*).html modules.php?name=Your_Account&op=userinfo&uname=$1

    #WebLinks
    RewriteRule ^linksnew-([0-9]+).html modules.php?op=modload&name=Web_Links&file=index&l_op=NewLinksDate&selectdate=$1
    RewriteRule ^linkop-(AddLink|MostPopular|NewLinks|RandomLink|TopRated).html modules.php?op=modload&name=Web_Links&file=index&l_op=$1
    RewriteRule ^ratelink-([0-9])-([/:-'(){}.&=_a-zA-Z0-9\ ]).html modules.php?op=modload&name=Web_Links&file=index&l_op=ratelink&lid=$1&ttitle=$2
    RewriteRule ^viewlink-([0-9]).html modules.php?name=Web_Links&l_op=visit&lid=$1
    RewriteRule ^links-([0-9]
    )-([0-9])-([0-9]).html modules.php?name=Web_Links&file=index&l_op=viewlink&cid=$1&min=$2&orderby=titleA&show=$3
    RewriteRule ^link-([0-9]*).html modules.php?name=Web_Links&l_op=viewlink&cid=$1
    RewriteRule ^links.html modules.php?name=Web_Links

    #Inviare a index.php
    DirectoryIndex index.php

    questo è il contenuto di header.php:
    <?php

    //
    /
    PHP-NUKE: Advanced Content Management System /
    /
    ============================================ /
    /
    /
    /
    Copyright (c) 2002 by Francisco Burzi /
    /
    http://phpnuke.org /
    /
    /
    /
    This program is free software. You can redistribute it and/or modify /
    /
    it under the terms of the GNU General Public License as published by /
    /
    the Free Software Foundation; either version 2 of the License. /
    /
    /

    if (eregi("header.php",$_SERVER['PHP_SELF'])) {
    Header("Location: index.php");
    die();
    }
    ob_start();

    function replace_for_mod_rewrite(&$s) {
    $urlin = array(
    "'(?<!/)modules.php?name=News&file=article&sid=([0-9])'",
    "'(?<!/)modules.php?name=News&file=article&sid=([0-9]
    )'",
    "'(?<!/)modules.php?name=News&new_topic=([0-9])'",
    "'(?<!/)modules.php?name=Stories_Archive&sa=show_month&year=([0-9]
    )&month=([0-9])&month_l=([a-zA-Z])'",
    "'(?<!/)modules.php?name=Stories_Archive'",
    "'(?<!/)modules.php?name=Downloads&d_op=getit&lid=([0-9])'",
    "'(?<!/)modules.php?name=Downloads&d_op=viewdownload&cid=([0-9]
    )&min=([0-9])&orderby=titleA&show=([0-9])'",
    "'(?<!/)modules.php?name=Downloads&d_op=viewdownload&cid=([0-9])'",
    "'(?<!/)modules.php?name=Downloads&d_op=viewdownloaddetails&lid=([0-9]
    )&ttitle=([/:-'{}().&a-zA-Z0-9+= ])'",
    "'(?<!/)modules.php?name=(Downloads")'",
    "'(?<!/)modules.php?name=Reviews&rop=showcontent&id=([0-9]
    )'",
    "'(?<!/)modules.php?name=Reviews&rop=write_review'",
    "'(?<!/)modules.php?name=Reviews&rop=postcomment&id=([0-9])&title=([a-zA-Z0-9+])'",
    "'(?<!/)modules.php?name=Reviews&rop=mod_review&id=([0-9])'",
    "'(?<!/)modules.php?name=Reviews&rop=del_review&id_del=([0-9]
    )'",
    "'(?<!/)modules.php?name=Reviews&rop=([a-zA-Z0-9])'",
    "'(?<!/)modules.php?name=Reviews'",
    "'(?<!/)modules.php?name=Submit_News'",
    "'(?<!/)modules.php?name=Topics'",
    "'(?<!/)modules.php?name=Top'",
    "'(?<!/)modules.php?name=FAQ'",
    "'(?<!/)modules.php?name=FAQ&myfaq=yes&id_cat=([0-9]
    )&categories=([a-zA-Z0-9+])'",
    "'(?<!/)modules.php?name=Forums&file=viewtopic&t=([0-9]+)&postdays=([0-9]+)&postorder=asc&start=([0-9]+)'",
    "'(?<!/)modules.php?name=Forums&file=viewforum&f=([0-9]+)&topicdays=([0-9]+)&start=([0-9]+)'",
    "'(?<!/)modules.php?name=Content&pa=showpage&pid=([0-9]
    )'",
    "'(?<!/)modules.php?name=Content&pa=list_pages_categories&cid=([0-9])'",
    "'(?<!/)modules.php?name=Forums&file=viewforum&f=([0-9]
    )&mark=topics'",
    "'(?<!/)modules.php?name=Forums&file=viewforum&f=([0-9])'",
    "'(?<!/)modules.php?name=Forums&file=viewtopic&t=([0-9]
    )&view=newest'",
    "'(?<!/)modules.php?name=Forums&file=viewtopic&t=([0-9])&start=([0-9])'",
    "'(?<!/)modules.php?name=Forums&file=viewtopic&t=([0-9])&highlight=([/:-'(){}.&=_a-zA-Z0-9 ])'",
    "'(?<!/)modules.php?name=Forums&file=viewtopic&(p|t)=([0-9])'",
    "'(?<!/)modules.php?name=Forums&file=index'",
    "'(?<!/)modules.php?name=Sections&op=(printpage|viewarticle)&artid=([0-9]
    )'",
    "'(?<!/)modules.php?name=Sections&op=listarticles&secid=([0-9]*)'",
    "'(?<!/)modules.php?name=Sections'",
    "'(?<!/)modules.php?name=Your_Account&op=userinfo&uname=([a-zA-Z0-9
    -])'",
    "'(?<!/)modules.php?name=Your_Account&op=userinfo&uname=([a-zA-Z0-9_-]
    )'",
    "'(?<!/)modules.php?name=Web_Links&l_op=NewLinksDate&selectdate=([0-9]+)'",
    "'(?<!/)modules.php?name=Web_Links&l_op=(AddLink|MostPopular|NewLinks|RandomLink|TopRated)'",
    "'(?<!/)modules.php?name=Web_Links&l_op=ratelink&lid=([0-9])&ttitle=([/:-'(){}.&=_a-zA-Z0-9 ])'",
    "'(?<!/)modules.php?name=Web_Links&l_op=visit&lid=([0-9])'",
    "'(?<!/)modules.php?name=Web_Links&l_op=viewlink&cid=([0-9]
    )&min=([0-9])&orderby=titleA&show=([0-9])'",
    "'(?<!/)modules.php?name=Web_Links&l_op=viewlink&cid=([0-9]*)'",
    "'(?<!/)modules.php?name=Web_Links'"
    );

    $urlout = array(
    "article\1.html",
    "article\1.html",
    "article-topic-\1.html",
    "archive-\1-\2-\3.html",
    "archive.html",
    "downloads-file-\1.html",
    "downloads-cats-\1-\2-\3.html",
    "downloads-cat-\1.html",
    "downloads-file-\1-details-\2.html",
    "downloads.html"",
    "reviews-\1.html",
    "reviews-new.html",
    "reviews-comment-\1-\2",
    "reviews-\1-edit.html",
    "reviews-\1-delete.html",
    "reviews-sortby-\1.html",
    "reviews.html",
    "submit.html",
    "topics.html",
    "top.html",
    "faq.html",
    "faq-\1-\2.html",
    "postx\1-\2-\3.html",
    "forumx\1-\2-\3.html",
    "contentid-\1.html",
    "content-cat-\1.html",
    "markread\1.html",
    "forum\1.html",
    "newposts\1.html",
    "posts\1-\2.html",
    "postlite\1-\2.html",
    "post\1\2.html",
    "forums.html",
    "section-\1-\2.html",
    "section-\1.html",
    "sections.html",
    "userinfo-\1.html",
    "userinfo-\1.html",
    "linksnew-\1.html",
    "linkop-\1.html",
    "ratelink-\1-\2.html",
    "viewlink-\1.html",
    "links-\1-\2-\3.html",
    "link-\1.html",
    "links.html"
    );

    $s = preg_replace($urlin, $urlout, $s);
    return $s;
    }

    require_once("mainfile.php");

    ##################################################

    Include some common header for HTML generation

    ##################################################

    $header = 1;

    function head() {
    global $slogan, $sitename, $banners, $nukeurl, $Version_Num, $artpage, $topic, $hlpfile, $user, $hr, $theme, $cookie, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2, $forumpage, $adminpage, $userpage, $pagetitle;
    $ThemeSel = get_theme();
    include("themes/$ThemeSel/theme.php");
    echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n";
    echo "<html>\n";
    echo "<head>\n";
    echo "<title>$sitename $pagetitle</title>\n";

    include("includes/meta.php");
    include("includes/javascript.php");
    
    if (file_exists("themes/$ThemeSel/images/favicon.ico")) {
    echo "<link REL=\"shortcut icon\" HREF=\"themes/$ThemeSel/images/favicon.ico\" TYPE=\"image/x-icon\">\n";
    }
        
    echo "<LINK REL=\"StyleSheet\" HREF=\"themes/$ThemeSel/style/style.css\" TYPE=\"text/css\">\n\n\n";
    include("includes/my_header.php");
    echo "\n\n\n</head>\n\n";
    themeheader();
    

    }

    online();
    head();
    include("includes/counter.php");
    global $home;
    if ($home == 1) {
    message_box();
    blocks(Center);
    }
    ?>

    il contenuto di session.php non lo metto perchè è lunghissimo.

    Spero serva a qualcosa.


  • User Attivo

    Paolo, l'approccio sembra giusto...
    se ci posti il link al sito ci do'un'occhiata...

    Io l'ho fatto su www.kartena.it e ora mi domando una cosa, google per ogni mia pagina si ritrova:

    modules.php?name=pagina1
    gate.html?name=pagina1
    pagina1.html

    che dite è uno dei possibili motivi di penalizzazione del mio sito?
    Il vantaggio è che ho un sacco di pagine indicizzate, peccato che su google non compaio un granchè...

    che faccio, metto nel robots.txt un deny a modules.php e a gate.html?

    che mi consigliate?

    ah, dimenticavo...nonostante abbia inserito la funzione areyouabot in session.php googlebot (e non mediagoogle o come si chiama) ancora mi chiede le pagine col sid (lo vedo dai log)! non riesco a capire come mai...se simulo la cosa con firefox (spacciandomi per mediagoogle) il sid non me lo mette...
    direi che la cosa è un po'inquetante...a voi capita?


  • Super User

    @kart said:

    modules.php?name=pagina1
    gate.html?name=pagina1
    pagina1.html

    che dite è uno dei possibili motivi di penalizzazione del mio sito?
    Il vantaggio è che ho un sacco di pagine indicizzate, peccato che su google non compaio un granchè...

    Secondo me non sei penalizzato, però magari hai pochi link che puntano al tuo sito e quindi per molte ricerche non hai un buon ranking.


  • Community Manager

    Il problema non sono le pagine dinamiche in se, ma i link nelle pagine dinamiche.

    Da alcuni piccoli test mi risulta, e potrei sbagliarmi, che nella distribuizione del PageRank interno i link che sono in queste pagine non valgono tanto, anzi 0.

    Per una struttura come Phpnuke è necessario usare il rewrite 🙂


  • User Attivo

    @Giorgiotave said:

    Per una struttura come Phpnuke è necessario usare il rewrite 🙂

    Ciao giorgio, io ho utilizzato proprio il rewrite...e per questo mi trovo quello che dicevo sopra:

    la stessa pagina indicizzata come:
    modules.php?name=pagina1
    gate.html?name=pagina1
    pagina1.html

    google in alcuni datacenter mi ha indicizzato 2800 pagine (alcune dinamiche alcune no) mentre in altri solo 374 pagine

    potrei agire costringendo i motori di ricerca a leggere solo quelle .html ma mi domandavo se mi conviene oppure no... :mmm:


  • User Attivo

    @kart said:

    Paolo, l'approccio sembra giusto...
    se ci posti il link al sito ci do'un'occhiata...

    grazie kart, in realtà il mio post è abbastanza vecchiotto, nel frattempo ho cancellato tutto perchè, in realtà, avevo constatato una discesa degli accessi da parte dei motori di ricerca. Ho deciso di prendere un'altra strada.

    Ciao


  • Community Manager

    @kart said:

    Ciao giorgio, io ho utilizzato proprio il rewrite...e per questo mi trovo quello che dicevo sopra:

    la stessa pagina indicizzata come:
    modules.php?name=pagina1
    gate.html?name=pagina1
    pagina1.html

    google in alcuni datacenter mi ha indicizzato 2800 pagine (alcune dinamiche alcune no) mentre in altri solo 374 pagine

    potrei agire costringendo i motori di ricerca a leggere solo quelle .html ma mi domandavo se mi conviene oppure no... :mmm:

    E' rischioso e non mi sento di darti un consiglio in questo caso 🙂

    Forse usando la sitemap di Google per solo quelle pagine....puoi provare


  • User Attivo

    Ho fatto una scoperta rilevante!

    Tutti i motori di ricerca sono stati istruiti per non vedere il SID e infatti tutto bene per yahoo, mille altri e anche per Googlebot.

    Discorso a parte per Mediapartners-Google/2.1 infatti in questo caso continua a vedere il SID nonostante la seguente istruzione nel include/sessions.php

    if &#40; !empty&#40;$SID&#41; && !eregi&#40;'sid=', $url&#41; && !areyouabot&#40;&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'Googlebot'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'Mediapartners-Google/2.1'&#41; && !strstr&#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'[email protected];'&#41;&#41; 
    

    in due parole per lui

    &#40;$HTTP_SERVER_VARS&#91;'HTTP_USER_AGENT'&#93; ,'Mediapartners-Google/2.1'&#41;
    ``` è tremendamente FALSE ma vi posso giurare (test con firefox simulando diversi User_Agent che in realtà io (e pure google) entriamo con questo user_agent  :o 
    
    Dov'è l'inghippo? nel - opppure nello / che danno fastidio alla funzione strstr?
    
    Necessito enorme aiuto... ve ne sarò grato a vita  :sbonk:

  • User Attivo

    Rettifico, ho messo ```
    && !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Mediapartners-Google/2.1')

    nel punto giusto e ha funzionato, quello che falliva come verifica era invece nella funzione areyouabot() che li becca tutti ma evidentemente quando andava a fare il 
    
    

    strstr(strtolower($HTTP_SERVER_VARS['HTTP_USER_AGENT']) ,google')

    
    dava false...
    
    sarei curioso di capire come mai... ora sembra tutto ok, spacciandomi per 'Mediapartners-Google/2.1' non mi appende più il sid, ora aspettiamo il passaggio del vero 'Mediapartners-Google/2.1'  :sbonk: 
    
    Spero di essere stato di aiuto per qualche altro povero webmaster nukiano alle prese col mod_rewrite come me e spero di non essere stato troppo OT...
    
    Grazie
    
    Ugo

  • User Attivo

    Visto che questo post è sempre visitato (dai log vedo visite provenienti da qui) vi do un piccolo aggiornamento sulla situazione...

    da quando ho smesso di smanettare e ho lasciato una situazione un po'più stabile (3 mesi) devo dire che la situazione è molto migliorata...
    google ora ci trova per praticamente tutte le parole chiave che avevo in mente...specialmente a coppie...per la parola "kart" in assoluto ancora non tanto mentre gli altri motori ci mettono in prima pagina...

    un consiglio? google sembra avere una certa inerzia...diamogli tempo di digerire le modifiche...anche perchè questo mod_rewrite funziona decisamente bene, quindi non scoraggiatevi e attendete fiduciosi, la strada è quella giusta :fumato: