|
|
|
| Прочитал что яндекс плохо относится к пустым страницам которые не выдают 404 ошибки
Например на сайте показывается контент по ссылке site.ru/contacts
но если набрать site.ru/contacts111 выводится просто пустая страница, это есть плохо.
Как лучше сделать перенаправление на главную, или может нужно как то вернуть пользователю/роботу 404 ошибку? | |
|
|
|
|
|
|
|
для: Den*s
(03.08.2012 в 01:49)
| | Следует запрещать к индексации все страницы, содержащие меньше 1500 символов, и не допускать ссылок на пустые страницы. | |
|
|
|
|
|
|
|
для: Владимир55
(03.08.2012 в 11:01)
| | про 1500 символов не знал, буду исправлять, а вот по поводу запрещать к индексации пустые страницы.
Ссылок на пустые (или не существующие) страницы у меня нет, я имел ввиду этот пункт
Несуществующие страницы вместо 404 отдают код 302, 301, 200 и т.д. 78%
Код примерно такой
<?
$url = mysql_real_escape_string($_GET["url"]);
$query = mysql_query("SELECT * FROM tableName WHERE pageName = '$url' ");
$show_content = mysql_fetch_assoc($query);
if ($show_content)
{
//вывод контента
}
else
{
//что писать тут, например можно JavaScript отправить пользователя на главную страницу
}
?>
|
то есть если по переменной $url в базе ничего нет, то выдаётся пустая страница, как я понял яндекс иногда поставляет несуществующие страницы к доменному имени, и если там пусто - это плохо.
Вопрос в том что дать роботу при отсутствии контента по урлу, как вариант например сделать в самом начале страницы вот так
<?
// проверка, есть ли контент по ссылке, и если нет, выдать в браузер то что ниже ...
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="refresh" content="0; url=/">
</head>
<body>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Den*s
(03.08.2012 в 23:33)
| | Откуда взялся УРЛ, по которому нет контента?
Имеется в виду, что изначально контент был, а теперь его не стало? Тогда нужно выдавать 404.
Редирект на главную абсолютно недопустим. | |
|
|
|
|
|
|
|
для: Владимир55
(05.08.2012 в 00:12)
| | >Откуда взялся УРЛ, по которому нет контента?
>Имеется в виду, что изначально контент был, а теперь его не стало? Тогда нужно выдавать 404.
Контента изначально не было, просто раз в базе ничего нет, отображается сайт со всем дизайном, но без контента.
Тогда нужно выдавать 404.
Вот я и хотел узнать, как грамотно выдавать 404 ошибку, то есть нужно настроить апач (.htacces) как то, что бы он направлял на 404.php, или может что то вроде
<?php header("HTTP/1.1 404 Not Found"); ?>
|
| |
|
|
|
|
|
|
|
для: Den*s
(06.08.2012 в 17:24)
| | Лично я пишу в .htacces
ErrorDocument 404 http://сайт.ru/404.html
|
Если для данного адреса в базе ничего нет, то ничего и не выдается. И дизайн не выдается тоже. | |
|
|
|
|
|
|
|
для: Владимир55
(06.08.2012 в 17:45)
| | в htacces запись добавлю, спасибо ...
>Если для данного адреса в базе ничего нет, то ничего и не выдается. И дизайн не выдается тоже.
Я имел ввиду вот что, если открыть http://site.ug-ugol.ru/about то видна страница о компании, с текстом
а если например поисковик вздумает посмотреть вот так http://site.ug-ugol.ru/about1 или http://site.ug-ugol.ru/about_us то там пусто, но дизайн и меню на месте ... получается страница без текста | |
|
|
|
|
|
|
|
для: Den*s
(06.08.2012 в 21:38)
| | Так делать нельзя - измените логику работы CMS. | |
|
|
|
|
|
|
|
для: Владимир55
(06.08.2012 в 23:19)
| | Хммм, пока не могу представить как, в самом начале страницы определяю, что такой страницы нет. А потом что делать .... если перенаправления не рекомендуются то что делать .... | |
|
|
|
|
|
|
|
для: Den*s
(07.08.2012 в 12:53)
| | Как можно предположить, сформировав страницы из данных, имеющихся в базе, или иным образов собрав HTML код средствами РНР, Вы завершаете эту операцию через echo (во всяком случае, у меня так).
Нет этого оператора - нет и вывода.
(Опять же, у меня так) | |
|
|
|
|
|
|
|
для: Владимир55
(07.08.2012 в 14:38)
| | Спасибо за подсказку, буду переделывать ... | |
|
|
|