- Home
- Categorie
- Digital Marketing
- Consigli su Penalizzazioni e Test SEO
- Consigli per gestire transizione da vecchio a nuovo sito
-
@kart said:
Ho un sito con migliaia di pagine spiderate, migliaia di iscritti, una bella community iperindicizzata. Devo portare on line una serie di mega modifiche tali da impedire un passaggio soft. In due parole ho bisogno di qualcosa come 48/72h di sito completamente off line, del tipo protetto da autenticazione con password oppure consentendo l'accesso solo al mio ip.
Che fare con i motori di ricerca? cosa è meglio per voi "fargli trovare"?
Rispondi allo spider in una lingua che capisce: le intestazioni HTTP.
Ce n'è una che si adatta abbastanza bene a quello che devi fare tu:
HTTP 503 Service Unavailable
The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.
Se riesci a quantificare i tempi del "rientro", specificalo nel Retry-After.
Ovviamente, assicurati che le modifiche non creino broken link o cambi di URL. Nel caso, procedi alla solita maniera, ovvero crea per ogni pagina che cambia URL un redirect 301 dal vecchio al nuovo URL.
Tecnicamente è tutto qua, se fai anche modifiche importanti come ai title o alla struttura dei link interni, è possibile che ci voglia un "periodo di assestamento" per dar modo ai motori di ricalcolare le variabili associate alle tue pagine.
Ciao
-
Grandissimo Petro, la 503 mi mancava
Hai anche al volo le righe da impostare nel file .htaccess per creare quel genere di response e magari invece lasciar entrare un set di ip ben preciso?
Grazie in anticipo
Ugo
-
Integro la mia richiesta con la seguente necessità:
ai visitatori cosa gli "faccio trovare" e come?
grazie ancora
Ugo
-
Per la serie "si faccia una domanda e si dia una risposta" vi chiedo se è possibile inserire nel file httpd.conf qualcosa del genere:
<VirtualHost ip.ip.ip.ip>
DocumentRoot /var/www/miosito/
ServerName www.miosito.it
Redirect 503 / http://www.altrosito.it/paginachespiegatutto.html
DirectoryIndex index.html
</VirtualHost>così risolverei tutti i miei problemi meno che uno, infatti in più vorrei che il mio ip e quello dei miei collaboratori potessero accedere al vero sito col vero path per effettuare tutti i test del caso.
-
Ciao kart,
potresti cortesemente adattare la tua richiesta seguendo lo schema riportato qui: http://www.giorgiotave.it/forum/consigli-seo-e-penalizzazioni/34637-regole-specifiche-di-sezione.html
nel regolamento specifico di sezione?Grazie mille,
a presto
-
Ciao Dechigno, il nome del sito e la tecnologia in cui è sviluppato preferisco non rivelarli per non far sapere alla concorrenza che mi preparo ad un change importante e ai lamer di turno in che tecnologia è fatto il mio sito.
Per il resto posso dirti:
Motori: Tutti
Prima indicizzazione o attività: 2004
Cambiamenti effettuati: X
Eventi legati ai link: X
Sito realizzato: X
Come ho aumentato la popolarità: In tutti i modi legali del mondo
Sitemaps: si
Url Rewrite: si
Chiavi: XDopo il go-live posso parlarne di più Spero non sia un problema, daltronde la mia richiesta prescinde dal mio sito e spero possa essere utile per molti.
-
La soluzione sarebbe questa:
rewriteCond %{REMOTE_ADDR} !^ip.ip.ip.ipp
rewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteRule ^(.*)$ /maintenance.html [R=503,L]peccato che
RewriteRule ^(.*)$ /maintenance.html [R=503,L]
dia errore 500 internal server error e in pratica riesco a farlo funzionare solo con
RewriteRule ^(.*)$ /maintenance.html [R=301,L]temo dipenda dalla mia versione di Apache
conoscete soluzioni alternative che facciano la stessa cosa?
-
No, aspe, non puoi fare un redirect 503 (non dipende da Apache) perchè gli unici codici di stato che possono fare redirect lato server sono quelli della serie 3XX.
cfr. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Io conosco due strade per fare quello che ti serve:
- hai un CMS o comunque puoi gestire con uno script l'intestazione HTTP di tutte le pagine del sito. In questo caso, controlli l'ip o una variabile segreta nella querystring per "autenticarti", e a tutti gli altri mostri una scritta di cortesia con uno status 503. In PHP:
if(!$logged) { header("HTTP 1.1/503 Service Unavailable"); die("Stiamo lavorando per voi"); }
- Altrimenti, puoi intervenire su Apache, ed in assenza del prerequisito di autenticazione (che può essere ancora una volta l'ip o un parametro passato in querystring), redirigi tutti IN MODO TEMPORANEO verso la pagina di cortesia. Su questa devi impostare a mano il 503.
RedirectMatch (.*) http://sito/cortesia.htm
Facci poi sapere com'è andata, mi raccomando
-
Ciao Petro, grazie per la disponibilità innanzitutto!
Allora, la prima soluzione è quella che mi piace di più, l'ho provata così:
if ($_SERVER['REMOTE_ADDR'] != "mio.ip.mio.ip")
{
header("HTTP 1.1/503 Service Unavailable");
die("Stiamo lavorando per voi");
}e il risultato è quello desiderato, io vedo il sito e gli altri vedono la scritta "Stiamo lavorando per voi". Peccato solo che testando gli header ad esempio con:
http://www.thinkhost.com/services/generators/headers-check.shtml
mi dia:HTTP/1.1 200 OK
e anche con altri tool dà lo stesso risultato
ti è mai capitato?
-
ok Petro, risolto, la sintassi giusta è:
if ($_SERVER['REMOTE_ADDR'] != "mio.ip.mio.ip")
{
header("HTTP/1.1 503");
die("Stiamo lavorando per voi");
}grandissimo!!!!
Vi farò assolutamente sapere com'è andata, oltretutto vi siete meritati una citazione con la case history e iper menzione di merito nel mio blog (www.ugogiaquinto.com) non appena tutto sarà finito.