Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Digital Marketing
    4. SEO
    5. Impostazione corretta htaccess per evitare duplicazione home italiano e inglese
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • S
      studio77 User Attivo • ultima modifica di

      Impostazione corretta htaccess per evitare duplicazione home italiano e inglese

      Ciao a tutti, spiego qual è il mio problema.
      Vorrei evitare che si indicizzino vari indirizzi per la home page del sito, quindi voglio evitare che Google veda contenuti duplicati della home page.

      **Pagine duplicate secondo google
      **
      http: // w w w . nomesito .com
      http: // w w w . nomesito .com/index.php

      **Ho impostato nel file .htaccess questa direttiva nel file .htaccess:
      **
      RewriteCond %{THE_REQUEST} ^./index.php
      RewriteRule ^(.
      )index.php$ http: // w w w . nomesito .com/$1 [R=301,L]

      Tutto ok, tranne che mi genera un problema su questa URL che richiama la home page del sito in inglese:

      http: // w w w . nomesito .com/en/index.php

      Che viene re-indirizzata in automatico su questa URL (che è un problema per me, mi genera errore per il tipo di percorsi che uso nel sito):

      http: // w w w . nomesito .com/en/

      Come posso risolvere ? Dove sbaglio ? non ne vengo a capo!

      Grazie dell'aiuto.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • juanin
        juanin Admin • ultima modifica di

        Non ho capito se /en/index.php deve fare redirect oppure no.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • S
          studio77 User Attivo • ultima modifica di

          @Juanin said:

          Non ho capito se /en/index.php deve fare redirect oppure no.

          No, non deve fare redirect, deve rimanere su /en/index.php

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • juanin
            juanin Admin • ultima modifica di

            Allora devi evitare di usare questo nel match delle REQUEST

            ^.*/

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • S
              studio77 User Attivo • ultima modifica di

              @Juanin said:

              Allora devi evitare di usare questo nel match delle REQUEST

              ^.*/

              quindi, qualcosa di questo tipo:

              RewriteCond %{THE_REQUEST} index.php
              RewriteRule ^(.*)index.php$ http: // w w w . nomesito .com/$1 [R=301,L]

              o di questo tipo:

              RewriteCond %{THE_REQUEST} index.php
              RewriteRule index.php$ http: // w w w . nomesito .com/$1 [R=301,L]

              (grazie)

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • juanin
                juanin Admin • ultima modifica di

                In realtà meglio che forzi "inizia con" quindi ^/index.php o ^index.php

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • S
                  studio77 User Attivo • ultima modifica di

                  @Juanin said:

                  In realtà meglio che forzi "inizia con" quindi ^/index.php o ^index.php

                  quindi così ?

                  RewriteCond %{THE_REQUEST} ^/index.php
                  RewriteRule ^/index.php$ http: // w w w . nomesito .com/$1 [R=301,L]

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • juanin
                    juanin Admin • ultima modifica di

                    Sì dovrebbe andare, ma non credo ti serva usare il $1.

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • S
                      studio77 User Attivo • ultima modifica di

                      @Juanin said:

                      Sì dovrebbe andare, ma non credo ti serva usare il $1.

                      ciao...ho applicato il tuo ultimo consiglio (togliere $1) ma ora si crea il problema inverso, cioè applicando questa regola:

                      RewriteCond %{THE_REQUEST} ^/index.php
                      **RewriteRule ^/**index.php$ http: // w w w . nomesito .com/ [R=301,L]

                      ora questo indirizzo (che con la regola iniziale che ho postato funzionava)

                      http: // w w w . nomesito .com/index.php

                      non funziona più e non fa quindi il redirect su http: // w w w . nomesito .com/

                      mentre funziona questo indirizzo (come volevo ottenere fin dall'inizio)

                      http: // w w w . nomesito .com/en/index.php

                      che non fa più il redirect (come volevo) su http: // w w w . nomesito .com/en/

                      Cosa posso fare ?
                      Sono un po' in difficoltà su questo .htaccess :arrabbiato:

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • juanin
                        juanin Admin • ultima modifica di

                        Che strano.

                        Cmq se tenendo il $1 ti funziona come vuoi...lascialo pure.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • S
                          studio77 User Attivo • ultima modifica di

                          @Juanin said:

                          Che strano.

                          Cmq se tenendo il $1 ti funziona come vuoi...lascialo pure.

                          Ciao, no non funzionava anche prima che togliessi il $1 ... comunque anche rimettendolo (ho provato) si comporta come se non ci fosse, non cambia nulla ...

                          La home page italiana

                          http: // w w w . nomesito .com/index.php

                          non fa il redirect su

                          http: // w w w . nomesito .com

                          mentre la home page inglese

                          http: // w w w . nomesito .com/en/index.php

                          rimane correttamente su questa pagina (senza fare il redirect sulla cartella /en/)

                          DOMANDA: ma se evito di risolvere con l'htaccess e faccio in modo che nel sito non ci siano link (da nessuna parte) alla index.php italiana ma solo alla radice del dominio (http: // w w w . nomesito .com) ?
                          Se faccio così non risolvo lo stesso evitando che si indicizzi come contenuto duplicato anche la index.php ?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • juanin
                            juanin Admin • ultima modifica di

                            Io credo che il problema sia la %REQUEST

                            Prova come segue se ho ben capito cosa vuoi fare ora.

                            [PHP]
                            RewriteEngine On
                            RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.php
                            RewriteRule ^index.php$ / [L,R=301]
                            [/PHP]

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • S
                              studio77 User Attivo • ultima modifica di

                              @Juanin said:

                              Io credo che il problema sia la %REQUEST

                              Prova come segue se ho ben capito cosa vuoi fare ora.

                              [PHP]
                              RewriteEngine On
                              RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.php
                              RewriteRule ^index.php$ / [L,R=301]
                              [/PHP]

                              Sei MITICOOOOOO, funziona!
                              🙂

                              p.s. visto che sei così bravo con l'htaccess, mi spiegheresti per favore (non capisco) come mai se faccio questo semplice redirect 301 succede questo:

                              Siccome ho spostato una "sotto-categoria" sotto un'altra "categoria" ho impostato questo semplice redirect 301 così:

                              redirect 301 /categoria-vecchia/sotto-categoria/ http: // w w w . nomesito .com/categoria-nuova/sotto-categoria/

                              Ma se clicco il vecchio URL nella serp di Google mi viene mostrato nella barra degli indirizzi questa URL:

                              http: // w w w . nomesito .com/categoria-nuova/sotto-categoria/?id=sotto-categoria

                              **E' come se mi "appendesse" nell' URL il nome della "sotto-categoria" associandola come valore ad una variabile "id"
                              **
                              Come posso evitare che crei questo URL strano, sbaglio qualcosa nel redirect 301 ?

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • juanin
                                juanin Admin • ultima modifica di

                                Andrebbe controllato il waterfall.

                                L'append del parametro avviene dopo che atterri sulla pagina nuova oppure è direttamente già presente nel link in SERP?

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • S
                                  studio77 User Attivo • ultima modifica di

                                  @Juanin said:

                                  Andrebbe controllato il waterfall.

                                  L'append del parametro avviene dopo che atterri sulla pagina nuova oppure è direttamente già presente nel link in SERP?

                                  (ciao)
                                  No, avviene quando atterro sulla pagina nuova (non è presente nella SERP)

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • juanin
                                    juanin Admin • ultima modifica di

                                    Mi incolli esattamente il tuo .htaccess?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • S
                                      studio77 User Attivo • ultima modifica di

                                      @Juanin said:

                                      Mi incolli esattamente il tuo .htaccess?

                                      Ecco:

                                      redirect 301 /tavola/bottiglie-e-thermos/ http: // w w w . nomesito .com/idee-regalo/bottiglie-e-thermos/

                                      Il risultato è (se lancio la vecchia URL di cui sto facendo il redirect):

                                      http: // w w w . nomesito .com/idee-regalo/bottiglie-e-thermos/?id=bottiglie-e-thermos

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • juanin
                                        juanin Admin • ultima modifica di

                                        Prova ad usare una redirectMatch 301 invece di redirect 301.

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • S
                                          studio77 User Attivo • ultima modifica di

                                          niente, ho provato sia con il redirectMatch che con il RewriteRule ma nulla ...

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • juanin
                                            juanin Admin • ultima modifica di

                                            Prova a mettere il $ alla fine della redirect match.

                                            Giusto per info non è che hai anche altre regole di redirect nell'htaccess?

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti