Google indexira strani, ki sploh ne obstajajo

Pred tedni je bila vpeljana skripta, ki spremeni zapis URLja tako ,da so v njem zajete ključne besede (naslov oglasa).
Bivši URL: http://www.podarimo.si/index.php?page=item&id=11309
Nov URL: http://www.podarimo.si/11309-monitor

Preko obeh URLjev je stran dostopna, le da sama stran Podarimo.si nima več linkov, ki bi kazali na stare URLje temveč le na nove.

Googlu pa se je zmešalo. Kar naenkrat mi začne v Webmaster tools opozarjati na številne strani "not found". Linkov do teh strani na sami strani ni.
Starim URLjem namreč dodaja /</ in URL izgleda takole:
http://www.podarimo.si/</index.php?page=item&id=11309
Seveda stran ne obstaja, kar Google zazna.

Vendar to ni vse. Forumu v URL doda še eno mapo /forum/, nekaterim stranem pa vrine kar /index.php/ . Vse te strani potem niso dosegljive.

Zadevo sem skušal rešiti z robots.txt, kjer sem prepovedal indeksiranje /index.php/, /forum/ ter /</ in /</ (oboje je isto). Google je tako našel v parih dneh 76143 strani "URLs restricted by robots.txt". Vseeno pa ne upošteva prepovedi /</ oziroma /</ , kot kaže zapisa ne prepozna. Tako je našel 2750 strani, ki ne obstajajo.

Skripta, ki preimenuje URLje:

/*
* Povezave se generirajo takole:
* Na začetku se vpiše ID oglasa, nato sledi vezaj,
* nato pa se s spodnjo funkcijo stringToUrl obdela naslov oglasa.
*/

$povezava_rewrite = $vrstica['id'] . "-" . stringToUrl($vrstica['naslov']);

/* Funkcija stringToUrl(). */

function stringToUrl($name) {
$before = array("Š", "Đ", "Č", "Ć", "Ž", "š", "đ", "č", "ć", "ž", " ", ".", ",", "\"", "'", "&", "(", ")", "š", "d", "c", "c", "ž", "ö", "Š", "?", "C", "C", "Ž", "Ö", "/", ":", "!");
$after = array("S", "D", "C", "C", "Z", "s", "d", "c", "c", "z", "-", "", "", "", "", "", "", "", "s", "d", "c", "c", "z", "o", "S", "D", "C", "C", "Z", "O", "-", "", "");
$name = strreplace($before, $after, $name);

$name = urlencode($name);

$name = str
replace("%", "", $name);

$name = strtolower($name);
return $name;
}

/*
Ko na tak način dobimo lepe URLje, je treba strežnik nastaviti, da ob zahtevku v stilu
podarimo.si/12530-mosko-kolo pokliče skripto index.php?page=item&id=12530.
To pretvorbo nastaviš v .htaccess datoteki v ustrezni mapi na strežniku.
Pravilo, ki ga uporabljava, izgleda takole:
*/

RewriteRule ^([0-9]+)-.*$ index.php?page=item&id=$1

Se komu sanja, v čem je problem, da Google najde te URL-je, in kako mu prepovedati indeksavijo /</ map, ki ne obstajajo?

3 odgovori

Lahko pa preusmerjaš a ne ? :)

Pa če imaš na
http://www.podarimo.si/index.php?page=item&id=11309
in
http://www.podarimo.si/11309-monitor
isto vsebino tudi ni preveč dobro, duplicate content a ne ? O tem smo že debatirali, enako je na tem forumu, dobili smo nove URLje, vendar pa vsebina ni dostopna na starih in novih, ampak če odpreš star URL preusmeri na novega. Razmisli tudi ti o kakšnih preusmeritvah ...

pa spet duplicate ...
http://www.podarimo.si/11309-
http://www.podarimo.si/11309-monitor
http://www.podarimo.si/11309-bla-bla-bla
http://www.podarimo.si/11309-monitor-to-pa-ni-monitor

PS: kup napak imaš v htmlju ... začne se že v glavi ...

<meta name="description" content="IBM 17" monitor">

Verjetno imaš prav glede redirecta.
Mene bolj moti ker se mi ne sanja, kako Google najde omenjene strani, ki ne obstajajo niti se ne generirajo. Ali pač? Ima Google kak support, da jih vprašam direktno?

Sepravi, Google bo hranil vse podstrani, tudi če na njih ne linka nobena stran več? Je res tako neumen, da ne bo pogledal za duplucate content, da je original ostal brez linkov na vsebino?

Pa kako lahko sledeči URL prikaže vsebino:

http://www.podarimo.si/index.php/video/tut3/forum/karitas/index.php?page=results&type=1&archive=0&category=7&region=&criterium=&sortby=id&sortmode=desc&subpage=yes&start=128

Kako lahko Google sam generira tak URL? Ker povezave do njega na sami strani ni. Kakšno nadnaravno moč ima Google? Ali je napaka v kodi same strani, da Google lahko to generira? Ima kdo kako idejo, kako lahko do tega pride.

/index.php/video/tut3/forum/karitas/ - te mape razen index.php obstajajo, samo ne v tem vrstnem redu. Pa se vsebina vseeno prikaže. :S