• User Attivo

    menù con links esterni

    Salve a tutti, ho un sito statico (quindi tutto in semplice html) e sto facendo un restyling. Ha un menù con molte voci quindi avrei pensato di creare un file esterno dove racchiudere tutti i links, in modo tale da rendere più veloce un'eventuale modifica degli indirizzi.
    A dire il vero ho già una soluzione ma utilizza il **JQuery **ed ho paura che possa penalizzare il sito sui motori di ricerca. Facendo qualche breve ricerca ho letto che il **php **sarebbe la soluzione migliore.

    Premesso questo vorrei chiedervi è vero che il php è il più indicato per una corretta indicizzazione? inoltre devo modificare tutto il sito e renderlo dinamico (cioè da html a php) oppure non serve (cioè basta solo il file esterno in php)? Infine, come posso creare questo file esterno in php, visto che sono poco pratico in materia (sono principalmente un grafico)?

    Grazie! 🙂


  • User Attivo

    ...un aiutino? 😞


  • User Attivo

    Ciao chebellagiornata
    se fai un file esterno in php il sito è comunque dinamico poiché questo codice andrà interpretato da un interprete php e non basterà solo il tuo sito in html. (qualcuno dovrà leggerlo questo codice)
    Per quanto riguarda JQuery non ho mai sentito una cosa di questo tipo, anche perché se no sarebbero penalizzati quasi tutti i siti.


  • User Attivo

    Per quanto riguarda la soluzione JQuery mi riferivo solo alla questione dei link (usando questo script per altro non ci sono problemi per i motori). Comunque ho letto da qualche parte (ora non ricordo dove) che utilizzando un file esterno in JQuery si perderebbe in indicizzazione poiché si dovrebbe aspettare il caricamento della pagina per inserire dinamicamente i link...ed è poco probabile che i motori di ricerca aspettino il caricamento di altri contenuti...


  • User Attivo

    ...altre soluzioni non ci sono? 😞


  • User Attivo

    Perdonami...

    Ma usare solamente php?

    Esempio banalissimo, prima dichiari il menù (in un file esterno come dici tu):

    menu.php
    [PHP]
    <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">News</a></li>
    </ul>
    [/PHP]

    Poi lo richiami nella index, o comunque nelle pagine dove vuoi inserirlo...

    index.php
    [PHP]
    <html>
    <head>
    ....
    </head>
    <body>
    <?php include 'menu.php'; ?>
    <h1></h1>
    ...
    ...
    </body>
    </html>
    [/PHP]

    Ciao 🙂


  • User Attivo

    ...si a questo avevo pensato anche io, solo che il sito è già fatto (dovrei fare una specie di restyling) ed è anche responsive, adottare la tua soluzione vorrebbe dire rifare tutto da capo, anche la struttura, il css, etc...e vorrei evitare tutto questo


  • User Attivo

    ...volendo cambiare linguaggio ed utilizzare il php (per tutte le pagine) esiste un'alternativa agli include? ad esempio richiamando solo i links in un file esterno? poniamo che questa sia una ipotetica pagina del sito:

    [HTML]<html><head><title>Pagina web</title></head>
    <body>

    Menù: <a href="richiamo-php-1">Voce 1</a> - <a href="richiamo-php-2">Voce 2</a> - <a href="richiamo-php-3">Voce 3</a>

    </body></html>[/HTML]

    ...poi in un file php esterno (che non sarà un include) vado semplicemente a dichiarare quali sono i link delle varie voci di menù...non so se mi sono spiegato....si può fare? se si come?


  • User Attivo

    La soluzione piu' semplice e piu' gradita dai motori di ricerca è sicuramente farlo con un file esterno php. Altrimenti lo puoi fare con Jquery o ajax o qualche Dom Js ma devi guardare il codice sorgente perchè se non compare il link il motore di ricerca non ha modo di seguirlo e non ne trai benefici in termini di indicizzazione.

    Il php è utilizzabile con html, jquery , js, ajax , c# , java etc. etc. non capisco che problemi ti crei utilizzare un include sinceramente.


  • User Attivo

    ...utilizzando gli include non posso rendere attive (cioè selezionate) alcune delle voci del menù, ad esempio se mi trovo nella pagina "Chi Siamo" nel menù deve restare evidenziata tale voce...e così per tutte le altre. Se utilizzo menù diversi per ogni pagina, con i css posso rendere "attiva" ogni singola voce, se invece il menù è sempre lo stesso (cioè quello dell'include) come faccio? ...questo è il mio problema principale nell'utilizzare gli include 😞


  • User Attivo

    ...in ogni caso io una soluzione simile già la conosco, solo che viene utilizzato il JQuery + un file di testo (.txt) esterno con dentro i vari link. Ecco un esempio:

    Pagina html:

    <html><title>Pagina HTML</title>
    </head>
    
    
    <body>
    
    
    <a class="link1" href="" target="_blank">LINK PROVA </a><br />
    <a class="link2" href="" target="_blank">LINK PROVA </a>
    <script src="jquery-1.11.2.min.js"></script>
    <script>
    jQuery(document).ready(function($) {
        $.ajax({
            url: "tuo_file.txt",
            dataType:"text",
            cache: false,
            success: function(data) {
                var content = data.split( ',' );
                $('a.link1').attr({ 'href' : content[0] })
                $('a.link2').attr({ 'href' : content[1] })
            }
        })    
    })
    </script>
    
    
    </body>
    
    
    </html>
    

    ...mentre il contenuto del file di testo esterno (tuo_file.txt) è molto semplice, ci sono solo i link, è il seguente:

    google.it,
    yahoo.com
    

    ...dove ogni virgola separa ogni link.

    E' tutto molto semplice e funzionante, ho solo qualche dubbio per i motori, cioè se riescono a leggere i link anche nei file di testo, per questo cercavo una soluzione molto simile ma in PHP


  • User Attivo

    @chebellagiornata said:

    ...volendo cambiare linguaggio ed utilizzare il php (per tutte le pagine) esiste un'alternativa agli include? ad esempio richiamando solo i links in un file esterno? poniamo che questa sia una ipotetica pagina del sito:

    [HTML]<html><head><title>Pagina web</title></head>
    <body>

    Menù: <a href="richiamo-php-1">Voce 1</a> - <a href="richiamo-php-2">Voce 2</a> - <a href="richiamo-php-3">Voce 3</a>

    </body></html>[/HTML]

    ...poi in un file php esterno (che non sarà un include) vado semplicemente a dichiarare quali sono i link delle varie voci di menù...non so se mi sono spiegato....si può fare? se si come?

    Si esiste.

    Prima di tutto però crea il file dei links che sarà formato così (e che andrai ad includere nella index):
    include.links.php
    [PHP]
    <?php
    //ho strutturato l'array così: chiave => valore, ma puoi anche omettere le chiavi, quindi richiamare solo $links[indice]
    $links = array('link-1' => 'http_tuolink', 'link-2' => 'http_tuolink', 'link-3' => 'http_tuolink');
    ?>
    [/PHP]

    Quindi la home sarà formata così:
    [PHP]
    <?php include 'include.links.php'; ?>

    <html><head><title>Pagina web</title></head>
    <body>
    Menù: <a href="<?php echo $links['link-1']; ?>">Voce 1</a> - <a href="<?php echo $links['link-2']; ?>">Voce 2</a> - <a href="<?php echo $links['link-3']; ?>">Voce 3</a>
    </body></html>
    [/PHP]

    Non ho testato quindi fammi sapere 🙂


  • User Attivo

    ...cercavo proprio qualcosa del genere. Poiché ho più di un menù (uno principale ed uno secondario), come potrei fare per non farli andare in conflitto?


  • User Attivo

    Puoi benissimo fare 2 variabili differenti:

    [PHP]
    <?php
    //ho strutturato l'array così: chiave => valore, ma puoi anche omettere le chiavi, quindi richiamare solo $links[indice]
    $linksMenuPrincipale = array('link-1' => 'http_tuolink', 'link-2' => 'http_tuolink', 'link-3' => 'http_tuolink');
    $linksMenuSecondario = array('link-1' => 'http_tuolink', 'link-2' => 'http_tuolink', 'link-3' => 'http_tuolink');
    ?>
    [/PHP]

    Nella index invece:

    [PHP]
    <?php include 'include.links.php'; ?>

    <html><head><title>Pagina web</title></head>
    <body>
    Menù: <a href="<?php echo $linksMenuPrincipale['link-1']; ?>">Voce 1</a> - <a href="<?php echo $linksMenuPrincipale['link-2']; ?>">Voce 2</a> - <a href="<?php echo $linksMenuPrincipale['link-3']; ?>">Voce 3</a>

    Secondario: <a href="<?php echo $linksMenuSecondario['link-1']; ?>">Voce 1</a> - <a href="<?php echo $linksMenuSecondario['link-2']; ?>">Voce 2</a> - <a href="<?php echo $linksMenuSecondario['link-3']; ?>">Voce 3</a>
    </body></html>
    [/PHP]


  • User Attivo

    ...domani provo e ti faccio sapere. Grazie mille! 🙂


  • User Attivo

    Bacca001 funziona tutto alla perfezione, grazie mille!!! ...ah, ma quindi in questo modo è sicuro che i motori leggeranno i links del menù? 🙂


  • User Attivo

    @chebellagiornata said:

    Bacca001 funziona tutto alla perfezione, grazie mille!!! ...ah, ma quindi in questo modo è sicuro che i motori leggeranno i links del menù? 🙂

    Assolutamente si, perchè è come se caricassero una pagina già fatta così...