-
Modrewrite Periculos?
Am un site vechi de 4 ani cu aproximativ 3000 vizitatori unici pe zi majoritatea din google. Site-ul este listat ok in Google...recent am facut o modificare in toate url-urile folosing modrewrite si schimband toate url-urile spre exemplu din forma "index.php?categorie" in "index.php-categorie.html" in speranta ca html-urile (si probabil intreg site-ul) va fi indexat mai bine.
Acum ma gadesc ca Google va scoate din index URL-urile sub forma PHP si le va index pe cele noi in HTML.
Intrebarea mea:
Credeti ca pana google va termina indexarea (aproximativ 4000 pagini) site-ul meu va fi penalizat pentru continut duplicat? Ma gadesc ca vor fi foarte multe pagini cu URL diferit si acelasi continut in urma acestui modrewrite folosit pentru a rescrie toate url-urile. Sper ca google va vedea si isi va da seama repede de schimbare si nu va lua in calcul continutul duplicat care apare din modrewrite.
Multumesc
-
Pune redirect si din PHP. Daca vezi ca ai ? in $_SERVER['REQUEST_URI'] da un redirect 301 (permanently moved) catre pagina noua cu functia header()
-
Url-urile vechi le redirectionezi catre noile link-uri cu redirect 301 "moved permanently"
-
Pai eu ma aflu intro situatie asemanatoare
Am schimabat linkurile din utilizatori.php?...in poze.php?....
In webmaster tool imi arata cam 1500 de linkuri not found,am scos vechiul fisier ca sa dea 404 si sa nu mai indexeze.
Problema e ca am facut chestia asta d evreo 6 luni ,in google au ramas vechiurile linkuri,mi lea indexat si pe cele noi.
Poate fi asta motiv de penalizare?
-
nu tre sa dea 404 adica page not found ci fiecare pagina veche sa
redirectioneze 301 la pagina corespondenta ei.
Ex.
index.php?categorie sa redirectioneze 301 la index.php-categorie.html
In acest fel in timp google va scoate paginile vechi din index si le va baga pe cele noi.
-
if (CONDITIA) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: $URL");
die();
}
Deci faci verificari asupra URL-ului (analizezi variabila $_SERVER[REQUEST_URI] ), si daca e sub forma nedorita faci un redirect permanent spre noua forma. Simplu
-
Multumesc tuturor.
Nu prea ma pricep la PHP am sa incerc sa pun un redirect in head. Problema e ca site-ul fiind un php...head-ul il am doar in fisierul index.php care se genereaza automat la toate URL-urile. Daca eu pun redirect in index.php atunci se vor redirectiona toate URL-urile??? catre un singur nou URL?
Sau poate ca pentru asta este if-ul din codul specificat de loco? Daca da, ce ar trebui sa pun la (conditia) ...cam cum tre sa sune...imi puteti da un exemplu?
-
Strict pe exemplul .. "index.php?categorie" in "index.php-categorie.html"
Sa zicem ca tu trimiti categoria prin variabila "categorie" (index.php?cateogire=32 => index.php-32.html)
Poti renunta la ".php" ca sa fie si mai friendly URL-ul, ex: index-32.html
$URL = $_SERVER[REQUEST_URI];
if (preg_match("/index.php\?categorie=/",$URL)) {
$NEWURL = "index.php-$_GET[categorie].html";
header("HTTP/1.1 301 Moved Permanently");
header("Location: $NEWURL");
die();
}
preg_match ala returneaza true (deci se executa codul din IF) daca gaseste sirul respectiv in $_SERVER[REQUEST_URI]
Ceva de genu
-
Totul merge fara cod php, numai in htaccess. De ce il sfatuiti pe om cu solutia ceea mai grea. Doar in htaccess poti sa faci totul.
Apropo: Modificarea de la "www.domeniu.com/index.php?categorie" la "www.domeniu.com/index.php-categorie.html" este fara rost, daca vroiai sa faci ceva atunci poate "www.domeniu.com/categorie/" era mai bine.
-
Inca o intrebare...
Rewrite-ul merge foarte bine din htaccess. Este asa grav daca las doar rewrite fara redirectionare? Stiu ca de exemplu daca nu mai exista nici o legatura in site catre paginile vechi...acele pagini vechi vor fi scoase din google index automat (fara o redirectionare in prealabil). Linkuri catre paginile vechi care contin "?" nu mai exista in site.--acum toate url-urile au extensia .html
Mai mentionez ca am facut si un nou sitemap.xml la noul site si l-am bagat in contul meu google pentru indexare.