Autor Zpráva
malinkaaa
Profil *
Slyšela jsem že pokud ukončím několik stránek na webu a budou dávat kód 404, tak že to vyhledávače nemají moc rádi. Proto bych ráda dala na konkrétní stránky chybu 410 stránka ukončena. Nevím ale jak to zapsat do souboru htaccess ty konkrétní stránky které ukončím. Děkuji za odpověď
Tomášeek
Profil
Ukončí se úplne? Nevznikne jinde podobný obsah, na který by šlo přesměrovat?

Podobný třeba vinou jiného CMS, ktere generuje jiné URL. Jaky je pro ukončení důvod?
malinkaaa
Profil *
Někdo vytvoří nevhodný příspěvek který obsahuje zakázané sprosté slova. Proto bych je chtěla odstranit a aby vyhledávač pochopil že je to navždy. Ne aby to házelo po odstranění chybu 404 stránka nenalezena.
Tomášeek
Profil
malinkaaa:
Příspěvek má samostatnou stránku? Je na webu tak dlouho, že ho stihne vyhledávač zaindexovat? Děje se tak často? Celkově to na mě nepůsobí jako řešeníhodný problém.

Pokud se jedná o jednotlivé příspěvky (a ne třeba celou složku na webu), budeš muset v .htaccess přesměrovávat příspěvky jednotlivě, protože nemají nic společného, co by šlo zahrnout do společného pravidla (regulárem).

Další možností je mít 410 redirect na úrovni serverového jazyka (typicky PHP), kde to může fungovat nějak automatizovaně (v DB pžíznak 410 ano/ne) a pokud jsem na URL, která patří příspěvku s tímto příznakem, nezobrazím ho, ale nastavím hlavičky na 410.
malinkaaa
Profil *
Klidně by stačilo abych to musela zadávat ručně do htaccess. Bude to asi celkem 20 stránek. To by šlo. Akorát nevím jak to udělat a co tam mám napsat.
malinkaaa
Profil *
Zkouším toto ale to nefunguje

RewriteEngine on
RewriteCond %{HTTP_HOST} ^777domena\.cz/cim-jahody-222\.html
RewriteRule ^ - [L,R=410]
Tomášeek
Profil
malinkaaa:
Nemám teď kde vyzkoušet, ani nemám osobně zkušenost, ale našel jsem tyto odkazy, které by mohly napovědět

www.webmasterworld.com/forum92/3808.htm
www.igorkromin.net/index.php/2015/03/25/use-htaccess-file-to-send-http-410-gone-responses-for-aliased-domains
+ mnoho dalších, třeba i na SO ( Object moved)

Správně by tedy měl být redirect na 410 ve tvaru
redirect 410 ^stranka\.html$

Případně flag G (gone)

rewriterule ^stranka\.html$ - [G,L]
malinkaaa
Profil *
Ještě se zeptám, bude to mít stejný význam když na webu stránku nechám a vložím do ni pouze text Error 410 ? Pochopí to vyhledávač když na takovou stránku přijde kde bude pouze text "Error 410 - page remove" že stránka už nikdy nebude?
Tomášeek
Profil
malinkaaa:
Pokud bude mít stránka správné hlavičky, tedy 410 Gone, tak ano. Pokud bude vracet kód 200 s textem, který uvádíš, tak je to špatně. Ještě hůře, než kdyby to vracelo (pravou) 404.
malinkaaa
Profil *
A hak to zjistím jestli má správně hlavičky 410 gone? To dám do zdrojového kódu něco?
Tomášeek
Profil
malinkaaa:
Uvidíš to třeba ve vývojářských nástrojích. Dá se to zjistit v PHP pomocí get_headers. Dá se nalinkovat URL do spousty online služeb, které ti hlavičky zjistí.

Obyčejná stránka s textem jakýmkoliv (i "410 error - page removed") má stavový kód "200 OK".

Doporučuji si něco o hlavičkách nastudovat, já (a asi ani nikdo jiný) ti tu učebnici/google suplovat nebudeme.
malinkaaa
Profil *
A co na to vyhledávač když nechám na stránce jen text "Stránka odstraněna". Jinak nic jiného a bude jich takto třeba 100. Začne mi google nebo seznam penalizovat za tyto stránky kde nic není?
Keeehi
Profil
malinkaaa:
To dám do zdrojového kódu něco?
To ti přece dělá ten htaccess.
malinkaaa
Profil *
Keeehi:
Jenomže mě toto nefunguje

