Autor Zpráva
David1256
Profil
Dobrý den,

nedávno jsem předělával jeden web tak, že jsem starý web nahradil novým, přičemž doména zůstala stejná. Problém je, že Google má ve vyhledávání stále staré URL adresy ze starého webu, které nikam nevedou, což je docela problém. Vůbec nevím, jak se těch starých adres zbavit. Na Google Webmasters Tools v nápovědě uvádějí, že Googlebot automaticky odstraňuje stránky s chybou 404 a 410, jenomže to se mi na starých adresách bohužel neděje. Stará adresa je např. http://metalista.cz/index.php/koncerty/42/event_details sice se nějaký obsah zobrazí, ale je naprosto nesprávný. Ty staré odkazy jsou z Joomla a i když na novém webu taková adresa neexistuje, stejně zobrazí alespoň ten index.php v nějaké spatlaném tvaru bez stylů. Nevíte někdo, co s tím?

Děkuji.
LudekBrno
Profil
David1256:

Přes GWT se dají neplatné adresy odstranit. A pak už jen dávku trpělivosti, u málo významných webů si google dává načas, než vezme změny na vědomí. Jak dlouho je na doméně nový web? Ono to může trvat i nějaký měsíc.

P.S. když už jsme u toho, měnit web takovým způsobem je vůbec nejhorší možný způsob. Přijdete tak o dosažené pozice ve vyhledávacích.
David1256
Profil
LudekBrno:
Když má ten web 44 000 výsledků bylo by ruční odstranění trochu heroický výkon. Web je na doméně je od 1. dubna. Ale dal jsem v GWT požadavek o projití, takže by to mělo být už znova prošlé, ale to stejně neřeší podstatu, když to ty staré odkazy stejně nevymaže.
Davex
Profil
David1256:
Na Google Webmasters Tools v nápovědě uvádějí, že Googlebot automaticky odstraňuje stránky s chybou 404 a 410, jenomže to se mi na starých adresách bohužel neděje.
To ano, ale tvoje staré adresy vracejí stavový kód 200.
David1256
Profil
Davex:
Dále se v nápovědě píše. Některé servery jsou nakonfigurovány nesprávně a vracejí v případě neexistujících stránek stavový kód 200 (úspěch). Tento kód Googlebotu sděluje, že jsou požadované adresy URL platné a že by měly být indexovány.
Cody
Profil
Přesměroval jste staré adresy přes 301?
LudekBrno
Profil
David1256:

Tím co jste uděl, jste celý web u vyhledávačů pohřbil. Obecně platí, že se strukturou URL by se nemělo pokud možno hýbat a když už, tak alespoň hlavní obsahové stránky přesměrovat s kódem 301 na nové URL, kde se původní obsah nachází. Pokud jste původní web zrušil a nahodil novýa ještě navíc původní URL nevracejí korektně 404, tak budete začínat téměř od nuly.

P.S. jinak jste moc netrpělivý, google vyhazuje neplatné stránky z indexu klidně až po několika měsících i když vracejí správně 404. Na méně významné weby chodí google jen po delší době a teprve až po několika návštěvách s kódem 404 uvěří, že je změna trvalá. Takže vyřazení z indexu může trvat i pár měsíců. Určitě ne 14 dní :-)
David1256
Profil
O stavovém kódu 301 slyším prvně. Něco jsem si o tom nastudoval, ale není mi moc jasné, jak to použiji v praxi. Mám třeba tuto starou stránku http://metalista.cz/index.php/koncerty/42/event_details ale tam je starý článek, který na novém webu už ani není, takže to není kam přesměrovávat. Spíš bych potřeboval všechny staré adresy přesměrovat na nějakou neexistující stránku (404) a tím by je vyhledávací robot odstranil z vyhledávání. Jenomže jak je mám přesměrovat. Myslíte, že toto by mohlo fungovat?

