• Super User

    Generare elenco di link accompagnati da testo personalizzato

    Devo fare una pagina (prendendo i dati da un DB) che contiene un elenco di link e per non fare un semplice elenco di key linkate voglio affiancare a ogni record una frase in cui posso inserire 3 parametri presi dal db

    key1 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    key2 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    key3 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    ...

    la cosa non mi soddisfa perchè ogni record ha in comune la base della frase e vorrei che il motore veda la pagina molto differenziata 😄

    per risolvere mi è venuto in mente di preparare 3 basi di testo da pescare in modo random in cui inserire i parametri

    key1 - testo parametro1 testo testo testo testo, bla parametro2 testo testo bla bla testo parametro3
    key2 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    key3 - bla parametro2 testo testo bla bla testo parametro3 bla
    key4 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    key5 - testo parametro1 testo testo testo testo, bla parametro2 testo testo bla bla testo parametro3
    key6 - bla parametro2 testo testo bla bla testo parametro3 bla
    ...

    anche in questo caso c'è un problemino... ogni volta che lo spider visita la pagina la trova sicuramente diversa a causa dello script che estrae a caso una delle 3 basi della frase

    questa cosa non mi fa impazzire... passando sulla pagina a distanza di pochi attimi la trova differente e sgama che si tratta di una pagina non stabile

    a questo punto dovendo scegliere quasi quasi torno sui miei passi e opto per la **prima soluzione **che mi da frasi personalizzate per ogni key ma simili

    e voi.. cosa pensate ? 🙂


  • Super User

    io opterei per la seconda che genera la frase in base ad un algoritmo che ha in ingresso la key.

    Esempio

    Assegni ad ogni lettera un valore, poi nel testo del db scegli le parole in base al valore di ogni lettera e alla sua posizione.

    All'atto pratico:
    Auto 😄

    A = 10
    u = 25
    t = 12
    o = 33

    bene, nel tuo db avrai

    1 - testo1
    2 - bla1
    3 - testo2
    ....
    10 - testo3
    ....
    12 - testo4
    ....
    25 - bla2
    ...
    33 - bla3

    Il risultato sarà:

    Auto - testo3 bla2 testo4 bla3

    Poi per il parametro ce lo sbatti dentro tu ogni N parole.

    In questo modo la pagina sarà sempre uguale 😄

    Ciao
    :ciauz:


  • Super User

    si ma per generare frasi che hanno senso divento scemo 😄

    nn esageriamo devo gestire 20000 link con key frases a lunghezza variabile


  • Super User

    se devi fare una sola pagina allora opta per la seconda opzione e poi copia il codice html e incollalo in una pagina html

    se devi farlo per più pagine allora non ti resta che creare un php in questo modo:

    if(file_exists("nome_file.php")){
    require("nome_file.php");
    }else{
    // crea pagina php tramite i dati del DB e passala allo spider, infine salva la pagina in nome_file.php
    }

    in questo modo la pagina viene creata una sola volta. Ovviamente per sprecare meno spazio puoi usare inserire il lavoro grosso in un solo script e inserire in ogni pagina semplicemente:

    if(file_exists("nome_file.php")){
    require("nome_file.php");
    }else{
    require("crea_pagina.php");
    }

    Se inoltre vuoi costruire uno script che al passaggio dello spider crei una pagina contenente link a n nuove pagine. Allora procedi normalmente e una volta inserite i link a queste pagine "inesistenti" le crei inserendo in ognuna di esse il codice:

    if(file_exists("nome_file.php")){
    require("nome_file.php");
    }else{
    require("crea_pagina.php");
    }

    ...

    Penso non ci sia altro d'aggiungere. Con questo semplice script (a cui manca ovviamente il cuore, ovvero la parte della creazione della pagina), puoi creare un sito infinito, basandoti semplicemente sul passaggio dello spider.

    Ti ho dato più soluzioni..scegli la più adeguata 😄


  • Bannato Super User

    Azzo 😄


  • Super User

    mi sa che si sta facendo interessante questo topic 😄


  • Community Manager

    @Rinzi said:

    nn esageriamo devo gestire 20000 link con key frases a lunghezza variabile

    Le immagini anche 😉

    Tanto sai benissimo la categoria di appartenenza, quindi con 7-8 immagini sei apposto 😉

    Analizziamo i problemi uno ad uno.

    1. Gli Utenti Normali

    Quando si pensa di inserire 20000 pagine di contenuti allora dobbiamo pensare prima agli utenti, in modo da rendergli la navigazione più falice.

    Questo è un problema, io non ho badato a questo, ma mi sono riservato un include in tutte le pagine. La soluzione più facile per me è: Creare un motore di ricerca interno, belllo visibile, che induca l'utente a cercare solo attraverso il motore.

    Poi dal motore creo la pagina di risultati, statica, e mostro le ultime 20 ricerche.

    Semplice da costruire:

    Form > passa la chiave > query al DB > creazione di chiave.php > estrapolazione dei dati > inserimento nel DB della chiave digitata.

    Altre soluzioni potrebbero essere l'elenco degli url per ordine alfabetico o per argomento, ma vista la vastità dei contenuti, questa scelta la facciamo per i motori di ricerca.

    2. Il Server

    Devi pensare a come gestire 20000 pagine sul server. Se le crei dal Db e poi usi l'url rewrite allora non hai nessun problema. Se invece vuoi pagine statiche devi dividere le pagine in cartelle, così è più gestibile da FTP. Io le ho inserite tutte in una cartella e poi i file di gestione sono fuori dalla cartella.

    Se hai intenzione di creare pagine al volo dal server, sai che ci vogliono i permessi.

    3. Google

    E si Google, perchè gli altri ancora non hanno i controlli sul valore globale dei siti e inserendo 20000 pagine potrebbe cambiare parecchio.

    Quindi, se hai un sito vecchio e hai intenzione di buttarle su, devi stare molto attento a come disponi i link e come imposti la struttura.

    Il mio test, per ora, procede bene e non sono stato penalizzato dall'inserimento delle pagine.

    Per un sito nuovo, proverei uno script che ogni giorno rilasci TOT pagine con TOT link.

    Questo devi calcolarlo in base a quanti link puoi trovare per aumentare la popolarità di questo sito nuovo.

    Importante è non cambiare la posizione dei link nel tempo, altrimenti con 20000 pagine fai suonare un bel campanello 🙂

    4. Estrapolazione dei Dati ed impaginazione

    Una volta passata la chiave principale è facile prendere dal DB tutte le altre, quindi vedrei un'impaginazione simile per tutte.

    Trova una struttura gradevole, con l'immaginetta che rappresenti il gruppo di appartenenza.

    Poi nel testo prevedi dei caratteri diversi come questo e questo per parole come il nome, il gruppo di appartenenza ect.

    Prevedi molti IF. Praticamente nel DB non tutte hanno i campi tutti pieni, molte hanno 5 valori, altre 6.

    Quindi se c'è mostralo con questa frase, altrimenti saltalo.

    Prevedi le Maiuscole per i nomi e anche dopo i punti.

    Prevedi i singolari ed i plurali a seconda dei numeri che trovi nei campi con vari cicli.

    Dovrebbe essere tutto, se ti serve altro sono qui 🙂


  • Super User

    @Dell'Orto Fabio said:

    Azzo 😄
    😄

    si Tuono diventa interessante...

    kerouac3001, la tua soluzione in questo caso nn va bene...leggo con calma Giorgio cosa dice e poi vi spiego meglio 🙂


  • Super User

    Ho come l'impressione che Giorgio sappia bene di cosa stai parlando 😄

    Comunque io non ho mai creato le pagine statiche...ho sempre fatto tutto da query da db e url_rewrite.

    Personalmente la preferisco per la possibilità di fare piccole modifiche su tutte le pagine...poi magari però sarebbe meglio non farlo.

    Cmq seguiamo questo 3D molto bene 😄


  • Super User

    allora ragazzi vi vedo interessati e vi spiego meglio..

    ho tutto pronto... tutto ideato e pensato al meglio... devo solo decidere come impaginare le pagine di sezione contenenti i link ...

    vi illumino meglio

    ho un db di circa 20.000 record... ho trasportato il tutto nel formato tabella previsto dal mio CMS ... ho diviso tutti i record per categorie e sottocategorie , create le dir sul server ( ovviamente ho tutti i permessi in scrittura necessari), ho creato 20.000 pagine del tipo key-key1.php che oggi trasferiro sul server.

    Il sito e nuovo e non ho mica intenzione di mostrare a Google tutte le pagine contemporaneamente 😄

    vi spiego... ho aggiunto alla tabella una campo data che indica agli script il giorno di pubblicazione del record e spalmato il tutto in circa 3 anni con una media di circa 18 pagine al giorno ma nn è detto ..le date sono state generate a caso e neanche io so cosa e quando verrà pubblicato 😄 , quindi un giorno potranno essere 10 e il giorno dopo 20 o 15

    questo sistema partira da fine anno perchè
    per i primi 2 mesi voglio seguire di persona il ciclo di vita del sito 😉

    ora il mi dovrei accontentare di avere liste di link seguite da descrizioni simili che variano in soli 3 punti

    il sistema suggerito da kerouac3001 nn va bene per il semplice motivo che la pagina dei link oggi è di 5 record domani di 7 e così via in modo irregolare e prevedendo una paginazione ogni n link, insomma dovrei riscrivere le pagine giornalmente e il problema delle descrizioni che variano a ogni passaggio di spider rimane

    ora che sapete tutto vi rimando alla domanda iniziale... 🙂

    p.s.: ultima nota... le pagine hanno tutte e 20.000 le key in url , sono senza parametro non fanno uso di url_rewrite ... non pesano nulla perchè son vuote e ricomposte a ogni richiesta.. sistema che va alla grande già provato e testato 🙂

    p.p.s. > Ho come l'impressione che Giorgio sappia bene di cosa stai parlando Vuoi che il mio maggior collaboratore 😄 non sa quello che combino è solo che tralascia che il mio essere perfezionista mi ha già portato a prevedere e applicare ciò da lui consigliato saggiamente


  • User Attivo

    @Rinzi said:

    Devo fare una pagina (prendendo i dati da un DB) che contiene un elenco di link e per non fare un semplice elenco di key linkate voglio affiancare a ogni record una frase in cui posso inserire 3 parametri presi dal db....

    Lo scopo di tutto ciò quale sarebbe? 😮


  • Super User

    @Rinzi said:

    il sistema suggerito da kerouac3001 nn va bene per il semplice motivo che la pagina dei link oggi è di 5 record domani di 7 e così via in modo irregolare e prevedendo una paginazione ogni n link, insomma dovrei riscrivere le pagine giornalmente e il problema delle descrizioni che variano a ogni passaggio di spider rimane

    Se ho capito tu dici:

    dato che ogni giorno addo n link alla pagina, non posso usare quel metodo.

    Allora usa questo:

    • Prelevi dall'array solo i link che hanno come data di pubblicazione quella odierna.

    • Li compili secondo lo schema da te pensato

    • Li inserisci in pagina_link.php addandoli al testo che in pagina.php è già presente (ovvero i link addati in precedenza)

    • elimini i link dal db (tanto non sevono più) o semplicemente cambi la data spostandola di un giorno indietro

    • fai require("pagina_link.php");

    In questo modo ogni giorni in pagina_link.php vengono addati i link nuovi e i vecchi mantengono la stessa forma che avevano all'origine.

    Dimmi se ho capito ciò che hai detto, perchè sinceramente non ne sono sicuro 😄


  • Super User

    Dimmi se ho capito ciò che hai detto, perchè sinceramente non ne sono sicuro

    si , hai capito... i dati dal db nn li cancello , l'idea può essere buona...

    ma credo che la cosa più semplice e forse efficace sia prendere dal testo della pagina linkata (presente nel db) i primi n caratteri (100...200) e affiancarli al link (è la cosa + semplice ma mi è venuta in mente solo ora)


  • Super User

    si è molto più semplice, ma io dico che ti rallenterà.

    Perchè la pagina dovrà richiamare più record e gestirli legandoli assieme tra loro, invece se scrivi tutto in una pagina php e poi la richiami, allora velocizzi tantissimo.

    Immagina come sarà lenta la tua pagina quando avrai raggiunto i 20000 link 😄

    dovrà richiamare 20000 record con un while lentissimo :fumato:


  • Super User

    @kerouac3001 said:

    si è molto più semplice, ma io dico che ti rallenterà.

    Perchè la pagina dovrà richiamare più record e gestirli legandoli assieme tra loro, invece se scrivi tutto in una pagina php e poi la richiami, allora velocizzi tantissimo.

    Immagina come sarà lenta la tua pagina quando avrai raggiunto i 20000 link 😄

    dovrà richiamare 20000 record con un while lentissimo :fumato:

    naturalmente le pagine avranno la paginazione, quindi non + di 20 al max 40 link in l'una

    sinceramente preferisco non scolpire nulla su File system e avere la possibilità d'interevenire su ogni singola pagina da CMS, nn rallenta 😉 .. in caso preferisco investire su un server migliore 🙂


  • Community Manager

    @Rinzi said:

    p.p.s. > Ho come l'impressione che Giorgio sappia bene di cosa stai parlando Vuoi che il mio maggior collaboratore 😄 non sa quello che combino è solo che tralascia che il mio essere perfezionista mi ha già portato a prevedere e applicare ciò da lui consigliato saggiamente

    Ho solo precisato alcune cose per far capire a tutti come stavi procedendo 🙂

    Poi ho portato una mia piccola esperienza.

    Ora ci dirai come va a finire e ad ogni aggiornamento un post nel Forum, ti tocca 😉


  • Super User

    @Giorgiotave said:

    Ho solo precisato alcune cose per far capire a tutti come stavi procedendo 🙂
    Poi ho portato una mia piccola esperienza.

    lo so Giorgio, hai fatto benissimo 🙂 è che sono tirchio di parole...scrivo poco

    Ora ci dirai come va a finire e ad ogni aggiornamento un post nel Forum, ti tocca 😉

    ma con immenso piacere... 🙂 ma solo dopo essere entrato in DMOZ 😄

    ok nn andiamo ot... altre idee...


  • User

    My 2 cents:

    Rinzi, io questo giochino lo gestirei con link simbolici.
    Hai un solo script (chiamiamolo pagina.php) che ovviamente fa il parsing della variabile $_SERVER[PHP_SELF] per recuperare le key nel path (nomi directory, sottodirectory e file).

    Pesano zero e non devono essere generati al volo.

    Ovviamente presupponendo che tu usi server *nix... 😄


  • Bannato Super User

    @Tuonorosso said:

    Ho come l'impressione che Giorgio sappia bene di cosa stai parlando 😄

    Comunque io non ho mai creato le pagine statiche...ho sempre fatto tutto da query da db e url_rewrite.

    Personalmente la preferisco per la possibilità di fare piccole modifiche su tutte le pagine...poi magari però sarebbe meglio non farlo.

    Cmq seguiamo questo 3D molto bene 😄

    Se quando ti parlo tu mi ascoltassi invece di chiedermi di orologi...... 😄


  • Super User

    come sto procedendo al momento non genero pagine al volo però la tua idea è buona e da valutare...

    anche se stiamo andando piano piano ot

    la domanda iniziale era...

    (A)come valuta il motre una situazione del genere?
    key1 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    key2 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    key3 - testo bla parametro1 testo testo, bla parametro2 testo testo bla bla testo parametro3
    ...

    (B) è meglio secondo voi affiancare ai link parte del testo della pagina linkata?

    suluzione A o B ?