Salutare,
Am deschis acest subiect deoarece doresc sa aduc o problema in discutie.
Este vorba de re-dezvoltarea, re-structurarea unui portal pe alt CMS. Asta inseamna ca se vor modifica in mare parte structura link'urilor si a paginilor.
Problema este la indexarea/reindexarea portalului de catre Google dupa punerea online a noului portal.
Ce metoda exista pentru a redirectiona paginile vechi catre cele noi? Cum as putea sa scap de paginile din SERP care vor returna o eroare 404?
Portalul are 5-6000 de pagini si intre 300-500.000 vizitatori pe luna.
Eu am avut aceasta problema la un forum dupa ce am schimbat platforma. Am rezolvat cu htaccess, redirect permanent.
Redirect 301 pe domeniu?
Pe mine m-ar interesa o redirectionare mai amanuntita.
Acest portal se imparte in mai multe cabinete si pe vechiul portal structura link'urilor este de tipul:
"https://www.bcr.ro/sPortal/sportal.portal?_windowLabel=LABEL_MENU&_urlType=ac tion&LABEL_MENU_zz=60705.43230446636&LABEL_MENU_pc =1&LABEL_MENU_sh=d245bfae1ae4eae09a81bb210d2c67b2& cci=showHomepage&desk=bcr_ro_0785&&navigationLink= TRUE&menu_navigationId=021785983461451190000194&me nu_chronicleId=09002ee2809a2475&navigationId=02178 5983461451190000194"
"bcr_ro_0785" din acest URL este un cabinet.
Noi vom avea approx. 20 de cabinete. Pe noul portal vor fi beautiful URL asa ca vom avea nevoie de anumite reguli pentru redirect.
Ceva gen if (se afla in link textul "xxx") va redirectiona catre bcr.ro/xxx. Cum se poate face asa ceva pe apache?
Ce se intampla totusi cu vechile pagini indexate din SERP? Ce se intampla dupa ce va incepe indexarea noilor pagini?
Posibil sa te ajute - vine direct din partea celor de la google ca sfat, am transformat putin codul pe idea diferitelor cabinete ;)
Salveaza acest cod intr-un fisier search.php
Va trebui sa sti toate numerele vechi si noi ale cabinetelor respective.Cod PHP:<?php
$Parameter = $_SERVER["QUERY_STRING"];
if (strstr($Parameter, "bcr_ro_001"))
$Cabinet = "/bcr.ro/001";
else
if (strstr($Parameter, "bcr_ro_002"))
$Cabinet = "/bcr.ro/002";
else
if (strstr($Parameter, "bcr_ro_003"))
$Cabinet = "/bcr.ro/003";
else
$Cabinet = "/";
$Nou = "http://www.bcr.ro" . $Cabinet;
Header("HTTP/1.1 301 Moved Permanently", true, 301);
Header("Location: " . $Nou);
?>
Daca mai gasesc ceva, revin - cu cat mai multe idei cu atat mai bine pt tine - le poti testa si alege ce-ti este mai adecvat.
Telefoane si telefonie mobila - discutii, aplicatii si programe
Mersi Dennis, un raspuns la obiect dar m-ai cam bagat in ceata. Ce fac cu acest fisier?
If'urile sunt foarte ok, mersi, chiar cred imi va folosi la ceva.
Problema e ca nu prea pot testa, datorita politicilor de securitate, de IT..bla..bla...
Trebuie sa vin cu o idee pe care sa o discutam si sa o implementam intr-un viitor apropiat, dupa ce terminam noul portal.
Cunosc toate cabinetele, eu le dezvolt.
De ex. daca un URL contine in structura lui textul "bcrro_ro_0785" va fi redirectionat catre alt URL (nu cunosc inca structura pentru noul portal) si tot asa cu toate 20. Vor fi redirectionate catre link'uri diferite. Ca si o dezvoltare mai aprofundata, fiecare categorie din cabinet de pe vechiul portal va fi redirectionat catre categoria corespunzatoare pe noul portal tot cu ajutorul unui element unic din URL.
Vezi pe bcr.ro si subsidiare in ce hal arata acele URL'uri.
Asta a fost cam singura idee care mi-a venit pentru a nu afisa in SERP pagini inexistente.
Exista si alte metode?
Nu stiu daca ai citit asta, insa explica foarte clar cum poti face chiar google https://www.google.com/support/webma...er=83105&hl=en
Personal eu la site-uri am un 404.php care redirectioneaza orice pagina negasita catre pagina principala
In .htaccess inscri urmatoarele:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/[0-9](.*)$
RewriteRule (.*)$ /search.php?%{REQUEST_URI} [L]
Creaza si alveaza acest cod intr-un fisier search.php
Cod PHP:<?php
$Parameter = $_SERVER["QUERY_STRING"];
if (strstr($Parameter, "bcr_ro_001"))
$Cabinet = "/bcr.ro/001";
else
if (strstr($Parameter, "bcr_ro_002"))
$Cabinet = "/bcr.ro/002";
else
if (strstr($Parameter, "bcr_ro_003"))
$Cabinet = "/bcr.ro/003";
else
$Cabinet = "/";
$Nou = "http://www.bcr.ro" . $Cabinet;
Header("HTTP/1.1 301 Moved Permanently", true, 301);
Header("Location: " . $Nou);
?>
Da, prin RewriteCond
Aici se controleaza prin RewriteRule daca avem in vechiul URL (^desk\.php$) si ulterior controleaza RewriteCond care parametri au fost predati iar la sfarsit se face redirectul catre noul URLRewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} ^desk=bcr_ro_0785$
RewriteRule ^desk=bcr_ro_0785$ http://bcr.ro/url_nou.html? [R=301,L]
Perechea RewriteRule/RewriteCond trebuie repetat pentru fiecare URL (cabinet). Semnul intrebarii la finalul URL-ului interzice preluarea preluarea si afisarea vechiului parametru in linkul nou.
Totusi, daca ai mai multe link-uri, metoda cea mai eleganta ar fi o amestecare intre .htaccess si script PHP, adica prima versiune.
Telefoane si telefonie mobila - discutii, aplicatii si programe
Mersi inca odata Dennis.
Voi reveni la acest subiect dupa stabilirea unei metode de redirectionare, dupa testare si implementare.
Mai, sa-mi fie scuzat tupeul dar intreb asa ca tocmai purtasem o discutie pe aceasta tema: cum se intampla ca tu sa te ocupi de SEO pentru site-ul BCR si sa nu cunosti bine lucruri elementare?
Mai multi Fani Facebook
Pai din google webmaster si yahoo webmaster poti face un redirect 301 pentru rezultatele din cautari