• User Attivo

    Script. Funziona per i motori?

    Ho modificato questo script per far girare le pagine del mio sito, con un titolo e le keywords personalizzate ad ogni articolo
    Credete che i motori di ricerca creino problemi per la posizione dei <meta> e del <title> ???
    Sotto posto tutto il codice.
    Grazie
    questa è la Index:
    [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="it" lang="it">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    </head>

    <body>

    <h1>Prova titolo</h1>

    <?php
    $p="main"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
    $p=$GET['page'];
    if($p!=basename($p) || !preg_match("/^[A-Za-z0-9-
    ]+$/",$p) || $p=="index" || !file_exists($p.".php"))
    $p="error"; //pagina di errore
    }
    include($p.".php");

      echo "<title> $titolo </title>\n";  //titoli specifici per articoli
      echo "<meta name=\"Keywords\" content=\"$key da qui key generali del sito \" />\n";  // keywords specifiche per articoli
    

    ?>

    </body>
    </html>

    [/php]

    Questa è la Main:
    [php]
    <?php $titolo= 'Titolo diverso ad ogni pagina';
    $key= 'key specifiche degli articoli';
    ?>

    <table width="300" border="2">
    <tr>
    <td>Questa è main 1</td>
    <td>Prova titolo</td>
    </tr>
    </table>

    [/php]


  • User Attivo

    Ho fatto una prova anche qui:
    http://www.izzyweb.it/test/
    Adesso vedo se Google mi da qualche errore !!


  • User Attivo

    Ciao, Izzyweb...
    Scusami, ma perchè hai bisogno del tag title e meta dentro al body, andrebbero dentro head...

    Forse funzionerà benissimo con i motori (e con quasi tutti i browser perchè flessibili) ma se emuli un browser testuale (ad esempio con Opera) ti ritrovi il testo del <title> in mezzo alla pagina...


  • User Attivo

    funziona se metti tutto nell'head altrimenti non rimani valido allo standard.

    io ho fatto qualcosa di più complesso, ti do uno spunto. Praticamente ho una lista di keyword che voglio indicizzare. Per ogni pagina effettuo una keyword density (è semplice da calcolare con il php se vuoi ti metto il codice di quello ke ho fatto) e poi faccio un match tra le parole con più alta keyword density e le keyword che voglio indicizzare. Fatto ciò estraggo le mie key e le inserisco nel meta keyword

    buona fortuna 😉


  • User Attivo

    @domenico.biancardi said:

    funziona se metti tutto nell'head altrimenti non rimani valido allo standard.

    io ho fatto qualcosa di più complesso, ti do uno spunto. Praticamente ho una lista di keyword che voglio indicizzare. Per ogni pagina effettuo una keyword density (è semplice da calcolare con il php se vuoi ti metto il codice di quello ke ho fatto) e poi faccio un match tra le parole con più alta keyword density e le keyword che voglio indicizzare. Fatto ciò estraggo le mie key e le inserisco nel meta keyword

    buona fortuna 😉

    Ciao domenico
    Se mi posti il codice mi fai un piacere non sono tanto esperto di php è il mio primo sito...
    Grazie


  • User Attivo

    per la tua pagina fai così

    
    <!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="it" lang="it"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <?php 
    $p="main"; //pagina di default per i contenuti centrali 
    if(isset($_GET['page'])){ //pagina passata via parametro 
    $p=$_GET['page']; 
    if($p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php")) 
    $p="error"; //pagina di errore 
    } 
    include($p.".php"); 
    
          echo "<title> $titolo </title>\n";  //titoli specifici per articoli 
          echo "<meta name=\"Keywords\" content=\"$key da qui key generali del sito \" />\n";  // keywords specifiche per articoli 
    ?> 
    
    </head> 
    
    <body> 
    
    <h1>Prova titolo</h1> 
    
    
    
    </body> 
    </html> 
    
    

    una prima ottimizzazione del codice è questa

    
     
    <?php 
    ob_start();
    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" xml:lang="it" lang="it"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> ';
    
    $p="main"; //pagina di default per i contenuti centrali 
    if(isset($_GET['page'])){ //pagina passata via parametro 
    $p=$_GET['page']; 
    if($p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php")) 
    $p="error"; //pagina di errore 
    } 
    include($p.".php"); 
    
          echo "<title> $titolo </title>\n";  //titoli specifici per articoli 
          echo "<meta name=\"Keywords\" content=\"$key da qui key generali del sito \" />\n";  // keywords specifiche per articoli 
          echo "</head> 
    
    <body> 
    
    <h1>Prova titolo</h1> 
    
    
    
    </body> 
    </html> ";
    ?> 
    
    
    

    in questo modo php si crea un buffer per la visualizzazione video e tutto quello ke viene bufferizzato viene visualizzato alla fine dello script (eviti vari problemi di IO con il video)

    prova e fammi sapere


  • User Attivo

    ho capito quello che ti serve. Una soluzione che posso darti è questa

    [PHP]
    function keyDensity($url){
    $word = split("[[:space:][:blank:][:punct:][:space:]]",$html);
    $result[] = null;
    for ($i = 0;$i<count($word);$i++){
    if (strlen($word*)>3)
    $result[$word*] ++;
    }
    arsort($result);
    $result = array_keys($result);
    return $result;

    }

    $keyword = keyDensity("http://www.tuodomini.it/".$_SERVER['REQUEST_URI']);

    //ora hai un array con le keyword che compaiono di più nella tua pagina

    $keyString = implode(' ',$keyword);
    /**in questo modo ottieni una stringa da inserire nel meta keywod
    *il resto del codice è uguale
    *devi solo sostiture la stringa $key con la nuova stringa $keyString
    **/
    [/PHP]