redirect 410 ^stranka\.html$
Keeehi
Profil
malinkaaa:
To proto, že redirect nepracuje s regulárními výrazy. Myslím, že to má vypadat takto
redirect gone "/cim-jahody-222.html"
malinkaaa
Profil *
Keeehi:
Díky moc. To funguje dobře. Na stránce to vypíše:

Gone
The requested resource
/cim-jahody-222.html.html
is no longer available on this server and there is no forwarding address. Please remove all references to this resource.

Je to tak v pořádku? Pochopí to vyhledávač? Nahože v záložce je "Gone 410" (tam jak se ukazuje title stránky".
Keeehi
Profil
malinkaaa:
Co odešle server za textovou odpověď je vyhledávači jedno. Ten text slouží jen pro lidi. Pro vyhledávač bude důležitý ten kód 410. Server by ho měl posílat, ale pokud si chceš být abolutně jistá, tak si to můžeš ověřit. Jak už psal Tomášeek v [#11], buď ve vývojářských nástrojích, nebo v nějaké online službě. Třeba httpstatus.io. Pokud uvidíš status 410 v oranžovém rámečku, pak server posílá správně hlavičku.
malinkaaa
Profil *
Keeehi:
Jste hrozně hodný že mě pomáháte. Moc si toho vážím. Je to takto dobře? Promiň ale raději se ještě ptám abych neudělala nějakou ptákovinu :-)
imgur.com/a/u6Oq8


Ještě doplním že na normální stránku to dělá kód 200. To je v pořádku?
Keeehi
Profil
malinkaaa:
Ano, přesně tak to má vypadat.
malinkaaa
Profil *
Mnohokrát děkuji za pomoc jste zlatíčka.
malinkaaa
Profil *
Jedná se o PHPBB a když odstraním otázku, tak to hodí při zobrazení chybu 404. Já bych ale potřebovala aby to hodilo chybu 410. Šlo by to nějak udělat, aby se to nemuselo do htaccess zadávat každá smazaná adresa?


Mám účet i na specializovaném fóru na PHPBB ale nerozumím tomu co mě píšou. Nefunguje mě to. Pomůžete mě prosím? www.phpbb.com/community/viewtopic.php?f=556&t=2462651
Tomášeek
Profil
malinkaaa:
když odstraním otázku, tak to hodí při zobrazení chybu 404
Pokud jí odstraníš fyzicky, tak to nic jiného vrátit nemůže. Minimálně musíš mít někde uloženo (v htaccess, v DB, ...), že stránka kdysi existovala a že má vrátit 410, namísto 404. Pokud ji úplně odstraníš, podle čeho má server vědět, že existovala a chceš, aby vrátila něco méně standardního?

Odstraněné příspěvky fyzicky zůstanou na serveru/v databázi/..., budou mít nějaký příznak a v aplikaci pak budeš kontrolovat, zda tento příznak existuje, případně, jakou má hodnotu. Pokud existuje, nastvíš hlavičky na 410. Pokud ne, normálně požadavek zpracuješ a stránku zobrazíš.

Šlo by to nějak udělat, aby se to nemuselo do htaccess zadávat každá smazaná adresa?
V #5 jsi psala, že to je OK. Že se jedná o jednotky adres.

Pokud smazaných adres nejsou dvojciferná procenta (vůči přeživším adresám), ale jen jednotky ze stovek/tisíců, tak se na to vykašli a neřeš to. Věnuj čas něčemu jinému, z pohledu SEO řešíš nesmysl. Pokud by těch smazaných URL bylo více/hodně, tak si najmi někoho, kdo bude schopný s radami nějak naložit. Řečeno bylo asi vše.
malinkaaa
Profil *
Tomášeek:
Ještě mě napadlo, co když v souborech přepíšu veškeré 404 na 410 ? Bude to fungovat? Těch adres je asi 750 co jsou smazané.


Je to z 25.000 asi 800 adres. Tak myslíš že to mám dát do htaccess a neřešit to?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0