<?php
$page = $_SERVER["REQUEST_URI"];;
$castUrl = substr($server,0,11);
if($castUrl=='/index.php/')
{
header("location:stranka404.html");
}
?>
jenikkozak
Profil
Na chybovou stránku 404 nepřesměrovávej. Chybová stránka se „podstrkává“, aby v adresním řádku zůstala ta chybná adresa. (Uživatel ji může zkusit opravit.) Životně důležité je ale to, aby server vrátil stavový kód 404. Ten je totiž pro vyhledavače důležitý. Jestli se stránka jmenuje tak nebo tak, mu je jedno. Když si nastavíš stránku do .htaccess, server se o poslání kódu 404 a podstrčení chybové hlášky postará sám.
LudekBrno
Profil
David1256:
Neexistující stránky by za normálních okolností nemělo být třeba přesměrovávat, server sám by při správném nastavení měl při dotazu na neplatnou stránku vrátit 404. Připadně redakční systémy mívají přímo editovatelnou stránku 404. Jinak k tomu 301, ten má smysl použít, pokud je alespoň část původního obsahu přesunuta na nový web. Pokud je celý obsah nový, tak 301 nic neřeší a začínáte opravdu od nuly.
David1256
Profil
jenikkozak:
Možná jsem se špatně vyjádřil. Já jsem myslel, že stránka s názvem stranka404.html nebude vůbec existovat, a proto bude vracet chybu 404 a né stránku s 404.
LudekBrno:
Ano, 301 používat nebudu.

Jak to mám tedy řešit? Mám tedy neexistující stránky, respektive ty se špatným obsahem http://metalista.cz/index.php/koncerty/42/event_details přesměrovávat na existující stránku třeba chybovka404.html a poté přidat tuto stránku i do .htaccess a tím pádem mi bude i server vracet chybu 404 a vyhledávač stránku už zaregistruje opravdu jako neexistující a časem ji vymaže z indexu?
Davex
Profil
David1256:
Jak to mám tedy řešit?
Stránka se špatným obsahem bude sama vracet stavový kód 410.

if (strncmp($_SERVER["REQUEST_URI"], "/index.php/", 11) == 0) {
  header("HTTP/1.0 410 Gone");
  header("Status: 410 Gone");
}
David1256
Profil
Davex:
Díky, tak nějak jsem to myslel. Ale jak zjistím, že stránka opravdu vrací 410? Nahrál jsem do index.php kód výše, ale stránka se stejně načte normálně. To hádám asi nevadí, ale přeci jenom, kde se dá zjistit kód, který stránka vrací, abych měl jistotu?
margin
Profil *
David1256:
Ale jak zjistím, že stránka opravdu vrací 410?
Třeba tady: http://web-sniffer.net/, nebo pomocí vývojářských nástrojů v prohlížeči.
David1256
Profil
Super, takže to funguje. Díky moc. Teď jen dát čas vyhledávačům...Jen mě ještě napadá, jestli nejde nějak dohromady skloubit s tím, že to hodí stavový kód 410 a přesměruje je to na nějakou stránku, kde budu mít napsáno třeba "Tato adresa bude brzy odstraněna z vyhledávání, omlouváme se.". Dvě přesměrování dohromady asi neskloubím co?
Yuhů
Profil
410 s přesměrováním skloubit nelze, ale dá se přímo zařídit, aby se při chybě 410 zobrazil uživateli nějaký obsah. Takže třeba to omlouváme se. Dělá se to například v .htaccess, úplně stejným zápisem jako handling 404 (z hlavy si ho nepamatuju), jenom se tam místo 404 napíše 410.
David1256
Profil
Yuhů
Zkoušel jsem dát do .htaccess
ErrorDocument 410 /410.html
a háže mi to chybu 500 internal server error, tak nevim, co s tím.

Jinak už neplatné stránky úspěšně přesměrovávám na 410. Podle Google webmasters tools Google tyto stránky s chybou 410 nalézá už od konce dubna, ale stále je ještě neodstranil z vyhledávání. To jsem zvědavý, jak dlouho mu to bude trvat...

Vaše odpověď

Mohlo by se hodit

Zajímavé čtení:
Poptávání výměny odkazů je na této diskusi nežádoucí.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: