-
1. Data: 2012-06-13 19:13:22
Temat: Jak zrobić stronę błędu 404 w CMS?
Od: Marek <p...@s...com>
Mam pewien kłopot z logiką zarządzania będem 404. Otóż mamy sobie CMS. Gdy
odwołujemy się do dokumentu, który istniał ale został wykasowany lub
zablokowany - chciałbym aby pojawiła się spersonalizowana informacja, że
"strona WWW o jakimś ID nie istnieje". Gdyby nie fakt personalizacji
komunikatu temat byłby trywialny.
No więc algorytm mamy taki:
- Ktoś wchodzi np. z Googli na nie istniejącą stronę serwisu.
- CMS grzebie w swoich czeluściach w poszukiwaniu tejże strony i stwierdza,
że jej nie ma.
- W tym momencie tworzona jest w locie treść komunikatu i następuje
przekierowanie do strony "warningu" z przekazaniem w sesji w/w treści
komunikatu.
- Pojawia się piekna strona z w/w komuniaktem... ale to dla mnie za mało.
No i świetnie... ale przekierowanie to nie kod 404 lecz któryś z serii 300.
Mogę w komunikacie ustawić <meta> na "noindex" ale to nie zadziała jak 404
z punktu widzenia wyszukiwarki. Zauważyłem, że jeśli strona jest już
zindeksowana, to taką pozostanie jeśli nie dam wyraźnie 404. Jak to
rozwiązać?
-
2. Data: 2012-06-13 19:34:53
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Cezary Tomczyk <c...@g...pl>
W dniu 2012-06-13 19:13, Marek pisze:
> Mam pewien kłopot z logiką zarządzania będem 404. Otóż mamy sobie CMS. Gdy
> odwołujemy się do dokumentu, który istniał ale został wykasowany lub
> zablokowany - chciałbym aby pojawiła się spersonalizowana informacja, że
> "strona WWW o jakimś ID nie istnieje". Gdyby nie fakt personalizacji
> komunikatu temat byłby trywialny.
>
> No więc algorytm mamy taki:
> - Ktoś wchodzi np. z Googli na nie istniejącą stronę serwisu.
> - CMS grzebie w swoich czeluściach w poszukiwaniu tejże strony i stwierdza,
> że jej nie ma.
> - W tym momencie tworzona jest w locie treść komunikatu i następuje
> przekierowanie do strony "warningu" z przekazaniem w sesji w/w treści
> komunikatu.
> - Pojawia się piekna strona z w/w komuniaktem... ale to dla mnie za mało.
>
> No i świetnie... ale przekierowanie to nie kod 404 lecz któryś z serii 300.
> Mogę w komunikacie ustawić <meta> na "noindex" ale to nie zadziała jak 404
> z punktu widzenia wyszukiwarki. Zauważyłem, że jeśli strona jest już
> zindeksowana, to taką pozostanie jeśli nie dam wyraźnie 404. Jak to
> rozwiązać?
Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
podstronę z informacją o tym dla użytkownika + nagłówek 404.
Jeśli jednak strona istnieje, ale po prostu jest w innym miejscu, to
przekierować użytkownika automatycznie + nagłówek 301 Moved Permanently.
--
Cezary Tomczyk
jsCode - JavaScript lightweight framework
https://github.com/ctomczyk/jsCode
-
3. Data: 2012-06-13 20:01:03
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: igrek <...@...com>
On 13.06.2012 19:34, Cezary Tomczyk wrote:
> W dniu 2012-06-13 19:13, Marek pisze:
>> Mam pewien kłopot z logiką zarządzania będem 404. Otóż mamy sobie CMS.
>> Gdy
>> odwołujemy się do dokumentu, który istniał ale został wykasowany lub
>> zablokowany - chciałbym aby pojawiła się spersonalizowana informacja, że
>> "strona WWW o jakimś ID nie istnieje". Gdyby nie fakt personalizacji
>> komunikatu temat byłby trywialny.
>>
>> No więc algorytm mamy taki:
>> - Ktoś wchodzi np. z Googli na nie istniejącą stronę serwisu.
>> - CMS grzebie w swoich czeluściach w poszukiwaniu tejże strony i
>> stwierdza,
>> że jej nie ma.
>> - W tym momencie tworzona jest w locie treść komunikatu i następuje
>> przekierowanie do strony "warningu" z przekazaniem w sesji w/w treści
>> komunikatu.
>> - Pojawia się piekna strona z w/w komuniaktem... ale to dla mnie za mało.
>>
>> No i świetnie... ale przekierowanie to nie kod 404 lecz któryś z serii
>> 300.
>> Mogę w komunikacie ustawić <meta> na "noindex" ale to nie zadziała jak
>> 404
>> z punktu widzenia wyszukiwarki. Zauważyłem, że jeśli strona jest już
>> zindeksowana, to taką pozostanie jeśli nie dam wyraźnie 404. Jak to
>> rozwiązać?
>
> Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
> podstronę z informacją o tym dla użytkownika + nagłówek 404.
Wg mnie lepiej jest pozostawić usera z odwiedzonym URL-em, nigdzie go
nie przekierowywać i po prostu wyświetlić mu spreparowaną stronę 404 z
nagłówkiem 404.
Nie rozumiem na czym polega "fakt personalizacji komunikatu", ale jeśli
to Twój CMS, to przed wyrenderowaniem strony możesz zrobić co chcesz.
--
igrek
-
4. Data: 2012-06-13 20:15:29
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Cezary Tomczyk <c...@g...pl>
W dniu 2012-06-13 20:01, igrek pisze:
> On 13.06.2012 19:34, Cezary Tomczyk wrote:
>> W dniu 2012-06-13 19:13, Marek pisze:
>>> Mam pewien kłopot z logiką zarządzania będem 404. Otóż mamy sobie CMS.
>>> Gdy
>>> odwołujemy się do dokumentu, który istniał ale został wykasowany lub
>>> zablokowany - chciałbym aby pojawiła się spersonalizowana informacja, że
>>> "strona WWW o jakimś ID nie istnieje". Gdyby nie fakt personalizacji
>>> komunikatu temat byłby trywialny.
>>>
>>> No więc algorytm mamy taki:
>>> - Ktoś wchodzi np. z Googli na nie istniejącą stronę serwisu.
>>> - CMS grzebie w swoich czeluściach w poszukiwaniu tejże strony i
>>> stwierdza,
>>> że jej nie ma.
>>> - W tym momencie tworzona jest w locie treść komunikatu i następuje
>>> przekierowanie do strony "warningu" z przekazaniem w sesji w/w treści
>>> komunikatu.
>>> - Pojawia się piekna strona z w/w komuniaktem... ale to dla mnie za
>>> mało.
>>>
>>> No i świetnie... ale przekierowanie to nie kod 404 lecz któryś z serii
>>> 300.
>>> Mogę w komunikacie ustawić <meta> na "noindex" ale to nie zadziała jak
>>> 404
>>> z punktu widzenia wyszukiwarki. Zauważyłem, że jeśli strona jest już
>>> zindeksowana, to taką pozostanie jeśli nie dam wyraźnie 404. Jak to
>>> rozwiązać?
>>
>> Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
>> podstronę z informacją o tym dla użytkownika + nagłówek 404.
>
> Wg mnie lepiej jest pozostawić usera z odwiedzonym URL-em, nigdzie go
> nie przekierowywać i po prostu wyświetlić mu spreparowaną stronę 404 z
> nagłówkiem 404.
> Nie rozumiem na czym polega "fakt personalizacji komunikatu", ale jeśli
> to Twój CMS, to przed wyrenderowaniem strony możesz zrobić co chcesz.
Nie wiem, czy myślimy o tym samym. Jeśli chodzi o mnie, to myślę o
stronie, na której user zobaczy mniej więcej coś takiego:
Wszedłeś na [tu link], ale zasoby te nie istnieją. Opcje:
* ...
* ...
[itd]
--
Cezary Tomczyk
http://www.ctomczyk.pl/
-
5. Data: 2012-06-13 20:34:57
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Marek <p...@s...com>
Dnia Wed, 13 Jun 2012 20:15:29 +0200, Cezary Tomczyk napisał(a):
> Nie wiem, czy myślimy o tym samym. Jeśli chodzi o mnie, to myślę o
> stronie, na której user zobaczy mniej więcej coś takiego:
>
> Wszedłeś na [tu link], ale zasoby te nie istnieją. Opcje:
>
> * ...
> * ...
>
> [itd]
Dokładnie o to mi chodzi.
-
6. Data: 2012-06-13 20:42:49
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Marek <p...@s...com>
Dnia Wed, 13 Jun 2012 19:34:53 +0200, Cezary Tomczyk napisał(a):
> Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
> podstronę z informacją o tym dla użytkownika + nagłówek 404.
Czyli w PHP zrobić tak:
header("HTTP/1.1 404 Not Found");
header("Location: $url");
Czy nagłówek location jest dozwolony w parze z 404? Bedzie mi trudno nie
zmieniać URL. Czy takie przekierowanie nie spowoduje, że Google będą
uważać, że 404 dotyczy tego co jest w location?
-
7. Data: 2012-06-13 21:12:10
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Cezary Tomczyk <c...@g...pl>
W dniu 2012-06-13 20:42, Marek pisze:
> Dnia Wed, 13 Jun 2012 19:34:53 +0200, Cezary Tomczyk napisał(a):
>
>> Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
>> podstronę z informacją o tym dla użytkownika + nagłówek 404.
>
>
> Czyli w PHP zrobić tak:
>
> header("HTTP/1.1 404 Not Found");
> header("Location: $url");
>
> Czy nagłówek location jest dozwolony w parze z 404? Bedzie mi trudno nie
> zmieniać URL. Czy takie przekierowanie nie spowoduje, że Google będą
> uważać, że 404 dotyczy tego co jest w location?
>
Nie miałem do tej pory z tym problemów. Robiłem mniej więcej podobnie:
header("HTTP/1.1 404 Not Found");
header("Location: $url");
exit();
--
Cezary Tomczyk
http://www.ctomczyk.pl/
-
8. Data: 2012-06-13 21:57:44
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Artur Muszyński <a...@u...wytnijto.com.pl>
W dniu 2012-06-13 20:42, Marek pisze:
> Dnia Wed, 13 Jun 2012 19:34:53 +0200, Cezary Tomczyk napisał(a):
>
>> Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
>> podstronę z informacją o tym dla użytkownika + nagłówek 404.
>
>
> Czyli w PHP zrobić tak:
>
> header("HTTP/1.1 404 Not Found");
> header("Location: $url");
>
> Czy nagłówek location jest dozwolony w parze z 404? Bedzie mi trudno nie
> zmieniać URL. Czy takie przekierowanie nie spowoduje, że Google będą
> uważać, że 404 dotyczy tego co jest w location?
Wg RFC2616 Location jest dozwolony w 201 i 3xx, nic nie ma o 404.
artur
-
9. Data: 2012-06-13 22:11:16
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Cezary Tomczyk <c...@g...pl>
W dniu 2012-06-13 21:57, Artur Muszyński pisze:
> W dniu 2012-06-13 20:42, Marek pisze:
>> Dnia Wed, 13 Jun 2012 19:34:53 +0200, Cezary Tomczyk napisał(a):
>>
>>> Wg mnie, jeśli strona nie istnieje, to powinno się przekierować na
>>> podstronę z informacją o tym dla użytkownika + nagłówek 404.
>>
>>
>> Czyli w PHP zrobić tak:
>>
>> header("HTTP/1.1 404 Not Found");
>> header("Location: $url");
>>
>> Czy nagłówek location jest dozwolony w parze z 404? Bedzie mi trudno nie
>> zmieniać URL. Czy takie przekierowanie nie spowoduje, że Google będą
>> uważać, że 404 dotyczy tego co jest w location?
>
> Wg RFC2616 Location jest dozwolony w 201 i 3xx, nic nie ma o 404.
Argh, zajrzałem w stare źródło swoje i faktycznie robiłem tak tylko dla
"301 Moved Permanently" :/ Nie dla 404.
--
Cezary Tomczyk
http://www.ctomczyk.pl/
-
10. Data: 2012-06-13 22:20:03
Temat: Re: Jak zrobić stronę błędu 404 w CMS?
Od: Marek <p...@s...com>
Dnia Wed, 13 Jun 2012 21:12:10 +0200, Cezary Tomczyk napisał(a):
> Nie miałem do tej pory z tym problemów. Robiłem mniej więcej podobnie:
>
> header("HTTP/1.1 404 Not Found");
> header("Location: $url");
> exit();
Hmm, gdzieś czytałem i nie mogę tego namierzyć, że redirect wraz z 404
powodował jakieś perturbacje w indeksowaniu stron przez Google. Stąd moje
wątpliwości. Spróbuję połączyć oba te nagłówki za Twoją radą - mimo
wszystko. Zobaczymy czy wylecą niechciane strony z indeksu. Jeśli nie -
napiszę raz jeszcze ;-)