Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    PHP include e posizionamento SEO

    Qui lo so... mi gioco la reputazione e rischio la lavata di capo....

    Ricordo a tutti che sono nuova sia nel forum che nel mondo del PHP quindi abbiate pieta'

    Io vengo dal HTML e solo da qualche giorno mi sto cimentando con la funzione INCLUDE di php in sostituzione dei frameset o del iframe

    La comodita' e' di immediata comprensione ma mi sorge un dubbio e cercando su google non ho trovato una risposta comprensibile...

    Quindi vi chiedo:
    con i frames per ovviare alla sfortunata indicizzazione dei medesimi usavo dei comandi javascript che impedivano di fatto a un frame orfano di essere caricato solo soletto.
    Un redir apriva il set completo e problema risolto.

    Con il php e il comando include corro lo stesso rischio che con i frames orfani?
    e se si come lo aggiro?

    Grazie e scusate la domanda stupida

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    l'include non c'entra niente con il seo; l'inclusione avviene lato server, il html generato e' come se fosse un unico file dal punto di vista del browser.
    Per evitare che i file inclusi vengano chiamati direttamente, puoi settare una variabile nel file "padre" e controllare la sua esistenza in quello incluso. Se manca - vuol dire che l'hanno chiamato direttamente, e fai il redirect, die, o quello che vuoi.

  3. #3
    Bubi e' proprio quello che volevo sapere

    quindi devo aggiungere un comando nel file potenzialmente orfano che controlli se e' solo o se e' visualizzato insieme alla pagina originale con l'include...

    il con l'html usavo il comando if.top.location ma dubito che vada bene ora...

    che comando devo usare?

    Ho fatto una ricerchina con le parole da te dette...
    mi pare di capire

    questo va nei potenziali orfani
    codice:
    <?php if(!defined('MyConst'){die('Direct access not premitted');} ?>
    e questo nella pagina che li contiene con INCLUDE.....
    codice:
    <?php define('MyConst', TRUE); ?>
    tra gli apici c'e' un nome che do al potenziale singolo orfano?


    pero' a quello che vedo cosi' l'orfano restituisce un messaggio di errore, non carica la pagina in cui e' contenuto......

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Si, l'idea e' quella.

    Tra gli apici e' il nome della costante, metti quello che vuoi. Basta che poi controlli lo stesso nome nei "figli".
    Per intenderci:
    a) Nel padre definisci la costante, ad esempio 'Naila2000'
    b) In tutti i figli controlli che la costante 'Naila2000' sia definita.

    Il codice che hai postato, restituisce l'errore senza caricare nulla perche' c'e' il die().
    Devi capire che qui sei lato server, e non lato client. Nel caso del frame, c'e' l'url visibile, e uno potrebbe caricarla incidentalmente per un errore di browser, o arrivando da un motore di ricerca o altro.
    Nel caso del include con php, se tu fai il progetto bene, i link ai file inclusi non ci saranno da nessuna parte, quindi se uno cerca di accederci direttamente, lo fa volutamente (tentativo di hack o menate varie). Quindi in quel caso va bene un die(), chi se ne frega della sua user experience.

    Se invece vuoi per forza caricare il file giusto, puoi sostiture il die(...) con
    header("Location: http://sito.url.padre");
    die();

    in questo modo fai un redirect all'url giusto.

  5. #5
    Bubi grazie

    si e' vero

    la mia mente ancora ragiona lato client... me ne accorgo, ma sono entrata nel mondo php da nemmeno due settimane quindi ancora le mie sinapsi vanno in automatico e si pongono dei problemi che forse non esistono lato server.

    Ma fare domande e ottenere risposte serve anche a rieducare le mie sinapsi... no?


    stasera faccio un paio di prove.
    Poi se sara' stato "lavoro inutile" perche' queste istruzioni non verranno mai usate... beh, avro' almeno fatto esercizio sul codice php

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.