301 Seo e redirect

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

301 Seo e redirect

Messaggio da giuseppe500 »

ciao.
Le pagine che hanno un redirect 301 o 310 vengono indicizzate da google? perchè con vari tool seo online mi sembra di no.
Ho un sito multilingua dinamico con symfony 4 e ho circa 10000 rotte.
quando l'utente preme il cambio di lingua ho fatto un listener che alla fine mi fa un redirect sulla relativa pagina in inglese.
Non sto a spiegare come funziona il listener ma è piuttosto semplice.
Ho visto che in symfony 4 si possono creare un numero n di rotte sul db , ho studiato questo argomento , solo che mi chiedo: alla fine per cambiare url e contenuti ,devo fare un redirect 301 o 310 quindi ritorna il problema.
Esite una soluzione?o un workaround?
Grazie.
Ultima modifica di giuseppe500 il venerdì 12 marzo 2021, 14:19, modificato 2 volte in totale.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: 301 Seo e redirect

Messaggio da DoctorStrange »

Il sito che hai fatto dovrebbe essere piu dinamico, nel senso che, ogni volta che l'utente sceglie il proprio "locale", non è che deve essere mandato completamente ad un'altra pagina. Semplicemente il backend, interpella un file di properties, all'interno del quale, per ogni stringa presente sul sito c'è la corrispondente traduzione nel locale che è stato impostato. In questo modo, il sito sarà sempre solo uno, il file di properties, non sarà altro che una mera traduzione di strighe di testo nelle varie lingue, ed il sito in generale sarà enormemente piu leggero e fruibile.

Se tu volessi aggiungere solo una nuova pagina, cosa fai replichi la medesima pagina, per ogni lingua presente?
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

Re: 301 Seo e redirect

Messaggio da giuseppe500 »

scusa ma non ho capito, per i contenuti lo faccio gia, ma per l'url, come lo cambio?
se sono in /it/gallerie e premo il cambio di lingua in inglese l'url non si aggiorna, si aggiornano i contenuti, proprio come dici tu.
come faccio ad aggiornare l'url? o è inutile? nel tuo modo ogni url ha due tipi di contenuto?
grazie intanto.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: 301 Seo e redirect

Messaggio da DoctorStrange »

L'url viene composto dalle chiamate alla servlet, non sei tu, a doverlo generare, in funzione di ogni singola pagina che viene chiamata.

C'è una dispatcher servlet, che ira sul server, e in funzione delle richieste che le arrivano, questa risponderà con una pagina piuttosto che con un'altra. Ciò di cui ti devi occupare, è la mappatura delle stesse pagine.

Ci sarà un file di configurazione, nel quale dichiarerai quali sono le pagine, e dove si trovano i files di configurazione. Quando un utente preme sul pulsante "back", oppure sul pulsante "submit", o su qualunque altro controllo attivo, viene mandata una richiesta alla dispatcher servlet. questa consulterà il proprio mapping interno, e restituira la pagina richiesta in funzione di quale pulsante, o quale controllo è stato chiamato.

All'interno della pagina, a sua volta, userai una specifica taglib, nella quale puoi specificare i vari "locale" disponibili. Se un utente ha cliccato sulla bandierina dell'italiano, del francese, o di qualunque altra lingua, quella specifica pagina andrà a leggere il properties di quella lingua, e sostituirà, ad ogni etichetta, text box, pannello, immagne o qualunque altra cosa, il testo in quella lingua.
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

Re: 301 Seo e redirect

Messaggio da giuseppe500 »

scusa, ma io ho specificato symfony 4 che è un framework php, tu mi parli a quanto sembra di java e servlet.forse non ci siamo capiti?
scusa nel caso.
ciao
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: 301 Seo e redirect

Messaggio da DoctorStrange »

Anche se usi un altro framework, il principio resta lo stesso. Non si deve creare una distinta pagina per ogni lingua o locale impostabile dall'utente. In ogni caso, leggendo qui https://symfony.com/doc/current/translation/locale.html si capisce che il "locale" richiesto dall'utente viene passato sullo spazio di request. A questo punto, è il framework a prenderlo e passarlo ad uno specifico listener, che si chiama "LocaleListener", ed in funzione di questo, vengono caricati nella memoria di request, tutte le properties relative a quel locale.
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

Re: 301 Seo e redirect

Messaggio da giuseppe500 »

grazie 1000 ho capito.
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

Re: 301 Seo e redirect

Messaggio da giuseppe500 »

solo una cosa che non ho capito dalla pagina che hai postato:

Codice: Seleziona tutto

// config/routes.php
use App\Controller\ContactController;
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;

return function (RoutingConfigurator $routes) {
    $routes->add('contact', '/{_locale}/contact')
        ->controller([ContactController::class, 'index'])
        ->requirements([
            '_locale' => 'en|fr|de',
        ])
    ;
}
questo pezzo di codice crea una rotta diversa per ogni locale?
e viene chiamato di conseguenza l'url col locale cambiato e renderizzato , quindi niente 301 o redirtect e questo ho capito.
Quello che non capisco è come fare ad inserire uno slug (un pretty url) dal database , forse lo devo impostare proprio in quel pezzo di codice?
quando crea la rotta?
è corretto?
scusa ma sono un po duro per questa cosa.
e anzi ti ringrazio per la tua pazienza.
ricapitolando quello che mi hai spiegato l'ho capito per cambiare i contenuti , ma per cambiare lo slug dell'url secondo me devo creare al volo un rotta con lo stesso e prenderlo dal db(lo slug) che sara un parametro dell' url generato..
è corretto o no?
in pratica mi servirebbe un url con lo slug in italiano per l'italiano e un uirl con lo slug in inglese per il contenuto inglese, questo si puo fare nell url?
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 14 ospiti